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

Comparing:
ircd-hybrid-8/src/ircd_parser.c (file contents), Revision 1157 by michael, Tue Aug 9 22:03:59 2011 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1520 by michael, Wed Sep 5 15:50:02 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.5.  */
1 > /* A Bison parser, made by GNU Bison 2.6.2.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2011 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 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.5"
47 > #define YYBISON_VERSION "2.6.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 58 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
61 /* Using locations.  */
62 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
66 < /* Line 268 of yacc.c  */
69 < #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 77 | 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"
82   #include "sprintf_irc.h"
# Line 97 | 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 107 | 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 };
110 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
111 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;
121 static int not_atom = 0;
121  
122   struct CollectItem
123   {
# Line 148 | Line 147 | free_collect_item(struct CollectItem *it
147    MyFree(item);
148   }
149  
151 static void
152 unhook_hub_leaf_confs(void)
153 {
154  dlink_node *ptr;
155  dlink_node *next_ptr;
156  struct CollectItem *yy_hconf;
157  struct CollectItem *yy_lconf;
150  
151 <  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
152 <  {
161 <    yy_hconf = ptr->data;
162 <    dlinkDelete(&yy_hconf->node, &hub_conf_list);
163 <    free_collect_item(yy_hconf);
164 <  }
165 <
166 <  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
167 <  {
168 <    yy_lconf = ptr->data;
169 <    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
170 <    free_collect_item(yy_lconf);
171 <  }
172 < }
151 > /* Line 336 of yacc.c  */
152 > #line 153 "conf_parser.c"
153  
154 <
155 <
156 < /* Line 268 of yacc.c  */
157 < #line 178 "ircd_parser.c"
158 <
159 < /* Enabling traces.  */
160 < #ifndef YYDEBUG
181 < # define YYDEBUG 0
182 < #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 189 | 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
196
181  
182   /* Tokens.  */
183   #ifndef YYTOKENTYPE
# Line 202 | 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 <     IRCD_FLAGS = 308,
239 <     FLATTEN_LINKS = 309,
240 <     FFAILED_OPERLOG = 310,
241 <     FKILLLOG = 311,
242 <     FKLINELOG = 312,
243 <     FGLINELOG = 313,
244 <     FIOERRLOG = 314,
245 <     FOPERLOG = 315,
246 <     FOPERSPYLOG = 316,
247 <     FUSERLOG = 317,
248 <     GECOS = 318,
249 <     GENERAL = 319,
250 <     GLINE = 320,
251 <     GLINES = 321,
252 <     GLINE_EXEMPT = 322,
253 <     GLINE_LOG = 323,
254 <     GLINE_TIME = 324,
255 <     GLINE_MIN_CIDR = 325,
256 <     GLINE_MIN_CIDR6 = 326,
257 <     GLOBAL_KILL = 327,
258 <     IRCD_AUTH = 328,
259 <     NEED_IDENT = 329,
260 <     HAVENT_READ_CONF = 330,
261 <     HIDDEN = 331,
262 <     HIDDEN_ADMIN = 332,
263 <     HIDDEN_NAME = 333,
264 <     HIDDEN_OPER = 334,
265 <     HIDE_SERVER_IPS = 335,
266 <     HIDE_SERVERS = 336,
267 <     HIDE_SPOOF_IPS = 337,
268 <     HOST = 338,
269 <     HUB = 339,
270 <     HUB_MASK = 340,
271 <     IDLETIME = 341,
272 <     IGNORE_BOGUS_TS = 342,
273 <     INVISIBLE_ON_CONNECT = 343,
274 <     IP = 344,
275 <     KILL = 345,
276 <     KILL_CHASE_TIME_LIMIT = 346,
277 <     KLINE = 347,
278 <     KLINE_EXEMPT = 348,
279 <     KLINE_REASON = 349,
280 <     KLINE_WITH_REASON = 350,
281 <     KNOCK_DELAY = 351,
282 <     KNOCK_DELAY_CHANNEL = 352,
283 <     LEAF_MASK = 353,
284 <     LINKS_DELAY = 354,
285 <     LISTEN = 355,
286 <     T_LOG = 356,
287 <     LOGGING = 357,
288 <     LOG_LEVEL = 358,
289 <     MAX_ACCEPT = 359,
290 <     MAX_BANS = 360,
291 <     MAX_CHANS_PER_USER = 361,
292 <     MAX_GLOBAL = 362,
293 <     MAX_IDENT = 363,
294 <     MAX_LOCAL = 364,
295 <     MAX_NICK_CHANGES = 365,
296 <     MAX_NICK_TIME = 366,
297 <     MAX_NUMBER = 367,
298 <     MAX_TARGETS = 368,
299 <     MAX_WATCH = 369,
300 <     MESSAGE_LOCALE = 370,
301 <     MIN_NONWILDCARD = 371,
302 <     MIN_NONWILDCARD_SIMPLE = 372,
303 <     MODULE = 373,
304 <     MODULES = 374,
305 <     NAME = 375,
306 <     NEED_PASSWORD = 376,
307 <     NETWORK_DESC = 377,
308 <     NETWORK_NAME = 378,
309 <     NICK = 379,
310 <     NICK_CHANGES = 380,
311 <     NO_CREATE_ON_SPLIT = 381,
312 <     NO_JOIN_ON_SPLIT = 382,
313 <     NO_OPER_FLOOD = 383,
314 <     NO_TILDE = 384,
315 <     NOT = 385,
316 <     NUMBER = 386,
317 <     NUMBER_PER_IDENT = 387,
318 <     NUMBER_PER_CIDR = 388,
319 <     NUMBER_PER_IP = 389,
320 <     NUMBER_PER_IP_GLOBAL = 390,
321 <     OPERATOR = 391,
322 <     OPERS_BYPASS_CALLERID = 392,
323 <     OPER_LOG = 393,
324 <     OPER_ONLY_UMODES = 394,
325 <     OPER_PASS_RESV = 395,
326 <     OPER_SPY_T = 396,
327 <     OPER_UMODES = 397,
328 <     JOIN_FLOOD_COUNT = 398,
329 <     JOIN_FLOOD_TIME = 399,
330 <     PACE_WAIT = 400,
331 <     PACE_WAIT_SIMPLE = 401,
332 <     PASSWORD = 402,
333 <     PATH = 403,
334 <     PING_COOKIE = 404,
335 <     PING_TIME = 405,
336 <     PING_WARNING = 406,
337 <     PORT = 407,
338 <     QSTRING = 408,
339 <     QUIET_ON_BAN = 409,
340 <     REASON = 410,
341 <     REDIRPORT = 411,
342 <     REDIRSERV = 412,
343 <     REGEX_T = 413,
344 <     REHASH = 414,
345 <     TREJECT_HOLD_TIME = 415,
346 <     REMOTE = 416,
347 <     REMOTEBAN = 417,
348 <     RESTRICT_CHANNELS = 418,
349 <     RESTRICTED = 419,
350 <     RSA_PRIVATE_KEY_FILE = 420,
351 <     RSA_PUBLIC_KEY_FILE = 421,
352 <     SSL_CERTIFICATE_FILE = 422,
353 <     T_SSL_CONNECTION_METHOD = 423,
354 <     T_SSLV3 = 424,
355 <     T_TLSV1 = 425,
356 <     RESV = 426,
357 <     RESV_EXEMPT = 427,
358 <     SECONDS = 428,
359 <     MINUTES = 429,
360 <     HOURS = 430,
361 <     DAYS = 431,
362 <     WEEKS = 432,
363 <     SENDQ = 433,
364 <     SEND_PASSWORD = 434,
365 <     SERVERHIDE = 435,
366 <     SERVERINFO = 436,
367 <     SERVLINK_PATH = 437,
368 <     IRCD_SID = 438,
369 <     TKLINE_EXPIRE_NOTICES = 439,
370 <     T_SHARED = 440,
371 <     T_CLUSTER = 441,
372 <     TYPE = 442,
373 <     SHORT_MOTD = 443,
374 <     SILENT = 444,
375 <     SPOOF = 445,
376 <     SPOOF_NOTICE = 446,
377 <     STATS_E_DISABLED = 447,
378 <     STATS_I_OPER_ONLY = 448,
379 <     STATS_K_OPER_ONLY = 449,
380 <     STATS_O_OPER_ONLY = 450,
381 <     STATS_P_OPER_ONLY = 451,
382 <     TBOOL = 452,
383 <     TMASKED = 453,
384 <     T_REJECT = 454,
385 <     TS_MAX_DELTA = 455,
386 <     TS_WARN_DELTA = 456,
387 <     TWODOTS = 457,
388 <     T_ALL = 458,
389 <     T_BOTS = 459,
390 <     T_SOFTCALLERID = 460,
391 <     T_CALLERID = 461,
392 <     T_CCONN = 462,
393 <     T_CCONN_FULL = 463,
394 <     T_CLIENT_FLOOD = 464,
395 <     T_DEAF = 465,
396 <     T_DEBUG = 466,
397 <     T_DRONE = 467,
398 <     T_EXTERNAL = 468,
399 <     T_FULL = 469,
400 <     T_INVISIBLE = 470,
401 <     T_IPV4 = 471,
402 <     T_IPV6 = 472,
403 <     T_LOCOPS = 473,
420 <     T_LOGPATH = 474,
421 <     T_L_CRIT = 475,
422 <     T_L_DEBUG = 476,
423 <     T_L_ERROR = 477,
424 <     T_L_INFO = 478,
425 <     T_L_NOTICE = 479,
426 <     T_L_TRACE = 480,
427 <     T_L_WARN = 481,
428 <     T_MAX_CLIENTS = 482,
429 <     T_NCHANGE = 483,
430 <     T_OPERWALL = 484,
431 <     T_REJ = 485,
432 <     T_SERVER = 486,
433 <     T_SERVNOTICE = 487,
434 <     T_SKILL = 488,
435 <     T_SPY = 489,
436 <     T_SSL = 490,
437 <     T_UMODES = 491,
438 <     T_UNAUTH = 492,
439 <     T_UNRESV = 493,
440 <     T_UNXLINE = 494,
441 <     T_WALLOP = 495,
442 <     T_SERVICE = 496,
443 <     T_SERVICE_NAME = 497,
444 <     THROTTLE_TIME = 498,
445 <     TOPICBURST = 499,
446 <     TRUE_NO_OPER_FLOOD = 500,
447 <     TKLINE = 501,
448 <     TXLINE = 502,
449 <     TRESV = 503,
450 <     UNKLINE = 504,
451 <     USER = 505,
452 <     USE_EGD = 506,
453 <     USE_EXCEPT = 507,
454 <     USE_INVEX = 508,
455 <     USE_KNOCK = 509,
456 <     USE_LOGGING = 510,
457 <     USE_WHOIS_ACTUALLY = 511,
458 <     VHOST = 512,
459 <     VHOST6 = 513,
460 <     XLINE = 514,
461 <     WARN = 515,
462 <     WARN_NO_NLINE = 516
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 >     KLINE_REASON = 321,
252 >     KLINE_WITH_REASON = 322,
253 >     KNOCK_DELAY = 323,
254 >     KNOCK_DELAY_CHANNEL = 324,
255 >     LEAF_MASK = 325,
256 >     LINKS_DELAY = 326,
257 >     LISTEN = 327,
258 >     T_LOG = 328,
259 >     MAX_ACCEPT = 329,
260 >     MAX_BANS = 330,
261 >     MAX_CHANS_PER_OPER = 331,
262 >     MAX_CHANS_PER_USER = 332,
263 >     MAX_GLOBAL = 333,
264 >     MAX_IDENT = 334,
265 >     MAX_LOCAL = 335,
266 >     MAX_NICK_CHANGES = 336,
267 >     MAX_NICK_TIME = 337,
268 >     MAX_NUMBER = 338,
269 >     MAX_TARGETS = 339,
270 >     MAX_WATCH = 340,
271 >     MESSAGE_LOCALE = 341,
272 >     MIN_NONWILDCARD = 342,
273 >     MIN_NONWILDCARD_SIMPLE = 343,
274 >     MODULE = 344,
275 >     MODULES = 345,
276 >     NAME = 346,
277 >     NEED_PASSWORD = 347,
278 >     NETWORK_DESC = 348,
279 >     NETWORK_NAME = 349,
280 >     NICK = 350,
281 >     NICK_CHANGES = 351,
282 >     NO_CREATE_ON_SPLIT = 352,
283 >     NO_JOIN_ON_SPLIT = 353,
284 >     NO_OPER_FLOOD = 354,
285 >     NO_TILDE = 355,
286 >     NUMBER = 356,
287 >     NUMBER_PER_CIDR = 357,
288 >     NUMBER_PER_IP = 358,
289 >     OPERATOR = 359,
290 >     OPERS_BYPASS_CALLERID = 360,
291 >     OPER_ONLY_UMODES = 361,
292 >     OPER_PASS_RESV = 362,
293 >     OPER_SPY_T = 363,
294 >     OPER_UMODES = 364,
295 >     JOIN_FLOOD_COUNT = 365,
296 >     JOIN_FLOOD_TIME = 366,
297 >     PACE_WAIT = 367,
298 >     PACE_WAIT_SIMPLE = 368,
299 >     PASSWORD = 369,
300 >     PATH = 370,
301 >     PING_COOKIE = 371,
302 >     PING_TIME = 372,
303 >     PING_WARNING = 373,
304 >     PORT = 374,
305 >     QSTRING = 375,
306 >     QUIET_ON_BAN = 376,
307 >     REASON = 377,
308 >     REDIRPORT = 378,
309 >     REDIRSERV = 379,
310 >     REGEX_T = 380,
311 >     REHASH = 381,
312 >     TREJECT_HOLD_TIME = 382,
313 >     REMOTE = 383,
314 >     REMOTEBAN = 384,
315 >     RESTRICT_CHANNELS = 385,
316 >     RSA_PRIVATE_KEY_FILE = 386,
317 >     RSA_PUBLIC_KEY_FILE = 387,
318 >     SSL_CERTIFICATE_FILE = 388,
319 >     SSL_DH_PARAM_FILE = 389,
320 >     T_SSL_CLIENT_METHOD = 390,
321 >     T_SSL_SERVER_METHOD = 391,
322 >     T_SSLV3 = 392,
323 >     T_TLSV1 = 393,
324 >     RESV = 394,
325 >     RESV_EXEMPT = 395,
326 >     SECONDS = 396,
327 >     MINUTES = 397,
328 >     HOURS = 398,
329 >     DAYS = 399,
330 >     WEEKS = 400,
331 >     SENDQ = 401,
332 >     SEND_PASSWORD = 402,
333 >     SERVERHIDE = 403,
334 >     SERVERINFO = 404,
335 >     IRCD_SID = 405,
336 >     TKLINE_EXPIRE_NOTICES = 406,
337 >     T_SHARED = 407,
338 >     T_CLUSTER = 408,
339 >     TYPE = 409,
340 >     SHORT_MOTD = 410,
341 >     SPOOF = 411,
342 >     SPOOF_NOTICE = 412,
343 >     STATS_E_DISABLED = 413,
344 >     STATS_I_OPER_ONLY = 414,
345 >     STATS_K_OPER_ONLY = 415,
346 >     STATS_O_OPER_ONLY = 416,
347 >     STATS_P_OPER_ONLY = 417,
348 >     TBOOL = 418,
349 >     TMASKED = 419,
350 >     TS_MAX_DELTA = 420,
351 >     TS_WARN_DELTA = 421,
352 >     TWODOTS = 422,
353 >     T_ALL = 423,
354 >     T_BOTS = 424,
355 >     T_SOFTCALLERID = 425,
356 >     T_CALLERID = 426,
357 >     T_CCONN = 427,
358 >     T_CCONN_FULL = 428,
359 >     T_SSL_CIPHER_LIST = 429,
360 >     T_DEAF = 430,
361 >     T_DEBUG = 431,
362 >     T_DLINE = 432,
363 >     T_EXTERNAL = 433,
364 >     T_FULL = 434,
365 >     T_INVISIBLE = 435,
366 >     T_IPV4 = 436,
367 >     T_IPV6 = 437,
368 >     T_LOCOPS = 438,
369 >     T_MAX_CLIENTS = 439,
370 >     T_NCHANGE = 440,
371 >     T_OPERWALL = 441,
372 >     T_RECVQ = 442,
373 >     T_REJ = 443,
374 >     T_SERVER = 444,
375 >     T_SERVNOTICE = 445,
376 >     T_SET = 446,
377 >     T_SKILL = 447,
378 >     T_SPY = 448,
379 >     T_SSL = 449,
380 >     T_UMODES = 450,
381 >     T_UNAUTH = 451,
382 >     T_UNDLINE = 452,
383 >     T_UNLIMITED = 453,
384 >     T_UNRESV = 454,
385 >     T_UNXLINE = 455,
386 >     T_GLOBOPS = 456,
387 >     T_WALLOP = 457,
388 >     T_RESTART = 458,
389 >     T_SERVICE = 459,
390 >     T_SERVICES_NAME = 460,
391 >     THROTTLE_TIME = 461,
392 >     TRUE_NO_OPER_FLOOD = 462,
393 >     UNKLINE = 463,
394 >     USER = 464,
395 >     USE_EGD = 465,
396 >     USE_LOGGING = 466,
397 >     USE_WHOIS_ACTUALLY = 467,
398 >     VHOST = 468,
399 >     VHOST6 = 469,
400 >     XLINE = 470,
401 >     WARN_NO_NLINE = 471,
402 >     T_SIZE = 472,
403 >     T_FILE = 473
404     };
405   #endif
406   /* Tokens.  */
407   #define ACCEPT_PASSWORD 258
408 < #define ACTION 259
409 < #define ADMIN 260
410 < #define AFTYPE 261
411 < #define T_ALLOW 262
412 < #define ANTI_NICK_FLOOD 263
413 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
414 < #define AUTOCONN 265
415 < #define T_BLOCK 266
416 < #define BURST_AWAY 267
417 < #define BURST_TOPICWHO 268
418 < #define BYTES 269
419 < #define KBYTES 270
420 < #define MBYTES 271
421 < #define GBYTES 272
422 < #define TBYTES 273
423 < #define CALLER_ID_WAIT 274
424 < #define CAN_FLOOD 275
425 < #define CAN_IDLE 276
426 < #define CHANNEL 277
427 < #define CIDR_BITLEN_IPV4 278
428 < #define CIDR_BITLEN_IPV6 279
429 < #define CIPHER_PREFERENCE 280
430 < #define CLASS 281
431 < #define COMPRESSED 282
432 < #define COMPRESSION_LEVEL 283
433 < #define CONNECT 284
434 < #define CONNECTFREQ 285
435 < #define CRYPTLINK 286
436 < #define DEFAULT_CIPHER_PREFERENCE 287
437 < #define DEFAULT_FLOODCOUNT 288
438 < #define DEFAULT_SPLIT_SERVER_COUNT 289
439 < #define DEFAULT_SPLIT_USER_COUNT 290
440 < #define DENY 291
441 < #define DESCRIPTION 292
442 < #define DIE 293
443 < #define DISABLE_AUTH 294
444 < #define DISABLE_FAKE_CHANNELS 295
445 < #define DISABLE_HIDDEN 296
446 < #define DISABLE_LOCAL_CHANNELS 297
447 < #define DISABLE_REMOTE_COMMANDS 298
448 < #define DOTS_IN_IDENT 299
449 < #define DURATION 300
450 < #define EGDPOOL_PATH 301
451 < #define EMAIL 302
452 < #define ENABLE 303
453 < #define ENCRYPTED 304
454 < #define EXCEED_LIMIT 305
455 < #define EXEMPT 306
456 < #define FAILED_OPER_NOTICE 307
457 < #define IRCD_FLAGS 308
458 < #define FLATTEN_LINKS 309
459 < #define FFAILED_OPERLOG 310
460 < #define FKILLLOG 311
461 < #define FKLINELOG 312
462 < #define FGLINELOG 313
463 < #define FIOERRLOG 314
464 < #define FOPERLOG 315
465 < #define FOPERSPYLOG 316
466 < #define FUSERLOG 317
467 < #define GECOS 318
468 < #define GENERAL 319
469 < #define GLINE 320
470 < #define GLINES 321
471 < #define GLINE_EXEMPT 322
472 < #define GLINE_LOG 323
473 < #define GLINE_TIME 324
474 < #define GLINE_MIN_CIDR 325
475 < #define GLINE_MIN_CIDR6 326
476 < #define GLOBAL_KILL 327
477 < #define IRCD_AUTH 328
478 < #define NEED_IDENT 329
479 < #define HAVENT_READ_CONF 330
480 < #define HIDDEN 331
481 < #define HIDDEN_ADMIN 332
482 < #define HIDDEN_NAME 333
483 < #define HIDDEN_OPER 334
484 < #define HIDE_SERVER_IPS 335
485 < #define HIDE_SERVERS 336
486 < #define HIDE_SPOOF_IPS 337
487 < #define HOST 338
488 < #define HUB 339
489 < #define HUB_MASK 340
490 < #define IDLETIME 341
491 < #define IGNORE_BOGUS_TS 342
492 < #define INVISIBLE_ON_CONNECT 343
493 < #define IP 344
494 < #define KILL 345
495 < #define KILL_CHASE_TIME_LIMIT 346
496 < #define KLINE 347
497 < #define KLINE_EXEMPT 348
498 < #define KLINE_REASON 349
499 < #define KLINE_WITH_REASON 350
500 < #define KNOCK_DELAY 351
501 < #define KNOCK_DELAY_CHANNEL 352
502 < #define LEAF_MASK 353
503 < #define LINKS_DELAY 354
504 < #define LISTEN 355
505 < #define T_LOG 356
506 < #define LOGGING 357
507 < #define LOG_LEVEL 358
508 < #define MAX_ACCEPT 359
509 < #define MAX_BANS 360
510 < #define MAX_CHANS_PER_USER 361
511 < #define MAX_GLOBAL 362
512 < #define MAX_IDENT 363
513 < #define MAX_LOCAL 364
514 < #define MAX_NICK_CHANGES 365
515 < #define MAX_NICK_TIME 366
516 < #define MAX_NUMBER 367
517 < #define MAX_TARGETS 368
518 < #define MAX_WATCH 369
519 < #define MESSAGE_LOCALE 370
520 < #define MIN_NONWILDCARD 371
521 < #define MIN_NONWILDCARD_SIMPLE 372
522 < #define MODULE 373
523 < #define MODULES 374
524 < #define NAME 375
525 < #define NEED_PASSWORD 376
526 < #define NETWORK_DESC 377
527 < #define NETWORK_NAME 378
528 < #define NICK 379
529 < #define NICK_CHANGES 380
530 < #define NO_CREATE_ON_SPLIT 381
531 < #define NO_JOIN_ON_SPLIT 382
532 < #define NO_OPER_FLOOD 383
533 < #define NO_TILDE 384
534 < #define NOT 385
535 < #define NUMBER 386
536 < #define NUMBER_PER_IDENT 387
537 < #define NUMBER_PER_CIDR 388
538 < #define NUMBER_PER_IP 389
539 < #define NUMBER_PER_IP_GLOBAL 390
540 < #define OPERATOR 391
541 < #define OPERS_BYPASS_CALLERID 392
542 < #define OPER_LOG 393
543 < #define OPER_ONLY_UMODES 394
544 < #define OPER_PASS_RESV 395
545 < #define OPER_SPY_T 396
546 < #define OPER_UMODES 397
547 < #define JOIN_FLOOD_COUNT 398
548 < #define JOIN_FLOOD_TIME 399
549 < #define PACE_WAIT 400
550 < #define PACE_WAIT_SIMPLE 401
551 < #define PASSWORD 402
552 < #define PATH 403
553 < #define PING_COOKIE 404
554 < #define PING_TIME 405
555 < #define PING_WARNING 406
556 < #define PORT 407
557 < #define QSTRING 408
558 < #define QUIET_ON_BAN 409
559 < #define REASON 410
560 < #define REDIRPORT 411
561 < #define REDIRSERV 412
562 < #define REGEX_T 413
563 < #define REHASH 414
564 < #define TREJECT_HOLD_TIME 415
565 < #define REMOTE 416
566 < #define REMOTEBAN 417
567 < #define RESTRICT_CHANNELS 418
568 < #define RESTRICTED 419
569 < #define RSA_PRIVATE_KEY_FILE 420
570 < #define RSA_PUBLIC_KEY_FILE 421
571 < #define SSL_CERTIFICATE_FILE 422
572 < #define T_SSL_CONNECTION_METHOD 423
573 < #define T_SSLV3 424
574 < #define T_TLSV1 425
575 < #define RESV 426
576 < #define RESV_EXEMPT 427
577 < #define SECONDS 428
578 < #define MINUTES 429
579 < #define HOURS 430
580 < #define DAYS 431
581 < #define WEEKS 432
582 < #define SENDQ 433
583 < #define SEND_PASSWORD 434
584 < #define SERVERHIDE 435
585 < #define SERVERINFO 436
586 < #define SERVLINK_PATH 437
587 < #define IRCD_SID 438
588 < #define TKLINE_EXPIRE_NOTICES 439
589 < #define T_SHARED 440
590 < #define T_CLUSTER 441
591 < #define TYPE 442
592 < #define SHORT_MOTD 443
593 < #define SILENT 444
594 < #define SPOOF 445
595 < #define SPOOF_NOTICE 446
596 < #define STATS_E_DISABLED 447
597 < #define STATS_I_OPER_ONLY 448
598 < #define STATS_K_OPER_ONLY 449
599 < #define STATS_O_OPER_ONLY 450
600 < #define STATS_P_OPER_ONLY 451
601 < #define TBOOL 452
602 < #define TMASKED 453
603 < #define T_REJECT 454
604 < #define TS_MAX_DELTA 455
605 < #define TS_WARN_DELTA 456
606 < #define TWODOTS 457
607 < #define T_ALL 458
608 < #define T_BOTS 459
609 < #define T_SOFTCALLERID 460
610 < #define T_CALLERID 461
611 < #define T_CCONN 462
612 < #define T_CCONN_FULL 463
613 < #define T_CLIENT_FLOOD 464
614 < #define T_DEAF 465
615 < #define T_DEBUG 466
616 < #define T_DRONE 467
617 < #define T_EXTERNAL 468
618 < #define T_FULL 469
619 < #define T_INVISIBLE 470
620 < #define T_IPV4 471
621 < #define T_IPV6 472
622 < #define T_LOCOPS 473
682 < #define T_LOGPATH 474
683 < #define T_L_CRIT 475
684 < #define T_L_DEBUG 476
685 < #define T_L_ERROR 477
686 < #define T_L_INFO 478
687 < #define T_L_NOTICE 479
688 < #define T_L_TRACE 480
689 < #define T_L_WARN 481
690 < #define T_MAX_CLIENTS 482
691 < #define T_NCHANGE 483
692 < #define T_OPERWALL 484
693 < #define T_REJ 485
694 < #define T_SERVER 486
695 < #define T_SERVNOTICE 487
696 < #define T_SKILL 488
697 < #define T_SPY 489
698 < #define T_SSL 490
699 < #define T_UMODES 491
700 < #define T_UNAUTH 492
701 < #define T_UNRESV 493
702 < #define T_UNXLINE 494
703 < #define T_WALLOP 495
704 < #define T_SERVICE 496
705 < #define T_SERVICE_NAME 497
706 < #define THROTTLE_TIME 498
707 < #define TOPICBURST 499
708 < #define TRUE_NO_OPER_FLOOD 500
709 < #define TKLINE 501
710 < #define TXLINE 502
711 < #define TRESV 503
712 < #define UNKLINE 504
713 < #define USER 505
714 < #define USE_EGD 506
715 < #define USE_EXCEPT 507
716 < #define USE_INVEX 508
717 < #define USE_KNOCK 509
718 < #define USE_LOGGING 510
719 < #define USE_WHOIS_ACTUALLY 511
720 < #define VHOST 512
721 < #define VHOST6 513
722 < #define XLINE 514
723 < #define WARN 515
724 < #define WARN_NO_NLINE 516
725 <
408 > #define ADMIN 259
409 > #define AFTYPE 260
410 > #define ANTI_NICK_FLOOD 261
411 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
412 > #define AUTOCONN 263
413 > #define BYTES 264
414 > #define KBYTES 265
415 > #define MBYTES 266
416 > #define CALLER_ID_WAIT 267
417 > #define CAN_FLOOD 268
418 > #define CHANNEL 269
419 > #define CIDR_BITLEN_IPV4 270
420 > #define CIDR_BITLEN_IPV6 271
421 > #define CLASS 272
422 > #define CONNECT 273
423 > #define CONNECTFREQ 274
424 > #define DEFAULT_FLOODCOUNT 275
425 > #define DEFAULT_SPLIT_SERVER_COUNT 276
426 > #define DEFAULT_SPLIT_USER_COUNT 277
427 > #define DENY 278
428 > #define DESCRIPTION 279
429 > #define DIE 280
430 > #define DISABLE_AUTH 281
431 > #define DISABLE_FAKE_CHANNELS 282
432 > #define DISABLE_REMOTE_COMMANDS 283
433 > #define DOTS_IN_IDENT 284
434 > #define EGDPOOL_PATH 285
435 > #define EMAIL 286
436 > #define ENCRYPTED 287
437 > #define EXCEED_LIMIT 288
438 > #define EXEMPT 289
439 > #define FAILED_OPER_NOTICE 290
440 > #define IRCD_FLAGS 291
441 > #define FLATTEN_LINKS 292
442 > #define GECOS 293
443 > #define GENERAL 294
444 > #define GLINE 295
445 > #define GLINE_DURATION 296
446 > #define GLINE_ENABLE 297
447 > #define GLINE_EXEMPT 298
448 > #define GLINE_REQUEST_DURATION 299
449 > #define GLINE_MIN_CIDR 300
450 > #define GLINE_MIN_CIDR6 301
451 > #define GLOBAL_KILL 302
452 > #define IRCD_AUTH 303
453 > #define NEED_IDENT 304
454 > #define HAVENT_READ_CONF 305
455 > #define HIDDEN 306
456 > #define HIDDEN_NAME 307
457 > #define HIDE_SERVER_IPS 308
458 > #define HIDE_SERVERS 309
459 > #define HIDE_SPOOF_IPS 310
460 > #define HOST 311
461 > #define HUB 312
462 > #define HUB_MASK 313
463 > #define IGNORE_BOGUS_TS 314
464 > #define INVISIBLE_ON_CONNECT 315
465 > #define IP 316
466 > #define KILL 317
467 > #define KILL_CHASE_TIME_LIMIT 318
468 > #define KLINE 319
469 > #define KLINE_EXEMPT 320
470 > #define KLINE_REASON 321
471 > #define KLINE_WITH_REASON 322
472 > #define KNOCK_DELAY 323
473 > #define KNOCK_DELAY_CHANNEL 324
474 > #define LEAF_MASK 325
475 > #define LINKS_DELAY 326
476 > #define LISTEN 327
477 > #define T_LOG 328
478 > #define MAX_ACCEPT 329
479 > #define MAX_BANS 330
480 > #define MAX_CHANS_PER_OPER 331
481 > #define MAX_CHANS_PER_USER 332
482 > #define MAX_GLOBAL 333
483 > #define MAX_IDENT 334
484 > #define MAX_LOCAL 335
485 > #define MAX_NICK_CHANGES 336
486 > #define MAX_NICK_TIME 337
487 > #define MAX_NUMBER 338
488 > #define MAX_TARGETS 339
489 > #define MAX_WATCH 340
490 > #define MESSAGE_LOCALE 341
491 > #define MIN_NONWILDCARD 342
492 > #define MIN_NONWILDCARD_SIMPLE 343
493 > #define MODULE 344
494 > #define MODULES 345
495 > #define NAME 346
496 > #define NEED_PASSWORD 347
497 > #define NETWORK_DESC 348
498 > #define NETWORK_NAME 349
499 > #define NICK 350
500 > #define NICK_CHANGES 351
501 > #define NO_CREATE_ON_SPLIT 352
502 > #define NO_JOIN_ON_SPLIT 353
503 > #define NO_OPER_FLOOD 354
504 > #define NO_TILDE 355
505 > #define NUMBER 356
506 > #define NUMBER_PER_CIDR 357
507 > #define NUMBER_PER_IP 358
508 > #define OPERATOR 359
509 > #define OPERS_BYPASS_CALLERID 360
510 > #define OPER_ONLY_UMODES 361
511 > #define OPER_PASS_RESV 362
512 > #define OPER_SPY_T 363
513 > #define OPER_UMODES 364
514 > #define JOIN_FLOOD_COUNT 365
515 > #define JOIN_FLOOD_TIME 366
516 > #define PACE_WAIT 367
517 > #define PACE_WAIT_SIMPLE 368
518 > #define PASSWORD 369
519 > #define PATH 370
520 > #define PING_COOKIE 371
521 > #define PING_TIME 372
522 > #define PING_WARNING 373
523 > #define PORT 374
524 > #define QSTRING 375
525 > #define QUIET_ON_BAN 376
526 > #define REASON 377
527 > #define REDIRPORT 378
528 > #define REDIRSERV 379
529 > #define REGEX_T 380
530 > #define REHASH 381
531 > #define TREJECT_HOLD_TIME 382
532 > #define REMOTE 383
533 > #define REMOTEBAN 384
534 > #define RESTRICT_CHANNELS 385
535 > #define RSA_PRIVATE_KEY_FILE 386
536 > #define RSA_PUBLIC_KEY_FILE 387
537 > #define SSL_CERTIFICATE_FILE 388
538 > #define SSL_DH_PARAM_FILE 389
539 > #define T_SSL_CLIENT_METHOD 390
540 > #define T_SSL_SERVER_METHOD 391
541 > #define T_SSLV3 392
542 > #define T_TLSV1 393
543 > #define RESV 394
544 > #define RESV_EXEMPT 395
545 > #define SECONDS 396
546 > #define MINUTES 397
547 > #define HOURS 398
548 > #define DAYS 399
549 > #define WEEKS 400
550 > #define SENDQ 401
551 > #define SEND_PASSWORD 402
552 > #define SERVERHIDE 403
553 > #define SERVERINFO 404
554 > #define IRCD_SID 405
555 > #define TKLINE_EXPIRE_NOTICES 406
556 > #define T_SHARED 407
557 > #define T_CLUSTER 408
558 > #define TYPE 409
559 > #define SHORT_MOTD 410
560 > #define SPOOF 411
561 > #define SPOOF_NOTICE 412
562 > #define STATS_E_DISABLED 413
563 > #define STATS_I_OPER_ONLY 414
564 > #define STATS_K_OPER_ONLY 415
565 > #define STATS_O_OPER_ONLY 416
566 > #define STATS_P_OPER_ONLY 417
567 > #define TBOOL 418
568 > #define TMASKED 419
569 > #define TS_MAX_DELTA 420
570 > #define TS_WARN_DELTA 421
571 > #define TWODOTS 422
572 > #define T_ALL 423
573 > #define T_BOTS 424
574 > #define T_SOFTCALLERID 425
575 > #define T_CALLERID 426
576 > #define T_CCONN 427
577 > #define T_CCONN_FULL 428
578 > #define T_SSL_CIPHER_LIST 429
579 > #define T_DEAF 430
580 > #define T_DEBUG 431
581 > #define T_DLINE 432
582 > #define T_EXTERNAL 433
583 > #define T_FULL 434
584 > #define T_INVISIBLE 435
585 > #define T_IPV4 436
586 > #define T_IPV6 437
587 > #define T_LOCOPS 438
588 > #define T_MAX_CLIENTS 439
589 > #define T_NCHANGE 440
590 > #define T_OPERWALL 441
591 > #define T_RECVQ 442
592 > #define T_REJ 443
593 > #define T_SERVER 444
594 > #define T_SERVNOTICE 445
595 > #define T_SET 446
596 > #define T_SKILL 447
597 > #define T_SPY 448
598 > #define T_SSL 449
599 > #define T_UMODES 450
600 > #define T_UNAUTH 451
601 > #define T_UNDLINE 452
602 > #define T_UNLIMITED 453
603 > #define T_UNRESV 454
604 > #define T_UNXLINE 455
605 > #define T_GLOBOPS 456
606 > #define T_WALLOP 457
607 > #define T_RESTART 458
608 > #define T_SERVICE 459
609 > #define T_SERVICES_NAME 460
610 > #define THROTTLE_TIME 461
611 > #define TRUE_NO_OPER_FLOOD 462
612 > #define UNKLINE 463
613 > #define USER 464
614 > #define USE_EGD 465
615 > #define USE_LOGGING 466
616 > #define USE_WHOIS_ACTUALLY 467
617 > #define VHOST 468
618 > #define VHOST6 469
619 > #define XLINE 470
620 > #define WARN_NO_NLINE 471
621 > #define T_SIZE 472
622 > #define T_FILE 473
623  
624  
625  
626   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
627   typedef union YYSTYPE
628   {
629 <
630 < /* Line 293 of yacc.c  */
734 < #line 131 "ircd_parser.y"
629 > /* Line 350 of yacc.c  */
630 > #line 110 "conf_parser.y"
631  
632    int number;
633    char *string;
634  
635  
636 <
637 < /* Line 293 of yacc.c  */
742 < #line 743 "ircd_parser.c"
636 > /* Line 350 of yacc.c  */
637 > #line 638 "conf_parser.c"
638   } YYSTYPE;
639   # define YYSTYPE_IS_TRIVIAL 1
640   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
641   # define YYSTYPE_IS_DECLARED 1
642   #endif
643  
644 + extern YYSTYPE yylval;
645  
646 < /* Copy the second part of user declarations.  */
646 > #ifdef YYPARSE_PARAM
647 > #if defined __STDC__ || defined __cplusplus
648 > int yyparse (void *YYPARSE_PARAM);
649 > #else
650 > int yyparse ();
651 > #endif
652 > #else /* ! YYPARSE_PARAM */
653 > #if defined __STDC__ || defined __cplusplus
654 > int yyparse (void);
655 > #else
656 > int yyparse ();
657 > #endif
658 > #endif /* ! YYPARSE_PARAM */
659 >
660 > #endif /* !YY_Y_TAB_H  */
661  
662 + /* Copy the second part of user declarations.  */
663  
664 < /* Line 343 of yacc.c  */
665 < #line 755 "ircd_parser.c"
664 > /* Line 353 of yacc.c  */
665 > #line 666 "conf_parser.c"
666  
667   #ifdef short
668   # undef short
# Line 857 | Line 768 | YYID (yyi)
768   #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
769       || defined __cplusplus || defined _MSC_VER)
770   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
771 +      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
772   #     ifndef EXIT_SUCCESS
773   #      define EXIT_SUCCESS 0
774   #     endif
# Line 948 | Line 860 | union yyalloc
860   #endif
861  
862   #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
863 < /* Copy COUNT objects from FROM to TO.  The source and destination do
863 > /* Copy COUNT objects from SRC to DST.  The source and destination do
864     not overlap.  */
865   # ifndef YYCOPY
866   #  if defined __GNUC__ && 1 < __GNUC__
867 < #   define YYCOPY(To, From, Count) \
868 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
867 > #   define YYCOPY(Dst, Src, Count) \
868 >      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
869   #  else
870 < #   define YYCOPY(To, From, Count)              \
871 <      do                                        \
872 <        {                                       \
873 <          YYSIZE_T yyi;                         \
874 <          for (yyi = 0; yyi < (Count); yyi++)   \
875 <            (To)[yyi] = (From)[yyi];            \
876 <        }                                       \
870 > #   define YYCOPY(Dst, Src, Count)              \
871 >      do                                        \
872 >        {                                       \
873 >          YYSIZE_T yyi;                         \
874 >          for (yyi = 0; yyi < (Count); yyi++)   \
875 >            (Dst)[yyi] = (Src)[yyi];            \
876 >        }                                       \
877        while (YYID (0))
878   #  endif
879   # endif
# Line 970 | Line 882 | union yyalloc
882   /* YYFINAL -- State number of the termination state.  */
883   #define YYFINAL  2
884   /* YYLAST -- Last index in YYTABLE.  */
885 < #define YYLAST   1257
885 > #define YYLAST   1231
886  
887   /* YYNTOKENS -- Number of terminals.  */
888 < #define YYNTOKENS  267
888 > #define YYNTOKENS  224
889   /* YYNNTS -- Number of nonterminals.  */
890 < #define YYNNTS  323
890 > #define YYNNTS  287
891   /* YYNRULES -- Number of rules.  */
892 < #define YYNRULES  696
892 > #define YYNRULES  635
893   /* YYNRULES -- Number of states.  */
894 < #define YYNSTATES  1373
894 > #define YYNSTATES  1248
895  
896   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
897   #define YYUNDEFTOK  2
898 < #define YYMAXUTOK   516
898 > #define YYMAXUTOK   473
899  
900   #define YYTRANSLATE(YYX)                                                \
901    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
902  
903   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
904 < static const yytype_uint16 yytranslate[] =
904 > static const yytype_uint8 yytranslate[] =
905   {
906         0,     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,     2,   266,     2,     2,     2,     2,     2,
911 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   262,
912 <       2,   265,     2,     2,     2,     2,     2,     2,     2,     2,
910 >       2,     2,     2,     2,   223,     2,     2,     2,     2,     2,
911 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   219,
912 >       2,   222,     2,     2,     2,     2,     2,     2,     2,     2,
913         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
914         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
915         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
916         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
917         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
918 <       2,     2,     2,   264,     2,   263,     2,     2,     2,     2,
918 >       2,     2,     2,   221,     2,   220,     2,     2,     2,     2,
919         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
920         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
921         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1038 | Line 950 | static const yytype_uint16 yytranslate[]
950       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
951       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
952       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
953 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1042 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1043 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1044 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1045 <     255,   256,   257,   258,   259,   260,   261
953 >     215,   216,   217,   218
954   };
955  
956   #if YYDEBUG
# Line 1052 | Line 960 | static const yytype_uint16 yyprhs[] =
960   {
961         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
962        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
963 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
964 <      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
965 <      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
966 <     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
967 <     154,   156,   158,   160,   162,   165,   166,   172,   176,   178,
968 <     180,   182,   187,   192,   197,   202,   207,   212,   217,   222,
969 <     227,   232,   237,   243,   246,   248,   250,   252,   254,   257,
970 <     262,   267,   272,   278,   281,   283,   285,   287,   289,   291,
971 <     293,   295,   297,   299,   301,   303,   305,   307,   310,   315,
972 <     320,   325,   330,   335,   340,   345,   350,   355,   360,   365,
973 <     370,   375,   380,   385,   390,   395,   400,   401,   409,   410,
974 <     412,   415,   417,   419,   421,   423,   425,   427,   429,   431,
975 <     433,   436,   441,   443,   448,   453,   458,   463,   468,   469,
976 <     475,   479,   481,   483,   485,   487,   489,   491,   493,   495,
977 <     497,   499,   501,   503,   505,   507,   509,   511,   513,   515,
978 <     517,   519,   520,   526,   530,   532,   533,   537,   538,   541,
979 <     543,   545,   547,   549,   551,   553,   555,   557,   559,   561,
980 <     563,   565,   567,   569,   571,   573,   574,   582,   583,   585,
981 <     588,   590,   592,   594,   596,   598,   600,   602,   604,   606,
982 <     608,   610,   612,   614,   616,   619,   624,   626,   631,   636,
983 <     641,   646,   651,   656,   661,   666,   671,   676,   681,   686,
984 <     687,   694,   695,   701,   705,   707,   709,   711,   713,   716,
985 <     718,   720,   722,   724,   726,   729,   730,   736,   740,   742,
986 <     744,   748,   753,   758,   759,   766,   769,   771,   773,   775,
987 <     777,   779,   781,   783,   785,   787,   790,   795,   800,   805,
988 <     810,   811,   817,   821,   823,   824,   828,   829,   832,   834,
989 <     836,   838,   840,   842,   844,   846,   848,   850,   852,   857,
990 <     862,   867,   868,   875,   878,   880,   882,   884,   886,   889,
991 <     894,   899,   904,   910,   913,   915,   917,   919,   924,   925,
992 <     932,   935,   937,   939,   941,   943,   946,   951,   956,   957,
993 <     963,   967,   969,   971,   973,   975,   977,   979,   981,   983,
994 <     985,   987,   989,   991,   992,   999,  1002,  1004,  1006,  1008,
995 <    1011,  1016,  1017,  1023,  1027,  1029,  1031,  1033,  1035,  1037,
996 <    1039,  1041,  1043,  1045,  1047,  1049,  1051,  1052,  1060,  1061,
997 <    1063,  1066,  1068,  1070,  1072,  1074,  1076,  1078,  1080,  1082,
998 <    1084,  1086,  1088,  1090,  1092,  1094,  1096,  1099,  1104,  1106,
999 <    1111,  1116,  1121,  1126,  1131,  1136,  1141,  1142,  1148,  1152,
1000 <    1154,  1155,  1159,  1160,  1163,  1165,  1167,  1169,  1171,  1173,
1001 <    1178,  1183,  1188,  1193,  1198,  1203,  1204,  1211,  1212,  1218,
1002 <    1222,  1224,  1226,  1229,  1231,  1233,  1235,  1237,  1239,  1244,
1003 <    1249,  1250,  1257,  1260,  1262,  1264,  1266,  1268,  1273,  1278,
1004 <    1284,  1287,  1289,  1291,  1293,  1298,  1299,  1306,  1307,  1313,
1005 <    1317,  1319,  1321,  1324,  1326,  1328,  1330,  1332,  1334,  1339,
1006 <    1344,  1350,  1353,  1355,  1357,  1359,  1361,  1363,  1365,  1367,
1007 <    1369,  1371,  1373,  1375,  1377,  1379,  1381,  1383,  1385,  1387,
1008 <    1389,  1391,  1393,  1395,  1397,  1399,  1401,  1403,  1405,  1407,
1009 <    1409,  1411,  1413,  1415,  1417,  1419,  1421,  1423,  1425,  1427,
1010 <    1429,  1431,  1433,  1435,  1437,  1439,  1441,  1443,  1445,  1447,
1011 <    1449,  1451,  1453,  1455,  1457,  1459,  1461,  1463,  1465,  1467,
1012 <    1469,  1474,  1479,  1484,  1489,  1494,  1499,  1504,  1509,  1514,
1013 <    1519,  1524,  1529,  1534,  1539,  1544,  1549,  1554,  1559,  1564,
1014 <    1569,  1574,  1579,  1584,  1589,  1594,  1599,  1604,  1609,  1614,
1015 <    1619,  1624,  1629,  1634,  1639,  1644,  1649,  1654,  1659,  1664,
1016 <    1669,  1674,  1679,  1684,  1689,  1694,  1699,  1704,  1709,  1714,
1017 <    1719,  1724,  1729,  1730,  1736,  1740,  1742,  1744,  1746,  1748,
1018 <    1750,  1752,  1754,  1756,  1758,  1760,  1762,  1764,  1766,  1768,
1019 <    1770,  1772,  1774,  1776,  1778,  1780,  1781,  1787,  1791,  1793,
1020 <    1795,  1797,  1799,  1801,  1803,  1805,  1807,  1809,  1811,  1813,
1021 <    1815,  1817,  1819,  1821,  1823,  1825,  1827,  1829,  1831,  1836,
1022 <    1841,  1846,  1851,  1852,  1859,  1862,  1864,  1866,  1868,  1870,
1023 <    1872,  1874,  1876,  1878,  1883,  1888,  1889,  1895,  1899,  1901,
1024 <    1903,  1905,  1910,  1915,  1916,  1922,  1926,  1928,  1930,  1932,
1117 <    1938,  1941,  1943,  1945,  1947,  1949,  1951,  1953,  1955,  1957,
1118 <    1959,  1961,  1963,  1965,  1967,  1969,  1971,  1973,  1975,  1977,
1119 <    1979,  1981,  1986,  1991,  1996,  2001,  2006,  2011,  2016,  2021,
1120 <    2026,  2031,  2036,  2041,  2046,  2051,  2056,  2061,  2066,  2071,
1121 <    2077,  2080,  2082,  2084,  2086,  2088,  2090,  2092,  2094,  2096,
1122 <    2098,  2103,  2108,  2113,  2118,  2123,  2128
963 >      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
964 >      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
965 >      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
966 >     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
967 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
968 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
969 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
970 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
971 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
972 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
973 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
974 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
975 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
976 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
977 >     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
978 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
979 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
980 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
981 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
982 >     587,   589,   591,   593,   596,   601,   606,   611,   616,   621,
983 >     626,   631,   636,   641,   646,   651,   656,   661,   666,   667,
984 >     674,   675,   681,   685,   687,   689,   691,   693,   696,   698,
985 >     700,   702,   704,   706,   709,   710,   716,   720,   722,   724,
986 >     728,   733,   738,   739,   746,   749,   751,   753,   755,   757,
987 >     759,   761,   763,   765,   767,   770,   775,   780,   785,   790,
988 >     791,   797,   801,   803,   805,   807,   809,   811,   813,   815,
989 >     817,   819,   821,   826,   831,   836,   837,   844,   847,   849,
990 >     851,   853,   855,   858,   863,   868,   873,   879,   882,   884,
991 >     886,   888,   893,   894,   901,   904,   906,   908,   910,   912,
992 >     915,   920,   925,   926,   932,   936,   938,   940,   942,   944,
993 >     946,   948,   950,   952,   954,   956,   958,   959,   966,   969,
994 >     971,   973,   975,   978,   983,   984,   990,   994,   996,   998,
995 >    1000,  1002,  1004,  1006,  1008,  1010,  1012,  1014,  1016,  1017,
996 >    1024,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
997 >    1045,  1047,  1049,  1051,  1053,  1055,  1058,  1063,  1068,  1073,
998 >    1078,  1083,  1088,  1093,  1098,  1099,  1105,  1109,  1111,  1113,
999 >    1115,  1120,  1125,  1130,  1135,  1140,  1141,  1148,  1149,  1155,
1000 >    1159,  1161,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1181,
1001 >    1186,  1187,  1194,  1197,  1199,  1201,  1203,  1205,  1210,  1215,
1002 >    1221,  1224,  1226,  1228,  1230,  1235,  1236,  1243,  1244,  1250,
1003 >    1254,  1256,  1258,  1261,  1263,  1265,  1267,  1269,  1271,  1276,
1004 >    1281,  1287,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
1005 >    1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
1006 >    1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
1007 >    1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,  1364,
1008 >    1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,
1009 >    1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1405,  1410,
1010 >    1415,  1420,  1425,  1430,  1435,  1440,  1445,  1450,  1455,  1460,
1011 >    1465,  1470,  1475,  1480,  1485,  1490,  1495,  1500,  1505,  1510,
1012 >    1515,  1520,  1525,  1530,  1535,  1540,  1545,  1550,  1555,  1560,
1013 >    1565,  1570,  1575,  1580,  1585,  1590,  1595,  1600,  1605,  1610,
1014 >    1615,  1620,  1625,  1630,  1635,  1640,  1645,  1650,  1651,  1657,
1015 >    1661,  1663,  1665,  1667,  1669,  1671,  1673,  1675,  1677,  1679,
1016 >    1681,  1683,  1685,  1687,  1689,  1691,  1693,  1695,  1697,  1699,
1017 >    1701,  1703,  1704,  1710,  1714,  1716,  1718,  1720,  1722,  1724,
1018 >    1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,  1742,  1744,
1019 >    1746,  1748,  1750,  1752,  1754,  1756,  1761,  1766,  1771,  1777,
1020 >    1780,  1782,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,
1021 >    1800,  1802,  1804,  1806,  1808,  1810,  1812,  1817,  1822,  1827,
1022 >    1832,  1837,  1842,  1847,  1852,  1857,  1862,  1867,  1872,  1877,
1023 >    1882,  1888,  1891,  1893,  1895,  1897,  1899,  1901,  1903,  1905,
1024 >    1907,  1912,  1917,  1922,  1927,  1932
1025   };
1026  
1027   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1028   static const yytype_int16 yyrhs[] =
1029   {
1030 <     268,     0,    -1,    -1,   268,   269,    -1,   297,    -1,   303,
1031 <      -1,   318,    -1,   559,    -1,   341,    -1,   360,    -1,   374,
1032 <      -1,   279,    -1,   580,    -1,   392,    -1,   399,    -1,   403,
1033 <      -1,   413,    -1,   422,    -1,   448,    -1,   458,    -1,   464,
1034 <      -1,   478,    -1,   543,    -1,   468,    -1,   274,    -1,     1,
1035 <     262,    -1,     1,   263,    -1,    -1,   271,    -1,   131,   270,
1036 <      -1,   131,   173,   270,    -1,   131,   174,   270,    -1,   131,
1037 <     175,   270,    -1,   131,   176,   270,    -1,   131,   177,   270,
1038 <      -1,    -1,   273,    -1,   131,   272,    -1,   131,    14,   272,
1039 <      -1,   131,    15,   272,    -1,   131,    16,   272,    -1,   119,
1040 <     264,   275,   263,   262,    -1,   275,   276,    -1,   276,    -1,
1041 <     277,    -1,   278,    -1,     1,   262,    -1,   118,   265,   153,
1042 <     262,    -1,   148,   265,   153,   262,    -1,   181,   264,   280,
1043 <     263,   262,    -1,   280,   281,    -1,   281,    -1,   288,    -1,
1044 <     293,    -1,   296,    -1,   290,    -1,   291,    -1,   292,    -1,
1045 <     295,    -1,   287,    -1,   294,    -1,   289,    -1,   286,    -1,
1046 <     282,    -1,     1,   262,    -1,    -1,   168,   283,   265,   284,
1047 <     262,    -1,   284,   266,   285,    -1,   285,    -1,   169,    -1,
1048 <     170,    -1,   167,   265,   153,   262,    -1,   165,   265,   153,
1049 <     262,    -1,   120,   265,   153,   262,    -1,   183,   265,   153,
1050 <     262,    -1,    37,   265,   153,   262,    -1,   123,   265,   153,
1051 <     262,    -1,   122,   265,   153,   262,    -1,   257,   265,   153,
1052 <     262,    -1,   258,   265,   153,   262,    -1,   227,   265,   131,
1053 <     262,    -1,    84,   265,   197,   262,    -1,     5,   264,   298,
1054 <     263,   262,    -1,   298,   299,    -1,   299,    -1,   300,    -1,
1055 <     302,    -1,   301,    -1,     1,   262,    -1,   120,   265,   153,
1056 <     262,    -1,    47,   265,   153,   262,    -1,    37,   265,   153,
1057 <     262,    -1,   102,   264,   304,   263,   262,    -1,   304,   305,
1058 <      -1,   305,    -1,   306,    -1,   307,    -1,   316,    -1,   317,
1059 <      -1,   308,    -1,   310,    -1,   312,    -1,   313,    -1,   315,
1060 <      -1,   311,    -1,   314,    -1,   309,    -1,     1,   262,    -1,
1061 <     219,   265,   153,   262,    -1,   138,   265,   153,   262,    -1,
1062 <      62,   265,   153,   262,    -1,    55,   265,   153,   262,    -1,
1063 <      60,   265,   153,   262,    -1,    61,   265,   153,   262,    -1,
1064 <      58,   265,   153,   262,    -1,    57,   265,   153,   262,    -1,
1065 <      59,   265,   153,   262,    -1,    56,   265,   153,   262,    -1,
1066 <     103,   265,   220,   262,    -1,   103,   265,   222,   262,    -1,
1067 <     103,   265,   226,   262,    -1,   103,   265,   224,   262,    -1,
1068 <     103,   265,   225,   262,    -1,   103,   265,   223,   262,    -1,
1069 <     103,   265,   221,   262,    -1,   255,   265,   197,   262,    -1,
1070 <      -1,   136,   319,   320,   264,   321,   263,   262,    -1,    -1,
1071 <     324,    -1,   321,   322,    -1,   322,    -1,   323,    -1,   325,
1072 <      -1,   326,    -1,   330,    -1,   329,    -1,   327,    -1,   328,
1073 <      -1,   334,    -1,     1,   262,    -1,   120,   265,   153,   262,
1074 <      -1,   153,    -1,   250,   265,   153,   262,    -1,   147,   265,
1075 <     153,   262,    -1,    49,   265,   197,   262,    -1,   166,   265,
1076 <     153,   262,    -1,    26,   265,   153,   262,    -1,    -1,   236,
1077 <     331,   265,   332,   262,    -1,   332,   266,   333,    -1,   333,
1078 <      -1,   204,    -1,   207,    -1,   208,    -1,   210,    -1,   211,
1079 <      -1,   214,    -1,   233,    -1,   228,    -1,   230,    -1,   237,
1080 <      -1,   234,    -1,   213,    -1,   229,    -1,   232,    -1,   215,
1081 <      -1,   240,    -1,   205,    -1,   206,    -1,   218,    -1,    -1,
1082 <      53,   335,   265,   336,   262,    -1,   336,   266,   337,    -1,
1083 <     337,    -1,    -1,   130,   338,   340,    -1,    -1,   339,   340,
1084 <      -1,    72,    -1,   161,    -1,    92,    -1,   249,    -1,   259,
1085 <      -1,    65,    -1,    38,    -1,   159,    -1,     5,    -1,    77,
1086 <      -1,   125,    -1,   229,    -1,   141,    -1,    79,    -1,   162,
1087 <      -1,    49,    -1,    -1,    26,   342,   343,   264,   344,   263,
1088 <     262,    -1,    -1,   347,    -1,   344,   345,    -1,   345,    -1,
1089 <     346,    -1,   357,    -1,   358,    -1,   348,    -1,   349,    -1,
1090 <     359,    -1,   350,    -1,   351,    -1,   352,    -1,   353,    -1,
1091 <     354,    -1,   355,    -1,   356,    -1,     1,   262,    -1,   120,
1092 <     265,   153,   262,    -1,   153,    -1,   150,   265,   271,   262,
1093 <      -1,   151,   265,   271,   262,    -1,   134,   265,   131,   262,
1094 <      -1,    30,   265,   271,   262,    -1,   112,   265,   131,   262,
1095 <      -1,   107,   265,   131,   262,    -1,   109,   265,   131,   262,
1096 <      -1,   108,   265,   131,   262,    -1,   178,   265,   273,   262,
1097 <      -1,    23,   265,   131,   262,    -1,    24,   265,   131,   262,
1098 <      -1,   133,   265,   131,   262,    -1,    -1,   100,   361,   264,
1099 <     366,   263,   262,    -1,    -1,    53,   363,   265,   364,   262,
1100 <      -1,   364,   266,   365,    -1,   365,    -1,   235,    -1,    76,
1101 <      -1,   231,    -1,   366,   367,    -1,   367,    -1,   368,    -1,
1102 <     362,    -1,   372,    -1,   373,    -1,     1,   262,    -1,    -1,
1103 <     152,   265,   370,   369,   262,    -1,   370,   266,   371,    -1,
1104 <     371,    -1,   131,    -1,   131,   202,   131,    -1,    89,   265,
1105 <     153,   262,    -1,    83,   265,   153,   262,    -1,    -1,    73,
1106 <     375,   264,   376,   263,   262,    -1,   376,   377,    -1,   377,
1107 <      -1,   378,    -1,   379,    -1,   380,    -1,   382,    -1,   389,
1108 <      -1,   390,    -1,   391,    -1,   381,    -1,     1,   262,    -1,
1109 <     250,   265,   153,   262,    -1,   147,   265,   153,   262,    -1,
1110 <      26,   265,   153,   262,    -1,    49,   265,   197,   262,    -1,
1111 <      -1,    53,   383,   265,   384,   262,    -1,   384,   266,   385,
1112 <      -1,   385,    -1,    -1,   130,   386,   388,    -1,    -1,   387,
1113 <     388,    -1,   191,    -1,    50,    -1,    93,    -1,    74,    -1,
1114 <      20,    -1,    21,    -1,   129,    -1,    67,    -1,   172,    -1,
1115 <     121,    -1,   190,   265,   153,   262,    -1,   157,   265,   153,
1116 <     262,    -1,   156,   265,   131,   262,    -1,    -1,   171,   393,
1117 <     264,   394,   263,   262,    -1,   394,   395,    -1,   395,    -1,
1118 <     396,    -1,   397,    -1,   398,    -1,     1,   262,    -1,   155,
1119 <     265,   153,   262,    -1,    22,   265,   153,   262,    -1,   124,
1120 <     265,   153,   262,    -1,   241,   264,   400,   263,   262,    -1,
1121 <     400,   401,    -1,   401,    -1,   402,    -1,     1,    -1,   120,
1122 <     265,   153,   262,    -1,    -1,   185,   404,   264,   405,   263,
1123 <     262,    -1,   405,   406,    -1,   406,    -1,   407,    -1,   408,
1124 <      -1,   409,    -1,     1,   262,    -1,   120,   265,   153,   262,
1125 <      -1,   250,   265,   153,   262,    -1,    -1,   187,   410,   265,
1126 <     411,   262,    -1,   411,   266,   412,    -1,   412,    -1,    92,
1127 <      -1,   246,    -1,   249,    -1,   259,    -1,   247,    -1,   239,
1128 <      -1,   171,    -1,   248,    -1,   238,    -1,   218,    -1,   203,
1129 <      -1,    -1,   186,   414,   264,   415,   263,   262,    -1,   415,
1130 <     416,    -1,   416,    -1,   417,    -1,   418,    -1,     1,   262,
1131 <      -1,   120,   265,   153,   262,    -1,    -1,   187,   419,   265,
1132 <     420,   262,    -1,   420,   266,   421,    -1,   421,    -1,    92,
1133 <      -1,   246,    -1,   249,    -1,   259,    -1,   247,    -1,   239,
1134 <      -1,   171,    -1,   248,    -1,   238,    -1,   218,    -1,   203,
1135 <      -1,    -1,    29,   423,   424,   264,   425,   263,   262,    -1,
1136 <      -1,   428,    -1,   425,   426,    -1,   426,    -1,   427,    -1,
1137 <     429,    -1,   430,    -1,   431,    -1,   432,    -1,   434,    -1,
1138 <     433,    -1,   435,    -1,   444,    -1,   445,    -1,   446,    -1,
1139 <     443,    -1,   442,    -1,   447,    -1,     1,   262,    -1,   120,
1140 <     265,   153,   262,    -1,   153,    -1,    83,   265,   153,   262,
1141 <      -1,   257,   265,   153,   262,    -1,   179,   265,   153,   262,
1142 <      -1,     3,   265,   153,   262,    -1,   152,   265,   131,   262,
1143 <      -1,     6,   265,   216,   262,    -1,     6,   265,   217,   262,
1144 <      -1,    -1,    53,   436,   265,   437,   262,    -1,   437,   266,
1145 <     438,    -1,   438,    -1,    -1,   130,   439,   441,    -1,    -1,
1146 <     440,   441,    -1,    27,    -1,    31,    -1,    10,    -1,    12,
1147 <      -1,   244,    -1,   166,   265,   153,   262,    -1,    49,   265,
1148 <     197,   262,    -1,    85,   265,   153,   262,    -1,    98,   265,
1149 <     153,   262,    -1,    26,   265,   153,   262,    -1,    25,   265,
1150 <     153,   262,    -1,    -1,    90,   449,   264,   454,   263,   262,
1151 <      -1,    -1,   187,   451,   265,   452,   262,    -1,   452,   266,
1152 <     453,    -1,   453,    -1,   158,    -1,   454,   455,    -1,   455,
1153 <      -1,   456,    -1,   457,    -1,   450,    -1,     1,    -1,   250,
1154 <     265,   153,   262,    -1,   155,   265,   153,   262,    -1,    -1,
1155 <      36,   459,   264,   460,   263,   262,    -1,   460,   461,    -1,
1156 <     461,    -1,   462,    -1,   463,    -1,     1,    -1,    89,   265,
1157 <     153,   262,    -1,   155,   265,   153,   262,    -1,    51,   264,
1158 <     465,   263,   262,    -1,   465,   466,    -1,   466,    -1,   467,
1159 <      -1,     1,    -1,    89,   265,   153,   262,    -1,    -1,    63,
1160 <     469,   264,   474,   263,   262,    -1,    -1,   187,   471,   265,
1161 <     472,   262,    -1,   472,   266,   473,    -1,   473,    -1,   158,
1162 <      -1,   474,   475,    -1,   475,    -1,   476,    -1,   477,    -1,
1163 <     470,    -1,     1,    -1,   120,   265,   153,   262,    -1,   155,
1164 <     265,   153,   262,    -1,    64,   264,   479,   263,   262,    -1,
1165 <     479,   480,    -1,   480,    -1,   489,    -1,   490,    -1,   492,
1166 <      -1,   493,    -1,   494,    -1,   495,    -1,   496,    -1,   497,
1167 <      -1,   498,    -1,   499,    -1,   488,    -1,   501,    -1,   502,
1168 <      -1,   503,    -1,   504,    -1,   520,    -1,   506,    -1,   508,
1169 <      -1,   510,    -1,   509,    -1,   513,    -1,   507,    -1,   514,
1170 <      -1,   515,    -1,   516,    -1,   517,    -1,   519,    -1,   518,
1171 <      -1,   535,    -1,   521,    -1,   525,    -1,   526,    -1,   531,
1172 <      -1,   511,    -1,   512,    -1,   541,    -1,   539,    -1,   540,
1173 <      -1,   522,    -1,   491,    -1,   523,    -1,   524,    -1,   542,
1174 <      -1,   530,    -1,   500,    -1,   528,    -1,   529,    -1,   484,
1175 <      -1,   487,    -1,   482,    -1,   483,    -1,   485,    -1,   486,
1176 <      -1,   505,    -1,   481,    -1,   527,    -1,     1,    -1,   114,
1177 <     265,   131,   262,    -1,    70,   265,   131,   262,    -1,    71,
1178 <     265,   131,   262,    -1,    12,   265,   197,   262,    -1,   256,
1179 <     265,   197,   262,    -1,   160,   265,   271,   262,    -1,   184,
1180 <     265,   197,   262,    -1,    91,   265,   271,   262,    -1,    82,
1181 <     265,   197,   262,    -1,    87,   265,   197,   262,    -1,    43,
1182 <     265,   197,   262,    -1,    52,   265,   197,   262,    -1,     8,
1183 <     265,   197,   262,    -1,   111,   265,   271,   262,    -1,   110,
1184 <     265,   131,   262,    -1,   104,   265,   131,   262,    -1,     9,
1185 <     265,   271,   262,    -1,   201,   265,   271,   262,    -1,   200,
1186 <     265,   271,   262,    -1,    75,   265,   131,   262,    -1,    95,
1187 <     265,   197,   262,    -1,    94,   265,   153,   262,    -1,    88,
1188 <     265,   197,   262,    -1,   261,   265,   197,   262,    -1,   192,
1189 <     265,   197,   262,    -1,   195,   265,   197,   262,    -1,   196,
1190 <     265,   197,   262,    -1,   194,   265,   197,   262,    -1,   194,
1191 <     265,   198,   262,    -1,   193,   265,   197,   262,    -1,   193,
1192 <     265,   198,   262,    -1,   145,   265,   271,   262,    -1,    19,
1193 <     265,   271,   262,    -1,   137,   265,   197,   262,    -1,   146,
1194 <     265,   271,   262,    -1,   188,   265,   197,   262,    -1,   128,
1195 <     265,   197,   262,    -1,   245,   265,   197,   262,    -1,   140,
1196 <     265,   197,   262,    -1,   115,   265,   153,   262,    -1,    86,
1197 <     265,   271,   262,    -1,    44,   265,   131,   262,    -1,   113,
1198 <     265,   131,   262,    -1,   182,   265,   153,   262,    -1,    32,
1199 <     265,   153,   262,    -1,    28,   265,   131,   262,    -1,   251,
1200 <     265,   197,   262,    -1,    46,   265,   153,   262,    -1,   242,
1201 <     265,   153,   262,    -1,   149,   265,   197,   262,    -1,    39,
1202 <     265,   197,   262,    -1,   243,   265,   271,   262,    -1,    -1,
1203 <     142,   532,   265,   533,   262,    -1,   533,   266,   534,    -1,
1204 <     534,    -1,   204,    -1,   207,    -1,   208,    -1,   210,    -1,
1205 <     211,    -1,   214,    -1,   233,    -1,   228,    -1,   230,    -1,
1206 <     237,    -1,   234,    -1,   213,    -1,   229,    -1,   232,    -1,
1207 <     215,    -1,   240,    -1,   205,    -1,   206,    -1,   218,    -1,
1208 <      -1,   139,   536,   265,   537,   262,    -1,   537,   266,   538,
1209 <      -1,   538,    -1,   204,    -1,   207,    -1,   208,    -1,   210,
1210 <      -1,   211,    -1,   214,    -1,   233,    -1,   228,    -1,   230,
1211 <      -1,   237,    -1,   234,    -1,   213,    -1,   229,    -1,   232,
1212 <      -1,   215,    -1,   240,    -1,   205,    -1,   206,    -1,   218,
1213 <      -1,   116,   265,   131,   262,    -1,   117,   265,   131,   262,
1214 <      -1,    33,   265,   131,   262,    -1,   209,   265,   273,   262,
1215 <      -1,    -1,    66,   544,   264,   545,   263,   262,    -1,   545,
1216 <     546,    -1,   546,    -1,   547,    -1,   548,    -1,   549,    -1,
1217 <     553,    -1,   554,    -1,   555,    -1,     1,    -1,    48,   265,
1218 <     197,   262,    -1,    45,   265,   271,   262,    -1,    -1,   102,
1219 <     550,   265,   551,   262,    -1,   551,   266,   552,    -1,   552,
1220 <      -1,   199,    -1,    11,    -1,   250,   265,   153,   262,    -1,
1221 <     120,   265,   153,   262,    -1,    -1,     4,   556,   265,   557,
1222 <     262,    -1,   557,   266,   558,    -1,   558,    -1,   199,    -1,
1223 <      11,    -1,    22,   264,   560,   263,   262,    -1,   560,   561,
1322 <      -1,   561,    -1,   564,    -1,   565,    -1,   566,    -1,   567,
1323 <      -1,   572,    -1,   568,    -1,   569,    -1,   570,    -1,   571,
1324 <      -1,   573,    -1,   574,    -1,   575,    -1,   563,    -1,   576,
1325 <      -1,   577,    -1,   578,    -1,   579,    -1,   562,    -1,     1,
1326 <      -1,    40,   265,   197,   262,    -1,   163,   265,   197,   262,
1327 <      -1,    42,   265,   197,   262,    -1,   252,   265,   197,   262,
1328 <      -1,   253,   265,   197,   262,    -1,   254,   265,   197,   262,
1329 <      -1,    96,   265,   271,   262,    -1,    97,   265,   271,   262,
1330 <      -1,   106,   265,   131,   262,    -1,   154,   265,   197,   262,
1331 <      -1,   105,   265,   131,   262,    -1,    35,   265,   131,   262,
1332 <      -1,    34,   265,   131,   262,    -1,   126,   265,   197,   262,
1333 <      -1,   127,   265,   197,   262,    -1,    13,   265,   197,   262,
1334 <      -1,   143,   265,   131,   262,    -1,   144,   265,   271,   262,
1335 <      -1,   180,   264,   581,   263,   262,    -1,   581,   582,    -1,
1336 <     582,    -1,   583,    -1,   584,    -1,   586,    -1,   588,    -1,
1337 <     587,    -1,   585,    -1,   589,    -1,     1,    -1,    54,   265,
1338 <     197,   262,    -1,    81,   265,   197,   262,    -1,    78,   265,
1339 <     153,   262,    -1,    99,   265,   271,   262,    -1,    76,   265,
1340 <     197,   262,    -1,    41,   265,   197,   262,    -1,    80,   265,
1341 <     197,   262,    -1
1030 >     225,     0,    -1,    -1,   225,   226,    -1,   258,    -1,   264,
1031 >      -1,   278,    -1,   485,    -1,   296,    -1,   314,    -1,   328,
1032 >      -1,   236,    -1,   502,    -1,   343,    -1,   350,    -1,   354,
1033 >      -1,   364,    -1,   373,    -1,   393,    -1,   403,    -1,   409,
1034 >      -1,   423,    -1,   413,    -1,   231,    -1,     1,   219,    -1,
1035 >       1,   220,    -1,    -1,   228,    -1,   101,   227,    -1,   101,
1036 >     141,   227,    -1,   101,   142,   227,    -1,   101,   143,   227,
1037 >      -1,   101,   144,   227,    -1,   101,   145,   227,    -1,    -1,
1038 >     230,    -1,   101,   229,    -1,   101,     9,   229,    -1,   101,
1039 >      10,   229,    -1,   101,    11,   229,    -1,    90,   221,   232,
1040 >     220,   219,    -1,   232,   233,    -1,   233,    -1,   234,    -1,
1041 >     235,    -1,     1,   219,    -1,    89,   222,   120,   219,    -1,
1042 >     115,   222,   120,   219,    -1,   149,   221,   237,   220,   219,
1043 >      -1,   237,   238,    -1,   238,    -1,   249,    -1,   254,    -1,
1044 >     257,    -1,   251,    -1,   252,    -1,   253,    -1,   256,    -1,
1045 >     247,    -1,   246,    -1,   255,    -1,   250,    -1,   245,    -1,
1046 >     239,    -1,   240,    -1,   248,    -1,     1,   219,    -1,   135,
1047 >     222,   241,   219,    -1,   136,   222,   243,   219,    -1,   241,
1048 >     223,   242,    -1,   242,    -1,   137,    -1,   138,    -1,   243,
1049 >     223,   244,    -1,   244,    -1,   137,    -1,   138,    -1,   133,
1050 >     222,   120,   219,    -1,   131,   222,   120,   219,    -1,   134,
1051 >     222,   120,   219,    -1,   174,   222,   120,   219,    -1,    91,
1052 >     222,   120,   219,    -1,   150,   222,   120,   219,    -1,    24,
1053 >     222,   120,   219,    -1,    94,   222,   120,   219,    -1,    93,
1054 >     222,   120,   219,    -1,   213,   222,   120,   219,    -1,   214,
1055 >     222,   120,   219,    -1,   184,   222,   101,   219,    -1,    57,
1056 >     222,   163,   219,    -1,     4,   221,   259,   220,   219,    -1,
1057 >     259,   260,    -1,   260,    -1,   261,    -1,   263,    -1,   262,
1058 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,    31,
1059 >     222,   120,   219,    -1,    24,   222,   120,   219,    -1,    73,
1060 >     221,   265,   220,   219,    -1,   265,   266,    -1,   266,    -1,
1061 >     267,    -1,   268,    -1,     1,   219,    -1,   211,   222,   163,
1062 >     219,    -1,    -1,   269,   218,   221,   270,   220,   219,    -1,
1063 >     270,   271,    -1,   271,    -1,   272,    -1,   274,    -1,   273,
1064 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,   217,
1065 >     222,   230,   219,    -1,   217,   222,   198,   219,    -1,    -1,
1066 >     154,   275,   222,   276,   219,    -1,   276,   223,   277,    -1,
1067 >     277,    -1,   209,    -1,   104,    -1,    40,    -1,   177,    -1,
1068 >      64,    -1,    62,    -1,   176,    -1,    -1,   104,   279,   221,
1069 >     280,   220,   219,    -1,   280,   281,    -1,   281,    -1,   282,
1070 >      -1,   283,    -1,   284,    -1,   288,    -1,   287,    -1,   285,
1071 >      -1,   286,    -1,   292,    -1,     1,   219,    -1,    91,   222,
1072 >     120,   219,    -1,   209,   222,   120,   219,    -1,   114,   222,
1073 >     120,   219,    -1,    32,   222,   163,   219,    -1,   132,   222,
1074 >     120,   219,    -1,    17,   222,   120,   219,    -1,    -1,   195,
1075 >     289,   222,   290,   219,    -1,   290,   223,   291,    -1,   291,
1076 >      -1,   169,    -1,   172,    -1,   173,    -1,   175,    -1,   176,
1077 >      -1,   179,    -1,    51,    -1,   192,    -1,   185,    -1,   188,
1078 >      -1,   196,    -1,   193,    -1,   178,    -1,   186,    -1,   190,
1079 >      -1,   180,    -1,   202,    -1,   170,    -1,   171,    -1,   183,
1080 >      -1,    -1,    36,   293,   222,   294,   219,    -1,   294,   223,
1081 >     295,    -1,   295,    -1,    47,    -1,   128,    -1,    64,    -1,
1082 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,    40,    -1,
1083 >      25,    -1,   203,    -1,   126,    -1,     4,    -1,    96,    -1,
1084 >     186,    -1,   201,    -1,   108,    -1,   129,    -1,   191,    -1,
1085 >      89,    -1,    -1,    17,   297,   221,   298,   220,   219,    -1,
1086 >     298,   299,    -1,   299,    -1,   300,    -1,   311,    -1,   312,
1087 >      -1,   301,    -1,   302,    -1,   313,    -1,   303,    -1,   304,
1088 >      -1,   305,    -1,   306,    -1,   307,    -1,   308,    -1,   309,
1089 >      -1,   310,    -1,     1,   219,    -1,    91,   222,   120,   219,
1090 >      -1,   117,   222,   228,   219,    -1,   118,   222,   228,   219,
1091 >      -1,   103,   222,   101,   219,    -1,    19,   222,   228,   219,
1092 >      -1,    83,   222,   101,   219,    -1,    78,   222,   101,   219,
1093 >      -1,    80,   222,   101,   219,    -1,    79,   222,   101,   219,
1094 >      -1,   146,   222,   230,   219,    -1,   187,   222,   230,   219,
1095 >      -1,    15,   222,   101,   219,    -1,    16,   222,   101,   219,
1096 >      -1,   102,   222,   101,   219,    -1,    -1,    72,   315,   221,
1097 >     320,   220,   219,    -1,    -1,    36,   317,   222,   318,   219,
1098 >      -1,   318,   223,   319,    -1,   319,    -1,   194,    -1,    51,
1099 >      -1,   189,    -1,   320,   321,    -1,   321,    -1,   322,    -1,
1100 >     316,    -1,   326,    -1,   327,    -1,     1,   219,    -1,    -1,
1101 >     119,   222,   324,   323,   219,    -1,   324,   223,   325,    -1,
1102 >     325,    -1,   101,    -1,   101,   167,   101,    -1,    61,   222,
1103 >     120,   219,    -1,    56,   222,   120,   219,    -1,    -1,    48,
1104 >     329,   221,   330,   220,   219,    -1,   330,   331,    -1,   331,
1105 >      -1,   332,    -1,   333,    -1,   334,    -1,   336,    -1,   340,
1106 >      -1,   341,    -1,   342,    -1,   335,    -1,     1,   219,    -1,
1107 >     209,   222,   120,   219,    -1,   114,   222,   120,   219,    -1,
1108 >      17,   222,   120,   219,    -1,    32,   222,   163,   219,    -1,
1109 >      -1,    36,   337,   222,   338,   219,    -1,   338,   223,   339,
1110 >      -1,   339,    -1,   157,    -1,    33,    -1,    65,    -1,    49,
1111 >      -1,    13,    -1,   100,    -1,    43,    -1,   140,    -1,    92,
1112 >      -1,   156,   222,   120,   219,    -1,   124,   222,   120,   219,
1113 >      -1,   123,   222,   101,   219,    -1,    -1,   139,   344,   221,
1114 >     345,   220,   219,    -1,   345,   346,    -1,   346,    -1,   347,
1115 >      -1,   348,    -1,   349,    -1,     1,   219,    -1,   122,   222,
1116 >     120,   219,    -1,    14,   222,   120,   219,    -1,    95,   222,
1117 >     120,   219,    -1,   204,   221,   351,   220,   219,    -1,   351,
1118 >     352,    -1,   352,    -1,   353,    -1,     1,    -1,    91,   222,
1119 >     120,   219,    -1,    -1,   152,   355,   221,   356,   220,   219,
1120 >      -1,   356,   357,    -1,   357,    -1,   358,    -1,   359,    -1,
1121 >     360,    -1,     1,   219,    -1,    91,   222,   120,   219,    -1,
1122 >     209,   222,   120,   219,    -1,    -1,   154,   361,   222,   362,
1123 >     219,    -1,   362,   223,   363,    -1,   363,    -1,    64,    -1,
1124 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,   200,    -1,
1125 >     139,    -1,   199,    -1,   183,    -1,   168,    -1,    -1,   153,
1126 >     365,   221,   366,   220,   219,    -1,   366,   367,    -1,   367,
1127 >      -1,   368,    -1,   369,    -1,     1,   219,    -1,    91,   222,
1128 >     120,   219,    -1,    -1,   154,   370,   222,   371,   219,    -1,
1129 >     371,   223,   372,    -1,   372,    -1,    64,    -1,   208,    -1,
1130 >     177,    -1,   197,    -1,   215,    -1,   200,    -1,   139,    -1,
1131 >     199,    -1,   183,    -1,   168,    -1,    -1,    18,   374,   221,
1132 >     375,   220,   219,    -1,   375,   376,    -1,   376,    -1,   377,
1133 >      -1,   378,    -1,   379,    -1,   380,    -1,   381,    -1,   383,
1134 >      -1,   382,    -1,   392,    -1,   384,    -1,   389,    -1,   390,
1135 >      -1,   391,    -1,   388,    -1,     1,   219,    -1,    91,   222,
1136 >     120,   219,    -1,    56,   222,   120,   219,    -1,   213,   222,
1137 >     120,   219,    -1,   147,   222,   120,   219,    -1,     3,   222,
1138 >     120,   219,    -1,   119,   222,   101,   219,    -1,     5,   222,
1139 >     181,   219,    -1,     5,   222,   182,   219,    -1,    -1,    36,
1140 >     385,   222,   386,   219,    -1,   386,   223,   387,    -1,   387,
1141 >      -1,     8,    -1,   194,    -1,    32,   222,   163,   219,    -1,
1142 >      58,   222,   120,   219,    -1,    70,   222,   120,   219,    -1,
1143 >      17,   222,   120,   219,    -1,   174,   222,   120,   219,    -1,
1144 >      -1,    62,   394,   221,   399,   220,   219,    -1,    -1,   154,
1145 >     396,   222,   397,   219,    -1,   397,   223,   398,    -1,   398,
1146 >      -1,   125,    -1,   399,   400,    -1,   400,    -1,   401,    -1,
1147 >     402,    -1,   395,    -1,     1,    -1,   209,   222,   120,   219,
1148 >      -1,   122,   222,   120,   219,    -1,    -1,    23,   404,   221,
1149 >     405,   220,   219,    -1,   405,   406,    -1,   406,    -1,   407,
1150 >      -1,   408,    -1,     1,    -1,    61,   222,   120,   219,    -1,
1151 >     122,   222,   120,   219,    -1,    34,   221,   410,   220,   219,
1152 >      -1,   410,   411,    -1,   411,    -1,   412,    -1,     1,    -1,
1153 >      61,   222,   120,   219,    -1,    -1,    38,   414,   221,   419,
1154 >     220,   219,    -1,    -1,   154,   416,   222,   417,   219,    -1,
1155 >     417,   223,   418,    -1,   418,    -1,   125,    -1,   419,   420,
1156 >      -1,   420,    -1,   421,    -1,   422,    -1,   415,    -1,     1,
1157 >      -1,    91,   222,   120,   219,    -1,   122,   222,   120,   219,
1158 >      -1,    39,   221,   424,   220,   219,    -1,   424,   425,    -1,
1159 >     425,    -1,   436,    -1,   437,    -1,   439,    -1,   440,    -1,
1160 >     441,    -1,   442,    -1,   443,    -1,   444,    -1,   445,    -1,
1161 >     446,    -1,   435,    -1,   448,    -1,   449,    -1,   450,    -1,
1162 >     451,    -1,   466,    -1,   453,    -1,   455,    -1,   457,    -1,
1163 >     456,    -1,   460,    -1,   454,    -1,   461,    -1,   462,    -1,
1164 >     463,    -1,   464,    -1,   465,    -1,   478,    -1,   467,    -1,
1165 >     468,    -1,   469,    -1,   474,    -1,   458,    -1,   459,    -1,
1166 >     484,    -1,   482,    -1,   483,    -1,   438,    -1,   473,    -1,
1167 >     447,    -1,   471,    -1,   472,    -1,   434,    -1,   427,    -1,
1168 >     428,    -1,   429,    -1,   430,    -1,   431,    -1,   432,    -1,
1169 >     433,    -1,   452,    -1,   426,    -1,   470,    -1,     1,    -1,
1170 >      85,   222,   101,   219,    -1,    42,   222,   163,   219,    -1,
1171 >      41,   222,   228,   219,    -1,    44,   222,   228,   219,    -1,
1172 >      45,   222,   101,   219,    -1,    46,   222,   101,   219,    -1,
1173 >     212,   222,   163,   219,    -1,   127,   222,   228,   219,    -1,
1174 >     151,   222,   163,   219,    -1,    63,   222,   228,   219,    -1,
1175 >      55,   222,   163,   219,    -1,    59,   222,   163,   219,    -1,
1176 >      28,   222,   163,   219,    -1,    35,   222,   163,   219,    -1,
1177 >       6,   222,   163,   219,    -1,    82,   222,   228,   219,    -1,
1178 >      81,   222,   101,   219,    -1,    74,   222,   101,   219,    -1,
1179 >       7,   222,   228,   219,    -1,   166,   222,   228,   219,    -1,
1180 >     165,   222,   228,   219,    -1,    50,   222,   101,   219,    -1,
1181 >      67,   222,   163,   219,    -1,    66,   222,   120,   219,    -1,
1182 >      60,   222,   163,   219,    -1,   216,   222,   163,   219,    -1,
1183 >     158,   222,   163,   219,    -1,   161,   222,   163,   219,    -1,
1184 >     162,   222,   163,   219,    -1,   160,   222,   163,   219,    -1,
1185 >     160,   222,   164,   219,    -1,   159,   222,   163,   219,    -1,
1186 >     159,   222,   164,   219,    -1,   112,   222,   228,   219,    -1,
1187 >      12,   222,   228,   219,    -1,   105,   222,   163,   219,    -1,
1188 >     113,   222,   228,   219,    -1,   155,   222,   163,   219,    -1,
1189 >      99,   222,   163,   219,    -1,   207,   222,   163,   219,    -1,
1190 >     107,   222,   163,   219,    -1,    86,   222,   120,   219,    -1,
1191 >      29,   222,   101,   219,    -1,    84,   222,   101,   219,    -1,
1192 >     210,   222,   163,   219,    -1,    30,   222,   120,   219,    -1,
1193 >     205,   222,   120,   219,    -1,   116,   222,   163,   219,    -1,
1194 >      26,   222,   163,   219,    -1,   206,   222,   228,   219,    -1,
1195 >      -1,   109,   475,   222,   476,   219,    -1,   476,   223,   477,
1196 >      -1,   477,    -1,   169,    -1,   172,    -1,   173,    -1,   175,
1197 >      -1,   176,    -1,   179,    -1,    51,    -1,   192,    -1,   185,
1198 >      -1,   188,    -1,   196,    -1,   193,    -1,   178,    -1,   186,
1199 >      -1,   190,    -1,   180,    -1,   202,    -1,   170,    -1,   171,
1200 >      -1,   183,    -1,    -1,   106,   479,   222,   480,   219,    -1,
1201 >     480,   223,   481,    -1,   481,    -1,   169,    -1,   172,    -1,
1202 >     173,    -1,   175,    -1,   176,    -1,   179,    -1,   192,    -1,
1203 >      51,    -1,   185,    -1,   188,    -1,   196,    -1,   193,    -1,
1204 >     178,    -1,   186,    -1,   190,    -1,   180,    -1,   202,    -1,
1205 >     170,    -1,   171,    -1,   183,    -1,    87,   222,   101,   219,
1206 >      -1,    88,   222,   101,   219,    -1,    20,   222,   101,   219,
1207 >      -1,    14,   221,   486,   220,   219,    -1,   486,   487,    -1,
1208 >     487,    -1,   495,    -1,   490,    -1,   491,    -1,   492,    -1,
1209 >     493,    -1,   494,    -1,   496,    -1,   497,    -1,   498,    -1,
1210 >     489,    -1,   499,    -1,   500,    -1,   501,    -1,   488,    -1,
1211 >       1,    -1,    27,   222,   163,   219,    -1,   130,   222,   163,
1212 >     219,    -1,    68,   222,   228,   219,    -1,    69,   222,   228,
1213 >     219,    -1,    77,   222,   101,   219,    -1,    76,   222,   101,
1214 >     219,    -1,   121,   222,   163,   219,    -1,    75,   222,   101,
1215 >     219,    -1,    22,   222,   101,   219,    -1,    21,   222,   101,
1216 >     219,    -1,    97,   222,   163,   219,    -1,    98,   222,   163,
1217 >     219,    -1,   110,   222,   101,   219,    -1,   111,   222,   228,
1218 >     219,    -1,   148,   221,   503,   220,   219,    -1,   503,   504,
1219 >      -1,   504,    -1,   505,    -1,   506,    -1,   508,    -1,   509,
1220 >      -1,   507,    -1,   510,    -1,     1,    -1,    37,   222,   163,
1221 >     219,    -1,    54,   222,   163,   219,    -1,    52,   222,   120,
1222 >     219,    -1,    71,   222,   228,   219,    -1,    51,   222,   163,
1223 >     219,    -1,    53,   222,   163,   219,    -1
1224   };
1225  
1226   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1227   static const yytype_uint16 yyrline[] =
1228   {
1229 <       0,   396,   396,   397,   400,   401,   402,   403,   404,   405,
1230 <     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
1231 <     416,   417,   418,   419,   420,   421,   422,   426,   426,   427,
1232 <     431,   435,   439,   443,   447,   453,   453,   454,   455,   456,
1233 <     457,   464,   467,   467,   468,   468,   468,   470,   476,   483,
1234 <     485,   485,   486,   486,   487,   487,   488,   488,   489,   490,
1235 <     490,   491,   491,   492,   493,   497,   496,   515,   515,   516,
1236 <     522,   530,   564,   624,   639,   654,   663,   677,   686,   714,
1237 <     744,   767,   776,   778,   778,   779,   779,   780,   780,   782,
1238 <     791,   800,   813,   815,   816,   818,   818,   819,   820,   820,
1239 <     821,   821,   822,   822,   823,   823,   824,   825,   827,   831,
1240 <     835,   842,   849,   856,   863,   870,   877,   884,   891,   895,
1241 <     899,   903,   907,   911,   915,   921,   931,   930,  1024,  1024,
1242 <    1025,  1025,  1026,  1026,  1026,  1027,  1027,  1027,  1028,  1028,
1243 <    1028,  1030,  1042,  1054,  1088,  1100,  1111,  1153,  1163,  1162,
1244 <    1168,  1168,  1169,  1173,  1177,  1181,  1185,  1189,  1193,  1197,
1245 <    1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,  1233,  1237,
1246 <    1241,  1248,  1247,  1251,  1251,  1252,  1252,  1253,  1253,  1255,
1247 <    1262,  1269,  1276,  1283,  1290,  1297,  1304,  1311,  1318,  1325,
1248 <    1332,  1339,  1346,  1353,  1360,  1374,  1373,  1423,  1423,  1425,
1249 <    1425,  1426,  1427,  1427,  1428,  1429,  1430,  1431,  1432,  1433,
1250 <    1434,  1435,  1436,  1437,  1438,  1440,  1449,  1458,  1464,  1470,
1251 <    1476,  1482,  1488,  1494,  1500,  1506,  1512,  1518,  1524,  1534,
1252 <    1533,  1550,  1549,  1554,  1554,  1555,  1559,  1563,  1571,  1571,
1253 <    1572,  1572,  1572,  1572,  1572,  1574,  1574,  1576,  1576,  1578,
1254 <    1592,  1612,  1621,  1634,  1633,  1702,  1702,  1703,  1703,  1703,
1255 <    1703,  1704,  1704,  1704,  1705,  1705,  1707,  1744,  1757,  1766,
1256 <    1778,  1777,  1781,  1781,  1782,  1782,  1783,  1783,  1785,  1792,
1257 <    1799,  1806,  1813,  1820,  1827,  1834,  1841,  1848,  1858,  1877,
1258 <    1887,  1901,  1900,  1916,  1916,  1917,  1917,  1917,  1917,  1919,
1259 <    1928,  1943,  1956,  1958,  1958,  1959,  1959,  1961,  1977,  1976,
1260 <    1992,  1992,  1993,  1993,  1993,  1993,  1995,  2004,  2027,  2026,
1261 <    2032,  2032,  2033,  2037,  2041,  2045,  2049,  2053,  2057,  2061,
1262 <    2065,  2069,  2073,  2083,  2082,  2099,  2099,  2100,  2100,  2100,
1263 <    2102,  2109,  2108,  2114,  2114,  2115,  2119,  2123,  2127,  2131,
1264 <    2135,  2139,  2143,  2147,  2151,  2155,  2165,  2164,  2310,  2310,
1265 <    2311,  2311,  2312,  2312,  2312,  2313,  2313,  2314,  2314,  2315,
1266 <    2315,  2315,  2316,  2316,  2317,  2317,  2318,  2320,  2332,  2344,
1267 <    2353,  2379,  2397,  2415,  2421,  2425,  2434,  2433,  2437,  2437,
1268 <    2438,  2438,  2439,  2439,  2441,  2452,  2459,  2466,  2473,  2483,
1269 <    2524,  2535,  2548,  2561,  2570,  2606,  2605,  2669,  2668,  2672,
1270 <    2672,  2673,  2679,  2679,  2680,  2680,  2680,  2680,  2682,  2701,
1271 <    2711,  2710,  2733,  2733,  2734,  2734,  2734,  2736,  2742,  2751,
1272 <    2753,  2753,  2754,  2754,  2756,  2775,  2774,  2822,  2821,  2825,
1273 <    2825,  2826,  2832,  2832,  2833,  2833,  2833,  2833,  2835,  2841,
1274 <    2850,  2853,  2853,  2854,  2854,  2855,  2855,  2856,  2856,  2857,
1275 <    2857,  2858,  2858,  2859,  2859,  2860,  2860,  2861,  2861,  2862,
1276 <    2862,  2863,  2863,  2864,  2864,  2865,  2865,  2866,  2866,  2867,
1277 <    2867,  2868,  2868,  2869,  2869,  2870,  2870,  2871,  2871,  2872,
1278 <    2872,  2873,  2873,  2874,  2875,  2875,  2876,  2876,  2877,  2878,
1279 <    2878,  2879,  2879,  2880,  2880,  2881,  2881,  2882,  2882,  2883,
1280 <    2886,  2891,  2896,  2901,  2906,  2911,  2916,  2921,  2926,  2931,
1281 <    2936,  2941,  2946,  2951,  2956,  2961,  2966,  2971,  2976,  2982,
1282 <    2993,  2998,  3007,  3012,  3017,  3022,  3027,  3032,  3035,  3040,
1283 <    3043,  3048,  3053,  3058,  3063,  3068,  3073,  3078,  3083,  3088,
1284 <    3099,  3104,  3109,  3114,  3123,  3155,  3173,  3178,  3187,  3196,
1285 <    3201,  3206,  3212,  3211,  3216,  3216,  3217,  3220,  3223,  3226,
1286 <    3229,  3232,  3235,  3238,  3241,  3244,  3247,  3250,  3253,  3256,
1287 <    3259,  3262,  3265,  3268,  3271,  3277,  3276,  3281,  3281,  3282,
1288 <    3285,  3288,  3291,  3294,  3297,  3300,  3303,  3306,  3309,  3312,
1289 <    3315,  3318,  3321,  3324,  3327,  3330,  3333,  3336,  3341,  3346,
1290 <    3351,  3356,  3366,  3365,  3389,  3389,  3390,  3391,  3392,  3393,
1291 <    3394,  3395,  3396,  3398,  3404,  3411,  3410,  3415,  3415,  3416,
1292 <    3420,  3426,  3460,  3470,  3469,  3519,  3519,  3520,  3524,  3533,
1411 <    3536,  3536,  3537,  3537,  3538,  3538,  3539,  3539,  3540,  3540,
1412 <    3541,  3541,  3542,  3543,  3543,  3544,  3544,  3545,  3545,  3546,
1413 <    3546,  3548,  3553,  3558,  3563,  3568,  3573,  3578,  3583,  3588,
1414 <    3593,  3598,  3603,  3608,  3613,  3618,  3623,  3628,  3633,  3641,
1415 <    3644,  3644,  3645,  3645,  3646,  3647,  3648,  3648,  3649,  3650,
1416 <    3652,  3658,  3664,  3673,  3687,  3693,  3699
1229 >       0,   334,   334,   335,   338,   339,   340,   341,   342,   343,
1230 >     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
1231 >     354,   355,   356,   357,   358,   359,   363,   363,   364,   368,
1232 >     372,   376,   380,   384,   390,   390,   391,   392,   393,   394,
1233 >     401,   404,   404,   405,   405,   405,   407,   413,   420,   422,
1234 >     422,   423,   423,   424,   424,   425,   425,   426,   426,   427,
1235 >     427,   428,   428,   429,   429,   430,   431,   434,   435,   437,
1236 >     437,   438,   444,   452,   452,   453,   459,   467,   506,   565,
1237 >     593,   601,   616,   631,   640,   654,   663,   691,   721,   744,
1238 >     753,   755,   755,   756,   756,   757,   757,   759,   768,   777,
1239 >     789,   790,   790,   792,   792,   793,   795,   802,   802,   812,
1240 >     813,   815,   815,   816,   816,   818,   823,   826,   832,   831,
1241 >     837,   837,   838,   842,   846,   850,   854,   858,   862,   873,
1242 >     872,   970,   970,   971,   971,   971,   972,   972,   972,   973,
1243 >     973,   973,   975,   984,  1021,  1033,  1044,  1086,  1096,  1095,
1244 >    1101,  1101,  1102,  1106,  1110,  1114,  1118,  1122,  1126,  1130,
1245 >    1134,  1138,  1142,  1146,  1150,  1154,  1158,  1162,  1166,  1170,
1246 >    1174,  1178,  1185,  1184,  1190,  1190,  1191,  1195,  1199,  1203,
1247 >    1207,  1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,  1243,
1248 >    1247,  1251,  1255,  1259,  1263,  1274,  1273,  1323,  1323,  1324,
1249 >    1325,  1325,  1326,  1327,  1328,  1329,  1330,  1331,  1332,  1333,
1250 >    1334,  1335,  1335,  1336,  1338,  1347,  1353,  1359,  1365,  1371,
1251 >    1377,  1383,  1389,  1395,  1401,  1408,  1414,  1420,  1430,  1429,
1252 >    1446,  1445,  1450,  1450,  1451,  1455,  1459,  1467,  1467,  1468,
1253 >    1468,  1468,  1468,  1468,  1470,  1470,  1472,  1472,  1474,  1488,
1254 >    1508,  1517,  1530,  1529,  1598,  1598,  1599,  1599,  1599,  1599,
1255 >    1600,  1600,  1600,  1601,  1601,  1603,  1638,  1651,  1660,  1672,
1256 >    1671,  1675,  1675,  1676,  1680,  1684,  1688,  1692,  1696,  1700,
1257 >    1704,  1708,  1715,  1734,  1744,  1758,  1757,  1773,  1773,  1774,
1258 >    1774,  1774,  1774,  1776,  1785,  1800,  1813,  1815,  1815,  1816,
1259 >    1816,  1818,  1834,  1833,  1849,  1849,  1850,  1850,  1850,  1850,
1260 >    1852,  1861,  1884,  1883,  1889,  1889,  1890,  1894,  1898,  1902,
1261 >    1906,  1910,  1914,  1918,  1922,  1926,  1936,  1935,  1952,  1952,
1262 >    1953,  1953,  1953,  1955,  1962,  1961,  1967,  1967,  1968,  1972,
1263 >    1976,  1980,  1984,  1988,  1992,  1996,  2000,  2004,  2014,  2013,
1264 >    2064,  2064,  2065,  2065,  2065,  2066,  2066,  2067,  2067,  2067,
1265 >    2068,  2068,  2068,  2069,  2069,  2070,  2072,  2081,  2090,  2116,
1266 >    2134,  2152,  2158,  2162,  2171,  2170,  2174,  2174,  2175,  2179,
1267 >    2185,  2196,  2207,  2218,  2227,  2246,  2245,  2311,  2310,  2314,
1268 >    2314,  2315,  2321,  2321,  2322,  2322,  2322,  2322,  2324,  2343,
1269 >    2353,  2352,  2377,  2377,  2378,  2378,  2378,  2380,  2386,  2395,
1270 >    2397,  2397,  2398,  2398,  2400,  2419,  2418,  2466,  2465,  2469,
1271 >    2469,  2470,  2476,  2476,  2477,  2477,  2477,  2477,  2479,  2485,
1272 >    2494,  2497,  2497,  2498,  2498,  2499,  2499,  2500,  2500,  2501,
1273 >    2501,  2502,  2502,  2503,  2503,  2504,  2504,  2505,  2505,  2506,
1274 >    2506,  2507,  2507,  2508,  2508,  2509,  2509,  2510,  2510,  2511,
1275 >    2512,  2512,  2513,  2513,  2514,  2514,  2515,  2515,  2516,  2516,
1276 >    2517,  2518,  2518,  2519,  2520,  2521,  2521,  2522,  2522,  2523,
1277 >    2524,  2524,  2525,  2525,  2526,  2526,  2527,  2530,  2535,  2541,
1278 >    2547,  2553,  2558,  2563,  2568,  2573,  2578,  2583,  2588,  2593,
1279 >    2598,  2603,  2608,  2613,  2618,  2623,  2628,  2633,  2639,  2650,
1280 >    2655,  2664,  2669,  2674,  2679,  2684,  2689,  2692,  2697,  2700,
1281 >    2705,  2710,  2715,  2720,  2725,  2730,  2735,  2740,  2745,  2756,
1282 >    2761,  2766,  2771,  2780,  2789,  2794,  2799,  2805,  2804,  2809,
1283 >    2809,  2810,  2813,  2816,  2819,  2822,  2825,  2828,  2831,  2834,
1284 >    2837,  2840,  2843,  2846,  2849,  2852,  2855,  2858,  2861,  2864,
1285 >    2867,  2873,  2872,  2877,  2877,  2878,  2881,  2884,  2887,  2890,
1286 >    2893,  2896,  2899,  2902,  2905,  2908,  2911,  2914,  2917,  2920,
1287 >    2923,  2926,  2929,  2932,  2935,  2940,  2945,  2950,  2959,  2962,
1288 >    2962,  2963,  2964,  2964,  2965,  2965,  2966,  2966,  2967,  2968,
1289 >    2968,  2969,  2970,  2970,  2971,  2971,  2973,  2978,  2983,  2988,
1290 >    2993,  2998,  3003,  3008,  3013,  3018,  3023,  3028,  3033,  3038,
1291 >    3046,  3049,  3049,  3050,  3050,  3051,  3052,  3052,  3053,  3054,
1292 >    3056,  3062,  3068,  3077,  3091,  3097
1293   };
1294   #endif
1295  
1296 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1296 > #if YYDEBUG || YYERROR_VERBOSE || 0
1297   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1298     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1299   static const char *const yytname[] =
1300   {
1301 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1302 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1303 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1304 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1305 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1306 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1307 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1308 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1309 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1310 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1311 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1436 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1437 <  "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1438 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1439 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1440 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1301 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1302 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1303 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1304 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1305 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1306 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1307 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1308 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1309 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1310 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1311 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1312    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1313 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1314 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1315 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1316 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1317 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1318 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1319 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1320 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1321 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1322 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1323 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1324 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1325 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1326 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1327 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1328 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1329 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1330 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1331 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1332 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1462 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1313 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1314 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1315 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1316 >  "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1317 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1318 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1319 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1320 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1321 >  "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1322 >  "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1323 >  "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1324 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR",
1325 >  "NUMBER_PER_IP", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES",
1326 >  "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT",
1327 >  "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH",
1328 >  "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT", "QSTRING",
1329 >  "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH",
1330 >  "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS",
1331 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1332 >  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1333    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1334    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1335 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1336 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1337 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1338 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1339 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1340 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1341 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1342 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1343 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1344 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1345 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1346 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1347 <  "T_SERVICE", "T_SERVICE_NAME", "THROTTLE_TIME", "TOPICBURST",
1348 <  "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV", "UNKLINE", "USER",
1349 <  "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK", "USE_LOGGING",
1350 <  "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1351 <  "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1352 <  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1353 <  "modules_entry", "modules_items", "modules_item", "modules_module",
1354 <  "modules_path", "serverinfo_entry", "serverinfo_items",
1355 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1356 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1357 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1335 >  "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1336 >  "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1337 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1338 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1339 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1340 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1341 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1342 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1343 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1344 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1345 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1346 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1347 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1348 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE",
1349 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1350 >  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1351 >  "sizespec", "modules_entry", "modules_items", "modules_item",
1352 >  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1353 >  "serverinfo_item", "serverinfo_ssl_client_method",
1354 >  "serverinfo_ssl_server_method", "client_method_types",
1355 >  "client_method_type_item", "server_method_types",
1356 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1357 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1358 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1359    "serverinfo_description", "serverinfo_network_name",
1360    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1361    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1362    "admin_item", "admin_name", "admin_email", "admin_description",
1363 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1364 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1365 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1366 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1367 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1368 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1369 <  "oper_user", "oper_password", "oper_encrypted",
1370 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1371 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@4",
1501 <  "oper_flags_items", "oper_flags_item", "$@5", "$@6",
1502 <  "oper_flags_item_atom", "class_entry", "$@7", "class_name_b",
1503 <  "class_items", "class_item", "class_name", "class_name_t",
1363 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1364 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1365 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1366 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1367 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1368 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1369 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1370 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1371 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1372    "class_ping_time", "class_ping_warning", "class_number_per_ip",
1373    "class_connectfreq", "class_max_number", "class_max_global",
1374 <  "class_max_local", "class_max_ident", "class_sendq",
1374 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1375    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1376 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1376 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1377    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1378 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1379 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1378 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1379 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1380    "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1381 <  "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1382 <  "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1383 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1384 <  "resv_creason", "resv_channel", "resv_nick", "service_entry",
1385 <  "service_items", "service_item", "service_name", "shared_entry", "$@16",
1386 <  "shared_items", "shared_item", "shared_name", "shared_user",
1387 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1388 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1389 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1390 <  "connect_entry", "$@20", "connect_name_b", "connect_items",
1391 <  "connect_item", "connect_name", "connect_name_t", "connect_host",
1392 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1525 <  "connect_port", "connect_aftype", "connect_flags", "$@21",
1526 <  "connect_flags_items", "connect_flags_item", "$@22", "$@23",
1527 <  "connect_flags_item_atom", "connect_rsa_public_key_file",
1381 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1382 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1383 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1384 >  "service_entry", "service_items", "service_item", "service_name",
1385 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1386 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1387 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1388 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1389 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1390 >  "connect_host", "connect_vhost", "connect_send_password",
1391 >  "connect_accept_password", "connect_port", "connect_aftype",
1392 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1393    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1394 <  "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1395 <  "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1396 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
1394 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1395 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1396 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1397    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1398 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@27",
1399 <  "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
1398 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1399 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1400    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1401    "general_entry", "general_items", "general_item", "general_max_watch",
1402 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1403 <  "general_burst_away", "general_use_whois_actually",
1402 >  "general_gline_enable", "general_gline_duration",
1403 >  "general_gline_request_duration", "general_gline_min_cidr",
1404 >  "general_gline_min_cidr6", "general_use_whois_actually",
1405    "general_reject_hold_time", "general_tkline_expire_notices",
1406    "general_kill_chase_time_limit", "general_hide_spoof_ips",
1407    "general_ignore_bogus_ts", "general_disable_remote_commands",
# Line 1552 | Line 1418 | static const char *const yytname[] =
1418    "general_opers_bypass_callerid", "general_pace_wait_simple",
1419    "general_short_motd", "general_no_oper_flood",
1420    "general_true_no_oper_flood", "general_oper_pass_resv",
1421 <  "general_message_locale", "general_idletime", "general_dots_in_ident",
1422 <  "general_max_targets", "general_servlink_path",
1557 <  "general_default_cipher_preference", "general_compression_level",
1558 <  "general_use_egd", "general_egdpool_path", "general_service_name",
1421 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1422 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1423    "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1424 <  "general_oper_umodes", "$@29", "umode_oitems", "umode_oitem",
1425 <  "general_oper_only_umodes", "$@30", "umode_items", "umode_item",
1424 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1425 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1426    "general_min_nonwildcard", "general_min_nonwildcard_simple",
1427 <  "general_default_floodcount", "general_client_flood", "gline_entry",
1428 <  "$@31", "gline_items", "gline_item", "gline_enable", "gline_duration",
1429 <  "gline_logging", "$@32", "gline_logging_types",
1430 <  "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1431 <  "$@33", "gdeny_types", "gdeny_type_item", "channel_entry",
1568 <  "channel_items", "channel_item", "channel_disable_fake_channels",
1569 <  "channel_restrict_channels", "channel_disable_local_channels",
1570 <  "channel_use_except", "channel_use_invex", "channel_use_knock",
1571 <  "channel_knock_delay", "channel_knock_delay_channel",
1572 <  "channel_max_chans_per_user", "channel_quiet_on_ban", "channel_max_bans",
1427 >  "general_default_floodcount", "channel_entry", "channel_items",
1428 >  "channel_item", "channel_disable_fake_channels",
1429 >  "channel_restrict_channels", "channel_knock_delay",
1430 >  "channel_knock_delay_channel", "channel_max_chans_per_user",
1431 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1432    "channel_default_split_user_count", "channel_default_split_server_count",
1433    "channel_no_create_on_split", "channel_no_join_on_split",
1434 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1435 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1436 <  "serverhide_flatten_links", "serverhide_hide_servers",
1437 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1438 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1434 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1435 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1436 >  "serverhide_hide_servers", "serverhide_hidden_name",
1437 >  "serverhide_links_delay", "serverhide_hidden",
1438 >  "serverhide_hide_server_ips", YY_NULL
1439   };
1440   #endif
1441  
# Line 1606 | Line 1465 | static const yytype_uint16 yytoknum[] =
1465       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1466       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1467       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1468 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1469 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1611 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1612 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1613 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1614 <     515,   516,    59,   125,   123,    61,    44
1468 >     465,   466,   467,   468,   469,   470,   471,   472,   473,    59,
1469 >     125,   123,    61,    44
1470   };
1471   # endif
1472  
1473   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1474   static const yytype_uint16 yyr1[] =
1475   {
1476 <       0,   267,   268,   268,   269,   269,   269,   269,   269,   269,
1477 <     269,   269,   269,   269,   269,   269,   269,   269,   269,   269,
1478 <     269,   269,   269,   269,   269,   269,   269,   270,   270,   271,
1479 <     271,   271,   271,   271,   271,   272,   272,   273,   273,   273,
1480 <     273,   274,   275,   275,   276,   276,   276,   277,   278,   279,
1481 <     280,   280,   281,   281,   281,   281,   281,   281,   281,   281,
1482 <     281,   281,   281,   281,   281,   283,   282,   284,   284,   285,
1483 <     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1484 <     295,   296,   297,   298,   298,   299,   299,   299,   299,   300,
1485 <     301,   302,   303,   304,   304,   305,   305,   305,   305,   305,
1486 <     305,   305,   305,   305,   305,   305,   305,   305,   306,   307,
1487 <     308,   309,   310,   311,   312,   313,   314,   315,   316,   316,
1488 <     316,   316,   316,   316,   316,   317,   319,   318,   320,   320,
1489 <     321,   321,   322,   322,   322,   322,   322,   322,   322,   322,
1490 <     322,   323,   324,   325,   326,   327,   328,   329,   331,   330,
1491 <     332,   332,   333,   333,   333,   333,   333,   333,   333,   333,
1492 <     333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1493 <     333,   335,   334,   336,   336,   338,   337,   339,   337,   340,
1494 <     340,   340,   340,   340,   340,   340,   340,   340,   340,   340,
1495 <     340,   340,   340,   340,   340,   342,   341,   343,   343,   344,
1496 <     344,   345,   345,   345,   345,   345,   345,   345,   345,   345,
1497 <     345,   345,   345,   345,   345,   346,   347,   348,   349,   350,
1498 <     351,   352,   353,   354,   355,   356,   357,   358,   359,   361,
1499 <     360,   363,   362,   364,   364,   365,   365,   365,   366,   366,
1500 <     367,   367,   367,   367,   367,   369,   368,   370,   370,   371,
1501 <     371,   372,   373,   375,   374,   376,   376,   377,   377,   377,
1502 <     377,   377,   377,   377,   377,   377,   378,   379,   380,   381,
1503 <     383,   382,   384,   384,   386,   385,   387,   385,   388,   388,
1504 <     388,   388,   388,   388,   388,   388,   388,   388,   389,   390,
1505 <     391,   393,   392,   394,   394,   395,   395,   395,   395,   396,
1506 <     397,   398,   399,   400,   400,   401,   401,   402,   404,   403,
1507 <     405,   405,   406,   406,   406,   406,   407,   408,   410,   409,
1508 <     411,   411,   412,   412,   412,   412,   412,   412,   412,   412,
1509 <     412,   412,   412,   414,   413,   415,   415,   416,   416,   416,
1510 <     417,   419,   418,   420,   420,   421,   421,   421,   421,   421,
1511 <     421,   421,   421,   421,   421,   421,   423,   422,   424,   424,
1512 <     425,   425,   426,   426,   426,   426,   426,   426,   426,   426,
1513 <     426,   426,   426,   426,   426,   426,   426,   427,   428,   429,
1514 <     430,   431,   432,   433,   434,   434,   436,   435,   437,   437,
1515 <     439,   438,   440,   438,   441,   441,   441,   441,   441,   442,
1516 <     443,   444,   445,   446,   447,   449,   448,   451,   450,   452,
1517 <     452,   453,   454,   454,   455,   455,   455,   455,   456,   457,
1518 <     459,   458,   460,   460,   461,   461,   461,   462,   463,   464,
1519 <     465,   465,   466,   466,   467,   469,   468,   471,   470,   472,
1520 <     472,   473,   474,   474,   475,   475,   475,   475,   476,   477,
1521 <     478,   479,   479,   480,   480,   480,   480,   480,   480,   480,
1522 <     480,   480,   480,   480,   480,   480,   480,   480,   480,   480,
1523 <     480,   480,   480,   480,   480,   480,   480,   480,   480,   480,
1524 <     480,   480,   480,   480,   480,   480,   480,   480,   480,   480,
1525 <     480,   480,   480,   480,   480,   480,   480,   480,   480,   480,
1526 <     480,   480,   480,   480,   480,   480,   480,   480,   480,   480,
1527 <     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
1528 <     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
1529 <     501,   502,   503,   504,   505,   506,   507,   508,   508,   509,
1530 <     509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
1531 <     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
1532 <     529,   530,   532,   531,   533,   533,   534,   534,   534,   534,
1533 <     534,   534,   534,   534,   534,   534,   534,   534,   534,   534,
1534 <     534,   534,   534,   534,   534,   536,   535,   537,   537,   538,
1535 <     538,   538,   538,   538,   538,   538,   538,   538,   538,   538,
1536 <     538,   538,   538,   538,   538,   538,   538,   538,   539,   540,
1537 <     541,   542,   544,   543,   545,   545,   546,   546,   546,   546,
1538 <     546,   546,   546,   547,   548,   550,   549,   551,   551,   552,
1539 <     552,   553,   554,   556,   555,   557,   557,   558,   558,   559,
1685 <     560,   560,   561,   561,   561,   561,   561,   561,   561,   561,
1686 <     561,   561,   561,   561,   561,   561,   561,   561,   561,   561,
1687 <     561,   562,   563,   564,   565,   566,   567,   568,   569,   570,
1688 <     571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
1689 <     581,   581,   582,   582,   582,   582,   582,   582,   582,   582,
1690 <     583,   584,   585,   586,   587,   588,   589
1476 >       0,   224,   225,   225,   226,   226,   226,   226,   226,   226,
1477 >     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1478 >     226,   226,   226,   226,   226,   226,   227,   227,   228,   228,
1479 >     228,   228,   228,   228,   229,   229,   230,   230,   230,   230,
1480 >     231,   232,   232,   233,   233,   233,   234,   235,   236,   237,
1481 >     237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1482 >     238,   238,   238,   238,   238,   238,   238,   239,   240,   241,
1483 >     241,   242,   242,   243,   243,   244,   244,   245,   246,   247,
1484 >     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1485 >     258,   259,   259,   260,   260,   260,   260,   261,   262,   263,
1486 >     264,   265,   265,   266,   266,   266,   267,   269,   268,   270,
1487 >     270,   271,   271,   271,   271,   272,   273,   273,   275,   274,
1488 >     276,   276,   277,   277,   277,   277,   277,   277,   277,   279,
1489 >     278,   280,   280,   281,   281,   281,   281,   281,   281,   281,
1490 >     281,   281,   282,   283,   284,   285,   286,   287,   289,   288,
1491 >     290,   290,   291,   291,   291,   291,   291,   291,   291,   291,
1492 >     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1493 >     291,   291,   293,   292,   294,   294,   295,   295,   295,   295,
1494 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1495 >     295,   295,   295,   295,   295,   297,   296,   298,   298,   299,
1496 >     299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
1497 >     299,   299,   299,   299,   300,   301,   302,   303,   304,   305,
1498 >     306,   307,   308,   309,   310,   311,   312,   313,   315,   314,
1499 >     317,   316,   318,   318,   319,   319,   319,   320,   320,   321,
1500 >     321,   321,   321,   321,   323,   322,   324,   324,   325,   325,
1501 >     326,   327,   329,   328,   330,   330,   331,   331,   331,   331,
1502 >     331,   331,   331,   331,   331,   332,   333,   334,   335,   337,
1503 >     336,   338,   338,   339,   339,   339,   339,   339,   339,   339,
1504 >     339,   339,   340,   341,   342,   344,   343,   345,   345,   346,
1505 >     346,   346,   346,   347,   348,   349,   350,   351,   351,   352,
1506 >     352,   353,   355,   354,   356,   356,   357,   357,   357,   357,
1507 >     358,   359,   361,   360,   362,   362,   363,   363,   363,   363,
1508 >     363,   363,   363,   363,   363,   363,   365,   364,   366,   366,
1509 >     367,   367,   367,   368,   370,   369,   371,   371,   372,   372,
1510 >     372,   372,   372,   372,   372,   372,   372,   372,   374,   373,
1511 >     375,   375,   376,   376,   376,   376,   376,   376,   376,   376,
1512 >     376,   376,   376,   376,   376,   376,   377,   378,   379,   380,
1513 >     381,   382,   383,   383,   385,   384,   386,   386,   387,   387,
1514 >     388,   389,   390,   391,   392,   394,   393,   396,   395,   397,
1515 >     397,   398,   399,   399,   400,   400,   400,   400,   401,   402,
1516 >     404,   403,   405,   405,   406,   406,   406,   407,   408,   409,
1517 >     410,   410,   411,   411,   412,   414,   413,   416,   415,   417,
1518 >     417,   418,   419,   419,   420,   420,   420,   420,   421,   422,
1519 >     423,   424,   424,   425,   425,   425,   425,   425,   425,   425,
1520 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1521 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1522 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1523 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1524 >     425,   425,   425,   425,   425,   425,   425,   426,   427,   428,
1525 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1526 >     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1527 >     449,   450,   451,   452,   453,   454,   455,   455,   456,   456,
1528 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1529 >     467,   468,   469,   470,   471,   472,   473,   475,   474,   476,
1530 >     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1531 >     477,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1532 >     477,   479,   478,   480,   480,   481,   481,   481,   481,   481,
1533 >     481,   481,   481,   481,   481,   481,   481,   481,   481,   481,
1534 >     481,   481,   481,   481,   481,   482,   483,   484,   485,   486,
1535 >     486,   487,   487,   487,   487,   487,   487,   487,   487,   487,
1536 >     487,   487,   487,   487,   487,   487,   488,   489,   490,   491,
1537 >     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1538 >     502,   503,   503,   504,   504,   504,   504,   504,   504,   504,
1539 >     505,   506,   507,   508,   509,   510
1540   };
1541  
1542   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1695 | Line 1544 | static const yytype_uint8 yyr2[] =
1544   {
1545         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1546         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1547 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1548 <       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1549 <       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1550 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1551 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1552 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1704 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1705 <       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
1706 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1547 >       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1548 >       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1549 >       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1550 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1551 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1552 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1553         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1554 <       4,     4,     4,     4,     4,     4,     0,     7,     0,     1,
1555 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1556 <       2,     4,     1,     4,     4,     4,     4,     4,     0,     5,
1554 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1555 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1556 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1557 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1558 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1559 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1560         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1561         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1562 <       1,     0,     5,     3,     1,     0,     3,     0,     2,     1,
1562 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1563         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1564 <       1,     1,     1,     1,     1,     0,     7,     0,     1,     2,
1564 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1565         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1566 <       1,     1,     1,     1,     2,     4,     1,     4,     4,     4,
1567 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1568 <       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
1569 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1570 <       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1571 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1572 <       0,     5,     3,     1,     0,     3,     0,     2,     1,     1,
1573 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1574 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1575 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1576 <       2,     1,     1,     1,     1,     2,     4,     4,     0,     5,
1577 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1578 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
1579 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1731 <       1,     1,     1,     1,     1,     1,     0,     7,     0,     1,
1566 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1567 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1568 >       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1569 >       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1570 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1571 >       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1572 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1573 >       1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
1574 >       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1575 >       1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1576 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1577 >       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1578 >       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1579 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1580         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1581 <       1,     1,     1,     1,     1,     1,     2,     4,     1,     4,
1582 <       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1735 <       0,     3,     0,     2,     1,     1,     1,     1,     1,     4,
1581 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1582 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1583         4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1584         1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1585         0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
# Line 1743 | Line 1590 | static const yytype_uint8 yyr2[] =
1590         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1591         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1592         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1593 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1593 >       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1594         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1595         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1596         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1597         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1598 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1752 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1598 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1599         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1754       1,     1,     1,     1,     1,     0,     5,     3,     1,     1,
1600         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1601 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1757 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1758 <       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1759 <       1,     4,     4,     0,     5,     3,     1,     1,     1,     5,
1760 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1601 >       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1602         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1603 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1604 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
1605 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1606 <       4,     4,     4,     4,     4,     4,     4
1603 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1604 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1606 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1607 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1608 >       4,     4,     4,     4,     4,     4
1609   };
1610  
1611   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1770 | Line 1613 | static const yytype_uint8 yyr2[] =
1613     means the default is an error.  */
1614   static const yytype_uint16 yydefact[] =
1615   {
1616 <       2,     0,     1,     0,     0,     0,   195,   356,   420,     0,
1617 <     435,     0,   612,   253,   405,   229,     0,     0,   126,   291,
1618 <       0,     0,   308,   333,     0,     3,    24,    11,     4,     5,
1619 <       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1620 <      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1778 <       0,   197,   358,     0,     0,     0,     0,     0,     0,     0,
1779 <       0,     0,     0,   128,     0,     0,     0,     0,     0,     0,
1780 <       0,     0,     0,     0,     0,    84,    85,    87,    86,   660,
1781 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1782 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   641,
1783 <     659,   654,   642,   643,   644,   645,   647,   648,   649,   650,
1784 <     646,   651,   652,   653,   655,   656,   657,   658,   216,     0,
1785 <     198,   378,     0,   359,     0,   433,     0,     0,   431,   432,
1786 <       0,   509,     0,     0,     0,     0,     0,     0,     0,     0,
1787 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1616 >       2,     0,     1,     0,     0,     0,   195,   348,   400,     0,
1617 >     415,     0,   252,   385,   228,     0,     0,   129,   285,     0,
1618 >       0,   302,   326,     0,     3,    23,    11,     4,     5,     6,
1619 >       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1620 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1621         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1789       0,     0,     0,     0,   585,     0,   562,     0,     0,     0,
1622         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   452,
1792 <     507,   502,   503,   500,   504,   505,   501,   463,   453,   454,
1793 <     492,   455,   456,   457,   458,   459,   460,   461,   462,   497,
1794 <     464,   465,   466,   467,   506,   469,   474,   470,   472,   471,
1795 <     486,   487,   473,   475,   476,   477,   478,   480,   479,   468,
1796 <     482,   491,   493,   494,   483,   484,   508,   498,   499,   496,
1797 <     485,   481,   489,   490,   488,   495,     0,     0,     0,     0,
1623 >       0,     0,    92,    93,    95,    94,   605,     0,     0,     0,
1624         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1625 <       0,     0,     0,     0,    94,    95,    96,    99,   106,   100,
1626 <     104,   101,   102,   105,   103,    97,    98,     0,     0,     0,
1627 <       0,    43,    44,    45,   142,     0,   129,     0,   689,     0,
1802 <       0,     0,     0,     0,     0,     0,     0,   681,   682,   683,
1803 <     687,   684,   686,   685,   688,     0,     0,     0,     0,     0,
1804 <       0,     0,     0,    65,     0,     0,     0,     0,     0,    51,
1805 <      63,    62,    59,    52,    61,    55,    56,    57,    53,    60,
1806 <      58,    54,     0,     0,   306,     0,     0,   304,   305,    88,
1807 <       0,     0,     0,     0,    83,     0,     0,     0,     0,     0,
1625 >       0,     0,   590,   604,   600,   592,   593,   594,   595,   596,
1626 >     591,   597,   598,   599,   601,   602,   603,     0,     0,     0,
1627 >     413,     0,     0,   411,   412,     0,   486,     0,     0,     0,
1628         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1809       0,     0,     0,     0,   640,     0,     0,   426,     0,     0,
1810       0,   423,   424,   425,     0,     0,   430,   447,     0,     0,
1811     437,   446,     0,   443,   444,   445,     0,     0,     0,     0,
1629         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630 +       0,     0,     0,     0,     0,     0,     0,     0,   561,     0,
1631 +     537,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1633 +       0,   432,   484,   476,   477,   478,   479,   480,   481,   482,
1634 +     475,   443,   433,   434,   470,   435,   436,   437,   438,   439,
1635 +     440,   441,   442,   472,   444,   445,   446,   447,   483,   449,
1636 +     454,   450,   452,   451,   465,   466,   453,   455,   456,   457,
1637 +     458,   459,   448,   461,   462,   463,   485,   473,   474,   471,
1638 +     464,   460,   468,   469,   467,     0,     0,     0,     0,     0,
1639 +       0,   102,   103,   104,     0,     0,     0,     0,     0,    42,
1640 +      43,    44,     0,     0,   629,     0,     0,     0,     0,     0,
1641 +       0,     0,   622,   623,   624,   627,   625,   626,   628,     0,
1642         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1643 +       0,     0,     0,     0,     0,     0,    50,    63,    64,    62,
1644 +      59,    58,    65,    51,    61,    54,    55,    56,    52,    60,
1645 +      57,    53,     0,     0,   300,     0,     0,   298,   299,    96,
1646 +       0,     0,     0,     0,    91,     0,     0,     0,     0,     0,
1647         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1648 +     589,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1649 +       0,     0,     0,     0,     0,     0,     0,   198,   199,   202,
1650 +     203,   205,   206,   207,   208,   209,   210,   211,   212,   200,
1651 +     201,   204,     0,     0,     0,     0,     0,   374,     0,     0,
1652 +       0,     0,     0,     0,     0,     0,     0,   351,   352,   353,
1653 +     354,   355,   356,   358,   357,   360,   364,   361,   362,   363,
1654 +     359,   406,     0,     0,     0,   403,   404,   405,     0,     0,
1655 +     410,   427,     0,     0,   417,   426,     0,   423,   424,   425,
1656         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1817       0,     0,     0,   451,   622,   633,     0,     0,   625,     0,
1818       0,     0,   615,   616,   617,   618,   619,   620,   621,     0,
1819       0,     0,   270,     0,     0,     0,     0,     0,     0,   256,
1820     257,   258,   259,   264,   260,   261,   262,   263,   417,     0,
1821     407,     0,   416,     0,   413,   414,   415,     0,   231,     0,
1822       0,     0,   241,     0,   239,   240,   242,   243,   107,     0,
1657         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1824       0,     0,    93,    46,     0,     0,     0,    42,     0,     0,
1825       0,     0,     0,     0,   294,   295,   296,   297,     0,     0,
1826       0,     0,     0,     0,     0,     0,   680,    64,     0,     0,
1658         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1828       0,    50,     0,     0,   318,     0,     0,   311,   312,   313,
1829     314,     0,     0,   341,     0,   336,   337,   338,     0,     0,
1830     303,     0,     0,     0,    82,     0,     0,     0,     0,     0,
1831      27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1832       0,     0,     0,     0,   639,     0,     0,     0,     0,     0,
1659         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834     200,   201,   204,   205,   207,   208,   209,   210,   211,   212,
1835     213,   202,   203,   206,     0,     0,     0,     0,     0,     0,
1836     386,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1837     361,   362,   363,   364,   365,   366,   368,   367,   369,   374,
1838     373,   370,   371,   372,   375,     0,     0,     0,   422,     0,
1839     429,     0,     0,     0,     0,   442,     0,     0,     0,     0,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661 +       0,     0,     0,     0,   431,     0,     0,     0,   269,     0,
1662 +       0,     0,     0,     0,     0,   255,   256,   257,   258,   263,
1663 +     259,   260,   261,   262,   397,     0,   387,     0,   396,     0,
1664 +     393,   394,   395,     0,   230,     0,     0,     0,   240,     0,
1665 +     238,   239,   241,   242,   105,     0,     0,   101,     0,    45,
1666 +       0,     0,     0,    41,     0,     0,     0,   172,     0,     0,
1667 +       0,   148,     0,     0,   132,   133,   134,   135,   138,   139,
1668 +     137,   136,   140,     0,     0,     0,     0,     0,   288,   289,
1669 +     290,   291,     0,     0,     0,     0,     0,     0,     0,   621,
1670 +      66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1671 +       0,     0,     0,     0,     0,     0,     0,    49,     0,     0,
1672 +     312,     0,     0,   305,   306,   307,   308,     0,     0,   334,
1673 +       0,   329,   330,   331,     0,     0,   297,     0,     0,     0,
1674 +      90,     0,     0,     0,    26,     0,     0,     0,     0,     0,
1675 +       0,     0,     0,     0,     0,     0,   588,   213,     0,     0,
1676         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1677 +       0,     0,     0,   197,   365,     0,     0,     0,     0,     0,
1678 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   350,
1679 +       0,     0,     0,   402,     0,   409,     0,     0,     0,     0,
1680 +     422,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1844       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
1845       0,     0,     0,     0,     0,   450,     0,     0,     0,     0,
1846       0,     0,     0,   614,   265,     0,     0,     0,     0,     0,
1847       0,     0,     0,     0,   255,     0,     0,     0,     0,   412,
1848     244,     0,     0,     0,     0,     0,   238,     0,     0,     0,
1683         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1850       0,     0,     0,     0,     0,    92,     0,     0,    41,     0,
1851       0,     0,   171,     0,     0,     0,   148,     0,     0,   131,
1852     132,   133,   134,   137,   138,   136,   135,   139,   298,     0,
1853       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
1854       0,   679,     0,     0,     0,     0,     0,     0,     0,     0,
1855       0,     0,     0,     0,    49,   315,     0,     0,     0,     0,
1856     310,   339,     0,     0,     0,   335,     0,   302,    91,    90,
1857      89,   676,   673,   672,   661,   663,    27,    27,    27,    27,
1858      27,    29,    28,   667,   668,   671,   669,   674,   675,   677,
1859     678,   670,   662,   664,   665,   666,   214,     0,     0,     0,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685 <       0,   199,   376,     0,     0,     0,     0,     0,     0,     0,
1686 <       0,     0,     0,     0,     0,     0,     0,     0,   360,     0,
1687 <       0,   421,   434,     0,     0,     0,   436,   522,   526,   513,
1688 <     542,   555,   554,   610,   560,   520,   551,   557,   521,   511,
1689 <     512,   529,   518,   550,   519,   532,   517,   531,   530,   525,
1690 <     524,   523,   552,   510,   549,   608,   609,   546,   543,   589,
1691 <     605,   606,   590,   591,   592,   593,   600,   594,   603,   607,
1692 <     596,   601,   597,   602,   595,   599,   598,   604,     0,   588,
1693 <     548,   566,   582,   583,   567,   568,   569,   570,   577,   571,
1694 <     580,   584,   573,   578,   574,   579,   572,   576,   575,   581,
1695 <       0,   565,   541,   544,   559,   515,   553,   516,   545,   534,
1696 <     539,   540,   537,   538,   535,   536,   528,   527,    35,    35,
1873 <      35,    37,    36,   611,   558,   561,   547,   556,   514,   533,
1874 <       0,     0,     0,     0,     0,     0,   613,     0,     0,   276,
1875 <       0,     0,     0,     0,     0,   254,     0,     0,     0,   406,
1876 <       0,     0,     0,   249,   245,   248,   230,   111,   117,   115,
1877 <     114,   116,   112,   113,   110,   118,   124,   119,   123,   121,
1878 <     122,   120,   109,   108,   125,    47,    48,   140,     0,     0,
1879 <       0,     0,     0,     0,     0,     0,     0,   130,     0,     0,
1880 <       0,   292,   695,   690,   694,   692,   696,   691,   693,    75,
1881 <      81,    73,    77,    76,    72,    71,    69,    70,     0,    68,
1882 <      74,    80,    78,    79,     0,     0,     0,   309,     0,     0,
1883 <     334,   307,    30,    31,    32,    33,    34,     0,     0,     0,
1685 >       0,     0,     0,     0,     0,     0,   430,   264,     0,     0,
1686 >       0,     0,     0,     0,     0,     0,     0,   254,     0,     0,
1687 >       0,     0,   392,   243,     0,     0,     0,     0,     0,   237,
1688 >       0,   100,     0,     0,     0,    40,   141,     0,     0,     0,
1689 >       0,     0,     0,     0,     0,     0,   131,   292,     0,     0,
1690 >       0,     0,   287,     0,     0,     0,     0,     0,     0,   620,
1691 >       0,     0,     0,     0,     0,     0,     0,     0,    71,    72,
1692 >       0,    70,    75,    76,     0,    74,     0,     0,     0,     0,
1693 >       0,    48,   309,     0,     0,     0,     0,   304,   332,     0,
1694 >       0,     0,   328,     0,   296,    99,    98,    97,   615,   614,
1695 >     606,    26,    26,    26,    26,    26,    28,    27,   608,   609,
1696 >     613,   611,   610,   616,   617,   618,   619,   612,   607,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <     196,     0,     0,     0,     0,     0,     0,   392,     0,     0,
1699 <       0,     0,     0,     0,     0,     0,   357,   427,   428,   448,
1700 <     449,   441,     0,   440,   586,     0,   563,     0,    38,    39,
1701 <      40,   638,   637,     0,   636,   624,   623,   630,   629,     0,
1702 <     628,   632,   631,   268,   269,   274,     0,   273,     0,   267,
1703 <     290,   289,   288,   266,   419,   411,     0,   410,   418,   236,
1704 <     237,   235,     0,   234,   252,   251,     0,     0,     0,     0,
1705 <       0,   177,     0,     0,     0,     0,     0,   127,   300,   301,
1706 <     299,    66,     0,   316,   322,   328,   332,   331,   330,   327,
1707 <     323,   326,   329,   324,   325,     0,   321,   317,   340,   345,
1708 <     351,   355,   354,   353,   350,   346,   349,   352,   347,   348,
1709 <       0,   344,   226,   227,   220,   222,   224,   223,   221,   215,
1710 <     228,   219,   217,   218,   225,   382,   384,   385,   404,   403,
1711 <     400,   390,     0,   389,     0,   379,   401,   402,   377,   383,
1712 <     399,   381,   380,   438,     0,   587,   564,   634,     0,   626,
1713 <       0,     0,   271,   276,   282,   283,   279,   285,   281,   280,
1714 <     287,   284,   286,   278,   277,   408,     0,   232,     0,   250,
1715 <     247,   246,   147,   145,   175,     0,   174,     0,   141,   144,
1716 <     146,   152,   168,   169,   153,   154,   155,   156,   163,   157,
1717 <     166,   170,   159,   164,   160,   165,   158,   162,   161,   167,
1718 <       0,   151,   143,    67,   319,     0,   342,     0,     0,   387,
1719 <     392,   396,   397,   394,   395,   398,   393,   439,   635,   627,
1720 <     275,   272,   409,   233,     0,   172,   177,   187,   185,   194,
1721 <     184,   179,   188,   192,   181,   189,   191,   186,   180,   193,
1722 <     190,   182,   183,   178,   149,     0,   320,   343,   391,   388,
1723 <     176,   173,   150
1698 >       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1699 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1700 >       0,     0,   401,   414,     0,     0,     0,   416,   501,   505,
1701 >     521,   587,   535,   499,   529,   532,   500,   489,   488,   490,
1702 >     491,   492,   508,   497,   498,   511,   496,   510,   509,   504,
1703 >     503,   502,   530,   487,   528,   585,   586,   525,   522,   572,
1704 >     565,   582,   583,   566,   567,   568,   569,   577,   570,   580,
1705 >     584,   573,   578,   574,   579,   571,   576,   575,   581,     0,
1706 >     564,   527,   547,   541,   558,   559,   542,   543,   544,   545,
1707 >     553,   546,   556,   560,   549,   554,   550,   555,   548,   552,
1708 >     551,   557,     0,   540,   520,   523,   534,   494,   495,   524,
1709 >     513,   518,   519,   516,   517,   514,   515,   507,   506,   533,
1710 >     536,   526,   531,   493,   512,     0,     0,     0,     0,     0,
1711 >       0,     0,     0,   253,     0,     0,     0,   386,     0,     0,
1712 >       0,   248,   244,   247,   229,   106,     0,     0,   118,     0,
1713 >       0,   110,   111,   113,   112,    46,    47,     0,     0,     0,
1714 >       0,     0,     0,     0,     0,   130,     0,     0,     0,   286,
1715 >     630,   634,   632,   635,   631,   633,    83,    89,    81,    85,
1716 >      84,    78,    77,    79,    67,     0,    68,     0,    82,    80,
1717 >      88,    86,    87,     0,     0,     0,   303,     0,     0,   327,
1718 >     301,    29,    30,    31,    32,    33,   225,   226,   218,   220,
1719 >     222,   221,   219,   214,   227,   217,   215,   216,    34,    34,
1720 >      34,    36,    35,   223,   224,   370,   372,   373,   383,   380,
1721 >     378,   379,     0,   377,   367,   381,   382,   366,   371,   369,
1722 >     384,   368,   407,   408,   428,   429,   421,     0,   420,   562,
1723 >       0,   538,     0,   267,   268,   277,   274,   279,   276,   275,
1724 >     281,   278,   280,   273,     0,   272,   266,   284,   283,   282,
1725 >     265,   399,   391,     0,   390,   398,   235,   236,   234,     0,
1726 >     233,   251,   250,     0,     0,     0,   114,     0,     0,     0,
1727 >       0,   109,   147,   145,   187,   184,   183,   176,   178,   194,
1728 >     188,   191,   186,   177,   192,   180,   189,   193,   181,   190,
1729 >     185,   179,   182,     0,   175,   142,   144,   146,   158,   152,
1730 >     169,   170,   153,   154,   155,   156,   164,   157,   167,   171,
1731 >     160,   165,   161,   166,   159,   163,   162,   168,     0,   151,
1732 >     143,   294,   295,   293,    69,    73,   310,   316,   322,   325,
1733 >     318,   324,   319,   323,   321,   317,   320,     0,   315,   311,
1734 >     333,   338,   344,   347,   340,   346,   341,   345,   343,   339,
1735 >     342,     0,   337,    37,    38,    39,   375,     0,   418,     0,
1736 >     563,   539,   270,     0,   388,     0,   231,     0,   249,   246,
1737 >     245,     0,     0,     0,     0,   108,   173,     0,   149,     0,
1738 >     313,     0,   335,     0,   376,   419,   271,   389,   232,   115,
1739 >     124,   127,   126,   123,   128,   125,   122,     0,   121,   117,
1740 >     116,   174,   150,   314,   336,   119,     0,   120
1741   };
1742  
1743   /* YYDEFGOTO[NTERM-NUM].  */
1744   static const yytype_int16 yydefgoto[] =
1745   {
1746 <      -1,     1,    25,   851,   852,  1001,  1002,    26,   280,   281,
1747 <     282,   283,    27,   318,   319,   320,   545,  1088,  1089,   321,
1748 <     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
1749 <      28,    74,    75,    76,    77,    78,    29,   263,   264,   265,
1750 <     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
1751 <     276,    30,    63,   285,   788,   789,   790,   286,   791,   792,
1752 <     793,   794,   795,   796,  1064,  1320,  1321,   797,  1060,  1295,
1753 <    1296,  1344,  1297,  1363,    31,    51,   119,   609,   610,   611,
1754 <     120,   612,   613,   614,   615,   616,   617,   618,   619,   620,
1755 <     621,   622,   623,    32,    60,   492,   751,  1182,  1183,   493,
1756 <     494,   495,  1188,  1034,  1035,   496,   497,    33,    58,   468,
1757 <     469,   470,   471,   472,   473,   474,   737,  1166,  1167,  1271,
1758 <    1168,  1284,   475,   476,   477,    34,    64,   523,   524,   525,
1759 <     526,   527,    35,   336,   337,   338,    36,    67,   556,   557,
1760 <     558,   559,   560,   827,  1215,  1216,    37,    68,   564,   565,
1761 <     566,   567,   833,  1230,  1231,    38,    52,   122,   639,   640,
1762 <     641,   123,   642,   643,   644,   645,   646,   647,   648,   888,
1763 <    1252,  1253,  1328,  1254,  1336,   649,   650,   651,   652,   653,
1764 <     654,    39,    59,   482,   746,  1176,  1177,   483,   484,   485,
1765 <     486,    40,    53,   370,   371,   372,   373,    41,   127,   128,
1766 <     129,    42,    55,   381,   663,  1142,  1143,   382,   383,   384,
1767 <     385,    43,   188,   189,   190,   191,   192,   193,   194,   195,
1768 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1769 <     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1770 <     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1771 <     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1772 <     236,   237,   238,   239,   240,   420,   980,   981,   241,   418,
1773 <     958,   959,   242,   243,   244,   245,    44,    57,   451,   452,
1774 <     453,   454,   455,   729,  1159,  1160,   456,   457,   458,   726,
1945 <    1153,  1154,    45,    98,    99,   100,   101,   102,   103,   104,
1946 <     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1947 <     115,   116,   117,    46,   296,   297,   298,   299,   300,   301,
1948 <     302,   303,   304
1746 >      -1,     1,    24,   796,   797,  1041,  1042,    25,   238,   239,
1747 >     240,   241,    26,   275,   276,   277,   278,   760,   761,   764,
1748 >     765,   279,   280,   281,   282,   283,   284,   285,   286,   287,
1749 >     288,   289,   290,   291,    27,    71,    72,    73,    74,    75,
1750 >      28,   230,   231,   232,   233,   234,   970,   971,   972,   973,
1751 >     974,  1108,  1237,  1238,    29,    60,   513,   514,   515,   516,
1752 >     517,   518,   519,   520,   521,   733,  1158,  1159,   522,   729,
1753 >    1133,  1134,    30,    49,   336,   337,   338,   339,   340,   341,
1754 >     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1755 >      31,    57,   488,   714,  1099,  1100,   489,   490,   491,  1105,
1756 >     962,   963,   492,   493,    32,    55,   464,   465,   466,   467,
1757 >     468,   469,   470,   700,  1084,  1085,   471,   472,   473,    33,
1758 >      61,   527,   528,   529,   530,   531,    34,   296,   297,   298,
1759 >      35,    64,   562,   563,   564,   565,   566,   774,  1177,  1178,
1760 >      36,    65,   570,   571,   572,   573,   780,  1191,  1192,    37,
1761 >      50,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1762 >     375,   619,  1052,  1053,   376,   377,   378,   379,   380,    38,
1763 >      56,   478,   709,  1093,  1094,   479,   480,   481,   482,    39,
1764 >      51,   384,   385,   386,   387,    40,   112,   113,   114,    41,
1765 >      53,   395,   638,  1067,  1068,   396,   397,   398,   399,    42,
1766 >     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1767 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1768 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1769 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1770 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1771 >     220,   433,   922,   923,   221,   431,   899,   900,   222,   223,
1772 >     224,    43,    91,    92,    93,    94,    95,    96,    97,    98,
1773 >      99,   100,   101,   102,   103,   104,   105,   106,    44,   251,
1774 >     252,   253,   254,   255,   256,   257,   258
1775   };
1776  
1777   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1778     STATE-NUM.  */
1779 < #define YYPACT_NINF -772
1779 > #define YYPACT_NINF -861
1780   static const yytype_int16 yypact[] =
1781   {
1782 <    -772,   705,  -772,  -235,  -259,  -243,  -772,  -772,  -772,  -229,
1783 <    -772,  -214,  -772,  -772,  -772,  -772,  -206,  -199,  -772,  -772,
1784 <    -191,  -182,  -772,  -772,  -133,  -772,  -772,  -772,  -772,  -772,
1785 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1786 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   116,
1787 <     603,   -45,   -16,  -124,     5,  -121,   435,  -110,   -95,   -89,
1788 <     -77,   595,   187,    36,   -56,   315,   328,   -51,   -50,    19,
1789 <     -37,   -32,   -20,   -19,    56,  -772,  -772,  -772,  -772,  -772,
1790 <     -14,    -5,    -3,    26,    34,    39,    44,    49,    57,    68,
1791 <      78,    79,    80,    86,    88,    96,    98,   101,    94,  -772,
1792 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1793 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,     3,
1794 <    -772,  -772,    66,  -772,    13,  -772,   102,    22,  -772,  -772,
1795 <     234,  -772,   105,   109,   113,   117,   118,   119,   120,   123,
1796 <     125,   133,   150,   152,   153,   157,   158,   160,   161,   162,
1797 <     163,   166,   167,   168,   174,   175,   177,   180,   188,   190,
1798 <     191,   193,   194,   195,  -772,   197,  -772,   199,   201,   204,
1799 <     205,   207,   208,   210,   211,   215,   217,   218,   223,   224,
1800 <     225,   229,   232,   233,   235,   236,   237,   238,    10,  -772,
1801 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1802 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1803 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1804 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1805 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1806 <    -772,  -772,  -772,  -772,  -772,  -772,   314,   412,   114,   297,
1807 <     -34,   239,   242,   243,   244,   247,   248,   249,   250,   251,
1808 <     255,   259,   260,   222,  -772,  -772,  -772,  -772,  -772,  -772,
1809 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,   230,   266,   267,
1810 <      23,  -772,  -772,  -772,  -772,   173,  -772,    11,  -772,   268,
1811 <     270,   271,   275,   276,   278,   288,   295,  -772,  -772,  -772,
1812 <    -772,  -772,  -772,  -772,  -772,   292,   291,   296,   300,   305,
1813 <     308,   311,   313,  -772,   318,   322,   323,   324,   172,  -772,
1814 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1815 <    -772,  -772,    47,    31,  -772,   326,    24,  -772,  -772,  -772,
1816 <     228,   299,   333,   298,  -772,   302,   426,   431,   382,   395,
1817 <     462,   462,   466,   468,   403,   404,   472,   462,   409,   411,
1818 <     414,   416,   417,   347,  -772,   714,   541,  -772,   350,   353,
1819 <      30,  -772,  -772,  -772,   467,   360,  -772,  -772,   367,   368,
1820 <    -772,  -772,    40,  -772,  -772,  -772,   437,   462,   443,   462,
1821 <     510,   489,   515,   450,   451,   518,   506,   463,   532,   534,
1822 <     535,   470,   462,   471,   473,   462,   511,   474,   538,   542,
1823 <     462,   544,   545,   519,   548,   550,   485,   486,   419,   488,
1824 <     422,   462,   462,   493,   462,   549,   500,   504,   507,  -153,
1825 <    -130,   514,   516,   462,   462,   572,   559,   462,   517,   520,
1826 <     522,   524,   454,  -772,  -772,  -772,   457,   458,  -772,   459,
1827 <     460,   129,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   464,
1828 <     475,   478,  -772,   480,   483,   487,   490,   494,    60,  -772,
1829 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   495,
1830 <    -772,   499,  -772,     9,  -772,  -772,  -772,   477,  -772,   502,
1831 <     505,   508,  -772,    89,  -772,  -772,  -772,  -772,  -772,   575,
1832 <     579,   583,   597,   598,   600,   601,   605,   185,   612,   619,
1833 <     577,   513,  -772,  -772,   623,   624,   521,  -772,   371,   523,
1834 <     525,   526,   528,    69,  -772,  -772,  -772,  -772,   582,   584,
1835 <     587,   627,   589,   590,   462,   537,  -772,  -772,   635,   599,
1836 <     641,   647,   648,   649,   650,   539,   653,   677,   656,   658,
1837 <     551,  -772,   553,   547,  -772,   552,    25,  -772,  -772,  -772,
1838 <    -772,   554,   555,  -772,    45,  -772,  -772,  -772,   665,   557,
1839 <    -772,   563,   565,   567,  -772,   568,   569,   570,   571,   573,
1840 <     227,   574,   576,   581,   591,   592,   596,   604,   606,   607,
1841 <     608,   609,   610,   611,  -772,   615,   580,   586,   602,   613,
1842 <     614,   616,   617,   618,   622,   628,   629,   632,   633,   156,
1843 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1844 <    -772,  -772,  -772,  -772,   626,   634,   636,   637,   642,   643,
1845 <    -772,   646,   659,   672,   673,   675,   676,   678,   679,    63,
1846 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1847 <    -772,  -772,  -772,  -772,  -772,   684,   686,   638,  -772,   651,
1848 <    -772,   691,   693,   680,   652,  -772,   660,   661,   685,   690,
1849 <     694,   695,   697,   698,   708,   712,   713,   715,   716,   717,
1850 <     718,   719,   720,   722,   723,   727,   731,   732,   734,   735,
1851 <     742,   745,   749,   750,   752,   753,   754,   755,   721,   756,
1852 <     758,   757,   759,   760,   764,   768,   769,   771,   772,   774,
1853 <     775,   776,   777,   778,   779,   780,   781,     1,   782,   783,
1854 <     784,   785,   786,   787,   788,  -772,   683,   462,   655,   702,
1855 <     696,   709,   789,  -772,  -772,   710,   664,   790,   762,   802,
1856 <     830,   867,   899,   791,  -772,   901,   792,   903,   796,  -772,
1857 <    -772,   794,   907,   908,   811,   800,  -772,   801,   803,   804,
1858 <     805,   806,   807,   808,   809,   810,   812,   813,   814,   815,
1859 <     816,   817,   818,   819,   820,  -772,   821,   822,  -772,   823,
1860 <     799,   824,  -772,   825,   826,   827,  -772,   828,   221,  -772,
1861 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   920,
1862 <     933,   934,   832,  -772,   833,   834,   835,   836,   837,   838,
1863 <     839,  -772,   840,   841,   842,   843,   844,   845,   846,   -70,
1864 <     847,   848,   849,   850,  -772,  -772,   935,   851,   960,   852,
1865 <    -772,  -772,   962,   853,   855,  -772,   857,  -772,  -772,  -772,
1866 <    -772,  -772,  -772,  -772,  -772,  -772,   462,   462,   462,   462,
1867 <     462,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1868 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,   989,   990,   462,
1869 <     991,   992,   993,   994,   973,   996,   997,   462,   462,   572,
1870 <     868,  -772,  -772,   976,   -35,   978,   979,   687,   869,   980,
1871 <     982,   983,   984,  1007,   986,   987,   988,   880,  -772,   881,
1872 <     882,  -772,  -772,   883,   884,   763,  -772,  -772,  -772,  -772,
1873 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1874 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1875 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1876 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1877 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -258,  -772,
1878 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1879 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1880 <    -232,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1881 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   572,   572,
1882 <     572,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1883 <      -2,   885,   886,     2,   887,   888,  -772,   889,   890,  1023,
1884 <     892,   893,   894,   895,   896,  -772,   897,  1002,   900,  -772,
1885 <     -73,   902,   904,   959,   905,  -772,  -772,  -772,  -772,  -772,
1886 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1887 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  1010,   968,
1888 <     909,  1014,  1015,  1016,   910,  1017,   911,  -772,   914,   915,
1889 <     916,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1890 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -226,  -772,
1891 <    -772,  -772,  -772,  -772,   917,   657,   918,  -772,   919,   671,
1892 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,   921,   922,   923,
1893 <     924,   925,   926,   927,   928,   929,   930,   931,   932,   936,
1894 <    -772,   937,   938,   939,   940,   941,   942,  1042,   943,   944,
1895 <     945,   946,   947,   948,   949,   950,  -772,  -772,  -772,  -772,
1896 <    -772,  -772,  -215,  -772,  -772,   721,  -772,   758,  -772,  -772,
1897 <    -772,  -772,  -772,  -203,  -772,  -772,  -772,  -772,  -772,  -156,
1898 <    -772,  -772,  -772,  -772,  -772,  -772,  -144,  -772,   668,  -772,
1899 <    -772,  -772,  -772,  -772,  -772,  -772,   -36,  -772,  -772,  -772,
1900 <    -772,  -772,   -23,  -772,  -772,  -772,  1051,   811,   951,   952,
1901 <     953,  1065,   954,   955,   956,   795,   957,  -772,  -772,  -772,
1902 <    -772,  -772,   -70,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1903 <    -772,  -772,  -772,  -772,  -772,   -22,  -772,  -772,  -772,  -772,
1904 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1905 <      -8,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1906 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2081 <    -772,  -772,    62,  -772,   290,  -772,  -772,  -772,  -772,  -772,
2082 <    -772,  -772,  -772,  -772,   763,  -772,  -772,  -772,    -2,  -772,
2083 <       2,   668,  -772,  1023,  -772,  -772,  -772,  -772,  -772,  -772,
2084 <    -772,  -772,  -772,  -772,  -772,  -772,  1002,  -772,   -73,  -772,
2085 <    -772,  -772,  -772,  -772,  -772,    65,  -772,   533,  -772,  -772,
2086 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2087 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2088 <      76,  -772,  -772,  -772,  -772,   657,  -772,   671,   290,  -772,
2089 <    1042,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2090 <    -772,  -772,  -772,  -772,   533,  -772,  1065,  -772,  -772,  -772,
2091 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2092 <    -772,  -772,  -772,  -772,  -772,   795,  -772,  -772,  -772,  -772,
2093 <    -772,  -772,  -772
1782 >    -861,   613,  -861,  -173,  -209,  -198,  -861,  -861,  -861,  -193,
1783 >    -861,  -188,  -861,  -861,  -861,  -185,  -183,  -861,  -861,  -180,
1784 >    -169,  -861,  -861,  -138,  -861,  -861,  -861,  -861,  -861,  -861,
1785 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1786 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    18,   823,  -124,
1787 >    -100,   -98,    21,   -80,   438,   -74,   -71,   -58,    44,     4,
1788 >     -20,   -15,   378,   326,   -10,    -7,     7,   -66,    41,    51,
1789 >      57,     8,  -861,  -861,  -861,  -861,  -861,    59,    62,    65,
1790 >      84,    92,    96,   100,   102,   103,   104,   106,   110,   117,
1791 >     122,     3,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1792 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   555,   356,    49,
1793 >    -861,   123,    26,  -861,  -861,   166,  -861,   133,   134,   136,
1794 >     138,   141,   144,   145,   148,   149,   153,   154,   155,   156,
1795 >     158,   160,   162,   163,   165,   167,   168,   169,   172,   173,
1796 >     177,   179,   186,   189,   191,   194,   196,   201,  -861,   203,
1797 >    -861,   211,   212,   214,   215,   218,   220,   221,   224,   226,
1798 >     229,   231,   234,   243,   247,   248,   250,   252,   255,   259,
1799 >     131,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1800 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1801 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1802 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1803 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1804 >    -861,  -861,  -861,  -861,  -861,   392,    42,   279,     1,   263,
1805 >      58,  -861,  -861,  -861,    80,    94,   264,   265,    19,  -861,
1806 >    -861,  -861,   364,   188,  -861,   267,   269,   270,   272,   273,
1807 >     280,    14,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   288,
1808 >     286,   287,   289,   291,   292,   296,   299,   305,   306,   309,
1809 >     311,   312,   313,   319,   320,    91,  -861,  -861,  -861,  -861,
1810 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1811 >    -861,  -861,    20,    16,  -861,   324,    36,  -861,  -861,  -861,
1812 >     157,   290,   429,   336,  -861,   456,   457,   398,   462,   462,
1813 >     463,   465,   466,   409,   412,   475,   462,   420,   422,   367,
1814 >    -861,   368,   366,   369,   370,   372,   373,   383,   384,   385,
1815 >     386,   388,   393,   394,   396,   400,   251,  -861,  -861,  -861,
1816 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1817 >    -861,  -861,   371,   401,   402,   403,   404,  -861,   406,   407,
1818 >     410,   415,   418,   431,   433,   434,   316,  -861,  -861,  -861,
1819 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1820 >    -861,  -861,   440,   441,    30,  -861,  -861,  -861,   500,   445,
1821 >    -861,  -861,   443,   444,  -861,  -861,    34,  -861,  -861,  -861,
1822 >     497,   462,   462,   566,   505,   506,   569,   551,   511,   462,
1823 >     515,   462,   578,   579,   580,   520,   521,   524,   462,   562,
1824 >     525,   588,   590,   462,   591,   592,   574,   594,   595,   534,
1825 >     535,   478,   539,   483,   462,   462,   543,   462,   544,   545,
1826 >     546,   -87,    97,   548,   549,   462,   462,   593,   462,   552,
1827 >     556,   557,   559,   499,  -861,   504,   502,   503,  -861,   507,
1828 >     516,   526,   528,   533,    12,  -861,  -861,  -861,  -861,  -861,
1829 >    -861,  -861,  -861,  -861,  -861,   536,  -861,   537,  -861,    33,
1830 >    -861,  -861,  -861,   508,  -861,   538,   542,   550,  -861,    25,
1831 >    -861,  -861,  -861,  -861,  -861,   563,   560,  -861,   522,  -861,
1832 >     636,   655,   568,  -861,   570,   558,   571,  -861,   581,   585,
1833 >     586,  -861,   599,   232,  -861,  -861,  -861,  -861,  -861,  -861,
1834 >    -861,  -861,  -861,   573,   601,   603,   604,    88,  -861,  -861,
1835 >    -861,  -861,   619,   622,   693,   652,   664,   462,   610,  -861,
1836 >    -861,   710,   668,   712,   713,   714,   715,   716,   717,   -75,
1837 >     -68,   718,   720,   740,   722,   723,   627,  -861,   628,   629,
1838 >    -861,   630,    39,  -861,  -861,  -861,  -861,   634,   633,  -861,
1839 >      15,  -861,  -861,  -861,   736,   638,  -861,   640,   641,   642,
1840 >    -861,   643,   644,   646,   261,   647,   648,   650,   653,   654,
1841 >     656,   657,   658,   663,   665,   666,  -861,  -861,   773,   782,
1842 >     462,   786,   787,   789,   792,   774,   794,   796,   462,   462,
1843 >     800,   800,   683,  -861,  -861,   783,   119,   784,   742,   684,
1844 >     788,   790,   791,   793,   806,   795,   797,   798,   690,  -861,
1845 >     799,   802,   695,  -861,   697,  -861,   803,   804,   703,   707,
1846 >    -861,   708,   709,   711,   719,   721,   724,   726,   727,   728,
1847 >     729,   730,   731,   732,   733,   735,   737,   738,   739,   741,
1848 >     743,   744,   745,   746,   747,   748,   749,   750,   751,   752,
1849 >     753,   754,   561,   755,   598,   756,   757,   758,   759,   760,
1850 >     761,   762,   763,   764,   765,   766,   767,   768,   769,   770,
1851 >     771,   772,   775,   776,   777,   778,  -861,  -861,   809,   779,
1852 >     780,   811,   831,   815,   816,   817,   781,  -861,   819,   785,
1853 >     821,   801,  -861,  -861,   805,   835,   839,   860,   807,  -861,
1854 >     810,  -861,    55,   812,   813,  -861,  -861,   872,   830,   808,
1855 >     878,   879,   881,   814,   883,   818,  -861,  -861,   884,   885,
1856 >     886,   820,  -861,   822,   824,   825,   826,   827,   828,  -861,
1857 >     829,   832,   833,   834,   836,   837,   838,   840,  -861,  -861,
1858 >    -205,  -861,  -861,  -861,  -166,  -861,   841,   842,   843,   844,
1859 >     845,  -861,  -861,   888,   846,   889,   847,  -861,  -861,   890,
1860 >     848,   850,  -861,   852,  -861,  -861,  -861,  -861,  -861,  -861,
1861 >    -861,   462,   462,   462,   462,   462,  -861,  -861,  -861,  -861,
1862 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   853,
1863 >     854,   855,   856,   857,   858,   859,   861,   862,   863,   864,
1864 >     865,    64,   866,   867,  -861,   868,   869,   870,   871,   873,
1865 >      -2,   874,   875,   876,   877,   880,   882,   887,   891,  -861,
1866 >     892,   893,  -861,  -861,   894,   895,   896,  -861,  -861,  -861,
1867 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1868 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1869 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1870 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1871 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -165,
1872 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1873 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1874 >    -861,  -861,  -159,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1875 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1876 >    -861,  -861,  -861,  -861,  -861,   897,   898,   519,   899,   900,
1877 >     901,   902,   903,  -861,   904,   908,   905,  -861,   -40,   906,
1878 >     907,   849,   689,  -861,  -861,  -861,   909,   910,  -861,   911,
1879 >      54,  -861,  -861,  -861,  -861,  -861,  -861,   912,   915,   513,
1880 >     916,   917,   918,   626,   919,  -861,   920,   921,   922,  -861,
1881 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1882 >    -861,  -861,  -861,  -861,  -861,   -75,  -861,   -68,  -861,  -861,
1883 >    -861,  -861,  -861,   923,   671,   924,  -861,   925,   681,  -861,
1884 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1885 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   800,   800,
1886 >     800,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1887 >    -861,  -861,  -135,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1888 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -129,  -861,  -861,
1889 >     561,  -861,   598,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1890 >    -861,  -861,  -861,  -861,  -103,  -861,  -861,  -861,  -861,  -861,
1891 >    -861,  -861,  -861,  -101,  -861,  -861,  -861,  -861,  -861,   -61,
1892 >    -861,  -861,  -861,   913,   860,   926,  -861,   914,   927,   -94,
1893 >     928,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1894 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1895 >    -861,  -861,  -861,   -24,  -861,  -861,  -861,  -861,  -861,  -861,
1896 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1897 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   -19,  -861,
1898 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1899 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   -16,  -861,  -861,
1900 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1901 >    -861,    76,  -861,  -861,  -861,  -861,  -861,    -2,  -861,   896,
1902 >    -861,  -861,  -861,   519,  -861,   908,  -861,   -40,  -861,  -861,
1903 >    -861,   929,   245,   931,   932,  -861,  -861,   513,  -861,   626,
1904 >    -861,   671,  -861,   681,  -861,  -861,  -861,  -861,  -861,  -861,
1905 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    93,  -861,  -861,
1906 >    -861,  -861,  -861,  -861,  -861,  -861,   245,  -861
1907   };
1908  
1909   /* YYPGOTO[NTERM-NUM].  */
1910   static const yytype_int16 yypgoto[] =
1911   {
1912 <    -772,  -772,  -772,  -771,  -350,  -687,  -433,  -772,  -772,   530,
1913 <    -772,  -772,  -772,  -772,   562,  -772,  -772,  -772,  -290,  -772,
1914 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1915 <    -772,  -772,  1122,  -772,  -772,  -772,  -772,  -772,   958,  -772,
1916 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1917 <    -772,  -772,  -772,  -772,  -772,   432,  -772,  -772,  -772,  -772,
1918 <    -772,  -772,  -772,  -772,  -772,  -772,  -168,  -772,  -772,  -772,
1919 <    -123,  -772,  -772,  -122,  -772,  -772,  -772,  -772,   620,  -772,
1920 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1921 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   -64,  -772,
1922 <     733,  -772,  -772,  -772,    38,  -772,  -772,  -772,  -772,  -772,
1923 <     765,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   -46,  -772,
1924 <    -772,   -43,  -772,  -772,  -772,  -772,  -772,  -772,   707,  -772,
1925 <    -772,  -772,  -772,  -772,   898,  -772,  -772,  -772,  -772,   681,
1926 <    -772,  -772,  -772,  -772,  -772,   -94,  -772,  -772,  -772,   674,
1927 <    -772,  -772,  -772,  -772,   -92,  -772,  -772,  -772,  -772,   593,
1928 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1929 <    -772,   -91,  -772,  -772,   -88,  -772,  -772,  -772,  -772,  -772,
1930 <    -772,  -772,  -772,  -772,  -772,  -772,   -44,  -772,   761,  -772,
1931 <    -772,  -772,  -772,  -772,   866,  -772,  -772,  -772,  -772,  1114,
1932 <    -772,  -772,  -772,  -772,  -772,  -772,   -21,  -772,   863,  -772,
1933 <    -772,  -772,  -772,  1058,  -772,  -772,  -772,  -772,  -772,  -772,
1934 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1935 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1936 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1937 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
1938 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,   100,  -772,  -772,
1939 <    -772,   103,  -772,  -772,  -772,  -772,  -772,  -772,  -772,   798,
1940 <    -772,  -772,  -772,  -772,  -772,   -18,  -772,  -772,  -772,  -772,
2128 <    -772,   -17,  -772,  -772,  1152,  -772,  -772,  -772,  -772,  -772,
2129 <    -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,  -772,
2130 <    -772,  -772,  -772,  -772,  -772,   961,  -772,  -772,  -772,  -772,
2131 <    -772,  -772,  -772
1912 >    -861,  -861,  -861,  -213,  -306,  -860,  -610,  -861,  -861,   930,
1913 >    -861,  -861,  -861,  -861,   933,  -861,  -861,  -861,     6,  -861,
1914 >       5,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1915 >    -861,  -861,  -861,  -861,  -861,  -861,   942,  -861,  -861,  -861,
1916 >    -861,  -861,   934,  -861,  -861,  -861,  -861,    45,  -861,  -861,
1917 >    -861,  -861,  -861,  -229,  -861,  -861,  -861,   509,  -861,  -861,
1918 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -201,  -861,  -861,
1919 >    -861,  -194,  -861,  -861,  -861,   688,  -861,  -861,  -861,  -861,
1920 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1921 >    -861,  -861,  -861,  -861,  -861,  -182,  -861,   530,  -861,  -861,
1922 >    -861,   -76,  -861,  -861,  -861,  -861,  -861,   576,  -861,  -861,
1923 >    -861,  -861,  -861,  -861,  -861,  -168,  -861,  -861,  -861,  -861,
1924 >    -861,  -861,   523,  -861,  -861,  -861,  -861,  -861,   935,  -861,
1925 >    -861,  -861,  -861,   476,  -861,  -861,  -861,  -861,  -861,  -179,
1926 >    -861,  -861,  -861,   479,  -861,  -861,  -861,  -861,  -158,  -861,
1927 >    -861,  -861,   692,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1928 >    -861,  -861,  -861,  -143,  -861,  -861,  -861,  -861,  -861,  -861,
1929 >    -861,  -861,  -861,  -861,  -126,  -861,   612,  -861,  -861,  -861,
1930 >    -861,  -861,   725,  -861,  -861,  -861,  -861,   955,  -861,  -861,
1931 >    -861,  -861,  -861,  -861,  -102,  -861,   702,  -861,  -861,  -861,
1932 >    -861,   937,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1933 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1934 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1935 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1936 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1937 >    -861,  -861,  -861,    28,  -861,  -861,  -861,    32,  -861,  -861,
1938 >    -861,  -861,  -861,  1012,  -861,  -861,  -861,  -861,  -861,  -861,
1939 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1940 >     936,  -861,  -861,  -861,  -861,  -861,  -861
1941   };
1942  
1943   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1944     positive, shift that token.  If negative, reduce the rule which
1945     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1946 < #define YYTABLE_NINF -1
1947 < static const yytype_uint16 yytable[] =
1946 > #define YYTABLE_NINF -108
1947 > static const yytype_int16 yytable[] =
1948   {
1949 <     581,   582,   718,  1179,  1144,    49,   125,   588,  1145,  1151,
1950 <     478,   131,   519,  1157,   367,   998,   999,  1000,   132,   133,
1951 <     334,    50,   134,   125,   277,   334,   552,    47,    48,   135,
1952 <    1146,   367,   561,   520,  1147,    54,  1201,   667,   136,   669,
1953 <    1202,   377,   137,   138,   709,   710,   561,  1263,   552,   139,
1954 <      56,  1264,   682,   140,   141,   685,   142,    70,    61,  1267,
1955 <     690,   459,   143,  1268,   624,    62,   625,   711,   712,   626,
1956 <     519,   701,   702,    65,   704,  1102,  1103,  1104,  1105,  1106,
1957 <     144,   145,    66,   715,   716,   146,   460,   720,   627,   628,
1958 <     487,   520,   147,    71,   126,    79,   148,   149,   150,  1086,
1959 <    1087,   151,   368,    72,   152,   153,  1269,    80,   118,   461,
1960 <    1270,   126,   629,   462,   154,   478,   630,    70,  1272,   368,
1961 <     155,   156,  1273,   157,   158,   159,   160,   161,    81,    82,
1962 <     444,    69,   717,   445,    83,   521,    84,   121,   162,   335,
1963 <     124,   278,   488,   130,   335,   553,   631,   163,   632,   164,
1964 <     165,   562,   166,    71,   246,   167,   168,   595,  1180,   169,
1965 <     378,   633,  1181,    72,   479,   562,   522,   553,   369,   247,
1966 <     170,   279,   489,   305,   446,   248,    73,   447,   490,   596,
1967 <     597,  1122,  1123,   634,   810,   369,   598,   249,   277,   284,
1968 <      85,    86,   171,   521,   172,   379,   480,  1152,   173,    87,
1969 <      88,  1158,   174,   175,   176,   177,   178,   463,   287,   306,
1970 <     179,   180,   554,   332,   333,   635,   464,   465,   563,   181,
1971 <      89,    90,   779,   250,   522,   339,  1285,   380,   498,   636,
1972 <    1286,   448,   563,   340,   554,   377,    73,    91,    92,  1287,
1973 <    1324,   491,   637,  1288,  1325,   341,   342,   780,    93,   449,
1974 <     466,   345,   182,   183,  1326,   184,   307,    94,  1327,   481,
1975 <     346,   185,   347,   599,   600,   601,   186,   365,   602,   479,
1976 <     781,   187,   748,   442,   782,   555,   603,   251,   252,   253,
1977 <     254,   255,   256,   257,   258,   375,   516,   569,   829,   604,
1978 <     605,   348,   308,   657,   309,   310,   288,   555,   487,   349,
1979 <    1331,   480,  1332,   664,   350,   278,   606,   607,   834,   351,
1980 <     467,  1148,  1149,  1150,   352,   444,   288,  1333,   445,   343,
1981 <     638,  1334,   353,   743,  1329,   259,   897,  1345,  1330,   305,
1982 <     366,  1346,   802,   354,   608,   279,   289,   311,  1364,   312,
1983 <     313,   783,  1365,   355,   356,   357,    95,    96,    97,   290,
1984 <     488,   358,   755,   359,   378,   314,   289,   363,   580,   446,
1985 <     260,   360,   447,   361,   481,   306,   362,   374,   784,   290,
1986 <     386,   291,   779,   292,   387,   293,   294,  1011,   388,   450,
1987 <     489,   571,   389,   390,   391,   392,   490,   785,   393,   379,
1988 <     394,   291,   732,   292,   295,   293,   294,   780,   395,   315,
1989 <     846,   847,   848,   849,   850,   765,   766,   767,   768,   769,
1990 <     770,   771,   307,   459,   295,   396,   448,   397,   398,   880,
1991 <     781,   380,   399,   400,   782,   401,   402,   403,   404,   316,
1992 <     317,   405,   406,   407,   449,   550,   131,   518,   460,   408,
1993 <     409,   261,   410,   132,   133,   411,  1119,   134,   308,   491,
1994 <     309,   310,   572,   412,   135,   413,   414,   786,   415,   416,
1995 <     417,   461,   419,   136,   421,   462,   422,   137,   138,   423,
1996 <     424,   787,   425,   426,   139,   427,   428,   262,   140,   141,
1997 <     429,   142,   430,   431,  1066,   511,   573,   143,   432,   433,
1998 <     434,   783,   513,   311,   435,   312,   313,   436,   437,   575,
1999 <     438,   439,   440,   441,   499,   144,   145,   500,   501,   502,
2000 <     146,   314,   503,   504,   505,   506,   507,   147,   784,  1109,
2001 <     508,   148,   149,   150,   509,   510,   151,  1117,  1118,   152,
2002 <     153,   514,   515,   528,  1335,   529,   530,   785,  1347,   154,
2003 <     531,   532,   624,   533,   625,   155,   156,   626,   157,   158,
2004 <     159,   160,   161,   534,   537,   315,   538,   576,   535,   463,
2005 <     574,   539,   577,   162,   450,   540,   627,   628,   464,   465,
2006 <     541,  1348,   163,   542,   164,   165,   543,   166,   544,   578,
2007 <     167,   168,  1349,   546,   169,   316,   317,   547,   548,   549,
2008 <     629,   568,   579,   580,   630,   170,   250,   583,  1350,   584,
2009 <     585,   586,   466,   587,    79,  1351,   589,   786,   590,   594,
2010 <    1352,   591,  1353,   592,   593,   655,    80,   171,   656,   172,
2011 <     659,   787,   660,   173,   631,  1354,   632,   174,   175,   176,
2012 <     177,   178,   661,   662,   666,   179,   180,    81,    82,   633,
2013 <     668,   670,   671,    83,   181,    84,   672,   673,   674,   675,
2014 <     251,   252,   253,   254,   255,   256,   257,   258,  1355,   676,
2015 <     677,   634,   467,   678,   686,   679,   680,   681,   683,   688,
2016 <     684,   687,   693,   689,  1356,   691,   692,   182,   183,   694,
2017 <     184,   695,   696,   697,   698,   699,   185,   700,  1274,  1275,
2018 <     703,   186,  1357,   635,  1358,  1359,   187,   706,   259,    85,
2019 <      86,   707,   705,   717,   708,     2,     3,   636,    87,    88,
2020 <       4,   713,   719,   714,   721,   595,   725,   722,  1276,   723,
2021 <     637,   724,   727,   728,   730,   731,   734,     5,   757,    89,
2022 <      90,     6,   758,   260,     7,  1277,   759,   596,   597,   750,
2023 <     735,     8,  1278,   736,   598,   738,    91,    92,   739,  1204,
2024 <     760,   761,   740,   762,   763,   741,     9,    93,   764,   742,
2025 <     745,  1279,  1360,  1219,   747,   772,    94,   752,    10,    11,
2026 <     753,    12,   773,   754,   774,   775,   776,   777,    13,   804,
2027 <     807,   805,  1361,   778,   806,   798,   808,   809,   812,  1280,
2028 <     799,   800,  1362,   801,   814,    14,   813,  1281,   638,   811,
2029 <     815,   816,   817,   818,   819,    15,   820,    16,   821,   822,
2030 <     517,   823,   826,   824,   261,   825,   831,   828,   836,   837,
2031 <     832,   599,   600,   601,    17,   838,   602,   839,  1205,   840,
2032 <     841,   842,   843,   844,   603,   845,   853,   899,   854,   900,
2033 <    1282,    18,  1220,   855,   903,   867,   904,   604,   605,  1014,
2034 <     262,   868,  1012,   856,   857,    95,    96,    97,   858,  1283,
2035 <    1206,  1018,  1015,  1017,   606,   607,   859,   869,   860,   861,
2036 <     862,   863,   864,   865,  1221,  1207,    19,   866,   870,   871,
2037 <     551,   872,   873,   874,  1126,    20,    21,   875,   882,  1222,
2038 <      22,    23,   608,   876,   877,  1208,  1209,   878,   879,   883,
2039 <     901,   884,   885,  1210,  1211,  1212,  1213,   886,   887,  1223,
2040 <    1224,   889,  1323,   902,   906,  1020,  1214,  1225,  1226,  1227,
2041 <    1228,  1141,   907,   908,   890,   939,   940,   941,   942,   943,
2042 <    1229,   944,   945,  1021,   946,   947,   948,   891,   892,   949,
2043 <     893,   894,  1033,   895,   896,   905,    24,   909,  1010,   950,
2044 <     951,   952,   910,   953,   954,   955,   911,   912,   956,   913,
2045 <     914,   957,   961,   962,   963,   964,   965,  1013,   966,   967,
2046 <     915,   968,   969,   970,   916,   917,   971,   918,   919,   920,
2047 <     921,   922,   923,  1022,   924,   925,   972,   973,   974,   926,
2048 <     975,   976,   977,   927,   928,   978,   929,   930,   979,  1301,
2049 <    1302,  1303,  1304,  1305,   931,  1306,  1307,   932,  1308,  1309,
2050 <    1310,   933,   934,  1311,   935,   936,   937,   938,   960,   982,
2051 <    1023,   983,   984,  1312,  1313,  1314,   985,  1315,  1316,  1317,
2052 <     986,   987,  1318,   988,   989,  1319,   990,   991,   992,   993,
2053 <     994,   995,   996,   997,  1003,  1004,  1005,  1006,  1007,  1008,
2054 <    1009,  1016,  1024,  1025,  1026,  1019,  1028,  1027,  1029,  1030,
2055 <    1031,  1032,  1036,  1037,  1058,  1038,  1039,  1040,  1041,  1042,
2056 <    1043,  1044,  1045,  1068,  1046,  1047,  1048,  1049,  1050,  1051,
2057 <    1052,  1053,  1054,  1055,  1056,  1057,  1069,  1070,  1094,  1059,
2058 <    1061,  1062,  1063,  1065,  1071,  1072,  1073,  1074,  1075,  1076,
2059 <    1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,  1085,  1090,
2060 <    1091,  1092,  1093,  1096,  1097,  1098,  1095,  1100,  1099,  1101,
2061 <    1107,  1108,  1110,  1111,  1112,  1113,  1114,  1115,  1116,  1121,
2062 <    1120,  1124,  1125,  1128,  1127,  1129,  1130,  1131,  1132,  1133,
2063 <    1134,  1135,  1136,  1137,  1138,  1139,  1140,  1155,  1156,  1161,
2064 <    1162,  1163,  1164,  1165,  1169,  1170,  1171,  1172,  1173,  1174,
2065 <    1175,  1186,  1178,  1189,  1184,  1190,  1185,  1192,  1193,  1194,
2066 <    1196,  1187,  1251,  1197,  1191,  1195,  1198,  1199,  1200,  1203,
2067 <    1217,  1218,  1289,  1232,  1233,  1234,  1235,  1236,  1237,  1238,
2068 <    1239,  1240,  1241,  1242,  1243,  1294,   344,  1372,  1244,  1245,
2069 <    1246,  1247,  1248,  1249,  1250,  1255,  1256,  1257,  1258,  1259,
2070 <    1260,  1261,  1262,  1291,  1292,  1293,  1298,  1299,  1300,  1322,
2071 <    1067,   512,  1370,  1371,  1343,  1290,   756,  1341,  1340,   881,
2072 <     803,  1366,   898,   744,   570,  1367,   658,   830,   835,  1369,
2264 <    1368,   376,  1342,  1337,   749,   665,   443,  1266,  1265,   733,
2265 <     364,  1338,  1339,     0,     0,     0,     0,   536
1949 >     822,   823,   585,   586,    76,   235,  1050,   821,   294,    67,
1950 >     593,  1096,    47,   455,  1004,   244,   567,   567,  1005,    67,
1951 >     235,   558,   110,    48,    77,    78,   483,   110,    52,   456,
1952 >      79,   381,    68,    54,   474,   391,    58,   294,    59,    69,
1953 >     558,    62,    68,   474,   457,   228,    45,    46,   458,    69,
1954 >     381,   245,    63,  1006,  1069,   966,   966,  1007,  1070,   228,
1955 >    1071,   484,   758,   759,  1072,   246,   247,   248,   249,   762,
1956 >     763,    80,    81,  1038,  1039,  1040,   682,   683,    82,    83,
1957 >      84,   485,   111,    66,  1196,   250,   486,   111,  1197,   523,
1958 >    1198,   382,   259,   236,  1199,   642,   643,   107,   295,    70,
1959 >      85,    86,   524,   650,  1213,   652,   568,   568,   236,    70,
1960 >     382,   559,   659,    87,    88,   260,  1202,   664,  1204,   237,
1961 >    1203,   108,  1205,   109,    89,   392,   459,   295,   675,   676,
1962 >     559,   678,   116,    90,   237,   460,   461,   117,   118,   688,
1963 >     689,   115,   691,   119,   487,   967,   967,   225,   261,  1097,
1964 >     226,   120,   383,   299,  1098,   475,   393,   121,  1206,   122,
1965 >     123,   124,  1207,   227,   475,   821,   125,   391,   462,   569,
1966 >     569,   383,   126,   127,   560,   128,   129,   130,  1193,  1194,
1967 >    1195,   131,   262,   525,   263,   264,   132,   476,   394,   523,
1968 >     133,   134,  1051,   560,   135,  1216,   476,   136,   137,  1217,
1969 >    1218,   242,   524,  1220,  1219,   138,   243,  1221,   968,   968,
1970 >     526,   292,   139,   140,   293,   141,   142,   143,   144,   145,
1971 >     494,   463,   265,   319,   266,   267,   268,   269,   303,   561,
1972 >     146,   748,   706,   504,   538,   781,   147,   148,   149,   502,
1973 >     150,   270,   477,   151,   152,   718,   389,   153,   561,   505,
1974 >     632,   477,   321,   711,   639,   229,   575,   392,   154,   776,
1975 >     684,   685,  -107,   300,   506,   271,   322,   323,   507,   229,
1976 >     324,   969,   969,   301,  1110,   272,  -107,   577,   496,   302,
1977 >     483,   305,   155,   525,   306,  1230,   156,   307,   393,   157,
1978 >     158,   159,   160,   161,   811,  1222,   162,   163,   498,  1223,
1979 >     826,   827,   819,   820,   273,   274,   308,  1231,   741,  1232,
1980 >     526,   556,  1245,   499,   309,   484,  1246,   352,   310,   353,
1981 >     394,   354,   311,   508,   312,   313,   314,   259,   315,   325,
1982 >     326,   327,   316,   355,   328,   485,   164,   165,   166,   317,
1983 >     486,   167,   329,   168,   318,   388,   509,   169,   356,  1233,
1984 >     260,   453,   357,   330,   331,   400,   401,   352,   402,   353,
1985 >     403,   354,   584,   404,   510,   504,   405,   406,   332,   333,
1986 >     407,   408,   358,   355,   359,   409,   410,   411,   412,   244,
1987 >     413,   505,   414,   261,   415,   416,   360,   417,   356,   418,
1988 >     419,   420,   357,   455,   421,   422,   506,   334,   487,   423,
1989 >     507,   424,   791,   792,   793,   794,   795,   361,   425,   456,
1990 >     578,   426,   358,   427,   359,   245,   428,   262,   429,   263,
1991 >     264,  1234,  1235,   430,   457,   432,   360,   511,   458,   246,
1992 >     247,   248,   249,   434,   435,   362,   436,   437,   335,   116,
1993 >     438,   512,   439,   440,   117,   118,   441,   361,   442,   250,
1994 >     119,   443,   735,   444,  1236,   508,   445,   265,   120,   266,
1995 >     267,   268,   269,   363,   121,   446,   122,   123,   124,   447,
1996 >     448,   612,   449,   125,   450,   362,   270,   451,   509,   126,
1997 >     127,   452,   128,   129,   130,   495,   500,   501,   131,   532,
1998 >     364,   533,   534,   132,   535,   536,   510,   133,   134,  1214,
1999 >     271,   135,   537,   363,   136,   137,   459,   540,   541,   542,
2000 >     272,   543,   138,   544,   545,   460,   461,  1114,   546,   139,
2001 >     140,   547,   141,   142,   143,   144,   145,   548,   549,   365,
2002 >     364,   550,  1075,   551,   552,   553,   628,   146,  1115,   273,
2003 >     274,   554,   555,   147,   148,   149,   574,   150,   462,   579,
2004 >     151,   152,  1076,  1116,   153,   580,   321,   581,   582,   511,
2005 >    1117,   583,  1077,   584,   587,   154,   588,   589,  1078,   365,
2006 >     322,   323,   590,   512,   324,   591,   592,  1118,  1021,  1022,
2007 >    1023,  1024,  1025,   594,  1079,   595,   596,   597,   598,   155,
2008 >     614,   599,   600,   156,   601,   602,   157,   158,   159,   160,
2009 >     161,   463,  1119,   162,   163,   603,   604,   605,   606,  1120,
2010 >     607,  1080,   879,     2,     3,   608,   609,     4,   610,  1081,
2011 >     634,  1121,   611,   615,   616,   617,   618,     5,   620,   621,
2012 >       6,     7,   622,   325,   326,   327,     8,   623,   328,  1122,
2013 >     624,  1123,  1124,   164,   165,   166,   329,     9,   167,   902,
2014 >     168,    10,    11,   625,   169,   626,   627,   330,   331,  1082,
2015 >     641,    12,   630,   631,   635,   636,   637,   644,   645,   646,
2016 >     647,   648,   332,   333,   649,    13,  1083,  1138,   651,   653,
2017 >     654,   655,   660,   656,   657,    14,    15,   658,   661,   662,
2018 >    1125,   663,   665,   666,   667,   668,   669,   670,   671,  1126,
2019 >     672,   334,   673,    16,  1127,   674,   677,   679,   680,   681,
2020 >    1128,   686,   687,   690,  1129,   692,  1130,    17,   696,   693,
2021 >     694,  1131,   695,   697,   698,   699,   720,   713,  1132,   701,
2022 >     880,   881,   882,   883,   884,  1167,   885,   886,   702,   887,
2023 >     888,   889,   335,   722,   890,  1181,   891,   892,   703,   893,
2024 >     704,   894,    18,   895,   896,   705,   723,   897,   708,   710,
2025 >     715,    19,    20,   898,   716,    21,    22,   903,   904,   905,
2026 >     906,   907,   717,   908,   909,   724,   910,   911,   912,   721,
2027 >     727,   913,   743,   914,   915,   744,   916,   725,   917,   726,
2028 >     918,   919,   737,   728,   920,  1139,  1140,  1141,  1142,  1143,
2029 >     921,  1144,  1145,   730,  1146,  1147,  1148,   731,   732,  1149,
2030 >    1168,  1150,  1151,   745,  1152,   746,  1153,    23,  1154,  1155,
2031 >    1182,   734,  1156,   738,    76,   739,   740,   747,  1157,   749,
2032 >     750,   751,   752,   753,   754,   755,   756,   757,   766,  1169,
2033 >     767,   768,   769,   770,    77,    78,   771,   772,  1170,  1183,
2034 >      79,   773,   775,   778,  1171,   779,   783,   784,  1184,   785,
2035 >     786,   787,   788,   789,  1185,   790,   798,   799,  1172,   800,
2036 >    1173,  1174,   801,   802,   809,   803,   804,   805,  1186,  1175,
2037 >    1187,  1188,   806,   810,   807,   808,  1176,   812,   813,  1189,
2038 >     814,    80,    81,   815,   816,   817,  1190,   818,    82,    83,
2039 >      84,   821,   824,   825,   828,   829,   830,   835,   831,   839,
2040 >     832,   833,  1104,   834,   842,   836,   843,   837,   838,   840,
2041 >      85,    86,   841,   844,   845,   846,   847,   848,   849,   945,
2042 >     850,   948,   949,    87,    88,   950,   951,   952,   851,   954,
2043 >     852,   956,   946,   853,    89,   854,   855,   856,   857,   858,
2044 >     859,   860,   861,    90,   862,   959,   863,   864,   865,   960,
2045 >     866,   961,   867,   868,   869,   870,   871,   872,   873,   874,
2046 >     875,   876,   877,   878,   901,   924,   925,   926,   927,   928,
2047 >     929,   930,   931,   932,   933,   934,   935,   936,   937,   938,
2048 >     939,   940,   977,   978,   941,   942,   943,   944,   980,   981,
2049 >     953,   982,   947,   984,   986,   987,   988,   955,  1013,  1015,
2050 >    1017,  1164,  1165,   304,  1208,  1111,  1103,  1247,  1242,   719,
2051 >     957,  1066,   736,  1241,   613,  1228,   964,   958,  1209,   965,
2052 >     979,   975,   976,  1092,  1211,  1226,   983,   985,   777,   989,
2053 >     707,   990,  1243,   991,   992,   993,   994,   995,   996,   782,
2054 >     742,   997,   998,   999,  1224,  1000,  1001,  1002,   629,  1003,
2055 >    1008,  1009,  1010,  1011,  1012,  1244,  1016,   390,  1014,  1019,
2056 >    1018,  1020,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1227,
2057 >    1033,  1034,  1035,  1036,  1037,  1043,  1044,  1045,  1046,  1047,
2058 >    1048,   712,  1049,  1054,  1055,  1056,  1057,  1225,   640,  1058,
2059 >    1201,  1059,  1200,   320,     0,     0,  1060,   454,     0,   633,
2060 >    1061,  1062,  1063,  1064,  1065,     0,  1073,  1074,  1086,  1087,
2061 >    1088,  1089,  1090,  1091,  1095,  1101,  1102,     0,  1106,     0,
2062 >       0,  1112,  1107,  1109,  1113,  1135,  1136,  1137,  1160,  1161,
2063 >    1162,  1163,  1166,  1179,  1180,  1210,     0,  1215,  1229,  1212,
2064 >    1239,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
2065 >       0,     0,     0,     0,   497,     0,     0,     0,   503,     0,
2066 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2067 >       0,     0,     0,     0,     0,     0,     0,   539,     0,     0,
2068 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2069 >       0,     0,     0,     0,     0,     0,     0,     0,   557,     0,
2070 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2071 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2072 >       0,   576
2073   };
2074  
2075   #define yypact_value_is_default(yystate) \
2076 <  ((yystate) == (-772))
2076 >  ((yystate) == (-861))
2077  
2078   #define yytable_value_is_error(yytable_value) \
2079    YYID (0)
2080  
2081   static const yytype_int16 yycheck[] =
2082   {
2083 <     350,   351,   435,    76,   262,   264,     1,   357,   266,    11,
2084 <       1,     1,     1,    11,     1,    14,    15,    16,     8,     9,
2085 <       1,   264,    12,     1,     1,     1,     1,   262,   263,    19,
2086 <     262,     1,     1,    22,   266,   264,   262,   387,    28,   389,
2087 <     266,     1,    32,    33,   197,   198,     1,   262,     1,    39,
2088 <     264,   266,   402,    43,    44,   405,    46,     1,   264,   262,
2089 <     410,     1,    52,   266,     1,   264,     3,   197,   198,     6,
2090 <       1,   421,   422,   264,   424,   846,   847,   848,   849,   850,
2091 <      70,    71,   264,   433,   434,    75,    26,   437,    25,    26,
2092 <       1,    22,    82,    37,    89,     1,    86,    87,    88,   169,
2093 <     170,    91,    89,    47,    94,    95,   262,    13,   153,    49,
2094 <     266,    89,    49,    53,   104,     1,    53,     1,   262,    89,
2095 <     110,   111,   266,   113,   114,   115,   116,   117,    34,    35,
2096 <       1,   264,   131,     4,    40,   124,    42,   153,   128,   120,
2097 <     264,   118,    53,   264,   120,   120,    83,   137,    85,   139,
2098 <     140,   120,   142,    37,   264,   145,   146,     1,   231,   149,
2099 <     120,    98,   235,    47,   155,   120,   155,   120,   155,   264,
2100 <     160,   148,    83,     1,    45,   264,   120,    48,    89,    23,
2101 <      24,   216,   217,   120,   534,   155,    30,   264,     1,   153,
2102 <      96,    97,   182,   124,   184,   155,   187,   199,   188,   105,
2103 <     106,   199,   192,   193,   194,   195,   196,   147,   264,    37,
2104 <     200,   201,   187,   264,   264,   152,   156,   157,   187,   209,
2105 <     126,   127,     1,     1,   155,   262,   262,   187,   262,   166,
2106 <     266,   102,   187,   265,   187,     1,   120,   143,   144,   262,
2107 <     262,   152,   179,   266,   266,   265,   265,    26,   154,   120,
2108 <     190,   265,   242,   243,   262,   245,    84,   163,   266,   250,
2109 <     265,   251,   265,   107,   108,   109,   256,   264,   112,   155,
2110 <      49,   261,   263,   263,    53,   250,   120,    55,    56,    57,
2111 <      58,    59,    60,    61,    62,   263,   263,   263,   263,   133,
2112 <     134,   265,   120,   263,   122,   123,     1,   250,     1,   265,
2113 <      10,   187,    12,   263,   265,   118,   150,   151,   263,   265,
2114 <     250,   998,   999,  1000,   265,     1,     1,    27,     4,   263,
2115 <     257,    31,   265,   263,   262,   103,   263,   262,   266,     1,
2116 <     264,   266,   263,   265,   178,   148,    41,   165,   262,   167,
2117 <     168,   120,   266,   265,   265,   265,   252,   253,   254,    54,
2118 <      53,   265,   263,   265,   120,   183,    41,   263,   131,    45,
2119 <     138,   265,    48,   265,   250,    37,   265,   265,   147,    54,
2120 <     265,    76,     1,    78,   265,    80,    81,   727,   265,   250,
2121 <      83,   153,   265,   265,   265,   265,    89,   166,   265,   155,
2122 <     265,    76,   263,    78,    99,    80,    81,    26,   265,   227,
2123 <     173,   174,   175,   176,   177,   220,   221,   222,   223,   224,
2124 <     225,   226,    84,     1,    99,   265,   102,   265,   265,   263,
2125 <      49,   187,   265,   265,    53,   265,   265,   265,   265,   257,
2126 <     258,   265,   265,   265,   120,   263,     1,   264,    26,   265,
2127 <     265,   219,   265,     8,     9,   265,   879,    12,   120,   152,
2128 <     122,   123,   153,   265,    19,   265,   265,   236,   265,   265,
2129 <     265,    49,   265,    28,   265,    53,   265,    32,    33,   265,
2130 <     265,   250,   265,   265,    39,   265,   265,   255,    43,    44,
2131 <     265,    46,   265,   265,   263,   263,   153,    52,   265,   265,
2132 <     265,   120,   262,   165,   265,   167,   168,   265,   265,   197,
2133 <     265,   265,   265,   265,   265,    70,    71,   265,   265,   265,
2134 <      75,   183,   265,   265,   265,   265,   265,    82,   147,   869,
2135 <     265,    86,    87,    88,   265,   265,    91,   877,   878,    94,
2136 <      95,   265,   265,   265,   244,   265,   265,   166,     5,   104,
2137 <     265,   265,     1,   265,     3,   110,   111,     6,   113,   114,
2138 <     115,   116,   117,   265,   262,   227,   265,   131,   263,   147,
2139 <     262,   265,   131,   128,   250,   265,    25,    26,   156,   157,
2140 <     265,    38,   137,   265,   139,   140,   265,   142,   265,   197,
2141 <     145,   146,    49,   265,   149,   257,   258,   265,   265,   265,
2142 <      49,   265,   197,   131,    53,   160,     1,   131,    65,   131,
2143 <     197,   197,   190,   131,     1,    72,   197,   236,   197,   262,
2144 <      77,   197,    79,   197,   197,   265,    13,   182,   265,   184,
2145 <     153,   250,   262,   188,    83,    92,    85,   192,   193,   194,
2146 <     195,   196,   265,   265,   197,   200,   201,    34,    35,    98,
2147 <     197,   131,   153,    40,   209,    42,   131,   197,   197,   131,
2148 <      55,    56,    57,    58,    59,    60,    61,    62,   125,   153,
2149 <     197,   120,   250,   131,   153,   131,   131,   197,   197,   131,
2150 <     197,   197,   153,   131,   141,   131,   131,   242,   243,   131,
2151 <     245,   131,   197,   197,   265,   197,   251,   265,    20,    21,
2152 <     197,   256,   159,   152,   161,   162,   261,   197,   103,    96,
2153 <      97,   197,   153,   131,   197,     0,     1,   166,   105,   106,
2154 <       5,   197,   153,   197,   197,     1,   262,   197,    50,   197,
2155 <     179,   197,   265,   265,   265,   265,   262,    22,   153,   126,
2156 <     127,    26,   153,   138,    29,    67,   153,    23,    24,   262,
2157 <     265,    36,    74,   265,    30,   265,   143,   144,   265,    92,
2158 <     153,   153,   265,   153,   153,   265,    51,   154,   153,   265,
2159 <     265,    93,   229,    92,   265,   153,   163,   265,    63,    64,
2160 <     265,    66,   153,   265,   197,   262,   153,   153,    73,   197,
2161 <     153,   197,   249,   262,   197,   262,   197,   197,   153,   121,
2162 <     265,   265,   259,   265,   153,    90,   197,   129,   257,   262,
2163 <     153,   153,   153,   153,   265,   100,   153,   102,   131,   153,
2164 <     280,   153,   265,   262,   219,   262,   262,   265,   153,   262,
2165 <     265,   107,   108,   109,   119,   262,   112,   262,   171,   262,
2166 <     262,   262,   262,   262,   120,   262,   262,   153,   262,   153,
2167 <     172,   136,   171,   262,   153,   265,   153,   133,   134,   153,
2168 <     255,   265,   197,   262,   262,   252,   253,   254,   262,   191,
2169 <     203,   197,   153,   153,   150,   151,   262,   265,   262,   262,
2170 <     262,   262,   262,   262,   203,   218,   171,   262,   265,   265,
2171 <     318,   265,   265,   265,   197,   180,   181,   265,   262,   218,
2172 <     185,   186,   178,   265,   265,   238,   239,   265,   265,   265,
2173 <     262,   265,   265,   246,   247,   248,   249,   265,   265,   238,
2174 <     239,   265,  1202,   262,   262,   153,   259,   246,   247,   248,
2175 <     249,   158,   262,   262,   265,   204,   205,   206,   207,   208,
2176 <     259,   210,   211,   131,   213,   214,   215,   265,   265,   218,
2177 <     265,   265,   131,   265,   265,   265,   241,   262,   265,   228,
2178 <     229,   230,   262,   232,   233,   234,   262,   262,   237,   262,
2179 <     262,   240,   204,   205,   206,   207,   208,   265,   210,   211,
2180 <     262,   213,   214,   215,   262,   262,   218,   262,   262,   262,
2181 <     262,   262,   262,   153,   262,   262,   228,   229,   230,   262,
2182 <     232,   233,   234,   262,   262,   237,   262,   262,   240,   204,
2183 <     205,   206,   207,   208,   262,   210,   211,   262,   213,   214,
2184 <     215,   262,   262,   218,   262,   262,   262,   262,   262,   262,
2185 <     153,   262,   262,   228,   229,   230,   262,   232,   233,   234,
2186 <     262,   262,   237,   262,   262,   240,   262,   262,   262,   262,
2187 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2188 <     262,   262,   153,   262,   153,   265,   153,   265,   262,   265,
2189 <     153,   153,   262,   262,   265,   262,   262,   262,   262,   262,
2190 <     262,   262,   262,   153,   262,   262,   262,   262,   262,   262,
2191 <     262,   262,   262,   262,   262,   262,   153,   153,   153,   265,
2192 <     265,   265,   265,   265,   262,   262,   262,   262,   262,   262,
2193 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2194 <     262,   262,   262,   153,   262,   153,   265,   262,   265,   262,
2195 <     131,   131,   131,   131,   131,   131,   153,   131,   131,   153,
2196 <     262,   153,   153,   153,   265,   153,   153,   153,   131,   153,
2197 <     153,   153,   262,   262,   262,   262,   262,   262,   262,   262,
2198 <     262,   262,   262,   130,   262,   262,   262,   262,   262,   262,
2199 <     158,   202,   262,   153,   262,   197,   262,   153,   153,   153,
2200 <     153,   266,   130,   262,   265,   265,   262,   262,   262,   262,
2201 <     262,   262,   131,   262,   262,   262,   262,   262,   262,   262,
2202 <     262,   262,   262,   262,   262,   130,    74,  1365,   262,   262,
2203 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2204 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2205 <     788,   263,  1344,  1346,  1288,  1187,   493,  1273,  1271,   609,
2206 <     523,  1325,   639,   468,   336,  1327,   370,   556,   564,  1330,
2400 <    1328,   127,  1286,  1264,   483,   382,   188,  1147,  1145,   451,
2401 <      98,  1268,  1270,    -1,    -1,    -1,    -1,   296
2083 >     610,   611,   308,   309,     1,     1,     8,   101,     1,     1,
2084 >     316,    51,   221,     1,   219,     1,     1,     1,   223,     1,
2085 >       1,     1,     1,   221,    21,    22,     1,     1,   221,    17,
2086 >      27,     1,    24,   221,     1,     1,   221,     1,   221,    31,
2087 >       1,   221,    24,     1,    32,     1,   219,   220,    36,    31,
2088 >       1,    37,   221,   219,   219,     1,     1,   223,   223,     1,
2089 >     219,    36,   137,   138,   223,    51,    52,    53,    54,   137,
2090 >     138,    68,    69,     9,    10,    11,   163,   164,    75,    76,
2091 >      77,    56,    61,   221,   219,    71,    61,    61,   223,     1,
2092 >     219,    61,     1,    89,   223,   401,   402,   221,    91,    91,
2093 >      97,    98,    14,   409,   198,   411,    91,    91,    89,    91,
2094 >      61,    91,   418,   110,   111,    24,   219,   423,   219,   115,
2095 >     223,   221,   223,   221,   121,    91,   114,    91,   434,   435,
2096 >      91,   437,     1,   130,   115,   123,   124,     6,     7,   445,
2097 >     446,   221,   448,    12,   119,    91,    91,   221,    57,   189,
2098 >     221,    20,   122,   219,   194,   122,   122,    26,   219,    28,
2099 >      29,    30,   223,   221,   122,   101,    35,     1,   156,   154,
2100 >     154,   122,    41,    42,   154,    44,    45,    46,  1038,  1039,
2101 >    1040,    50,    91,    95,    93,    94,    55,   154,   154,     1,
2102 >      59,    60,   194,   154,    63,   219,   154,    66,    67,   223,
2103 >     219,   221,    14,   219,   223,    74,   221,   223,   154,   154,
2104 >     122,   221,    81,    82,   221,    84,    85,    86,    87,    88,
2105 >     219,   209,   131,   220,   133,   134,   135,   136,   220,   209,
2106 >      99,   537,   220,     1,   220,   220,   105,   106,   107,   220,
2107 >     109,   150,   209,   112,   113,   220,   220,   116,   209,    17,
2108 >     220,   209,     1,   220,   220,   211,   220,    91,   127,   220,
2109 >     163,   164,   218,   222,    32,   174,    15,    16,    36,   211,
2110 >      19,   217,   217,   222,   220,   184,   218,   120,   220,   222,
2111 >       1,   222,   151,    95,   222,    40,   155,   222,   122,   158,
2112 >     159,   160,   161,   162,   600,   219,   165,   166,   218,   223,
2113 >     181,   182,   608,   609,   213,   214,   222,    62,   220,    64,
2114 >     122,   220,   219,   219,   222,    36,   223,     1,   222,     3,
2115 >     154,     5,   222,    91,   222,   222,   222,     1,   222,    78,
2116 >      79,    80,   222,    17,    83,    56,   205,   206,   207,   222,
2117 >      61,   210,    91,   212,   222,   222,   114,   216,    32,   104,
2118 >      24,   220,    36,   102,   103,   222,   222,     1,   222,     3,
2119 >     222,     5,   101,   222,   132,     1,   222,   222,   117,   118,
2120 >     222,   222,    56,    17,    58,   222,   222,   222,   222,     1,
2121 >     222,    17,   222,    57,   222,   222,    70,   222,    32,   222,
2122 >     222,   222,    36,     1,   222,   222,    32,   146,   119,   222,
2123 >      36,   222,   141,   142,   143,   144,   145,    91,   222,    17,
2124 >     120,   222,    56,   222,    58,    37,   222,    91,   222,    93,
2125 >      94,   176,   177,   222,    32,   222,    70,   195,    36,    51,
2126 >      52,    53,    54,   222,   222,   119,   222,   222,   187,     1,
2127 >     222,   209,   222,   222,     6,     7,   222,    91,   222,    71,
2128 >      12,   222,   220,   222,   209,    91,   222,   131,    20,   133,
2129 >     134,   135,   136,   147,    26,   222,    28,    29,    30,   222,
2130 >     222,   220,   222,    35,   222,   119,   150,   222,   114,    41,
2131 >      42,   222,    44,    45,    46,   222,   222,   222,    50,   222,
2132 >     174,   222,   222,    55,   222,   222,   132,    59,    60,  1109,
2133 >     174,    63,   222,   147,    66,    67,   114,   219,   222,   222,
2134 >     184,   222,    74,   222,   222,   123,   124,     4,   222,    81,
2135 >      82,   222,    84,    85,    86,    87,    88,   222,   222,   213,
2136 >     174,   222,    13,   222,   222,   222,   220,    99,    25,   213,
2137 >     214,   222,   222,   105,   106,   107,   222,   109,   156,   120,
2138 >     112,   113,    33,    40,   116,   219,     1,   101,   101,   195,
2139 >      47,   163,    43,   101,   101,   127,   101,   101,    49,   213,
2140 >      15,    16,   163,   209,    19,   163,   101,    64,   791,   792,
2141 >     793,   794,   795,   163,    65,   163,   219,   219,   222,   151,
2142 >     219,   222,   222,   155,   222,   222,   158,   159,   160,   161,
2143 >     162,   209,    89,   165,   166,   222,   222,   222,   222,    96,
2144 >     222,    92,    51,     0,     1,   222,   222,     4,   222,   100,
2145 >     120,   108,   222,   222,   222,   222,   222,    14,   222,   222,
2146 >      17,    18,   222,    78,    79,    80,    23,   222,    83,   126,
2147 >     222,   128,   129,   205,   206,   207,    91,    34,   210,    51,
2148 >     212,    38,    39,   222,   216,   222,   222,   102,   103,   140,
2149 >     163,    48,   222,   222,   219,   222,   222,   101,   163,   163,
2150 >     101,   120,   117,   118,   163,    62,   157,    51,   163,   101,
2151 >     101,   101,   120,   163,   163,    72,    73,   163,   163,   101,
2152 >     177,   101,   101,   101,   120,   101,   101,   163,   163,   186,
2153 >     222,   146,   163,    90,   191,   222,   163,   163,   163,   163,
2154 >     197,   163,   163,   120,   201,   163,   203,   104,   219,   163,
2155 >     163,   208,   163,   219,   222,   222,   163,   219,   215,   222,
2156 >     169,   170,   171,   172,   173,    64,   175,   176,   222,   178,
2157 >     179,   180,   187,   221,   183,    64,   185,   186,   222,   188,
2158 >     222,   190,   139,   192,   193,   222,   120,   196,   222,   222,
2159 >     222,   148,   149,   202,   222,   152,   153,   169,   170,   171,
2160 >     172,   173,   222,   175,   176,   120,   178,   179,   180,   219,
2161 >     222,   183,   163,   185,   186,   163,   188,   219,   190,   219,
2162 >     192,   193,   219,   222,   196,   169,   170,   171,   172,   173,
2163 >     202,   175,   176,   222,   178,   179,   180,   222,   222,   183,
2164 >     139,   185,   186,   120,   188,   163,   190,   204,   192,   193,
2165 >     139,   222,   196,   222,     1,   222,   222,   163,   202,   219,
2166 >     120,   163,   120,   120,   120,   120,   120,   120,   120,   168,
2167 >     120,   101,   120,   120,    21,    22,   219,   219,   177,   168,
2168 >      27,   222,   222,   219,   183,   222,   120,   219,   177,   219,
2169 >     219,   219,   219,   219,   183,   219,   219,   219,   197,   219,
2170 >     199,   200,   219,   219,   101,   219,   219,   219,   197,   208,
2171 >     199,   200,   219,   101,   219,   219,   215,   101,   101,   208,
2172 >     101,    68,    69,   101,   120,   101,   215,   101,    75,    76,
2173 >      77,   101,   219,   120,   120,   163,   222,   101,   120,   219,
2174 >     120,   120,   223,   120,   219,   120,   219,   120,   120,   120,
2175 >      97,    98,   120,   120,   120,   222,   219,   219,   219,   120,
2176 >     219,   120,   101,   110,   111,   120,   120,   120,   219,   120,
2177 >     219,   120,   163,   219,   121,   219,   219,   219,   219,   219,
2178 >     219,   219,   219,   130,   219,   120,   219,   219,   219,   120,
2179 >     219,   101,   219,   219,   219,   219,   219,   219,   219,   219,
2180 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2181 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2182 >     219,   219,   120,   163,   219,   219,   219,   219,   120,   120,
2183 >     219,   120,   222,   120,   120,   120,   120,   222,   120,   120,
2184 >     120,  1005,  1007,    71,   101,   970,   167,  1246,  1219,   489,
2185 >     219,   125,   513,  1217,   336,  1207,   219,   222,  1104,   219,
2186 >     222,   219,   219,   125,   120,  1203,   222,   219,   562,   219,
2187 >     464,   219,  1221,   219,   219,   219,   219,   219,   219,   570,
2188 >     527,   219,   219,   219,  1197,   219,   219,   219,   366,   219,
2189 >     219,   219,   219,   219,   219,  1223,   219,   112,   222,   219,
2190 >     222,   219,   219,   219,   219,   219,   219,   219,   219,  1205,
2191 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2192 >     219,   479,   219,   219,   219,   219,   219,  1199,   396,   219,
2193 >    1072,   219,  1070,    91,    -1,    -1,   219,   170,    -1,   384,
2194 >     219,   219,   219,   219,   219,    -1,   219,   219,   219,   219,
2195 >     219,   219,   219,   219,   219,   219,   219,    -1,   219,    -1,
2196 >      -1,   219,   222,   222,   219,   219,   219,   219,   219,   219,
2197 >     219,   219,   219,   219,   219,   219,    -1,   219,   219,   222,
2198 >     219,   219,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2199 >      -1,    -1,    -1,    -1,   230,    -1,    -1,    -1,   238,    -1,
2200 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   251,    -1,    -1,
2202 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2203 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,
2204 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2205 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2206 >      -1,   296
2207   };
2208  
2209   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2210     symbol of state STATE-NUM.  */
2211   static const yytype_uint16 yystos[] =
2212   {
2213 <       0,   268,     0,     1,     5,    22,    26,    29,    36,    51,
2214 <      63,    64,    66,    73,    90,   100,   102,   119,   136,   171,
2215 <     180,   181,   185,   186,   241,   269,   274,   279,   297,   303,
2216 <     318,   341,   360,   374,   392,   399,   403,   413,   422,   448,
2217 <     458,   464,   468,   478,   543,   559,   580,   262,   263,   264,
2218 <     264,   342,   423,   459,   264,   469,   264,   544,   375,   449,
2219 <     361,   264,   264,   319,   393,   264,   264,   404,   414,   264,
2220 <       1,    37,    47,   120,   298,   299,   300,   301,   302,     1,
2221 <      13,    34,    35,    40,    42,    96,    97,   105,   106,   126,
2222 <     127,   143,   144,   154,   163,   252,   253,   254,   560,   561,
2223 <     562,   563,   564,   565,   566,   567,   568,   569,   570,   571,
2224 <     572,   573,   574,   575,   576,   577,   578,   579,   153,   343,
2225 <     347,   153,   424,   428,   264,     1,    89,   465,   466,   467,
2226 <     264,     1,     8,     9,    12,    19,    28,    32,    33,    39,
2227 <      43,    44,    46,    52,    70,    71,    75,    82,    86,    87,
2228 <      88,    91,    94,    95,   104,   110,   111,   113,   114,   115,
2229 <     116,   117,   128,   137,   139,   140,   142,   145,   146,   149,
2230 <     160,   182,   184,   188,   192,   193,   194,   195,   196,   200,
2231 <     201,   209,   242,   243,   245,   251,   256,   261,   479,   480,
2232 <     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
2233 <     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
2234 <     501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
2235 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
2236 <     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
2237 <     531,   535,   539,   540,   541,   542,   264,   264,   264,   264,
2238 <       1,    55,    56,    57,    58,    59,    60,    61,    62,   103,
2239 <     138,   219,   255,   304,   305,   306,   307,   308,   309,   310,
2240 <     311,   312,   313,   314,   315,   316,   317,     1,   118,   148,
2241 <     275,   276,   277,   278,   153,   320,   324,   264,     1,    41,
2242 <      54,    76,    78,    80,    81,    99,   581,   582,   583,   584,
2243 <     585,   586,   587,   588,   589,     1,    37,    84,   120,   122,
2244 <     123,   165,   167,   168,   183,   227,   257,   258,   280,   281,
2245 <     282,   286,   287,   288,   289,   290,   291,   292,   293,   294,
2246 <     295,   296,   264,   264,     1,   120,   400,   401,   402,   262,
2247 <     265,   265,   265,   263,   299,   265,   265,   265,   265,   265,
2248 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2249 <     265,   265,   265,   263,   561,   264,   264,     1,    89,   155,
2250 <     460,   461,   462,   463,   265,   263,   466,     1,   120,   155,
2251 <     187,   470,   474,   475,   476,   477,   265,   265,   265,   265,
2252 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2253 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2254 <     265,   265,   265,   265,   265,   265,   265,   265,   536,   265,
2255 <     532,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2256 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2257 <     265,   265,   263,   480,     1,     4,    45,    48,   102,   120,
2258 <     250,   545,   546,   547,   548,   549,   553,   554,   555,     1,
2259 <      26,    49,    53,   147,   156,   157,   190,   250,   376,   377,
2260 <     378,   379,   380,   381,   382,   389,   390,   391,     1,   155,
2261 <     187,   250,   450,   454,   455,   456,   457,     1,    53,    83,
2262 <      89,   152,   362,   366,   367,   368,   372,   373,   262,   265,
2263 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2264 <     265,   263,   305,   262,   265,   265,   263,   276,   264,     1,
2265 <      22,   124,   155,   394,   395,   396,   397,   398,   265,   265,
2266 <     265,   265,   265,   265,   265,   263,   582,   262,   265,   265,
2267 <     265,   265,   265,   265,   265,   283,   265,   265,   265,   265,
2268 <     263,   281,     1,   120,   187,   250,   405,   406,   407,   408,
2269 <     409,     1,   120,   187,   415,   416,   417,   418,   265,   263,
2270 <     401,   153,   153,   153,   262,   197,   131,   131,   197,   197,
2271 <     131,   271,   271,   131,   131,   197,   197,   131,   271,   197,
2272 <     197,   197,   197,   197,   262,     1,    23,    24,    30,   107,
2273 <     108,   109,   112,   120,   133,   134,   150,   151,   178,   344,
2274 <     345,   346,   348,   349,   350,   351,   352,   353,   354,   355,
2275 <     356,   357,   358,   359,     1,     3,     6,    25,    26,    49,
2276 <      53,    83,    85,    98,   120,   152,   166,   179,   257,   425,
2277 <     426,   427,   429,   430,   431,   432,   433,   434,   435,   442,
2278 <     443,   444,   445,   446,   447,   265,   265,   263,   461,   153,
2279 <     262,   265,   265,   471,   263,   475,   197,   271,   197,   271,
2280 <     131,   153,   131,   197,   197,   131,   153,   197,   131,   131,
2281 <     131,   197,   271,   197,   197,   271,   153,   197,   131,   131,
2282 <     271,   131,   131,   153,   131,   131,   197,   197,   265,   197,
2283 <     265,   271,   271,   197,   271,   153,   197,   197,   197,   197,
2284 <     198,   197,   198,   197,   197,   271,   271,   131,   273,   153,
2285 <     271,   197,   197,   197,   197,   262,   556,   265,   265,   550,
2286 <     265,   265,   263,   546,   262,   265,   265,   383,   265,   265,
2287 <     265,   265,   265,   263,   377,   265,   451,   265,   263,   455,
2288 <     262,   363,   265,   265,   265,   263,   367,   153,   153,   153,
2289 <     153,   153,   153,   153,   153,   220,   221,   222,   223,   224,
2290 <     225,   226,   153,   153,   197,   262,   153,   153,   262,     1,
2291 <      26,    49,    53,   120,   147,   166,   236,   250,   321,   322,
2292 <     323,   325,   326,   327,   328,   329,   330,   334,   262,   265,
2293 <     265,   265,   263,   395,   197,   197,   197,   153,   197,   197,
2294 <     271,   262,   153,   197,   153,   153,   153,   153,   153,   265,
2295 <     153,   131,   153,   153,   262,   262,   265,   410,   265,   263,
2296 <     406,   262,   265,   419,   263,   416,   153,   262,   262,   262,
2297 <     262,   262,   262,   262,   262,   262,   173,   174,   175,   176,
2298 <     177,   270,   271,   262,   262,   262,   262,   262,   262,   262,
2299 <     262,   262,   262,   262,   262,   262,   262,   265,   265,   265,
2300 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2301 <     263,   345,   262,   265,   265,   265,   265,   265,   436,   265,
2302 <     265,   265,   265,   265,   265,   265,   265,   263,   426,   153,
2303 <     153,   262,   262,   153,   153,   265,   262,   262,   262,   262,
2304 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2305 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2306 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   204,
2307 <     205,   206,   207,   208,   210,   211,   213,   214,   215,   218,
2308 <     228,   229,   230,   232,   233,   234,   237,   240,   537,   538,
2309 <     262,   204,   205,   206,   207,   208,   210,   211,   213,   214,
2310 <     215,   218,   228,   229,   230,   232,   233,   234,   237,   240,
2311 <     533,   534,   262,   262,   262,   262,   262,   262,   262,   262,
2312 <     262,   262,   262,   262,   262,   262,   262,   262,    14,    15,
2313 <      16,   272,   273,   262,   262,   262,   262,   262,   262,   262,
2314 <     265,   271,   197,   265,   153,   153,   262,   153,   197,   265,
2315 <     153,   131,   153,   153,   153,   262,   153,   265,   153,   262,
2316 <     265,   153,   153,   131,   370,   371,   262,   262,   262,   262,
2317 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2318 <     262,   262,   262,   262,   262,   262,   262,   262,   265,   265,
2319 <     335,   265,   265,   265,   331,   265,   263,   322,   153,   153,
2320 <     153,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2321 <     262,   262,   262,   262,   262,   262,   169,   170,   284,   285,
2322 <     262,   262,   262,   262,   153,   265,   153,   262,   153,   265,
2323 <     262,   262,   270,   270,   270,   270,   270,   131,   131,   271,
2324 <     131,   131,   131,   131,   153,   131,   131,   271,   271,   273,
2325 <     262,   153,   216,   217,   153,   153,   197,   265,   153,   153,
2326 <     153,   153,   131,   153,   153,   153,   262,   262,   262,   262,
2327 <     262,   158,   472,   473,   262,   266,   262,   266,   272,   272,
2328 <     272,    11,   199,   557,   558,   262,   262,    11,   199,   551,
2329 <     552,   262,   262,   262,   262,   130,   384,   385,   387,   262,
2330 <     262,   262,   262,   262,   262,   158,   452,   453,   262,    76,
2331 <     231,   235,   364,   365,   262,   262,   202,   266,   369,   153,
2332 <     197,   265,   153,   153,   153,   265,   153,   262,   262,   262,
2333 <     262,   262,   266,   262,    92,   171,   203,   218,   238,   239,
2334 <     246,   247,   248,   249,   259,   411,   412,   262,   262,    92,
2335 <     171,   203,   218,   238,   239,   246,   247,   248,   249,   259,
2336 <     420,   421,   262,   262,   262,   262,   262,   262,   262,   262,
2337 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2533 <     262,   130,   437,   438,   440,   262,   262,   262,   262,   262,
2534 <     262,   262,   262,   262,   266,   538,   534,   262,   266,   262,
2535 <     266,   386,   262,   266,    20,    21,    50,    67,    74,    93,
2536 <     121,   129,   172,   191,   388,   262,   266,   262,   266,   131,
2537 <     371,   262,   262,   262,   130,   336,   337,   339,   262,   262,
2538 <     262,   204,   205,   206,   207,   208,   210,   211,   213,   214,
2539 <     215,   218,   228,   229,   230,   232,   233,   234,   237,   240,
2540 <     332,   333,   262,   285,   262,   266,   262,   266,   439,   262,
2541 <     266,    10,    12,    27,    31,   244,   441,   473,   558,   552,
2542 <     388,   385,   453,   365,   338,   262,   266,     5,    38,    49,
2543 <      65,    72,    77,    79,    92,   125,   141,   159,   161,   162,
2544 <     229,   249,   259,   340,   262,   266,   412,   421,   441,   438,
2545 <     340,   337,   333
2213 >       0,   225,     0,     1,     4,    14,    17,    18,    23,    34,
2214 >      38,    39,    48,    62,    72,    73,    90,   104,   139,   148,
2215 >     149,   152,   153,   204,   226,   231,   236,   258,   264,   278,
2216 >     296,   314,   328,   343,   350,   354,   364,   373,   393,   403,
2217 >     409,   413,   423,   485,   502,   219,   220,   221,   221,   297,
2218 >     374,   404,   221,   414,   221,   329,   394,   315,   221,   221,
2219 >     279,   344,   221,   221,   355,   365,   221,     1,    24,    31,
2220 >      91,   259,   260,   261,   262,   263,     1,    21,    22,    27,
2221 >      68,    69,    75,    76,    77,    97,    98,   110,   111,   121,
2222 >     130,   486,   487,   488,   489,   490,   491,   492,   493,   494,
2223 >     495,   496,   497,   498,   499,   500,   501,   221,   221,   221,
2224 >       1,    61,   410,   411,   412,   221,     1,     6,     7,    12,
2225 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2226 >      46,    50,    55,    59,    60,    63,    66,    67,    74,    81,
2227 >      82,    84,    85,    86,    87,    88,    99,   105,   106,   107,
2228 >     109,   112,   113,   116,   127,   151,   155,   158,   159,   160,
2229 >     161,   162,   165,   166,   205,   206,   207,   210,   212,   216,
2230 >     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2231 >     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
2232 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2233 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2234 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2235 >     474,   478,   482,   483,   484,   221,   221,   221,     1,   211,
2236 >     265,   266,   267,   268,   269,     1,    89,   115,   232,   233,
2237 >     234,   235,   221,   221,     1,    37,    51,    52,    53,    54,
2238 >      71,   503,   504,   505,   506,   507,   508,   509,   510,     1,
2239 >      24,    57,    91,    93,    94,   131,   133,   134,   135,   136,
2240 >     150,   174,   184,   213,   214,   237,   238,   239,   240,   245,
2241 >     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2242 >     256,   257,   221,   221,     1,    91,   351,   352,   353,   219,
2243 >     222,   222,   222,   220,   260,   222,   222,   222,   222,   222,
2244 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   220,
2245 >     487,     1,    15,    16,    19,    78,    79,    80,    83,    91,
2246 >     102,   103,   117,   118,   146,   187,   298,   299,   300,   301,
2247 >     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2248 >     312,   313,     1,     3,     5,    17,    32,    36,    56,    58,
2249 >      70,    91,   119,   147,   174,   213,   375,   376,   377,   378,
2250 >     379,   380,   381,   382,   383,   384,   388,   389,   390,   391,
2251 >     392,     1,    61,   122,   405,   406,   407,   408,   222,   220,
2252 >     411,     1,    91,   122,   154,   415,   419,   420,   421,   422,
2253 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2254 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2255 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2256 >     222,   479,   222,   475,   222,   222,   222,   222,   222,   222,
2257 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2258 >     222,   222,   222,   220,   425,     1,    17,    32,    36,   114,
2259 >     123,   124,   156,   209,   330,   331,   332,   333,   334,   335,
2260 >     336,   340,   341,   342,     1,   122,   154,   209,   395,   399,
2261 >     400,   401,   402,     1,    36,    56,    61,   119,   316,   320,
2262 >     321,   322,   326,   327,   219,   222,   220,   266,   218,   219,
2263 >     222,   222,   220,   233,     1,    17,    32,    36,    91,   114,
2264 >     132,   195,   209,   280,   281,   282,   283,   284,   285,   286,
2265 >     287,   288,   292,     1,    14,    95,   122,   345,   346,   347,
2266 >     348,   349,   222,   222,   222,   222,   222,   222,   220,   504,
2267 >     219,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2268 >     222,   222,   222,   222,   222,   222,   220,   238,     1,    91,
2269 >     154,   209,   356,   357,   358,   359,   360,     1,    91,   154,
2270 >     366,   367,   368,   369,   222,   220,   352,   120,   120,   120,
2271 >     219,   101,   101,   163,   101,   228,   228,   101,   101,   101,
2272 >     163,   163,   101,   228,   163,   163,   219,   219,   222,   222,
2273 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2274 >     222,   222,   220,   299,   219,   222,   222,   222,   222,   385,
2275 >     222,   222,   222,   222,   222,   222,   222,   222,   220,   376,
2276 >     222,   222,   220,   406,   120,   219,   222,   222,   416,   220,
2277 >     420,   163,   228,   228,   101,   163,   163,   101,   120,   163,
2278 >     228,   163,   228,   101,   101,   101,   163,   163,   163,   228,
2279 >     120,   163,   101,   101,   228,   101,   101,   120,   101,   101,
2280 >     163,   163,   222,   163,   222,   228,   228,   163,   228,   163,
2281 >     163,   163,   163,   164,   163,   164,   163,   163,   228,   228,
2282 >     120,   228,   163,   163,   163,   163,   219,   219,   222,   222,
2283 >     337,   222,   222,   222,   222,   222,   220,   331,   222,   396,
2284 >     222,   220,   400,   219,   317,   222,   222,   222,   220,   321,
2285 >     163,   219,   221,   120,   120,   219,   219,   222,   222,   293,
2286 >     222,   222,   222,   289,   222,   220,   281,   219,   222,   222,
2287 >     222,   220,   346,   163,   163,   120,   163,   163,   228,   219,
2288 >     120,   163,   120,   120,   120,   120,   120,   120,   137,   138,
2289 >     241,   242,   137,   138,   243,   244,   120,   120,   101,   120,
2290 >     120,   219,   219,   222,   361,   222,   220,   357,   219,   222,
2291 >     370,   220,   367,   120,   219,   219,   219,   219,   219,   219,
2292 >     219,   141,   142,   143,   144,   145,   227,   228,   219,   219,
2293 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   101,
2294 >     101,   228,   101,   101,   101,   101,   120,   101,   101,   228,
2295 >     228,   101,   230,   230,   219,   120,   181,   182,   120,   163,
2296 >     222,   120,   120,   120,   120,   101,   120,   120,   120,   219,
2297 >     120,   120,   219,   219,   120,   120,   222,   219,   219,   219,
2298 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2299 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2300 >     219,   219,   219,   219,   219,   219,   219,   219,   219,    51,
2301 >     169,   170,   171,   172,   173,   175,   176,   178,   179,   180,
2302 >     183,   185,   186,   188,   190,   192,   193,   196,   202,   480,
2303 >     481,   219,    51,   169,   170,   171,   172,   173,   175,   176,
2304 >     178,   179,   180,   183,   185,   186,   188,   190,   192,   193,
2305 >     196,   202,   476,   477,   219,   219,   219,   219,   219,   219,
2306 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2307 >     219,   219,   219,   219,   219,   120,   163,   222,   120,   101,
2308 >     120,   120,   120,   219,   120,   222,   120,   219,   222,   120,
2309 >     120,   101,   324,   325,   219,   219,     1,    91,   154,   217,
2310 >     270,   271,   272,   273,   274,   219,   219,   120,   163,   222,
2311 >     120,   120,   120,   222,   120,   219,   120,   120,   120,   219,
2312 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2313 >     219,   219,   219,   219,   219,   223,   219,   223,   219,   219,
2314 >     219,   219,   219,   120,   222,   120,   219,   120,   222,   219,
2315 >     219,   227,   227,   227,   227,   227,   219,   219,   219,   219,
2316 >     219,   219,   219,   219,   219,   219,   219,   219,     9,    10,
2317 >      11,   229,   230,   219,   219,   219,   219,   219,   219,   219,
2318 >       8,   194,   386,   387,   219,   219,   219,   219,   219,   219,
2319 >     219,   219,   219,   219,   219,   219,   125,   417,   418,   219,
2320 >     223,   219,   223,   219,   219,    13,    33,    43,    49,    65,
2321 >      92,   100,   140,   157,   338,   339,   219,   219,   219,   219,
2322 >     219,   219,   125,   397,   398,   219,    51,   189,   194,   318,
2323 >     319,   219,   219,   167,   223,   323,   219,   222,   275,   222,
2324 >     220,   271,   219,   219,     4,    25,    40,    47,    64,    89,
2325 >      96,   108,   126,   128,   129,   177,   186,   191,   197,   201,
2326 >     203,   208,   215,   294,   295,   219,   219,   219,    51,   169,
2327 >     170,   171,   172,   173,   175,   176,   178,   179,   180,   183,
2328 >     185,   186,   188,   190,   192,   193,   196,   202,   290,   291,
2329 >     219,   219,   219,   219,   242,   244,   219,    64,   139,   168,
2330 >     177,   183,   197,   199,   200,   208,   215,   362,   363,   219,
2331 >     219,    64,   139,   168,   177,   183,   197,   199,   200,   208,
2332 >     215,   371,   372,   229,   229,   229,   219,   223,   219,   223,
2333 >     481,   477,   219,   223,   219,   223,   219,   223,   101,   325,
2334 >     219,   120,   222,   198,   230,   219,   219,   223,   219,   223,
2335 >     219,   223,   219,   223,   387,   418,   339,   398,   319,   219,
2336 >      40,    62,    64,   104,   176,   177,   209,   276,   277,   219,
2337 >     219,   295,   291,   363,   372,   219,   223,   277
2338   };
2339  
2340   #define yyerrok         (yyerrstatus = 0)
# Line 2572 | Line 2364 | static const yytype_uint16 yystos[] =
2364  
2365   #define YYRECOVERING()  (!!yyerrstatus)
2366  
2367 < #define YYBACKUP(Token, Value)                                  \
2368 < do                                                              \
2369 <  if (yychar == YYEMPTY && yylen == 1)                          \
2370 <    {                                                           \
2371 <      yychar = (Token);                                         \
2372 <      yylval = (Value);                                         \
2373 <      YYPOPSTACK (1);                                           \
2374 <      goto yybackup;                                            \
2375 <    }                                                           \
2376 <  else                                                          \
2377 <    {                                                           \
2367 > #define YYBACKUP(Token, Value)                                  \
2368 > do                                                              \
2369 >  if (yychar == YYEMPTY)                                        \
2370 >    {                                                           \
2371 >      yychar = (Token);                                         \
2372 >      yylval = (Value);                                         \
2373 >      YYPOPSTACK (yylen);                                       \
2374 >      yystate = *yyssp;                                         \
2375 >      goto yybackup;                                            \
2376 >    }                                                           \
2377 >  else                                                          \
2378 >    {                                                           \
2379        yyerror (YY_("syntax error: cannot back up")); \
2380        YYERROR;                                                  \
2381      }                                                           \
# Line 2592 | Line 2385 | while (YYID (0))
2385   #define YYTERROR        1
2386   #define YYERRCODE       256
2387  
2595
2388   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2389     If N is 0, then set CURRENT to the empty location which ends
2390     the previous symbol: RHS[0] (always defined).  */
2391  
2600 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2392   #ifndef YYLLOC_DEFAULT
2393 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 <    do                                                                  \
2395 <      if (YYID (N))                                                    \
2396 <        {                                                               \
2397 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 <        }                                                               \
2402 <      else                                                              \
2403 <        {                                                               \
2404 <          (Current).first_line   = (Current).last_line   =              \
2405 <            YYRHSLOC (Rhs, 0).last_line;                                \
2406 <          (Current).first_column = (Current).last_column =              \
2407 <            YYRHSLOC (Rhs, 0).last_column;                              \
2408 <        }                                                               \
2393 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 >    do                                                                  \
2395 >      if (YYID (N))                                                     \
2396 >        {                                                               \
2397 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 >        }                                                               \
2402 >      else                                                              \
2403 >        {                                                               \
2404 >          (Current).first_line   = (Current).last_line   =              \
2405 >            YYRHSLOC (Rhs, 0).last_line;                                \
2406 >          (Current).first_column = (Current).last_column =              \
2407 >            YYRHSLOC (Rhs, 0).last_column;                              \
2408 >        }                                                               \
2409      while (YYID (0))
2410   #endif
2411  
2412 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2413 +
2414 +
2415  
2416   /* This macro is provided for backward compatibility. */
2417  
# Line 2677 | Line 2471 | yy_symbol_value_print (yyoutput, yytype,
2471      YYSTYPE const * const yyvaluep;
2472   #endif
2473   {
2474 +  FILE *yyo = yyoutput;
2475 +  YYUSE (yyo);
2476    if (!yyvaluep)
2477      return;
2478   # ifdef YYPRINT
# Line 2928 | Line 2724 | static int
2724   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2725                  yytype_int16 *yyssp, int yytoken)
2726   {
2727 <  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2727 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2728    YYSIZE_T yysize = yysize0;
2729    YYSIZE_T yysize1;
2730    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2731    /* Internationalized format string. */
2732 <  const char *yyformat = 0;
2732 >  const char *yyformat = YY_NULL;
2733    /* Arguments of yyformat. */
2734    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2735    /* Number of reported tokens (one for the "unexpected", one per
# Line 2993 | Line 2789 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2789                      break;
2790                    }
2791                  yyarg[yycount++] = yytname[yyx];
2792 <                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2792 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2793                  if (! (yysize <= yysize1
2794                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2795                    return 2;
# Line 3085 | Line 2881 | yydestruct (yymsg, yytype, yyvaluep)
2881   }
2882  
2883  
3088 /* Prevent warnings from -Wmissing-prototypes.  */
3089 #ifdef YYPARSE_PARAM
3090 #if defined __STDC__ || defined __cplusplus
3091 int yyparse (void *YYPARSE_PARAM);
3092 #else
3093 int yyparse ();
3094 #endif
3095 #else /* ! YYPARSE_PARAM */
3096 #if defined __STDC__ || defined __cplusplus
3097 int yyparse (void);
3098 #else
3099 int yyparse ();
3100 #endif
3101 #endif /* ! YYPARSE_PARAM */
2884  
2885  
2886   /* The lookahead symbol.  */
# Line 3145 | Line 2927 | yyparse ()
2927         `yyss': related to states.
2928         `yyvs': related to semantic values.
2929  
2930 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2930 >       Refer to the stacks through separate pointers, to allow yyoverflow
2931         to reallocate them elsewhere.  */
2932  
2933      /* The state stack.  */
# Line 3199 | Line 2981 | yyparse ()
2981       The wasted elements are never initialized.  */
2982    yyssp = yyss;
2983    yyvsp = yyvs;
3202
2984    goto yysetstate;
2985  
2986   /*------------------------------------------------------------.
# Line 3376 | Line 3157 | yyreduce:
3157    YY_REDUCE_PRINT (yyn);
3158    switch (yyn)
3159      {
3160 <        case 27:
3161 <
3162 < /* Line 1806 of yacc.c  */
3382 < #line 426 "ircd_parser.y"
3160 >        case 26:
3161 > /* Line 1787 of yacc.c  */
3162 > #line 363 "conf_parser.y"
3163      { (yyval.number) = 0; }
3164      break;
3165  
3166 <  case 29:
3167 <
3168 < /* Line 1806 of yacc.c  */
3389 < #line 428 "ircd_parser.y"
3166 >  case 28:
3167 > /* Line 1787 of yacc.c  */
3168 > #line 365 "conf_parser.y"
3169      {
3170                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3171                  }
3172      break;
3173  
3174 <  case 30:
3175 <
3176 < /* Line 1806 of yacc.c  */
3398 < #line 432 "ircd_parser.y"
3174 >  case 29:
3175 > /* Line 1787 of yacc.c  */
3176 > #line 369 "conf_parser.y"
3177      {
3178                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3179                  }
3180      break;
3181  
3182 <  case 31:
3183 <
3184 < /* Line 1806 of yacc.c  */
3407 < #line 436 "ircd_parser.y"
3182 >  case 30:
3183 > /* Line 1787 of yacc.c  */
3184 > #line 373 "conf_parser.y"
3185      {
3186                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3187                  }
3188      break;
3189  
3190 <  case 32:
3191 <
3192 < /* Line 1806 of yacc.c  */
3416 < #line 440 "ircd_parser.y"
3190 >  case 31:
3191 > /* Line 1787 of yacc.c  */
3192 > #line 377 "conf_parser.y"
3193      {
3194                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3195                  }
3196      break;
3197  
3198 <  case 33:
3199 <
3200 < /* Line 1806 of yacc.c  */
3425 < #line 444 "ircd_parser.y"
3198 >  case 32:
3199 > /* Line 1787 of yacc.c  */
3200 > #line 381 "conf_parser.y"
3201      {
3202                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3203                  }
3204      break;
3205  
3206 <  case 34:
3207 <
3208 < /* Line 1806 of yacc.c  */
3434 < #line 448 "ircd_parser.y"
3206 >  case 33:
3207 > /* Line 1787 of yacc.c  */
3208 > #line 385 "conf_parser.y"
3209      {
3210                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3211                  }
3212      break;
3213  
3214 <  case 35:
3215 <
3216 < /* Line 1806 of yacc.c  */
3443 < #line 453 "ircd_parser.y"
3214 >  case 34:
3215 > /* Line 1787 of yacc.c  */
3216 > #line 390 "conf_parser.y"
3217      { (yyval.number) = 0; }
3218      break;
3219  
3220 <  case 37:
3221 <
3222 < /* Line 1806 of yacc.c  */
3450 < #line 454 "ircd_parser.y"
3220 >  case 36:
3221 > /* Line 1787 of yacc.c  */
3222 > #line 391 "conf_parser.y"
3223      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3224      break;
3225  
3226 <  case 38:
3227 <
3228 < /* Line 1806 of yacc.c  */
3457 < #line 455 "ircd_parser.y"
3226 >  case 37:
3227 > /* Line 1787 of yacc.c  */
3228 > #line 392 "conf_parser.y"
3229      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3230      break;
3231  
3232 <  case 39:
3233 <
3234 < /* Line 1806 of yacc.c  */
3464 < #line 456 "ircd_parser.y"
3232 >  case 38:
3233 > /* Line 1787 of yacc.c  */
3234 > #line 393 "conf_parser.y"
3235      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3236      break;
3237  
3238 <  case 40:
3239 <
3240 < /* Line 1806 of yacc.c  */
3471 < #line 457 "ircd_parser.y"
3238 >  case 39:
3239 > /* Line 1787 of yacc.c  */
3240 > #line 394 "conf_parser.y"
3241      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3242      break;
3243  
3244 <  case 47:
3245 <
3246 < /* Line 1806 of yacc.c  */
3478 < #line 471 "ircd_parser.y"
3244 >  case 46:
3245 > /* Line 1787 of yacc.c  */
3246 > #line 408 "conf_parser.y"
3247      {
3248    if (conf_parser_ctx.pass == 2)
3249      add_conf_module(libio_basename(yylval.string));
3250   }
3251      break;
3252  
3253 <  case 48:
3254 <
3255 < /* Line 1806 of yacc.c  */
3488 < #line 477 "ircd_parser.y"
3253 >  case 47:
3254 > /* Line 1787 of yacc.c  */
3255 > #line 414 "conf_parser.y"
3256      {
3257    if (conf_parser_ctx.pass == 2)
3258      mod_add_path(yylval.string);
3259   }
3260      break;
3261  
3262 <  case 65:
3263 <
3264 < /* Line 1806 of yacc.c  */
3498 < #line 497 "ircd_parser.y"
3262 >  case 71:
3263 > /* Line 1787 of yacc.c  */
3264 > #line 439 "conf_parser.y"
3265      {
3266   #ifdef HAVE_LIBCRYPTO
3267 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3268 <    ServerInfo.tls_version = 0;
3267 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3268 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3269   #endif
3270   }
3271      break;
3272  
3273 <  case 66:
3274 <
3275 < /* Line 1806 of yacc.c  */
3510 < #line 503 "ircd_parser.y"
3273 >  case 72:
3274 > /* Line 1787 of yacc.c  */
3275 > #line 445 "conf_parser.y"
3276      {
3277   #ifdef HAVE_LIBCRYPTO
3278 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3279 <  {
3515 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3516 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3517 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3518 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3519 <  }
3278 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3279 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3280   #endif
3281   }
3282      break;
3283  
3284 <  case 69:
3285 <
3286 < /* Line 1806 of yacc.c  */
3527 < #line 517 "ircd_parser.y"
3284 >  case 75:
3285 > /* Line 1787 of yacc.c  */
3286 > #line 454 "conf_parser.y"
3287      {
3288   #ifdef HAVE_LIBCRYPTO
3289 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3290 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3289 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3290 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3291   #endif
3292   }
3293      break;
3294  
3295 <  case 70:
3296 <
3297 < /* Line 1806 of yacc.c  */
3539 < #line 523 "ircd_parser.y"
3295 >  case 76:
3296 > /* Line 1787 of yacc.c  */
3297 > #line 460 "conf_parser.y"
3298      {
3299   #ifdef HAVE_LIBCRYPTO
3300 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3301 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3300 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3301 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3302   #endif
3303   }
3304      break;
3305  
3306 <  case 71:
3307 <
3308 < /* Line 1806 of yacc.c  */
3551 < #line 531 "ircd_parser.y"
3306 >  case 77:
3307 > /* Line 1787 of yacc.c  */
3308 > #line 468 "conf_parser.y"
3309      {
3310   #ifdef HAVE_LIBCRYPTO
3311    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3560 | Line 3317 | yyreduce:
3317      }
3318  
3319      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3320 +                                     SSL_FILETYPE_PEM) <= 0 ||
3321 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3322                                       SSL_FILETYPE_PEM) <= 0)
3323      {
3324        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3567 | Line 3326 | yyreduce:
3326      }
3327  
3328      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3329 +                                    SSL_FILETYPE_PEM) <= 0 ||
3330 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3331                                      SSL_FILETYPE_PEM) <= 0)
3332      {
3333        yyerror(ERR_lib_error_string(ERR_get_error()));
3334        break;
3335      }
3336  
3337 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3337 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3338 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3339      {
3340        yyerror(ERR_lib_error_string(ERR_get_error()));
3341        break;
# Line 3583 | Line 3345 | yyreduce:
3345   }
3346      break;
3347  
3348 <  case 72:
3349 <
3350 < /* Line 1806 of yacc.c  */
3589 < #line 565 "ircd_parser.y"
3348 >  case 78:
3349 > /* Line 1787 of yacc.c  */
3350 > #line 507 "conf_parser.y"
3351      {
3352   #ifdef HAVE_LIBCRYPTO
3353    if (conf_parser_ctx.pass == 1)
# Line 3613 | Line 3374 | yyreduce:
3374        break;
3375      }
3376  
3377 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3617 <      0, NULL);
3377 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3378  
3379      BIO_set_close(file, BIO_CLOSE);
3380      BIO_free(file);
# Line 3647 | Line 3407 | yyreduce:
3407   }
3408      break;
3409  
3410 <  case 73:
3410 >  case 79:
3411 > /* Line 1787 of yacc.c  */
3412 > #line 566 "conf_parser.y"
3413 >    {
3414 > /* TBD - XXX: error reporting */
3415 > #ifdef HAVE_LIBCRYPTO
3416 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3417 >  {
3418 >    BIO *file = BIO_new_file(yylval.string, "r");
3419 >
3420 >    if (file)
3421 >    {
3422 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3423 >
3424 >      BIO_free(file);
3425 >
3426 >      if (dh)
3427 >      {
3428 >        if (DH_size(dh) < 128)
3429 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3430 >        else
3431 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3432 >
3433 >        DH_free(dh);
3434 >      }
3435 >    }
3436 >  }
3437 > #endif
3438 > }
3439 >    break;
3440 >
3441 >  case 80:
3442 > /* Line 1787 of yacc.c  */
3443 > #line 594 "conf_parser.y"
3444 >    {
3445 > #ifdef HAVE_LIBCRYPTO
3446 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3447 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3448 > #endif
3449 > }
3450 >    break;
3451  
3452 < /* Line 1806 of yacc.c  */
3453 < #line 625 "ircd_parser.y"
3452 >  case 81:
3453 > /* Line 1787 of yacc.c  */
3454 > #line 602 "conf_parser.y"
3455      {
3456    /* this isn't rehashable */
3457    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3659 | Line 3460 | yyreduce:
3460        DupString(ServerInfo.name, yylval.string);
3461      else
3462      {
3463 <      ilog(L_ERROR, "Ignoring serverinfo::name -- invalid name. Aborting.");
3463 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3464        exit(0);
3465      }
3466    }
3467   }
3468      break;
3469  
3470 <  case 74:
3471 <
3472 < /* Line 1806 of yacc.c  */
3672 < #line 640 "ircd_parser.y"
3470 >  case 82:
3471 > /* Line 1787 of yacc.c  */
3472 > #line 617 "conf_parser.y"
3473      {
3474    /* this isn't rehashable */
3475    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3678 | Line 3478 | yyreduce:
3478        DupString(ServerInfo.sid, yylval.string);
3479      else
3480      {
3481 <      ilog(L_ERROR, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3481 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3482        exit(0);
3483      }
3484    }
3485   }
3486      break;
3487  
3488 <  case 75:
3489 <
3490 < /* Line 1806 of yacc.c  */
3691 < #line 655 "ircd_parser.y"
3488 >  case 83:
3489 > /* Line 1787 of yacc.c  */
3490 > #line 632 "conf_parser.y"
3491      {
3492    if (conf_parser_ctx.pass == 2)
3493    {
# Line 3698 | Line 3497 | yyreduce:
3497   }
3498      break;
3499  
3500 <  case 76:
3501 <
3502 < /* Line 1806 of yacc.c  */
3704 < #line 664 "ircd_parser.y"
3500 >  case 84:
3501 > /* Line 1787 of yacc.c  */
3502 > #line 641 "conf_parser.y"
3503      {
3504    if (conf_parser_ctx.pass == 2)
3505    {
# Line 3716 | Line 3514 | yyreduce:
3514   }
3515      break;
3516  
3517 <  case 77:
3518 <
3519 < /* Line 1806 of yacc.c  */
3722 < #line 678 "ircd_parser.y"
3517 >  case 85:
3518 > /* Line 1787 of yacc.c  */
3519 > #line 655 "conf_parser.y"
3520      {
3521    if (conf_parser_ctx.pass == 2)
3522    {
# Line 3729 | Line 3526 | yyreduce:
3526   }
3527      break;
3528  
3529 <  case 78:
3530 <
3531 < /* Line 1806 of yacc.c  */
3735 < #line 687 "ircd_parser.y"
3529 >  case 86:
3530 > /* Line 1787 of yacc.c  */
3531 > #line 664 "conf_parser.y"
3532      {
3533    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3534    {
# Line 3745 | Line 3541 | yyreduce:
3541      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3542  
3543      if (getaddrinfo(yylval.string, NULL, &hints, &res))
3544 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3544 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3545      else
3546      {
3547        assert(res != NULL);
# Line 3761 | Line 3557 | yyreduce:
3557   }
3558      break;
3559  
3560 <  case 79:
3561 <
3562 < /* Line 1806 of yacc.c  */
3767 < #line 715 "ircd_parser.y"
3560 >  case 87:
3561 > /* Line 1787 of yacc.c  */
3562 > #line 692 "conf_parser.y"
3563      {
3564   #ifdef IPV6
3565    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3778 | Line 3573 | yyreduce:
3573      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3574  
3575      if (getaddrinfo(yylval.string, NULL, &hints, &res))
3576 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3576 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3577      else
3578      {
3579        assert(res != NULL);
# Line 3795 | Line 3590 | yyreduce:
3590   }
3591      break;
3592  
3593 <  case 80:
3594 <
3595 < /* Line 1806 of yacc.c  */
3801 < #line 745 "ircd_parser.y"
3593 >  case 88:
3594 > /* Line 1787 of yacc.c  */
3595 > #line 722 "conf_parser.y"
3596      {
3597    if (conf_parser_ctx.pass == 2)
3598    {
# Line 3822 | Line 3616 | yyreduce:
3616   }
3617      break;
3618  
3619 <  case 81:
3620 <
3621 < /* Line 1806 of yacc.c  */
3828 < #line 768 "ircd_parser.y"
3619 >  case 89:
3620 > /* Line 1787 of yacc.c  */
3621 > #line 745 "conf_parser.y"
3622      {
3623    if (conf_parser_ctx.pass == 2)
3624      ServerInfo.hub = yylval.number;
3625   }
3626      break;
3627  
3628 <  case 89:
3629 <
3630 < /* Line 1806 of yacc.c  */
3838 < #line 783 "ircd_parser.y"
3628 >  case 97:
3629 > /* Line 1787 of yacc.c  */
3630 > #line 760 "conf_parser.y"
3631      {
3632    if (conf_parser_ctx.pass == 2)
3633    {
# Line 3845 | Line 3637 | yyreduce:
3637   }
3638      break;
3639  
3640 <  case 90:
3641 <
3642 < /* Line 1806 of yacc.c  */
3851 < #line 792 "ircd_parser.y"
3640 >  case 98:
3641 > /* Line 1787 of yacc.c  */
3642 > #line 769 "conf_parser.y"
3643      {
3644    if (conf_parser_ctx.pass == 2)
3645    {
# Line 3858 | Line 3649 | yyreduce:
3649   }
3650      break;
3651  
3652 <  case 91:
3653 <
3654 < /* Line 1806 of yacc.c  */
3864 < #line 801 "ircd_parser.y"
3652 >  case 99:
3653 > /* Line 1787 of yacc.c  */
3654 > #line 778 "conf_parser.y"
3655      {
3656    if (conf_parser_ctx.pass == 2)
3657    {
# Line 3871 | Line 3661 | yyreduce:
3661   }
3662      break;
3663  
3664 <  case 108:
3665 <
3666 < /* Line 1806 of yacc.c  */
3877 < #line 828 "ircd_parser.y"
3878 <    {
3879 <                        }
3880 <    break;
3881 <
3882 <  case 109:
3883 <
3884 < /* Line 1806 of yacc.c  */
3885 < #line 832 "ircd_parser.y"
3886 <    {
3887 <                        }
3888 <    break;
3889 <
3890 <  case 110:
3891 <
3892 < /* Line 1806 of yacc.c  */
3893 < #line 836 "ircd_parser.y"
3894 <    {
3895 <  if (conf_parser_ctx.pass == 2)
3896 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3897 <            sizeof(ConfigLoggingEntry.userlog));
3898 < }
3899 <    break;
3900 <
3901 <  case 111:
3902 <
3903 < /* Line 1806 of yacc.c  */
3904 < #line 843 "ircd_parser.y"
3905 <    {
3906 <  if (conf_parser_ctx.pass == 2)
3907 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3908 <            sizeof(ConfigLoggingEntry.failed_operlog));
3909 < }
3910 <    break;
3911 <
3912 <  case 112:
3913 <
3914 < /* Line 1806 of yacc.c  */
3915 < #line 850 "ircd_parser.y"
3664 >  case 106:
3665 > /* Line 1787 of yacc.c  */
3666 > #line 796 "conf_parser.y"
3667      {
3668    if (conf_parser_ctx.pass == 2)
3669 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3919 <            sizeof(ConfigLoggingEntry.operlog));
3669 >    ConfigLoggingEntry.use_logging = yylval.number;
3670   }
3671      break;
3672  
3673 <  case 113:
3674 <
3675 < /* Line 1806 of yacc.c  */
3676 < #line 857 "ircd_parser.y"
3677 <    {
3678 <  if (conf_parser_ctx.pass == 2)
3679 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
3930 <            sizeof(ConfigLoggingEntry.operspylog));
3673 >  case 107:
3674 > /* Line 1787 of yacc.c  */
3675 > #line 802 "conf_parser.y"
3676 >    {
3677 >  lfile[0] = '\0';
3678 >  ltype = 0;
3679 >  lsize = 0;
3680   }
3681      break;
3682  
3683 <  case 114:
3684 <
3685 < /* Line 1806 of yacc.c  */
3937 < #line 864 "ircd_parser.y"
3683 >  case 108:
3684 > /* Line 1787 of yacc.c  */
3685 > #line 807 "conf_parser.y"
3686      {
3687 <  if (conf_parser_ctx.pass == 2)
3688 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
3941 <            sizeof(ConfigLoggingEntry.glinelog));
3687 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3688 >    log_add_file(ltype, lsize, lfile);
3689   }
3690      break;
3691  
3692    case 115:
3693 <
3694 < /* Line 1806 of yacc.c  */
3948 < #line 871 "ircd_parser.y"
3693 > /* Line 1787 of yacc.c  */
3694 > #line 819 "conf_parser.y"
3695      {
3696 <  if (conf_parser_ctx.pass == 2)
3951 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
3952 <            sizeof(ConfigLoggingEntry.klinelog));
3696 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3697   }
3698      break;
3699  
3700    case 116:
3701 <
3702 < /* Line 1806 of yacc.c  */
3959 < #line 878 "ircd_parser.y"
3701 > /* Line 1787 of yacc.c  */
3702 > #line 824 "conf_parser.y"
3703      {
3704 <  if (conf_parser_ctx.pass == 2)
3962 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
3963 <            sizeof(ConfigLoggingEntry.ioerrlog));
3704 >  lsize = (yyvsp[(3) - (4)].number);
3705   }
3706      break;
3707  
3708    case 117:
3709 <
3710 < /* Line 1806 of yacc.c  */
3970 < #line 885 "ircd_parser.y"
3709 > /* Line 1787 of yacc.c  */
3710 > #line 827 "conf_parser.y"
3711      {
3712 <  if (conf_parser_ctx.pass == 2)
3973 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
3974 <            sizeof(ConfigLoggingEntry.killlog));
3712 >  lsize = 0;
3713   }
3714      break;
3715  
3716    case 118:
3717 <
3718 < /* Line 1806 of yacc.c  */
3719 < #line 892 "ircd_parser.y"
3982 <    {
3717 > /* Line 1787 of yacc.c  */
3718 > #line 832 "conf_parser.y"
3719 >    {
3720    if (conf_parser_ctx.pass == 2)
3721 <    set_log_level(L_CRIT);
3721 >    ltype = 0;
3722   }
3723      break;
3724  
3725 <  case 119:
3726 <
3727 < /* Line 1806 of yacc.c  */
3991 < #line 896 "ircd_parser.y"
3725 >  case 122:
3726 > /* Line 1787 of yacc.c  */
3727 > #line 839 "conf_parser.y"
3728      {
3729    if (conf_parser_ctx.pass == 2)
3730 <    set_log_level(L_ERROR);
3730 >    ltype = LOG_TYPE_USER;
3731   }
3732      break;
3733  
3734 <  case 120:
3735 <
3736 < /* Line 1806 of yacc.c  */
4001 < #line 900 "ircd_parser.y"
3734 >  case 123:
3735 > /* Line 1787 of yacc.c  */
3736 > #line 843 "conf_parser.y"
3737      {
3738    if (conf_parser_ctx.pass == 2)
3739 <    set_log_level(L_WARN);
3739 >    ltype = LOG_TYPE_OPER;
3740   }
3741      break;
3742  
3743 <  case 121:
3744 <
3745 < /* Line 1806 of yacc.c  */
4011 < #line 904 "ircd_parser.y"
3743 >  case 124:
3744 > /* Line 1787 of yacc.c  */
3745 > #line 847 "conf_parser.y"
3746      {
3747    if (conf_parser_ctx.pass == 2)
3748 <    set_log_level(L_NOTICE);
3748 >    ltype = LOG_TYPE_GLINE;
3749   }
3750      break;
3751  
3752 <  case 122:
3753 <
3754 < /* Line 1806 of yacc.c  */
4021 < #line 908 "ircd_parser.y"
3752 >  case 125:
3753 > /* Line 1787 of yacc.c  */
3754 > #line 851 "conf_parser.y"
3755      {
3756    if (conf_parser_ctx.pass == 2)
3757 <    set_log_level(L_TRACE);
3757 >    ltype = LOG_TYPE_DLINE;
3758   }
3759      break;
3760  
3761 <  case 123:
3762 <
3763 < /* Line 1806 of yacc.c  */
4031 < #line 912 "ircd_parser.y"
3761 >  case 126:
3762 > /* Line 1787 of yacc.c  */
3763 > #line 855 "conf_parser.y"
3764      {
3765    if (conf_parser_ctx.pass == 2)
3766 <    set_log_level(L_INFO);
3766 >    ltype = LOG_TYPE_KLINE;
3767   }
3768      break;
3769  
3770 <  case 124:
3771 <
3772 < /* Line 1806 of yacc.c  */
4041 < #line 916 "ircd_parser.y"
3770 >  case 127:
3771 > /* Line 1787 of yacc.c  */
3772 > #line 859 "conf_parser.y"
3773      {
3774    if (conf_parser_ctx.pass == 2)
3775 <    set_log_level(L_DEBUG);
3775 >    ltype = LOG_TYPE_KILL;
3776   }
3777      break;
3778  
3779 <  case 125:
3780 <
3781 < /* Line 1806 of yacc.c  */
4051 < #line 922 "ircd_parser.y"
3779 >  case 128:
3780 > /* Line 1787 of yacc.c  */
3781 > #line 863 "conf_parser.y"
3782      {
3783    if (conf_parser_ctx.pass == 2)
3784 <    ConfigLoggingEntry.use_logging = yylval.number;
3784 >    ltype = LOG_TYPE_DEBUG;
3785   }
3786      break;
3787  
3788 <  case 126:
3789 <
3790 < /* Line 1806 of yacc.c  */
4061 < #line 931 "ircd_parser.y"
3788 >  case 129:
3789 > /* Line 1787 of yacc.c  */
3790 > #line 873 "conf_parser.y"
3791      {
3792    if (conf_parser_ctx.pass == 2)
3793    {
# Line 4074 | Line 3803 | yyreduce:
3803   }
3804      break;
3805  
3806 <  case 127:
3807 <
3808 < /* Line 1806 of yacc.c  */
4080 < #line 944 "ircd_parser.y"
3806 >  case 130:
3807 > /* Line 1787 of yacc.c  */
3808 > #line 886 "conf_parser.y"
3809      {
3810    if (conf_parser_ctx.pass == 2)
3811    {
# Line 4112 | Line 3840 | yyreduce:
3840          DupString(new_aconf->host, yy_tmp->host);
3841        else
3842          DupString(new_aconf->host, "*");
3843 +
3844 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3845 +                                     &new_aconf->bits);
3846 +
3847        conf_add_class_to_conf(new_conf, class_name);
3848        if (yy_aconf->passwd != NULL)
3849          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4159 | Line 3891 | yyreduce:
3891   }
3892      break;
3893  
4162  case 141:
4163
4164 /* Line 1806 of yacc.c  */
4165 #line 1031 "ircd_parser.y"
4166    {
4167  if (conf_parser_ctx.pass == 2)
4168  {
4169    if (strlen(yylval.string) > OPERNICKLEN)
4170      yylval.string[OPERNICKLEN] = '\0';
4171
4172    MyFree(yy_conf->name);
4173    DupString(yy_conf->name, yylval.string);
4174  }
4175 }
4176    break;
4177
3894    case 142:
3895 <
3896 < /* Line 1806 of yacc.c  */
4181 < #line 1043 "ircd_parser.y"
3895 > /* Line 1787 of yacc.c  */
3896 > #line 976 "conf_parser.y"
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899    {
4185    if (strlen(yylval.string) > OPERNICKLEN)
4186      yylval.string[OPERNICKLEN] = '\0';
4187
3900      MyFree(yy_conf->name);
3901      DupString(yy_conf->name, yylval.string);
3902    }
# Line 4192 | Line 3904 | yyreduce:
3904      break;
3905  
3906    case 143:
3907 <
3908 < /* Line 1806 of yacc.c  */
4197 < #line 1055 "ircd_parser.y"
3907 > /* Line 1787 of yacc.c  */
3908 > #line 985 "conf_parser.y"
3909      {
3910    if (conf_parser_ctx.pass == 2)
3911    {
# Line 4215 | Line 3926 | yyreduce:
3926      {
3927        DupString(yy_aconf->user, userbuf);
3928        DupString(yy_aconf->host, hostbuf);
3929 +
3930 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3931 +                                    &yy_aconf->bits);
3932      }
3933      else
3934      {
# Line 4230 | Line 3944 | yyreduce:
3944      break;
3945  
3946    case 144:
3947 <
3948 < /* Line 1806 of yacc.c  */
4235 < #line 1089 "ircd_parser.y"
3947 > /* Line 1787 of yacc.c  */
3948 > #line 1022 "conf_parser.y"
3949      {
3950    if (conf_parser_ctx.pass == 2)
3951    {
# Line 4246 | Line 3959 | yyreduce:
3959      break;
3960  
3961    case 145:
3962 <
3963 < /* Line 1806 of yacc.c  */
4251 < #line 1101 "ircd_parser.y"
3962 > /* Line 1787 of yacc.c  */
3963 > #line 1034 "conf_parser.y"
3964      {
3965    if (conf_parser_ctx.pass == 2)
3966    {
# Line 4261 | Line 3973 | yyreduce:
3973      break;
3974  
3975    case 146:
3976 <
3977 < /* Line 1806 of yacc.c  */
4266 < #line 1112 "ircd_parser.y"
3976 > /* Line 1787 of yacc.c  */
3977 > #line 1045 "conf_parser.y"
3978      {
3979   #ifdef HAVE_LIBCRYPTO
3980    if (conf_parser_ctx.pass == 2)
# Line 4307 | Line 4018 | yyreduce:
4018      break;
4019  
4020    case 147:
4021 <
4022 < /* Line 1806 of yacc.c  */
4312 < #line 1154 "ircd_parser.y"
4021 > /* Line 1787 of yacc.c  */
4022 > #line 1087 "conf_parser.y"
4023      {
4024    if (conf_parser_ctx.pass == 2)
4025    {
# Line 4320 | Line 4030 | yyreduce:
4030      break;
4031  
4032    case 148:
4033 <
4034 < /* Line 1806 of yacc.c  */
4325 < #line 1163 "ircd_parser.y"
4033 > /* Line 1787 of yacc.c  */
4034 > #line 1096 "conf_parser.y"
4035      {
4036    if (conf_parser_ctx.pass == 2)
4037      yy_aconf->modes = 0;
# Line 4330 | Line 4039 | yyreduce:
4039      break;
4040  
4041    case 152:
4042 <
4043 < /* Line 1806 of yacc.c  */
4335 < #line 1170 "ircd_parser.y"
4042 > /* Line 1787 of yacc.c  */
4043 > #line 1103 "conf_parser.y"
4044      {
4045    if (conf_parser_ctx.pass == 2)
4046      yy_aconf->modes |= UMODE_BOTS;
# Line 4340 | Line 4048 | yyreduce:
4048      break;
4049  
4050    case 153:
4051 <
4052 < /* Line 1806 of yacc.c  */
4345 < #line 1174 "ircd_parser.y"
4051 > /* Line 1787 of yacc.c  */
4052 > #line 1107 "conf_parser.y"
4053      {
4054    if (conf_parser_ctx.pass == 2)
4055      yy_aconf->modes |= UMODE_CCONN;
# Line 4350 | Line 4057 | yyreduce:
4057      break;
4058  
4059    case 154:
4060 <
4061 < /* Line 1806 of yacc.c  */
4355 < #line 1178 "ircd_parser.y"
4060 > /* Line 1787 of yacc.c  */
4061 > #line 1111 "conf_parser.y"
4062      {
4063    if (conf_parser_ctx.pass == 2)
4064      yy_aconf->modes |= UMODE_CCONN_FULL;
# Line 4360 | Line 4066 | yyreduce:
4066      break;
4067  
4068    case 155:
4069 <
4070 < /* Line 1806 of yacc.c  */
4365 < #line 1182 "ircd_parser.y"
4069 > /* Line 1787 of yacc.c  */
4070 > #line 1115 "conf_parser.y"
4071      {
4072    if (conf_parser_ctx.pass == 2)
4073      yy_aconf->modes |= UMODE_DEAF;
# Line 4370 | Line 4075 | yyreduce:
4075      break;
4076  
4077    case 156:
4078 <
4079 < /* Line 1806 of yacc.c  */
4375 < #line 1186 "ircd_parser.y"
4078 > /* Line 1787 of yacc.c  */
4079 > #line 1119 "conf_parser.y"
4080      {
4081    if (conf_parser_ctx.pass == 2)
4082      yy_aconf->modes |= UMODE_DEBUG;
# Line 4380 | Line 4084 | yyreduce:
4084      break;
4085  
4086    case 157:
4087 <
4088 < /* Line 1806 of yacc.c  */
4385 < #line 1190 "ircd_parser.y"
4087 > /* Line 1787 of yacc.c  */
4088 > #line 1123 "conf_parser.y"
4089      {
4090    if (conf_parser_ctx.pass == 2)
4091      yy_aconf->modes |= UMODE_FULL;
# Line 4390 | Line 4093 | yyreduce:
4093      break;
4094  
4095    case 158:
4096 <
4097 < /* Line 1806 of yacc.c  */
4395 < #line 1194 "ircd_parser.y"
4096 > /* Line 1787 of yacc.c  */
4097 > #line 1127 "conf_parser.y"
4098      {
4099    if (conf_parser_ctx.pass == 2)
4100 <    yy_aconf->modes |= UMODE_SKILL;
4100 >    yy_aconf->modes |= UMODE_HIDDEN;
4101   }
4102      break;
4103  
4104    case 159:
4105 <
4106 < /* Line 1806 of yacc.c  */
4405 < #line 1198 "ircd_parser.y"
4105 > /* Line 1787 of yacc.c  */
4106 > #line 1131 "conf_parser.y"
4107      {
4108    if (conf_parser_ctx.pass == 2)
4109 <    yy_aconf->modes |= UMODE_NCHANGE;
4109 >    yy_aconf->modes |= UMODE_SKILL;
4110   }
4111      break;
4112  
4113    case 160:
4114 <
4115 < /* Line 1806 of yacc.c  */
4415 < #line 1202 "ircd_parser.y"
4114 > /* Line 1787 of yacc.c  */
4115 > #line 1135 "conf_parser.y"
4116      {
4117    if (conf_parser_ctx.pass == 2)
4118 <    yy_aconf->modes |= UMODE_REJ;
4118 >    yy_aconf->modes |= UMODE_NCHANGE;
4119   }
4120      break;
4121  
4122    case 161:
4123 <
4124 < /* Line 1806 of yacc.c  */
4425 < #line 1206 "ircd_parser.y"
4123 > /* Line 1787 of yacc.c  */
4124 > #line 1139 "conf_parser.y"
4125      {
4126    if (conf_parser_ctx.pass == 2)
4127 <    yy_aconf->modes |= UMODE_UNAUTH;
4127 >    yy_aconf->modes |= UMODE_REJ;
4128   }
4129      break;
4130  
4131    case 162:
4132 <
4133 < /* Line 1806 of yacc.c  */
4435 < #line 1210 "ircd_parser.y"
4132 > /* Line 1787 of yacc.c  */
4133 > #line 1143 "conf_parser.y"
4134      {
4135    if (conf_parser_ctx.pass == 2)
4136 <    yy_aconf->modes |= UMODE_SPY;
4136 >    yy_aconf->modes |= UMODE_UNAUTH;
4137   }
4138      break;
4139  
4140    case 163:
4141 <
4142 < /* Line 1806 of yacc.c  */
4445 < #line 1214 "ircd_parser.y"
4141 > /* Line 1787 of yacc.c  */
4142 > #line 1147 "conf_parser.y"
4143      {
4144    if (conf_parser_ctx.pass == 2)
4145 <    yy_aconf->modes |= UMODE_EXTERNAL;
4145 >    yy_aconf->modes |= UMODE_SPY;
4146   }
4147      break;
4148  
4149    case 164:
4150 <
4151 < /* Line 1806 of yacc.c  */
4455 < #line 1218 "ircd_parser.y"
4150 > /* Line 1787 of yacc.c  */
4151 > #line 1151 "conf_parser.y"
4152      {
4153    if (conf_parser_ctx.pass == 2)
4154 <    yy_aconf->modes |= UMODE_OPERWALL;
4154 >    yy_aconf->modes |= UMODE_EXTERNAL;
4155   }
4156      break;
4157  
4158    case 165:
4159 <
4160 < /* Line 1806 of yacc.c  */
4465 < #line 1222 "ircd_parser.y"
4159 > /* Line 1787 of yacc.c  */
4160 > #line 1155 "conf_parser.y"
4161      {
4162    if (conf_parser_ctx.pass == 2)
4163 <    yy_aconf->modes |= UMODE_SERVNOTICE;
4163 >    yy_aconf->modes |= UMODE_OPERWALL;
4164   }
4165      break;
4166  
4167    case 166:
4168 <
4169 < /* Line 1806 of yacc.c  */
4475 < #line 1226 "ircd_parser.y"
4168 > /* Line 1787 of yacc.c  */
4169 > #line 1159 "conf_parser.y"
4170      {
4171    if (conf_parser_ctx.pass == 2)
4172 <    yy_aconf->modes |= UMODE_INVISIBLE;
4172 >    yy_aconf->modes |= UMODE_SERVNOTICE;
4173   }
4174      break;
4175  
4176    case 167:
4177 <
4178 < /* Line 1806 of yacc.c  */
4485 < #line 1230 "ircd_parser.y"
4177 > /* Line 1787 of yacc.c  */
4178 > #line 1163 "conf_parser.y"
4179      {
4180    if (conf_parser_ctx.pass == 2)
4181 <    yy_aconf->modes |= UMODE_WALLOP;
4181 >    yy_aconf->modes |= UMODE_INVISIBLE;
4182   }
4183      break;
4184  
4185    case 168:
4186 <
4187 < /* Line 1806 of yacc.c  */
4495 < #line 1234 "ircd_parser.y"
4186 > /* Line 1787 of yacc.c  */
4187 > #line 1167 "conf_parser.y"
4188      {
4189    if (conf_parser_ctx.pass == 2)
4190 <    yy_aconf->modes |= UMODE_SOFTCALLERID;
4190 >    yy_aconf->modes |= UMODE_WALLOP;
4191   }
4192      break;
4193  
4194    case 169:
4195 <
4196 < /* Line 1806 of yacc.c  */
4505 < #line 1238 "ircd_parser.y"
4195 > /* Line 1787 of yacc.c  */
4196 > #line 1171 "conf_parser.y"
4197      {
4198    if (conf_parser_ctx.pass == 2)
4199 <    yy_aconf->modes |= UMODE_CALLERID;
4199 >    yy_aconf->modes |= UMODE_SOFTCALLERID;
4200   }
4201      break;
4202  
4203    case 170:
4204 <
4205 < /* Line 1806 of yacc.c  */
4515 < #line 1242 "ircd_parser.y"
4204 > /* Line 1787 of yacc.c  */
4205 > #line 1175 "conf_parser.y"
4206      {
4207    if (conf_parser_ctx.pass == 2)
4208 <    yy_aconf->modes |= UMODE_LOCOPS;
4208 >    yy_aconf->modes |= UMODE_CALLERID;
4209   }
4210      break;
4211  
4212    case 171:
4213 <
4214 < /* Line 1806 of yacc.c  */
4525 < #line 1248 "ircd_parser.y"
4213 > /* Line 1787 of yacc.c  */
4214 > #line 1179 "conf_parser.y"
4215      {
4216 +  if (conf_parser_ctx.pass == 2)
4217 +    yy_aconf->modes |= UMODE_LOCOPS;
4218   }
4219      break;
4220  
4221 <  case 175:
4221 >  case 172:
4222 > /* Line 1787 of yacc.c  */
4223 > #line 1185 "conf_parser.y"
4224 >    {
4225 >  if (conf_parser_ctx.pass == 2)
4226 >    yy_aconf->port = 0;
4227 > }
4228 >    break;
4229  
4230 < /* Line 1806 of yacc.c  */
4231 < #line 1252 "ircd_parser.y"
4232 <    { not_atom = 1; }
4230 >  case 176:
4231 > /* Line 1787 of yacc.c  */
4232 > #line 1192 "conf_parser.y"
4233 >    {
4234 >  if (conf_parser_ctx.pass == 2)
4235 >    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4236 > }
4237      break;
4238  
4239    case 177:
4240 + /* Line 1787 of yacc.c  */
4241 + #line 1196 "conf_parser.y"
4242 +    {
4243 +  if (conf_parser_ctx.pass == 2)
4244 +    yy_aconf->port |= OPER_FLAG_REMOTE;
4245 + }
4246 +    break;
4247  
4248 < /* Line 1806 of yacc.c  */
4249 < #line 1253 "ircd_parser.y"
4250 <    { not_atom = 0; }
4248 >  case 178:
4249 > /* Line 1787 of yacc.c  */
4250 > #line 1200 "conf_parser.y"
4251 >    {
4252 >  if (conf_parser_ctx.pass == 2)
4253 >    yy_aconf->port |= OPER_FLAG_K;
4254 > }
4255      break;
4256  
4257    case 179:
4258 <
4259 < /* Line 1806 of yacc.c  */
4547 < #line 1256 "ircd_parser.y"
4258 > /* Line 1787 of yacc.c  */
4259 > #line 1204 "conf_parser.y"
4260      {
4261    if (conf_parser_ctx.pass == 2)
4262 <  {
4551 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4552 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4553 <  }
4262 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4263   }
4264      break;
4265  
4266    case 180:
4267 <
4268 < /* Line 1806 of yacc.c  */
4560 < #line 1263 "ircd_parser.y"
4267 > /* Line 1787 of yacc.c  */
4268 > #line 1208 "conf_parser.y"
4269      {
4270    if (conf_parser_ctx.pass == 2)
4271 <  {
4564 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4565 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4566 <  }
4271 >    yy_aconf->port |= OPER_FLAG_DLINE;
4272   }
4273      break;
4274  
4275    case 181:
4276 <
4277 < /* Line 1806 of yacc.c  */
4573 < #line 1270 "ircd_parser.y"
4276 > /* Line 1787 of yacc.c  */
4277 > #line 1212 "conf_parser.y"
4278      {
4279    if (conf_parser_ctx.pass == 2)
4280 <  {
4577 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4578 <    else yy_aconf->port |= OPER_FLAG_K;
4579 <  }
4280 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4281   }
4282      break;
4283  
4284    case 182:
4285 <
4286 < /* Line 1806 of yacc.c  */
4586 < #line 1277 "ircd_parser.y"
4285 > /* Line 1787 of yacc.c  */
4286 > #line 1216 "conf_parser.y"
4287      {
4288    if (conf_parser_ctx.pass == 2)
4289 <  {
4590 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4591 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4592 <  }
4289 >    yy_aconf->port |= OPER_FLAG_X;
4290   }
4291      break;
4292  
4293    case 183:
4294 <
4295 < /* Line 1806 of yacc.c  */
4599 < #line 1284 "ircd_parser.y"
4294 > /* Line 1787 of yacc.c  */
4295 > #line 1220 "conf_parser.y"
4296      {
4297    if (conf_parser_ctx.pass == 2)
4298 <  {
4603 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4604 <    else yy_aconf->port |= OPER_FLAG_X;
4605 <  }
4298 >    yy_aconf->port |= OPER_FLAG_GLINE;
4299   }
4300      break;
4301  
4302    case 184:
4303 <
4304 < /* Line 1806 of yacc.c  */
4612 < #line 1291 "ircd_parser.y"
4303 > /* Line 1787 of yacc.c  */
4304 > #line 1224 "conf_parser.y"
4305      {
4306    if (conf_parser_ctx.pass == 2)
4307 <  {
4616 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4617 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4618 <  }
4307 >    yy_aconf->port |= OPER_FLAG_DIE;
4308   }
4309      break;
4310  
4311    case 185:
4312 <
4313 < /* Line 1806 of yacc.c  */
4625 < #line 1298 "ircd_parser.y"
4312 > /* Line 1787 of yacc.c  */
4313 > #line 1228 "conf_parser.y"
4314      {
4315    if (conf_parser_ctx.pass == 2)
4316 <  {
4629 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4630 <    else yy_aconf->port |= OPER_FLAG_DIE;
4631 <  }
4316 >    yy_aconf->port |= OPER_FLAG_RESTART;
4317   }
4318      break;
4319  
4320    case 186:
4321 <
4322 < /* Line 1806 of yacc.c  */
4638 < #line 1305 "ircd_parser.y"
4321 > /* Line 1787 of yacc.c  */
4322 > #line 1232 "conf_parser.y"
4323      {
4324    if (conf_parser_ctx.pass == 2)
4325 <  {
4642 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4643 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4644 <  }
4325 >    yy_aconf->port |= OPER_FLAG_REHASH;
4326   }
4327      break;
4328  
4329    case 187:
4330 <
4331 < /* Line 1806 of yacc.c  */
4651 < #line 1312 "ircd_parser.y"
4330 > /* Line 1787 of yacc.c  */
4331 > #line 1236 "conf_parser.y"
4332      {
4333    if (conf_parser_ctx.pass == 2)
4334 <  {
4655 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4656 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4657 <  }
4334 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4335   }
4336      break;
4337  
4338    case 188:
4339 <
4340 < /* Line 1806 of yacc.c  */
4664 < #line 1319 "ircd_parser.y"
4339 > /* Line 1787 of yacc.c  */
4340 > #line 1240 "conf_parser.y"
4341      {
4342    if (conf_parser_ctx.pass == 2)
4343 <  {
4668 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4669 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4670 <  }
4343 >    yy_aconf->port |= OPER_FLAG_N;
4344   }
4345      break;
4346  
4347    case 189:
4348 <
4349 < /* Line 1806 of yacc.c  */
4677 < #line 1326 "ircd_parser.y"
4348 > /* Line 1787 of yacc.c  */
4349 > #line 1244 "conf_parser.y"
4350      {
4351    if (conf_parser_ctx.pass == 2)
4352 <  {
4681 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4682 <    else yy_aconf->port |= OPER_FLAG_N;
4683 <  }
4352 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4353   }
4354      break;
4355  
4356    case 190:
4357 <
4358 < /* Line 1806 of yacc.c  */
4690 < #line 1333 "ircd_parser.y"
4357 > /* Line 1787 of yacc.c  */
4358 > #line 1248 "conf_parser.y"
4359      {
4360    if (conf_parser_ctx.pass == 2)
4361 <  {
4694 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4695 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
4696 <  }
4361 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4362   }
4363      break;
4364  
4365    case 191:
4366 <
4367 < /* Line 1806 of yacc.c  */
4703 < #line 1340 "ircd_parser.y"
4366 > /* Line 1787 of yacc.c  */
4367 > #line 1252 "conf_parser.y"
4368      {
4369    if (conf_parser_ctx.pass == 2)
4370 <  {
4707 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
4708 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
4709 <  }
4370 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4371   }
4372      break;
4373  
4374    case 192:
4375 <
4376 < /* Line 1806 of yacc.c  */
4716 < #line 1347 "ircd_parser.y"
4375 > /* Line 1787 of yacc.c  */
4376 > #line 1256 "conf_parser.y"
4377      {
4378    if (conf_parser_ctx.pass == 2)
4379 <  {
4720 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4721 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4722 <  }
4379 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4380   }
4381      break;
4382  
4383    case 193:
4384 <
4385 < /* Line 1806 of yacc.c  */
4729 < #line 1354 "ircd_parser.y"
4384 > /* Line 1787 of yacc.c  */
4385 > #line 1260 "conf_parser.y"
4386      {
4387    if (conf_parser_ctx.pass == 2)
4388 <  {
4733 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4734 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4735 <  }
4388 >    yy_aconf->port |= OPER_FLAG_SET;
4389   }
4390      break;
4391  
4392    case 194:
4393 <
4394 < /* Line 1806 of yacc.c  */
4742 < #line 1361 "ircd_parser.y"
4393 > /* Line 1787 of yacc.c  */
4394 > #line 1264 "conf_parser.y"
4395      {
4396    if (conf_parser_ctx.pass == 2)
4397 <  {
4746 <    if (not_atom) ClearConfEncrypted(yy_aconf);
4747 <    else SetConfEncrypted(yy_aconf);
4748 <  }
4397 >    yy_aconf->port |= OPER_FLAG_MODULE;
4398   }
4399      break;
4400  
4401    case 195:
4402 <
4403 < /* Line 1806 of yacc.c  */
4755 < #line 1374 "ircd_parser.y"
4402 > /* Line 1787 of yacc.c  */
4403 > #line 1274 "conf_parser.y"
4404      {
4405    if (conf_parser_ctx.pass == 1)
4406    {
# Line 4763 | Line 4411 | yyreduce:
4411      break;
4412  
4413    case 196:
4414 <
4415 < /* Line 1806 of yacc.c  */
4768 < #line 1381 "ircd_parser.y"
4414 > /* Line 1787 of yacc.c  */
4415 > #line 1281 "conf_parser.y"
4416      {
4417    if (conf_parser_ctx.pass == 1)
4418    {
# Line 4776 | Line 4423 | yyreduce:
4423        delete_conf_item(yy_conf);
4424      else
4425      {
4426 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4426 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4427  
4428        if (cconf != NULL)                /* The class existed already */
4429        {
# Line 4809 | Line 4456 | yyreduce:
4456   }
4457      break;
4458  
4459 <  case 215:
4460 <
4461 < /* Line 1806 of yacc.c  */
4815 < #line 1441 "ircd_parser.y"
4459 >  case 214:
4460 > /* Line 1787 of yacc.c  */
4461 > #line 1339 "conf_parser.y"
4462      {
4463    if (conf_parser_ctx.pass == 1)
4464    {
# Line 4822 | Line 4468 | yyreduce:
4468   }
4469      break;
4470  
4471 <  case 216:
4471 >  case 215:
4472 > /* Line 1787 of yacc.c  */
4473 > #line 1348 "conf_parser.y"
4474 >    {
4475 >  if (conf_parser_ctx.pass == 1)
4476 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4477 > }
4478 >    break;
4479  
4480 < /* Line 1806 of yacc.c  */
4481 < #line 1450 "ircd_parser.y"
4480 >  case 216:
4481 > /* Line 1787 of yacc.c  */
4482 > #line 1354 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 1)
4485 <  {
4832 <    MyFree(yy_class_name);
4833 <    DupString(yy_class_name, yylval.string);
4834 <  }
4485 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4486   }
4487      break;
4488  
4489    case 217:
4490 <
4491 < /* Line 1806 of yacc.c  */
4841 < #line 1459 "ircd_parser.y"
4490 > /* Line 1787 of yacc.c  */
4491 > #line 1360 "conf_parser.y"
4492      {
4493    if (conf_parser_ctx.pass == 1)
4494 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4494 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4495   }
4496      break;
4497  
4498    case 218:
4499 <
4500 < /* Line 1806 of yacc.c  */
4851 < #line 1465 "ircd_parser.y"
4499 > /* Line 1787 of yacc.c  */
4500 > #line 1366 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 1)
4503 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4503 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4504   }
4505      break;
4506  
4507    case 219:
4508 <
4509 < /* Line 1806 of yacc.c  */
4861 < #line 1471 "ircd_parser.y"
4508 > /* Line 1787 of yacc.c  */
4509 > #line 1372 "conf_parser.y"
4510      {
4511    if (conf_parser_ctx.pass == 1)
4512 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4512 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4513   }
4514      break;
4515  
4516    case 220:
4517 <
4518 < /* Line 1806 of yacc.c  */
4871 < #line 1477 "ircd_parser.y"
4517 > /* Line 1787 of yacc.c  */
4518 > #line 1378 "conf_parser.y"
4519      {
4520    if (conf_parser_ctx.pass == 1)
4521 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4521 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4522   }
4523      break;
4524  
4525    case 221:
4526 <
4527 < /* Line 1806 of yacc.c  */
4881 < #line 1483 "ircd_parser.y"
4526 > /* Line 1787 of yacc.c  */
4527 > #line 1384 "conf_parser.y"
4528      {
4529    if (conf_parser_ctx.pass == 1)
4530 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4530 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4531   }
4532      break;
4533  
4534    case 222:
4535 <
4536 < /* Line 1806 of yacc.c  */
4891 < #line 1489 "ircd_parser.y"
4535 > /* Line 1787 of yacc.c  */
4536 > #line 1390 "conf_parser.y"
4537      {
4538    if (conf_parser_ctx.pass == 1)
4539 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4539 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4540   }
4541      break;
4542  
4543    case 223:
4544 <
4545 < /* Line 1806 of yacc.c  */
4901 < #line 1495 "ircd_parser.y"
4544 > /* Line 1787 of yacc.c  */
4545 > #line 1396 "conf_parser.y"
4546      {
4547    if (conf_parser_ctx.pass == 1)
4548 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4548 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4549   }
4550      break;
4551  
4552    case 224:
4553 <
4554 < /* Line 1806 of yacc.c  */
4911 < #line 1501 "ircd_parser.y"
4553 > /* Line 1787 of yacc.c  */
4554 > #line 1402 "conf_parser.y"
4555      {
4556    if (conf_parser_ctx.pass == 1)
4557 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4557 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4558 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4559   }
4560      break;
4561  
4562    case 225:
4563 <
4564 < /* Line 1806 of yacc.c  */
4921 < #line 1507 "ircd_parser.y"
4563 > /* Line 1787 of yacc.c  */
4564 > #line 1409 "conf_parser.y"
4565      {
4566    if (conf_parser_ctx.pass == 1)
4567 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4567 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4568   }
4569      break;
4570  
4571    case 226:
4572 <
4573 < /* Line 1806 of yacc.c  */
4931 < #line 1513 "ircd_parser.y"
4572 > /* Line 1787 of yacc.c  */
4573 > #line 1415 "conf_parser.y"
4574      {
4575    if (conf_parser_ctx.pass == 1)
4576 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4576 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4577   }
4578      break;
4579  
4580    case 227:
4581 <
4582 < /* Line 1806 of yacc.c  */
4941 < #line 1519 "ircd_parser.y"
4581 > /* Line 1787 of yacc.c  */
4582 > #line 1421 "conf_parser.y"
4583      {
4584    if (conf_parser_ctx.pass == 1)
4585 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4585 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4586   }
4587      break;
4588  
4589    case 228:
4590 <
4591 < /* Line 1806 of yacc.c  */
4951 < #line 1525 "ircd_parser.y"
4952 <    {
4953 <  if (conf_parser_ctx.pass == 1)
4954 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4955 < }
4956 <    break;
4957 <
4958 <  case 229:
4959 <
4960 < /* Line 1806 of yacc.c  */
4961 < #line 1534 "ircd_parser.y"
4590 > /* Line 1787 of yacc.c  */
4591 > #line 1430 "conf_parser.y"
4592      {
4593    if (conf_parser_ctx.pass == 2)
4594    {
# Line 4968 | Line 4598 | yyreduce:
4598   }
4599      break;
4600  
4601 <  case 230:
4602 <
4603 < /* Line 1806 of yacc.c  */
4974 < #line 1541 "ircd_parser.y"
4601 >  case 229:
4602 > /* Line 1787 of yacc.c  */
4603 > #line 1437 "conf_parser.y"
4604      {
4605    if (conf_parser_ctx.pass == 2)
4606    {
# Line 4981 | Line 4610 | yyreduce:
4610   }
4611      break;
4612  
4613 <  case 231:
4614 <
4615 < /* Line 1806 of yacc.c  */
4987 < #line 1550 "ircd_parser.y"
4613 >  case 230:
4614 > /* Line 1787 of yacc.c  */
4615 > #line 1446 "conf_parser.y"
4616      {
4617    listener_flags = 0;
4618   }
4619      break;
4620  
4621 <  case 235:
4622 <
4623 < /* Line 1806 of yacc.c  */
4996 < #line 1556 "ircd_parser.y"
4621 >  case 234:
4622 > /* Line 1787 of yacc.c  */
4623 > #line 1452 "conf_parser.y"
4624      {
4625    if (conf_parser_ctx.pass == 2)
4626      listener_flags |= LISTENER_SSL;
4627   }
4628      break;
4629  
4630 <  case 236:
4631 <
4632 < /* Line 1806 of yacc.c  */
5006 < #line 1560 "ircd_parser.y"
4630 >  case 235:
4631 > /* Line 1787 of yacc.c  */
4632 > #line 1456 "conf_parser.y"
4633      {
4634    if (conf_parser_ctx.pass == 2)
4635      listener_flags |= LISTENER_HIDDEN;
4636   }
4637      break;
4638  
4639 <  case 237:
4640 <
4641 < /* Line 1806 of yacc.c  */
5016 < #line 1564 "ircd_parser.y"
4639 >  case 236:
4640 > /* Line 1787 of yacc.c  */
4641 > #line 1460 "conf_parser.y"
4642      {
4643    if (conf_parser_ctx.pass == 2)
4644      listener_flags |= LISTENER_SERVER;
4645   }
4646      break;
4647  
4648 <  case 245:
4649 <
4650 < /* Line 1806 of yacc.c  */
5026 < #line 1574 "ircd_parser.y"
4648 >  case 244:
4649 > /* Line 1787 of yacc.c  */
4650 > #line 1470 "conf_parser.y"
4651      { listener_flags = 0; }
4652      break;
4653  
4654 <  case 249:
4655 <
4656 < /* Line 1806 of yacc.c  */
5033 < #line 1579 "ircd_parser.y"
4654 >  case 248:
4655 > /* Line 1787 of yacc.c  */
4656 > #line 1475 "conf_parser.y"
4657      {
4658    if (conf_parser_ctx.pass == 2)
4659    {
# Line 5047 | Line 4670 | yyreduce:
4670   }
4671      break;
4672  
4673 <  case 250:
4674 <
4675 < /* Line 1806 of yacc.c  */
5053 < #line 1593 "ircd_parser.y"
4673 >  case 249:
4674 > /* Line 1787 of yacc.c  */
4675 > #line 1489 "conf_parser.y"
4676      {
4677    if (conf_parser_ctx.pass == 2)
4678    {
# Line 5071 | Line 4693 | yyreduce:
4693   }
4694      break;
4695  
4696 <  case 251:
4697 <
4698 < /* Line 1806 of yacc.c  */
5077 < #line 1613 "ircd_parser.y"
4696 >  case 250:
4697 > /* Line 1787 of yacc.c  */
4698 > #line 1509 "conf_parser.y"
4699      {
4700    if (conf_parser_ctx.pass == 2)
4701    {
# Line 5084 | Line 4705 | yyreduce:
4705   }
4706      break;
4707  
4708 <  case 252:
4709 <
4710 < /* Line 1806 of yacc.c  */
5090 < #line 1622 "ircd_parser.y"
4708 >  case 251:
4709 > /* Line 1787 of yacc.c  */
4710 > #line 1518 "conf_parser.y"
4711      {
4712    if (conf_parser_ctx.pass == 2)
4713    {
# Line 5097 | Line 4717 | yyreduce:
4717   }
4718      break;
4719  
4720 <  case 253:
4721 <
4722 < /* Line 1806 of yacc.c  */
5103 < #line 1634 "ircd_parser.y"
4720 >  case 252:
4721 > /* Line 1787 of yacc.c  */
4722 > #line 1530 "conf_parser.y"
4723      {
4724    if (conf_parser_ctx.pass == 2)
4725    {
# Line 5115 | Line 4734 | yyreduce:
4734   }
4735      break;
4736  
4737 <  case 254:
4738 <
4739 < /* Line 1806 of yacc.c  */
5121 < #line 1646 "ircd_parser.y"
4737 >  case 253:
4738 > /* Line 1787 of yacc.c  */
4739 > #line 1542 "conf_parser.y"
4740      {
4741    if (conf_parser_ctx.pass == 2)
4742    {
# Line 5176 | Line 4794 | yyreduce:
4794   }
4795      break;
4796  
4797 <  case 266:
4798 <
4799 < /* Line 1806 of yacc.c  */
5182 < #line 1708 "ircd_parser.y"
4797 >  case 265:
4798 > /* Line 1787 of yacc.c  */
4799 > #line 1604 "conf_parser.y"
4800      {
4801    if (conf_parser_ctx.pass == 2)
4802    {
# Line 5215 | Line 4832 | yyreduce:
4832   }
4833      break;
4834  
4835 <  case 267:
4836 <
4837 < /* Line 1806 of yacc.c  */
5221 < #line 1745 "ircd_parser.y"
4835 >  case 266:
4836 > /* Line 1787 of yacc.c  */
4837 > #line 1639 "conf_parser.y"
4838      {
4839    if (conf_parser_ctx.pass == 2)
4840    {
# Line 5232 | Line 4848 | yyreduce:
4848   }
4849      break;
4850  
4851 <  case 268:
4852 <
4853 < /* Line 1806 of yacc.c  */
5238 < #line 1758 "ircd_parser.y"
4851 >  case 267:
4852 > /* Line 1787 of yacc.c  */
4853 > #line 1652 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856    {
# Line 5245 | Line 4860 | yyreduce:
4860   }
4861      break;
4862  
4863 <  case 269:
4864 <
4865 < /* Line 1806 of yacc.c  */
5251 < #line 1767 "ircd_parser.y"
4863 >  case 268:
4864 > /* Line 1787 of yacc.c  */
4865 > #line 1661 "conf_parser.y"
4866      {
4867    if (conf_parser_ctx.pass == 2)
4868    {
# Line 5260 | Line 4874 | yyreduce:
4874   }
4875      break;
4876  
4877 <  case 270:
4878 <
4879 < /* Line 1806 of yacc.c  */
5266 < #line 1778 "ircd_parser.y"
5267 <    {
5268 < }
5269 <    break;
5270 <
5271 <  case 274:
5272 <
5273 < /* Line 1806 of yacc.c  */
5274 < #line 1782 "ircd_parser.y"
5275 <    { not_atom = 1; }
5276 <    break;
5277 <
5278 <  case 276:
5279 <
5280 < /* Line 1806 of yacc.c  */
5281 < #line 1783 "ircd_parser.y"
5282 <    { not_atom = 0; }
5283 <    break;
5284 <
5285 <  case 278:
5286 <
5287 < /* Line 1806 of yacc.c  */
5288 < #line 1786 "ircd_parser.y"
4877 >  case 269:
4878 > /* Line 1787 of yacc.c  */
4879 > #line 1672 "conf_parser.y"
4880      {
5290  if (conf_parser_ctx.pass == 2)
5291  {
5292    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5293    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5294  }
4881   }
4882      break;
4883  
4884 <  case 279:
4885 <
4886 < /* Line 1806 of yacc.c  */
5301 < #line 1793 "ircd_parser.y"
4884 >  case 273:
4885 > /* Line 1787 of yacc.c  */
4886 > #line 1677 "conf_parser.y"
4887      {
4888    if (conf_parser_ctx.pass == 2)
4889 <  {
5305 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5306 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5307 <  }
4889 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4890   }
4891      break;
4892  
4893 <  case 280:
4894 <
4895 < /* Line 1806 of yacc.c  */
5314 < #line 1800 "ircd_parser.y"
4893 >  case 274:
4894 > /* Line 1787 of yacc.c  */
4895 > #line 1681 "conf_parser.y"
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898 <  {
5318 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5319 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5320 <  }
4898 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4899   }
4900      break;
4901  
4902 <  case 281:
4903 <
4904 < /* Line 1806 of yacc.c  */
5327 < #line 1807 "ircd_parser.y"
4902 >  case 275:
4903 > /* Line 1787 of yacc.c  */
4904 > #line 1685 "conf_parser.y"
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907 <  {
5331 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5332 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5333 <  }
4907 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4908   }
4909      break;
4910  
4911 <  case 282:
4912 <
4913 < /* Line 1806 of yacc.c  */
5340 < #line 1814 "ircd_parser.y"
4911 >  case 276:
4912 > /* Line 1787 of yacc.c  */
4913 > #line 1689 "conf_parser.y"
4914      {
4915    if (conf_parser_ctx.pass == 2)
4916 <  {
5344 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5345 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5346 <  }
4916 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4917   }
4918      break;
4919  
4920 <  case 283:
4921 <
4922 < /* Line 1806 of yacc.c  */
5353 < #line 1821 "ircd_parser.y"
4920 >  case 277:
4921 > /* Line 1787 of yacc.c  */
4922 > #line 1693 "conf_parser.y"
4923      {
4924    if (conf_parser_ctx.pass == 2)
4925 <  {
5357 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5358 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5359 <  }
4925 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4926   }
4927      break;
4928  
4929 <  case 284:
4930 <
4931 < /* Line 1806 of yacc.c  */
5366 < #line 1828 "ircd_parser.y"
4929 >  case 278:
4930 > /* Line 1787 of yacc.c  */
4931 > #line 1697 "conf_parser.y"
4932      {
4933    if (conf_parser_ctx.pass == 2)
4934 <  {
5370 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5371 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5372 <  }
4934 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4935   }
4936      break;
4937  
4938 <  case 285:
4939 <
4940 < /* Line 1806 of yacc.c  */
5379 < #line 1835 "ircd_parser.y"
4938 >  case 279:
4939 > /* Line 1787 of yacc.c  */
4940 > #line 1701 "conf_parser.y"
4941      {
4942    if (conf_parser_ctx.pass == 2)
4943 <  {
5383 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5384 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5385 <  }
4943 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4944   }
4945      break;
4946  
4947 <  case 286:
4948 <
4949 < /* Line 1806 of yacc.c  */
5392 < #line 1842 "ircd_parser.y"
4947 >  case 280:
4948 > /* Line 1787 of yacc.c  */
4949 > #line 1705 "conf_parser.y"
4950      {
4951    if (conf_parser_ctx.pass == 2)
4952 <  {
5396 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5397 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5398 <  }
4952 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4953   }
4954      break;
4955  
4956 <  case 287:
4957 <
4958 < /* Line 1806 of yacc.c  */
5405 < #line 1849 "ircd_parser.y"
4956 >  case 281:
4957 > /* Line 1787 of yacc.c  */
4958 > #line 1709 "conf_parser.y"
4959      {
4960    if (conf_parser_ctx.pass == 2)
4961 <  {
5409 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5410 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5411 <  }
4961 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4962   }
4963      break;
4964  
4965 <  case 288:
4966 <
4967 < /* Line 1806 of yacc.c  */
5418 < #line 1859 "ircd_parser.y"
4965 >  case 282:
4966 > /* Line 1787 of yacc.c  */
4967 > #line 1716 "conf_parser.y"
4968      {
4969    if (conf_parser_ctx.pass == 2)
4970    {
# Line 5428 | Line 4977 | yyreduce:
4977      }
4978      else
4979      {
4980 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4980 >      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4981        yy_conf->name = NULL;
4982      }
4983    }
4984   }
4985      break;
4986  
4987 <  case 289:
4988 <
4989 < /* Line 1806 of yacc.c  */
5441 < #line 1878 "ircd_parser.y"
4987 >  case 283:
4988 > /* Line 1787 of yacc.c  */
4989 > #line 1735 "conf_parser.y"
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992    {
# Line 5449 | Line 4997 | yyreduce:
4997   }
4998      break;
4999  
5000 <  case 290:
5001 <
5002 < /* Line 1806 of yacc.c  */
5455 < #line 1888 "ircd_parser.y"
5000 >  case 284:
5001 > /* Line 1787 of yacc.c  */
5002 > #line 1745 "conf_parser.y"
5003      {
5004    if (conf_parser_ctx.pass == 2)
5005    {
# Line 5462 | Line 5009 | yyreduce:
5009   }
5010      break;
5011  
5012 <  case 291:
5013 <
5014 < /* Line 1806 of yacc.c  */
5468 < #line 1901 "ircd_parser.y"
5012 >  case 285:
5013 > /* Line 1787 of yacc.c  */
5014 > #line 1758 "conf_parser.y"
5015      {
5016    if (conf_parser_ctx.pass == 2)
5017    {
# Line 5475 | Line 5021 | yyreduce:
5021   }
5022      break;
5023  
5024 <  case 292:
5025 <
5026 < /* Line 1806 of yacc.c  */
5481 < #line 1908 "ircd_parser.y"
5024 >  case 286:
5025 > /* Line 1787 of yacc.c  */
5026 > #line 1765 "conf_parser.y"
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029    {
# Line 5488 | Line 5033 | yyreduce:
5033   }
5034      break;
5035  
5036 <  case 299:
5037 <
5038 < /* Line 1806 of yacc.c  */
5494 < #line 1920 "ircd_parser.y"
5036 >  case 293:
5037 > /* Line 1787 of yacc.c  */
5038 > #line 1777 "conf_parser.y"
5039      {
5040    if (conf_parser_ctx.pass == 2)
5041    {
# Line 5501 | Line 5045 | yyreduce:
5045   }
5046      break;
5047  
5048 <  case 300:
5049 <
5050 < /* Line 1806 of yacc.c  */
5507 < #line 1929 "ircd_parser.y"
5048 >  case 294:
5049 > /* Line 1787 of yacc.c  */
5050 > #line 1786 "conf_parser.y"
5051      {
5052    if (conf_parser_ctx.pass == 2)
5053    {
# Line 5520 | Line 5063 | yyreduce:
5063   }
5064      break;
5065  
5066 <  case 301:
5067 <
5068 < /* Line 1806 of yacc.c  */
5526 < #line 1944 "ircd_parser.y"
5066 >  case 295:
5067 > /* Line 1787 of yacc.c  */
5068 > #line 1801 "conf_parser.y"
5069      {
5070    if (conf_parser_ctx.pass == 2)
5071    {
# Line 5534 | Line 5076 | yyreduce:
5076   }
5077      break;
5078  
5079 <  case 307:
5080 <
5081 < /* Line 1806 of yacc.c  */
5540 < #line 1962 "ircd_parser.y"
5079 >  case 301:
5080 > /* Line 1787 of yacc.c  */
5081 > #line 1819 "conf_parser.y"
5082      {
5083    if (conf_parser_ctx.pass == 2)
5084    {
# Line 5550 | Line 5091 | yyreduce:
5091   }
5092      break;
5093  
5094 <  case 308:
5095 <
5096 < /* Line 1806 of yacc.c  */
5556 < #line 1977 "ircd_parser.y"
5094 >  case 302:
5095 > /* Line 1787 of yacc.c  */
5096 > #line 1834 "conf_parser.y"
5097      {
5098    if (conf_parser_ctx.pass == 2)
5099    {
# Line 5564 | Line 5104 | yyreduce:
5104   }
5105      break;
5106  
5107 <  case 309:
5108 <
5109 < /* Line 1806 of yacc.c  */
5570 < #line 1985 "ircd_parser.y"
5107 >  case 303:
5108 > /* Line 1787 of yacc.c  */
5109 > #line 1842 "conf_parser.y"
5110      {
5111    if (conf_parser_ctx.pass == 2)
5112    {
# Line 5576 | Line 5115 | yyreduce:
5115   }
5116      break;
5117  
5118 <  case 316:
5119 <
5120 < /* Line 1806 of yacc.c  */
5582 < #line 1996 "ircd_parser.y"
5118 >  case 310:
5119 > /* Line 1787 of yacc.c  */
5120 > #line 1853 "conf_parser.y"
5121      {
5122    if (conf_parser_ctx.pass == 2)
5123    {
# Line 5589 | Line 5127 | yyreduce:
5127   }
5128      break;
5129  
5130 <  case 317:
5131 <
5132 < /* Line 1806 of yacc.c  */
5595 < #line 2005 "ircd_parser.y"
5130 >  case 311:
5131 > /* Line 1787 of yacc.c  */
5132 > #line 1862 "conf_parser.y"
5133      {
5134    if (conf_parser_ctx.pass == 2)
5135    {
# Line 5615 | Line 5152 | yyreduce:
5152   }
5153      break;
5154  
5155 <  case 318:
5156 <
5157 < /* Line 1806 of yacc.c  */
5621 < #line 2027 "ircd_parser.y"
5155 >  case 312:
5156 > /* Line 1787 of yacc.c  */
5157 > #line 1884 "conf_parser.y"
5158      {
5159    if (conf_parser_ctx.pass == 2)
5160      yy_match_item->action = 0;
5161   }
5162      break;
5163  
5164 <  case 322:
5165 <
5166 < /* Line 1806 of yacc.c  */
5631 < #line 2034 "ircd_parser.y"
5164 >  case 316:
5165 > /* Line 1787 of yacc.c  */
5166 > #line 1891 "conf_parser.y"
5167      {
5168    if (conf_parser_ctx.pass == 2)
5169      yy_match_item->action |= SHARED_KLINE;
5170   }
5171      break;
5172  
5173 <  case 323:
5174 <
5175 < /* Line 1806 of yacc.c  */
5641 < #line 2038 "ircd_parser.y"
5173 >  case 317:
5174 > /* Line 1787 of yacc.c  */
5175 > #line 1895 "conf_parser.y"
5176      {
5177    if (conf_parser_ctx.pass == 2)
5178 <    yy_match_item->action |= SHARED_TKLINE;
5178 >    yy_match_item->action |= SHARED_UNKLINE;
5179   }
5180      break;
5181  
5182 <  case 324:
5183 <
5184 < /* Line 1806 of yacc.c  */
5651 < #line 2042 "ircd_parser.y"
5182 >  case 318:
5183 > /* Line 1787 of yacc.c  */
5184 > #line 1899 "conf_parser.y"
5185      {
5186    if (conf_parser_ctx.pass == 2)
5187 <    yy_match_item->action |= SHARED_UNKLINE;
5187 >    yy_match_item->action |= SHARED_DLINE;
5188   }
5189      break;
5190  
5191 <  case 325:
5192 <
5193 < /* Line 1806 of yacc.c  */
5661 < #line 2046 "ircd_parser.y"
5191 >  case 319:
5192 > /* Line 1787 of yacc.c  */
5193 > #line 1903 "conf_parser.y"
5194      {
5195    if (conf_parser_ctx.pass == 2)
5196 <    yy_match_item->action |= SHARED_XLINE;
5196 >    yy_match_item->action |= SHARED_UNDLINE;
5197   }
5198      break;
5199  
5200 <  case 326:
5201 <
5202 < /* Line 1806 of yacc.c  */
5671 < #line 2050 "ircd_parser.y"
5200 >  case 320:
5201 > /* Line 1787 of yacc.c  */
5202 > #line 1907 "conf_parser.y"
5203      {
5204    if (conf_parser_ctx.pass == 2)
5205 <    yy_match_item->action |= SHARED_TXLINE;
5205 >    yy_match_item->action |= SHARED_XLINE;
5206   }
5207      break;
5208  
5209 <  case 327:
5210 <
5211 < /* Line 1806 of yacc.c  */
5681 < #line 2054 "ircd_parser.y"
5209 >  case 321:
5210 > /* Line 1787 of yacc.c  */
5211 > #line 1911 "conf_parser.y"
5212      {
5213    if (conf_parser_ctx.pass == 2)
5214      yy_match_item->action |= SHARED_UNXLINE;
5215   }
5216      break;
5217  
5218 <  case 328:
5219 <
5220 < /* Line 1806 of yacc.c  */
5691 < #line 2058 "ircd_parser.y"
5218 >  case 322:
5219 > /* Line 1787 of yacc.c  */
5220 > #line 1915 "conf_parser.y"
5221      {
5222    if (conf_parser_ctx.pass == 2)
5223      yy_match_item->action |= SHARED_RESV;
5224   }
5225      break;
5226  
5227 <  case 329:
5228 <
5229 < /* Line 1806 of yacc.c  */
5701 < #line 2062 "ircd_parser.y"
5702 <    {
5703 <  if (conf_parser_ctx.pass == 2)
5704 <    yy_match_item->action |= SHARED_TRESV;
5705 < }
5706 <    break;
5707 <
5708 <  case 330:
5709 <
5710 < /* Line 1806 of yacc.c  */
5711 < #line 2066 "ircd_parser.y"
5227 >  case 323:
5228 > /* Line 1787 of yacc.c  */
5229 > #line 1919 "conf_parser.y"
5230      {
5231    if (conf_parser_ctx.pass == 2)
5232      yy_match_item->action |= SHARED_UNRESV;
5233   }
5234      break;
5235  
5236 <  case 331:
5237 <
5238 < /* Line 1806 of yacc.c  */
5721 < #line 2070 "ircd_parser.y"
5236 >  case 324:
5237 > /* Line 1787 of yacc.c  */
5238 > #line 1923 "conf_parser.y"
5239      {
5240    if (conf_parser_ctx.pass == 2)
5241      yy_match_item->action |= SHARED_LOCOPS;
5242   }
5243      break;
5244  
5245 <  case 332:
5246 <
5247 < /* Line 1806 of yacc.c  */
5731 < #line 2074 "ircd_parser.y"
5245 >  case 325:
5246 > /* Line 1787 of yacc.c  */
5247 > #line 1927 "conf_parser.y"
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250      yy_match_item->action = SHARED_ALL;
5251   }
5252      break;
5253  
5254 <  case 333:
5255 <
5256 < /* Line 1806 of yacc.c  */
5741 < #line 2083 "ircd_parser.y"
5254 >  case 326:
5255 > /* Line 1787 of yacc.c  */
5256 > #line 1936 "conf_parser.y"
5257      {
5258    if (conf_parser_ctx.pass == 2)
5259    {
# Line 5748 | Line 5263 | yyreduce:
5263   }
5264      break;
5265  
5266 <  case 334:
5267 <
5268 < /* Line 1806 of yacc.c  */
5754 < #line 2090 "ircd_parser.y"
5266 >  case 327:
5267 > /* Line 1787 of yacc.c  */
5268 > #line 1943 "conf_parser.y"
5269      {
5270    if (conf_parser_ctx.pass == 2)
5271    {
# Line 5762 | Line 5276 | yyreduce:
5276   }
5277      break;
5278  
5279 <  case 340:
5280 <
5281 < /* Line 1806 of yacc.c  */
5768 < #line 2103 "ircd_parser.y"
5279 >  case 333:
5280 > /* Line 1787 of yacc.c  */
5281 > #line 1956 "conf_parser.y"
5282      {
5283    if (conf_parser_ctx.pass == 2)
5284      DupString(yy_conf->name, yylval.string);
5285   }
5286      break;
5287  
5288 <  case 341:
5289 <
5290 < /* Line 1806 of yacc.c  */
5778 < #line 2109 "ircd_parser.y"
5288 >  case 334:
5289 > /* Line 1787 of yacc.c  */
5290 > #line 1962 "conf_parser.y"
5291      {
5292    if (conf_parser_ctx.pass == 2)
5293      yy_conf->flags = 0;
5294   }
5295      break;
5296  
5297 <  case 345:
5298 <
5299 < /* Line 1806 of yacc.c  */
5788 < #line 2116 "ircd_parser.y"
5297 >  case 338:
5298 > /* Line 1787 of yacc.c  */
5299 > #line 1969 "conf_parser.y"
5300      {
5301    if (conf_parser_ctx.pass == 2)
5302      yy_conf->flags |= SHARED_KLINE;
5303   }
5304      break;
5305  
5306 <  case 346:
5307 <
5308 < /* Line 1806 of yacc.c  */
5798 < #line 2120 "ircd_parser.y"
5306 >  case 339:
5307 > /* Line 1787 of yacc.c  */
5308 > #line 1973 "conf_parser.y"
5309      {
5310    if (conf_parser_ctx.pass == 2)
5311 <    yy_conf->flags |= SHARED_TKLINE;
5311 >    yy_conf->flags |= SHARED_UNKLINE;
5312   }
5313      break;
5314  
5315 <  case 347:
5316 <
5317 < /* Line 1806 of yacc.c  */
5808 < #line 2124 "ircd_parser.y"
5315 >  case 340:
5316 > /* Line 1787 of yacc.c  */
5317 > #line 1977 "conf_parser.y"
5318      {
5319    if (conf_parser_ctx.pass == 2)
5320 <    yy_conf->flags |= SHARED_UNKLINE;
5320 >    yy_conf->flags |= SHARED_DLINE;
5321   }
5322      break;
5323  
5324 <  case 348:
5325 <
5326 < /* Line 1806 of yacc.c  */
5818 < #line 2128 "ircd_parser.y"
5324 >  case 341:
5325 > /* Line 1787 of yacc.c  */
5326 > #line 1981 "conf_parser.y"
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329 <    yy_conf->flags |= SHARED_XLINE;
5329 >    yy_conf->flags |= SHARED_UNDLINE;
5330   }
5331      break;
5332  
5333 <  case 349:
5334 <
5335 < /* Line 1806 of yacc.c  */
5828 < #line 2132 "ircd_parser.y"
5333 >  case 342:
5334 > /* Line 1787 of yacc.c  */
5335 > #line 1985 "conf_parser.y"
5336      {
5337    if (conf_parser_ctx.pass == 2)
5338 <    yy_conf->flags |= SHARED_TXLINE;
5338 >    yy_conf->flags |= SHARED_XLINE;
5339   }
5340      break;
5341  
5342 <  case 350:
5343 <
5344 < /* Line 1806 of yacc.c  */
5838 < #line 2136 "ircd_parser.y"
5342 >  case 343:
5343 > /* Line 1787 of yacc.c  */
5344 > #line 1989 "conf_parser.y"
5345      {
5346    if (conf_parser_ctx.pass == 2)
5347      yy_conf->flags |= SHARED_UNXLINE;
5348   }
5349      break;
5350  
5351 <  case 351:
5352 <
5353 < /* Line 1806 of yacc.c  */
5848 < #line 2140 "ircd_parser.y"
5351 >  case 344:
5352 > /* Line 1787 of yacc.c  */
5353 > #line 1993 "conf_parser.y"
5354      {
5355    if (conf_parser_ctx.pass == 2)
5356      yy_conf->flags |= SHARED_RESV;
5357   }
5358      break;
5359  
5360 <  case 352:
5361 <
5362 < /* Line 1806 of yacc.c  */
5858 < #line 2144 "ircd_parser.y"
5859 <    {
5860 <  if (conf_parser_ctx.pass == 2)
5861 <    yy_conf->flags |= SHARED_TRESV;
5862 < }
5863 <    break;
5864 <
5865 <  case 353:
5866 <
5867 < /* Line 1806 of yacc.c  */
5868 < #line 2148 "ircd_parser.y"
5360 >  case 345:
5361 > /* Line 1787 of yacc.c  */
5362 > #line 1997 "conf_parser.y"
5363      {
5364    if (conf_parser_ctx.pass == 2)
5365      yy_conf->flags |= SHARED_UNRESV;
5366   }
5367      break;
5368  
5369 <  case 354:
5370 <
5371 < /* Line 1806 of yacc.c  */
5878 < #line 2152 "ircd_parser.y"
5369 >  case 346:
5370 > /* Line 1787 of yacc.c  */
5371 > #line 2001 "conf_parser.y"
5372      {
5373    if (conf_parser_ctx.pass == 2)
5374      yy_conf->flags |= SHARED_LOCOPS;
5375   }
5376      break;
5377  
5378 <  case 355:
5379 <
5380 < /* Line 1806 of yacc.c  */
5888 < #line 2156 "ircd_parser.y"
5378 >  case 347:
5379 > /* Line 1787 of yacc.c  */
5380 > #line 2005 "conf_parser.y"
5381      {
5382    if (conf_parser_ctx.pass == 2)
5383      yy_conf->flags = SHARED_ALL;
5384   }
5385      break;
5386  
5387 <  case 356:
5388 <
5389 < /* Line 1806 of yacc.c  */
5898 < #line 2165 "ircd_parser.y"
5387 >  case 348:
5388 > /* Line 1787 of yacc.c  */
5389 > #line 2014 "conf_parser.y"
5390      {
5391    if (conf_parser_ctx.pass == 2)
5392    {
5393      yy_conf = make_conf_item(SERVER_TYPE);
5394 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5395 <    yy_aconf->passwd = NULL;
5394 >    yy_aconf = map_to_conf(yy_conf);
5395 >
5396      /* defaults */
5397      yy_aconf->port = PORTNUM;
5907
5908    if (ConfigFileEntry.burst_away)
5909      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5398    }
5399    else
5400    {
# Line 5916 | Line 5404 | yyreduce:
5404   }
5405      break;
5406  
5407 <  case 357:
5408 <
5409 < /* Line 1806 of yacc.c  */
5922 < #line 2183 "ircd_parser.y"
5407 >  case 349:
5408 > /* Line 1787 of yacc.c  */
5409 > #line 2029 "conf_parser.y"
5410      {
5411    if (conf_parser_ctx.pass == 2)
5412    {
5413 <    struct CollectItem *yy_hconf=NULL;
5414 <    struct CollectItem *yy_lconf=NULL;
5415 <    dlink_node *ptr;
5416 <    dlink_node *next_ptr;
5417 < #ifdef HAVE_LIBCRYPTO
5418 <    if (yy_aconf->host &&
5419 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5420 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5934 < #else /* !HAVE_LIBCRYPTO */
5935 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5936 <          yy_aconf->passwd && yy_aconf->spasswd)
5937 < #endif /* !HAVE_LIBCRYPTO */
5938 <        {
5939 <          if (conf_add_server(yy_conf, class_name) == -1)
5940 <          {
5941 <            delete_conf_item(yy_conf);
5942 <            yy_conf = NULL;
5943 <            yy_aconf = NULL;
5944 <          }
5945 <        }
5946 <        else
5947 <        {
5948 <          /* Even if yy_conf ->name is NULL
5949 <           * should still unhook any hub/leaf confs still pending
5950 <           */
5951 <          unhook_hub_leaf_confs();
5952 <
5953 <          if (yy_conf->name != NULL)
5954 <          {
5955 < #ifndef HAVE_LIBCRYPTO
5956 <            if (IsConfCryptLink(yy_aconf))
5957 <              yyerror("Ignoring connect block -- no OpenSSL support");
5958 < #else
5959 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5960 <              yyerror("Ignoring connect block -- missing key");
5961 < #endif
5962 <            if (yy_aconf->host == NULL)
5963 <              yyerror("Ignoring connect block -- missing host");
5964 <            else if (!IsConfCryptLink(yy_aconf) &&
5965 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5966 <              yyerror("Ignoring connect block -- missing password");
5967 <          }
5968 <
5969 <
5970 <          /* XXX
5971 <           * This fixes a try_connections() core (caused by invalid class_ptr
5972 <           * pointers) reported by metalrock. That's an ugly fix, but there
5973 <           * is currently no better way. The entire config subsystem needs an
5974 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5975 <           * a doubly linked list immediately without any sanity checks!  -Michael
5976 <           */
5977 <          delete_conf_item(yy_conf);
5978 <
5979 <          yy_aconf = NULL;
5980 <          yy_conf = NULL;
5981 <        }
5982 <
5983 <      /*
5984 <       * yy_conf is still pointing at the server that is having
5985 <       * a connect block built for it. This means, y_aconf->name
5986 <       * points to the actual irc name this server will be known as.
5987 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5988 <       * given in the link list at yy_hconf. Fill in the HUB confs
5989 <       * from this link list now.
5990 <       */        
5991 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5992 <      {
5993 <        struct ConfItem *new_hub_conf;
5994 <        struct MatchItem *match_item;
5995 <
5996 <        yy_hconf = ptr->data;
5997 <
5998 <        /* yy_conf == NULL is a fatal error for this connect block! */
5999 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
6000 <        {
6001 <          new_hub_conf = make_conf_item(HUB_TYPE);
6002 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
6003 <          DupString(new_hub_conf->name, yy_conf->name);
6004 <          if (yy_hconf->user != NULL)
6005 <            DupString(match_item->user, yy_hconf->user);
6006 <          else
6007 <            DupString(match_item->user, "*");
6008 <          if (yy_hconf->host != NULL)
6009 <            DupString(match_item->host, yy_hconf->host);
6010 <          else
6011 <            DupString(match_item->host, "*");
6012 <        }
6013 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
6014 <        free_collect_item(yy_hconf);
6015 <      }
6016 <
6017 <      /* Ditto for the LEAF confs */
6018 <
6019 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5413 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5414 >    {
5415 >      if (conf_add_server(yy_conf, class_name) == -1)
5416 >        delete_conf_item(yy_conf);
5417 >    }
5418 >    else
5419 >    {
5420 >      if (yy_conf->name != NULL)
5421        {
5422 <        struct ConfItem *new_leaf_conf;
5423 <        struct MatchItem *match_item;
5424 <
5425 <        yy_lconf = ptr->data;
6025 <
6026 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
6027 <        {
6028 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
6029 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
6030 <          DupString(new_leaf_conf->name, yy_conf->name);
6031 <          if (yy_lconf->user != NULL)
6032 <            DupString(match_item->user, yy_lconf->user);
6033 <          else
6034 <            DupString(match_item->user, "*");
6035 <          if (yy_lconf->host != NULL)
6036 <            DupString(match_item->host, yy_lconf->host);
6037 <          else
6038 <            DupString(match_item->host, "*");
6039 <        }
6040 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
6041 <        free_collect_item(yy_lconf);
5422 >        if (yy_aconf->host == NULL)
5423 >          yyerror("Ignoring connect block -- missing host");
5424 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5425 >          yyerror("Ignoring connect block -- missing password");
5426        }
6043      MyFree(class_name);
6044      class_name = NULL;
6045      yy_conf = NULL;
6046      yy_aconf = NULL;
6047  }
6048 }
6049    break;
5427  
5428 <  case 377:
5429 <
5430 < /* Line 1806 of yacc.c  */
5431 < #line 2321 "ircd_parser.y"
5432 <    {
5433 <  if (conf_parser_ctx.pass == 2)
5434 <  {
5435 <    if (yy_conf->name != NULL)
5436 <      yyerror("Multiple connect name entry");
5428 >      /* XXX
5429 >       * This fixes a try_connections() core (caused by invalid class_ptr
5430 >       * pointers) reported by metalrock. That's an ugly fix, but there
5431 >       * is currently no better way. The entire config subsystem needs an
5432 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5433 >       * a doubly linked list immediately without any sanity checks!  -Michael
5434 >       */
5435 >      delete_conf_item(yy_conf);
5436 >    }
5437  
5438 <    MyFree(yy_conf->name);
5439 <    DupString(yy_conf->name, yylval.string);
5438 >    MyFree(class_name);
5439 >    class_name = NULL;
5440 >    yy_conf = NULL;
5441 >    yy_aconf = NULL;
5442    }
5443   }
5444      break;
5445  
5446 <  case 378:
5447 <
5448 < /* Line 1806 of yacc.c  */
6070 < #line 2333 "ircd_parser.y"
5446 >  case 366:
5447 > /* Line 1787 of yacc.c  */
5448 > #line 2073 "conf_parser.y"
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451    {
6074    if (yy_conf->name != NULL)
6075      yyerror("Multiple connect name entry");
6076
5452      MyFree(yy_conf->name);
5453      DupString(yy_conf->name, yylval.string);
5454    }
5455   }
5456      break;
5457  
5458 <  case 379:
5459 <
5460 < /* Line 1806 of yacc.c  */
6086 < #line 2345 "ircd_parser.y"
5458 >  case 367:
5459 > /* Line 1787 of yacc.c  */
5460 > #line 2082 "conf_parser.y"
5461      {
5462    if (conf_parser_ctx.pass == 2)
5463    {
# Line 6093 | Line 5467 | yyreduce:
5467   }
5468      break;
5469  
5470 <  case 380:
5471 <
5472 < /* Line 1806 of yacc.c  */
6099 < #line 2354 "ircd_parser.y"
5470 >  case 368:
5471 > /* Line 1787 of yacc.c  */
5472 > #line 2091 "conf_parser.y"
5473      {
5474    if (conf_parser_ctx.pass == 2)
5475    {
# Line 6109 | Line 5482 | yyreduce:
5482      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5483  
5484      if (getaddrinfo(yylval.string, NULL, &hints, &res))
5485 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5485 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5486      else
5487      {
5488        assert(res != NULL);
5489  
5490 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5491 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5492 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5490 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5491 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5492 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5493        freeaddrinfo(res);
5494      }
5495    }
5496   }
5497      break;
5498  
5499 <  case 381:
5500 <
5501 < /* Line 1806 of yacc.c  */
6129 < #line 2380 "ircd_parser.y"
5499 >  case 369:
5500 > /* Line 1787 of yacc.c  */
5501 > #line 2117 "conf_parser.y"
5502      {
5503    if (conf_parser_ctx.pass == 2)
5504    {
# Line 6145 | Line 5517 | yyreduce:
5517   }
5518      break;
5519  
5520 <  case 382:
5521 <
5522 < /* Line 1806 of yacc.c  */
6151 < #line 2398 "ircd_parser.y"
5520 >  case 370:
5521 > /* Line 1787 of yacc.c  */
5522 > #line 2135 "conf_parser.y"
5523      {
5524    if (conf_parser_ctx.pass == 2)
5525    {
# Line 6167 | Line 5538 | yyreduce:
5538   }
5539      break;
5540  
5541 <  case 383:
5542 <
5543 < /* Line 1806 of yacc.c  */
6173 < #line 2416 "ircd_parser.y"
5541 >  case 371:
5542 > /* Line 1787 of yacc.c  */
5543 > #line 2153 "conf_parser.y"
5544      {
5545    if (conf_parser_ctx.pass == 2)
5546      yy_aconf->port = (yyvsp[(3) - (4)].number);
5547   }
5548      break;
5549  
5550 <  case 384:
5551 <
5552 < /* Line 1806 of yacc.c  */
6183 < #line 2422 "ircd_parser.y"
5550 >  case 372:
5551 > /* Line 1787 of yacc.c  */
5552 > #line 2159 "conf_parser.y"
5553      {
5554    if (conf_parser_ctx.pass == 2)
5555      yy_aconf->aftype = AF_INET;
5556   }
5557      break;
5558  
5559 <  case 385:
5560 <
5561 < /* Line 1806 of yacc.c  */
6193 < #line 2426 "ircd_parser.y"
5559 >  case 373:
5560 > /* Line 1787 of yacc.c  */
5561 > #line 2163 "conf_parser.y"
5562      {
5563   #ifdef IPV6
5564    if (conf_parser_ctx.pass == 2)
# Line 6199 | Line 5567 | yyreduce:
5567   }
5568      break;
5569  
5570 <  case 386:
5571 <
5572 < /* Line 1806 of yacc.c  */
6205 < #line 2434 "ircd_parser.y"
6206 <    {
6207 < }
6208 <    break;
6209 <
6210 <  case 390:
6211 <
6212 < /* Line 1806 of yacc.c  */
6213 < #line 2438 "ircd_parser.y"
6214 <    { not_atom = 1; }
6215 <    break;
6216 <
6217 <  case 392:
6218 <
6219 < /* Line 1806 of yacc.c  */
6220 < #line 2439 "ircd_parser.y"
6221 <    { not_atom = 0; }
6222 <    break;
6223 <
6224 <  case 394:
6225 <
6226 < /* Line 1806 of yacc.c  */
6227 < #line 2442 "ircd_parser.y"
6228 <    {
6229 <  if (conf_parser_ctx.pass == 2)
6230 < #ifndef HAVE_LIBZ
6231 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6232 < #else
6233 < {
6234 <   if (not_atom)ClearConfCompressed(yy_aconf);
6235 <   else SetConfCompressed(yy_aconf);
6236 < }
6237 < #endif
6238 < }
6239 <    break;
6240 <
6241 <  case 395:
6242 <
6243 < /* Line 1806 of yacc.c  */
6244 < #line 2453 "ircd_parser.y"
6245 <    {
6246 <  if (conf_parser_ctx.pass == 2)
6247 <  {
6248 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6249 <    else SetConfCryptLink(yy_aconf);
6250 <  }
6251 < }
6252 <    break;
6253 <
6254 <  case 396:
6255 <
6256 < /* Line 1806 of yacc.c  */
6257 < #line 2460 "ircd_parser.y"
6258 <    {
6259 <  if (conf_parser_ctx.pass == 2)
6260 <  {
6261 <    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6262 <    else SetConfAllowAutoConn(yy_aconf);
6263 <  }
6264 < }
6265 <    break;
6266 <
6267 <  case 397:
6268 <
6269 < /* Line 1806 of yacc.c  */
6270 < #line 2467 "ircd_parser.y"
5570 >  case 374:
5571 > /* Line 1787 of yacc.c  */
5572 > #line 2171 "conf_parser.y"
5573      {
6272  if (conf_parser_ctx.pass == 2)
6273  {
6274    if (not_atom)ClearConfAwayBurst(yy_aconf);
6275    else SetConfAwayBurst(yy_aconf);
6276  }
5574   }
5575      break;
5576  
5577 <  case 398:
5578 <
5579 < /* Line 1806 of yacc.c  */
6283 < #line 2474 "ircd_parser.y"
5577 >  case 378:
5578 > /* Line 1787 of yacc.c  */
5579 > #line 2176 "conf_parser.y"
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582 <  {
6287 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6288 <    else SetConfTopicBurst(yy_aconf);
6289 <  }
5582 >    SetConfAllowAutoConn(yy_aconf);
5583   }
5584      break;
5585  
5586 <  case 399:
5587 <
5588 < /* Line 1806 of yacc.c  */
6296 < #line 2484 "ircd_parser.y"
5586 >  case 379:
5587 > /* Line 1787 of yacc.c  */
5588 > #line 2180 "conf_parser.y"
5589      {
6298 #ifdef HAVE_LIBCRYPTO
5590    if (conf_parser_ctx.pass == 2)
5591 <  {
6301 <    BIO *file;
6302 <
6303 <    if (yy_aconf->rsa_public_key != NULL)
6304 <    {
6305 <      RSA_free(yy_aconf->rsa_public_key);
6306 <      yy_aconf->rsa_public_key = NULL;
6307 <    }
6308 <
6309 <    if (yy_aconf->rsa_public_key_file != NULL)
6310 <    {
6311 <      MyFree(yy_aconf->rsa_public_key_file);
6312 <      yy_aconf->rsa_public_key_file = NULL;
6313 <    }
6314 <
6315 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6316 <
6317 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6318 <    {
6319 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6320 <      break;
6321 <    }
6322 <
6323 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6324 <
6325 <    if (yy_aconf->rsa_public_key == NULL)
6326 <    {
6327 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6328 <      break;
6329 <    }
6330 <      
6331 <    BIO_set_close(file, BIO_CLOSE);
6332 <    BIO_free(file);
6333 <  }
6334 < #endif /* HAVE_LIBCRYPTO */
5591 >    SetConfSSL(yy_aconf);
5592   }
5593      break;
5594  
5595 <  case 400:
5596 <
5597 < /* Line 1806 of yacc.c  */
6341 < #line 2525 "ircd_parser.y"
5595 >  case 380:
5596 > /* Line 1787 of yacc.c  */
5597 > #line 2186 "conf_parser.y"
5598      {
5599    if (conf_parser_ctx.pass == 2)
5600    {
# Line 6350 | Line 5606 | yyreduce:
5606   }
5607      break;
5608  
5609 <  case 401:
5610 <
5611 < /* Line 1806 of yacc.c  */
6356 < #line 2536 "ircd_parser.y"
5609 >  case 381:
5610 > /* Line 1787 of yacc.c  */
5611 > #line 2197 "conf_parser.y"
5612      {
5613    if (conf_parser_ctx.pass == 2)
5614    {
5615 <    struct CollectItem *yy_tmp;
5615 >    char *mask;
5616  
5617 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5618 <    DupString(yy_tmp->host, yylval.string);
6364 <    DupString(yy_tmp->user, "*");
6365 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5617 >    DupString(mask, yylval.string);
5618 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5619    }
5620   }
5621      break;
5622  
5623 <  case 402:
5624 <
5625 < /* Line 1806 of yacc.c  */
6373 < #line 2549 "ircd_parser.y"
5623 >  case 382:
5624 > /* Line 1787 of yacc.c  */
5625 > #line 2208 "conf_parser.y"
5626      {
5627    if (conf_parser_ctx.pass == 2)
5628    {
5629 <    struct CollectItem *yy_tmp;
5629 >    char *mask;
5630  
5631 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5632 <    DupString(yy_tmp->host, yylval.string);
6381 <    DupString(yy_tmp->user, "*");
6382 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5631 >    DupString(mask, yylval.string);
5632 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5633    }
5634   }
5635      break;
5636  
5637 <  case 403:
5638 <
5639 < /* Line 1806 of yacc.c  */
6390 < #line 2562 "ircd_parser.y"
5637 >  case 383:
5638 > /* Line 1787 of yacc.c  */
5639 > #line 2219 "conf_parser.y"
5640      {
5641    if (conf_parser_ctx.pass == 2)
5642    {
# Line 6397 | Line 5646 | yyreduce:
5646   }
5647      break;
5648  
5649 <  case 404:
5650 <
5651 < /* Line 1806 of yacc.c  */
6403 < #line 2571 "ircd_parser.y"
5649 >  case 384:
5650 > /* Line 1787 of yacc.c  */
5651 > #line 2228 "conf_parser.y"
5652      {
5653   #ifdef HAVE_LIBCRYPTO
5654    if (conf_parser_ctx.pass == 2)
5655    {
5656 <    struct EncCapability *ecap;
5657 <    const char *cipher_name;
6410 <    int found = 0;
6411 <
6412 <    yy_aconf->cipher_preference = NULL;
6413 <    cipher_name = yylval.string;
6414 <
6415 <    for (ecap = CipherTable; ecap->name; ecap++)
6416 <    {
6417 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6418 <          (ecap->cap & CAP_ENC_MASK))
6419 <      {
6420 <        yy_aconf->cipher_preference = ecap;
6421 <        found = 1;
6422 <        break;
6423 <      }
6424 <    }
6425 <
6426 <    if (!found)
6427 <      yyerror("Invalid cipher");
5656 >    MyFree(yy_aconf->cipher_list);
5657 >    DupString(yy_aconf->cipher_list, yylval.string);
5658    }
5659   #else
5660    if (conf_parser_ctx.pass == 2)
5661 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5661 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5662   #endif
5663   }
5664      break;
5665  
5666 <  case 405:
5667 <
5668 < /* Line 1806 of yacc.c  */
6439 < #line 2606 "ircd_parser.y"
5666 >  case 385:
5667 > /* Line 1787 of yacc.c  */
5668 > #line 2246 "conf_parser.y"
5669      {
5670    if (conf_parser_ctx.pass == 2)
5671    {
# Line 6446 | Line 5675 | yyreduce:
5675   }
5676      break;
5677  
5678 <  case 406:
5679 <
5680 < /* Line 1806 of yacc.c  */
6452 < #line 2613 "ircd_parser.y"
5678 >  case 386:
5679 > /* Line 1787 of yacc.c  */
5680 > #line 2253 "conf_parser.y"
5681      {
5682    if (conf_parser_ctx.pass == 2)
5683    {
# Line 6465 | Line 5693 | yyreduce:
5693          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5694              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5695          {
5696 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
5696 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5697                 errptr);
5698            break;
5699          }
# Line 6482 | Line 5710 | yyreduce:
5710          else
5711            DupString(yy_aconf->reason, "No reason");
5712   #else
5713 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
5713 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5714          break;
5715   #endif
5716        }
5717        else
5718        {
5719 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
5720 +
5721          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5722  
5723          DupString(yy_aconf->user, userbuf);
# Line 6497 | Line 5727 | yyreduce:
5727            DupString(yy_aconf->reason, reasonbuf);
5728          else
5729            DupString(yy_aconf->reason, "No reason");
5730 <        add_conf_by_address(CONF_KILL, yy_aconf);
5730 >        add_conf_by_address(CONF_KLINE, yy_aconf);
5731        }
5732      }
5733  
# Line 6506 | Line 5736 | yyreduce:
5736   }
5737      break;
5738  
5739 <  case 407:
5740 <
5741 < /* Line 1806 of yacc.c  */
6512 < #line 2669 "ircd_parser.y"
5739 >  case 387:
5740 > /* Line 1787 of yacc.c  */
5741 > #line 2311 "conf_parser.y"
5742      {
5743   }
5744      break;
5745  
5746 <  case 411:
5747 <
5748 < /* Line 1806 of yacc.c  */
6520 < #line 2674 "ircd_parser.y"
5746 >  case 391:
5747 > /* Line 1787 of yacc.c  */
5748 > #line 2316 "conf_parser.y"
5749      {
5750    if (conf_parser_ctx.pass == 2)
5751      regex_ban = 1;
5752   }
5753      break;
5754  
5755 <  case 418:
5756 <
5757 < /* Line 1806 of yacc.c  */
6530 < #line 2683 "ircd_parser.y"
5755 >  case 398:
5756 > /* Line 1787 of yacc.c  */
5757 > #line 2325 "conf_parser.y"
5758      {
5759    if (conf_parser_ctx.pass == 2)
5760    {
# Line 6547 | Line 5774 | yyreduce:
5774   }
5775      break;
5776  
5777 <  case 419:
5778 <
5779 < /* Line 1806 of yacc.c  */
6553 < #line 2702 "ircd_parser.y"
5777 >  case 399:
5778 > /* Line 1787 of yacc.c  */
5779 > #line 2344 "conf_parser.y"
5780      {
5781    if (conf_parser_ctx.pass == 2)
5782      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5783   }
5784      break;
5785  
5786 <  case 420:
5787 <
5788 < /* Line 1806 of yacc.c  */
6563 < #line 2711 "ircd_parser.y"
5786 >  case 400:
5787 > /* Line 1787 of yacc.c  */
5788 > #line 2353 "conf_parser.y"
5789      {
5790    if (conf_parser_ctx.pass == 2)
5791      hostbuf[0] = reasonbuf[0] = '\0';
5792   }
5793      break;
5794  
5795 <  case 421:
5796 <
5797 < /* Line 1806 of yacc.c  */
6573 < #line 2715 "ircd_parser.y"
5795 >  case 401:
5796 > /* Line 1787 of yacc.c  */
5797 > #line 2357 "conf_parser.y"
5798      {
5799    if (conf_parser_ctx.pass == 2)
5800    {
5801      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5802      {
5803 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5804 +
5805        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5806        DupString(yy_aconf->host, hostbuf);
5807  
# Line 6590 | Line 5816 | yyreduce:
5816   }
5817      break;
5818  
5819 <  case 427:
5820 <
5821 < /* Line 1806 of yacc.c  */
6596 < #line 2737 "ircd_parser.y"
5819 >  case 407:
5820 > /* Line 1787 of yacc.c  */
5821 > #line 2381 "conf_parser.y"
5822      {
5823    if (conf_parser_ctx.pass == 2)
5824      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5825   }
5826      break;
5827  
5828 <  case 428:
5829 <
5830 < /* Line 1806 of yacc.c  */
6606 < #line 2743 "ircd_parser.y"
5828 >  case 408:
5829 > /* Line 1787 of yacc.c  */
5830 > #line 2387 "conf_parser.y"
5831      {
5832    if (conf_parser_ctx.pass == 2)
5833      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5834   }
5835      break;
5836  
5837 <  case 434:
5838 <
5839 < /* Line 1806 of yacc.c  */
6616 < #line 2757 "ircd_parser.y"
5837 >  case 414:
5838 > /* Line 1787 of yacc.c  */
5839 > #line 2401 "conf_parser.y"
5840      {
5841    if (conf_parser_ctx.pass == 2)
5842    {
# Line 6629 | Line 5852 | yyreduce:
5852   }
5853      break;
5854  
5855 <  case 435:
5856 <
5857 < /* Line 1806 of yacc.c  */
6635 < #line 2775 "ircd_parser.y"
5855 >  case 415:
5856 > /* Line 1787 of yacc.c  */
5857 > #line 2419 "conf_parser.y"
5858      {
5859    if (conf_parser_ctx.pass == 2)
5860    {
# Line 6642 | Line 5864 | yyreduce:
5864   }
5865      break;
5866  
5867 <  case 436:
5868 <
5869 < /* Line 1806 of yacc.c  */
6648 < #line 2782 "ircd_parser.y"
5867 >  case 416:
5868 > /* Line 1787 of yacc.c  */
5869 > #line 2426 "conf_parser.y"
5870      {
5871    if (conf_parser_ctx.pass == 2)
5872    {
# Line 6659 | Line 5880 | yyreduce:
5880  
5881          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5882          {
5883 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
5883 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5884                 errptr);
5885            break;
5886          }
# Line 6667 | Line 5888 | yyreduce:
5888          yy_conf = make_conf_item(RXLINE_TYPE);
5889          yy_conf->regexpname = exp_p;
5890   #else
5891 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
5891 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5892          break;
5893   #endif
5894        }
# Line 6686 | Line 5907 | yyreduce:
5907   }
5908      break;
5909  
5910 <  case 437:
5911 <
5912 < /* Line 1806 of yacc.c  */
6692 < #line 2822 "ircd_parser.y"
5910 >  case 417:
5911 > /* Line 1787 of yacc.c  */
5912 > #line 2466 "conf_parser.y"
5913      {
5914   }
5915      break;
5916  
5917 <  case 441:
5918 <
5919 < /* Line 1806 of yacc.c  */
6700 < #line 2827 "ircd_parser.y"
5917 >  case 421:
5918 > /* Line 1787 of yacc.c  */
5919 > #line 2471 "conf_parser.y"
5920      {
5921    if (conf_parser_ctx.pass == 2)
5922      regex_ban = 1;
5923   }
5924      break;
5925  
5926 <  case 448:
5927 <
5928 < /* Line 1806 of yacc.c  */
6710 < #line 2836 "ircd_parser.y"
5926 >  case 428:
5927 > /* Line 1787 of yacc.c  */
5928 > #line 2480 "conf_parser.y"
5929      {
5930    if (conf_parser_ctx.pass == 2)
5931      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5932   }
5933      break;
5934  
5935 <  case 449:
5936 <
5937 < /* Line 1806 of yacc.c  */
6720 < #line 2842 "ircd_parser.y"
5935 >  case 429:
5936 > /* Line 1787 of yacc.c  */
5937 > #line 2486 "conf_parser.y"
5938      {
5939    if (conf_parser_ctx.pass == 2)
5940      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5941   }
5942      break;
5943  
5944 <  case 510:
5945 <
5946 < /* Line 1806 of yacc.c  */
6730 < #line 2887 "ircd_parser.y"
5944 >  case 487:
5945 > /* Line 1787 of yacc.c  */
5946 > #line 2531 "conf_parser.y"
5947      {
5948    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5949   }
5950      break;
5951  
5952 <  case 511:
5953 <
5954 < /* Line 1806 of yacc.c  */
6739 < #line 2892 "ircd_parser.y"
5952 >  case 488:
5953 > /* Line 1787 of yacc.c  */
5954 > #line 2536 "conf_parser.y"
5955      {
5956 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5956 >  if (conf_parser_ctx.pass == 2)
5957 >    ConfigFileEntry.glines = yylval.number;
5958   }
5959      break;
5960  
5961 <  case 512:
5962 <
5963 < /* Line 1806 of yacc.c  */
6748 < #line 2897 "ircd_parser.y"
5961 >  case 489:
5962 > /* Line 1787 of yacc.c  */
5963 > #line 2542 "conf_parser.y"
5964      {
5965 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5965 >  if (conf_parser_ctx.pass == 2)
5966 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5967   }
5968      break;
5969  
5970 <  case 513:
5970 >  case 490:
5971 > /* Line 1787 of yacc.c  */
5972 > #line 2548 "conf_parser.y"
5973 >    {
5974 >  if (conf_parser_ctx.pass == 2)
5975 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5976 > }
5977 >    break;
5978  
5979 < /* Line 1806 of yacc.c  */
5980 < #line 2902 "ircd_parser.y"
5979 >  case 491:
5980 > /* Line 1787 of yacc.c  */
5981 > #line 2554 "conf_parser.y"
5982      {
5983 <  ConfigFileEntry.burst_away = yylval.number;
5983 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5984   }
5985      break;
5986  
5987 <  case 514:
5987 >  case 492:
5988 > /* Line 1787 of yacc.c  */
5989 > #line 2559 "conf_parser.y"
5990 >    {
5991 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5992 > }
5993 >    break;
5994  
5995 < /* Line 1806 of yacc.c  */
5996 < #line 2907 "ircd_parser.y"
5995 >  case 493:
5996 > /* Line 1787 of yacc.c  */
5997 > #line 2564 "conf_parser.y"
5998      {
5999    ConfigFileEntry.use_whois_actually = yylval.number;
6000   }
6001      break;
6002  
6003 <  case 515:
6004 <
6005 < /* Line 1806 of yacc.c  */
6775 < #line 2912 "ircd_parser.y"
6003 >  case 494:
6004 > /* Line 1787 of yacc.c  */
6005 > #line 2569 "conf_parser.y"
6006      {
6007    GlobalSetOptions.rejecttime = yylval.number;
6008   }
6009      break;
6010  
6011 <  case 516:
6012 <
6013 < /* Line 1806 of yacc.c  */
6784 < #line 2917 "ircd_parser.y"
6011 >  case 495:
6012 > /* Line 1787 of yacc.c  */
6013 > #line 2574 "conf_parser.y"
6014      {
6015    ConfigFileEntry.tkline_expire_notices = yylval.number;
6016   }
6017      break;
6018  
6019 <  case 517:
6020 <
6021 < /* Line 1806 of yacc.c  */
6793 < #line 2922 "ircd_parser.y"
6019 >  case 496:
6020 > /* Line 1787 of yacc.c  */
6021 > #line 2579 "conf_parser.y"
6022      {
6023    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6024   }
6025      break;
6026  
6027 <  case 518:
6028 <
6029 < /* Line 1806 of yacc.c  */
6802 < #line 2927 "ircd_parser.y"
6027 >  case 497:
6028 > /* Line 1787 of yacc.c  */
6029 > #line 2584 "conf_parser.y"
6030      {
6031    ConfigFileEntry.hide_spoof_ips = yylval.number;
6032   }
6033      break;
6034  
6035 <  case 519:
6036 <
6037 < /* Line 1806 of yacc.c  */
6811 < #line 2932 "ircd_parser.y"
6035 >  case 498:
6036 > /* Line 1787 of yacc.c  */
6037 > #line 2589 "conf_parser.y"
6038      {
6039    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6040   }
6041      break;
6042  
6043 <  case 520:
6044 <
6045 < /* Line 1806 of yacc.c  */
6820 < #line 2937 "ircd_parser.y"
6043 >  case 499:
6044 > /* Line 1787 of yacc.c  */
6045 > #line 2594 "conf_parser.y"
6046      {
6047    ConfigFileEntry.disable_remote = yylval.number;
6048   }
6049      break;
6050  
6051 <  case 521:
6052 <
6053 < /* Line 1806 of yacc.c  */
6829 < #line 2942 "ircd_parser.y"
6051 >  case 500:
6052 > /* Line 1787 of yacc.c  */
6053 > #line 2599 "conf_parser.y"
6054      {
6055    ConfigFileEntry.failed_oper_notice = yylval.number;
6056   }
6057      break;
6058  
6059 <  case 522:
6060 <
6061 < /* Line 1806 of yacc.c  */
6838 < #line 2947 "ircd_parser.y"
6059 >  case 501:
6060 > /* Line 1787 of yacc.c  */
6061 > #line 2604 "conf_parser.y"
6062      {
6063    ConfigFileEntry.anti_nick_flood = yylval.number;
6064   }
6065      break;
6066  
6067 <  case 523:
6068 <
6069 < /* Line 1806 of yacc.c  */
6847 < #line 2952 "ircd_parser.y"
6067 >  case 502:
6068 > /* Line 1787 of yacc.c  */
6069 > #line 2609 "conf_parser.y"
6070      {
6071    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6072   }
6073      break;
6074  
6075 <  case 524:
6076 <
6077 < /* Line 1806 of yacc.c  */
6856 < #line 2957 "ircd_parser.y"
6075 >  case 503:
6076 > /* Line 1787 of yacc.c  */
6077 > #line 2614 "conf_parser.y"
6078      {
6079    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6080   }
6081      break;
6082  
6083 <  case 525:
6084 <
6085 < /* Line 1806 of yacc.c  */
6865 < #line 2962 "ircd_parser.y"
6083 >  case 504:
6084 > /* Line 1787 of yacc.c  */
6085 > #line 2619 "conf_parser.y"
6086      {
6087    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6088   }
6089      break;
6090  
6091 <  case 526:
6092 <
6093 < /* Line 1806 of yacc.c  */
6874 < #line 2967 "ircd_parser.y"
6091 >  case 505:
6092 > /* Line 1787 of yacc.c  */
6093 > #line 2624 "conf_parser.y"
6094      {
6095    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6096   }
6097      break;
6098  
6099 <  case 527:
6100 <
6101 < /* Line 1806 of yacc.c  */
6883 < #line 2972 "ircd_parser.y"
6099 >  case 506:
6100 > /* Line 1787 of yacc.c  */
6101 > #line 2629 "conf_parser.y"
6102      {
6103    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6104   }
6105      break;
6106  
6107 <  case 528:
6108 <
6109 < /* Line 1806 of yacc.c  */
6892 < #line 2977 "ircd_parser.y"
6107 >  case 507:
6108 > /* Line 1787 of yacc.c  */
6109 > #line 2634 "conf_parser.y"
6110      {
6111    if (conf_parser_ctx.pass == 2)
6112      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6113   }
6114      break;
6115  
6116 <  case 529:
6117 <
6118 < /* Line 1806 of yacc.c  */
6902 < #line 2983 "ircd_parser.y"
6116 >  case 508:
6117 > /* Line 1787 of yacc.c  */
6118 > #line 2640 "conf_parser.y"
6119      {
6120    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6121    {
6122 <    ilog(L_CRIT, "You haven't read your config file properly.");
6123 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6124 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6122 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6123 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6124 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6125      exit(0);
6126    }
6127   }
6128      break;
6129  
6130 <  case 530:
6131 <
6132 < /* Line 1806 of yacc.c  */
6917 < #line 2994 "ircd_parser.y"
6130 >  case 509:
6131 > /* Line 1787 of yacc.c  */
6132 > #line 2651 "conf_parser.y"
6133      {
6134    ConfigFileEntry.kline_with_reason = yylval.number;
6135   }
6136      break;
6137  
6138 <  case 531:
6139 <
6140 < /* Line 1806 of yacc.c  */
6926 < #line 2999 "ircd_parser.y"
6138 >  case 510:
6139 > /* Line 1787 of yacc.c  */
6140 > #line 2656 "conf_parser.y"
6141      {
6142    if (conf_parser_ctx.pass == 2)
6143    {
# Line 6933 | Line 6147 | yyreduce:
6147   }
6148      break;
6149  
6150 <  case 532:
6151 <
6152 < /* Line 1806 of yacc.c  */
6939 < #line 3008 "ircd_parser.y"
6150 >  case 511:
6151 > /* Line 1787 of yacc.c  */
6152 > #line 2665 "conf_parser.y"
6153      {
6154    ConfigFileEntry.invisible_on_connect = yylval.number;
6155   }
6156      break;
6157  
6158 <  case 533:
6159 <
6160 < /* Line 1806 of yacc.c  */
6948 < #line 3013 "ircd_parser.y"
6158 >  case 512:
6159 > /* Line 1787 of yacc.c  */
6160 > #line 2670 "conf_parser.y"
6161      {
6162    ConfigFileEntry.warn_no_nline = yylval.number;
6163   }
6164      break;
6165  
6166 <  case 534:
6167 <
6168 < /* Line 1806 of yacc.c  */
6957 < #line 3018 "ircd_parser.y"
6166 >  case 513:
6167 > /* Line 1787 of yacc.c  */
6168 > #line 2675 "conf_parser.y"
6169      {
6170    ConfigFileEntry.stats_e_disabled = yylval.number;
6171   }
6172      break;
6173  
6174 <  case 535:
6175 <
6176 < /* Line 1806 of yacc.c  */
6966 < #line 3023 "ircd_parser.y"
6174 >  case 514:
6175 > /* Line 1787 of yacc.c  */
6176 > #line 2680 "conf_parser.y"
6177      {
6178    ConfigFileEntry.stats_o_oper_only = yylval.number;
6179   }
6180      break;
6181  
6182 <  case 536:
6183 <
6184 < /* Line 1806 of yacc.c  */
6975 < #line 3028 "ircd_parser.y"
6182 >  case 515:
6183 > /* Line 1787 of yacc.c  */
6184 > #line 2685 "conf_parser.y"
6185      {
6186    ConfigFileEntry.stats_P_oper_only = yylval.number;
6187   }
6188      break;
6189  
6190 <  case 537:
6191 <
6192 < /* Line 1806 of yacc.c  */
6984 < #line 3033 "ircd_parser.y"
6190 >  case 516:
6191 > /* Line 1787 of yacc.c  */
6192 > #line 2690 "conf_parser.y"
6193      {
6194    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6195   }
6196      break;
6197  
6198 <  case 538:
6199 <
6200 < /* Line 1806 of yacc.c  */
6993 < #line 3036 "ircd_parser.y"
6198 >  case 517:
6199 > /* Line 1787 of yacc.c  */
6200 > #line 2693 "conf_parser.y"
6201      {
6202    ConfigFileEntry.stats_k_oper_only = 1;
6203   }
6204      break;
6205  
6206 <  case 539:
6207 <
6208 < /* Line 1806 of yacc.c  */
7002 < #line 3041 "ircd_parser.y"
6206 >  case 518:
6207 > /* Line 1787 of yacc.c  */
6208 > #line 2698 "conf_parser.y"
6209      {
6210    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6211   }
6212      break;
6213  
6214 <  case 540:
6215 <
6216 < /* Line 1806 of yacc.c  */
7011 < #line 3044 "ircd_parser.y"
6214 >  case 519:
6215 > /* Line 1787 of yacc.c  */
6216 > #line 2701 "conf_parser.y"
6217      {
6218    ConfigFileEntry.stats_i_oper_only = 1;
6219   }
6220      break;
6221  
6222 <  case 541:
6223 <
6224 < /* Line 1806 of yacc.c  */
7020 < #line 3049 "ircd_parser.y"
6222 >  case 520:
6223 > /* Line 1787 of yacc.c  */
6224 > #line 2706 "conf_parser.y"
6225      {
6226    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6227   }
6228      break;
6229  
6230 <  case 542:
6231 <
6232 < /* Line 1806 of yacc.c  */
7029 < #line 3054 "ircd_parser.y"
6230 >  case 521:
6231 > /* Line 1787 of yacc.c  */
6232 > #line 2711 "conf_parser.y"
6233      {
6234    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6235   }
6236      break;
6237  
6238 <  case 543:
6239 <
6240 < /* Line 1806 of yacc.c  */
7038 < #line 3059 "ircd_parser.y"
6238 >  case 522:
6239 > /* Line 1787 of yacc.c  */
6240 > #line 2716 "conf_parser.y"
6241      {
6242    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6243   }
6244      break;
6245  
6246 <  case 544:
6247 <
6248 < /* Line 1806 of yacc.c  */
7047 < #line 3064 "ircd_parser.y"
6246 >  case 523:
6247 > /* Line 1787 of yacc.c  */
6248 > #line 2721 "conf_parser.y"
6249      {
6250    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6251   }
6252      break;
6253  
6254 <  case 545:
6255 <
6256 < /* Line 1806 of yacc.c  */
7056 < #line 3069 "ircd_parser.y"
6254 >  case 524:
6255 > /* Line 1787 of yacc.c  */
6256 > #line 2726 "conf_parser.y"
6257      {
6258    ConfigFileEntry.short_motd = yylval.number;
6259   }
6260      break;
6261  
6262 <  case 546:
6263 <
6264 < /* Line 1806 of yacc.c  */
7065 < #line 3074 "ircd_parser.y"
6262 >  case 525:
6263 > /* Line 1787 of yacc.c  */
6264 > #line 2731 "conf_parser.y"
6265      {
6266    ConfigFileEntry.no_oper_flood = yylval.number;
6267   }
6268      break;
6269  
6270 <  case 547:
6271 <
6272 < /* Line 1806 of yacc.c  */
7074 < #line 3079 "ircd_parser.y"
6270 >  case 526:
6271 > /* Line 1787 of yacc.c  */
6272 > #line 2736 "conf_parser.y"
6273      {
6274    ConfigFileEntry.true_no_oper_flood = yylval.number;
6275   }
6276      break;
6277  
6278 <  case 548:
6279 <
6280 < /* Line 1806 of yacc.c  */
7083 < #line 3084 "ircd_parser.y"
6278 >  case 527:
6279 > /* Line 1787 of yacc.c  */
6280 > #line 2741 "conf_parser.y"
6281      {
6282    ConfigFileEntry.oper_pass_resv = yylval.number;
6283   }
6284      break;
6285  
6286 <  case 549:
6287 <
6288 < /* Line 1806 of yacc.c  */
7092 < #line 3089 "ircd_parser.y"
6286 >  case 528:
6287 > /* Line 1787 of yacc.c  */
6288 > #line 2746 "conf_parser.y"
6289      {
6290    if (conf_parser_ctx.pass == 2)
6291    {
# Line 7101 | Line 6297 | yyreduce:
6297   }
6298      break;
6299  
6300 <  case 550:
6301 <
6302 < /* Line 1806 of yacc.c  */
7107 < #line 3100 "ircd_parser.y"
7108 <    {
7109 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7110 < }
7111 <    break;
7112 <
7113 <  case 551:
7114 <
7115 < /* Line 1806 of yacc.c  */
7116 < #line 3105 "ircd_parser.y"
6300 >  case 529:
6301 > /* Line 1787 of yacc.c  */
6302 > #line 2757 "conf_parser.y"
6303      {
6304    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6305   }
6306      break;
6307  
6308 <  case 552:
6309 <
6310 < /* Line 1806 of yacc.c  */
7125 < #line 3110 "ircd_parser.y"
6308 >  case 530:
6309 > /* Line 1787 of yacc.c  */
6310 > #line 2762 "conf_parser.y"
6311      {
6312    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6313   }
6314      break;
6315  
6316 <  case 553:
6317 <
6318 < /* Line 1806 of yacc.c  */
7134 < #line 3115 "ircd_parser.y"
7135 <    {
7136 <  if (conf_parser_ctx.pass == 2)
7137 <  {
7138 <    MyFree(ConfigFileEntry.servlink_path);
7139 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7140 <  }
7141 < }
7142 <    break;
7143 <
7144 <  case 554:
7145 <
7146 < /* Line 1806 of yacc.c  */
7147 < #line 3124 "ircd_parser.y"
7148 <    {
7149 < #ifdef HAVE_LIBCRYPTO
7150 <  if (conf_parser_ctx.pass == 2)
7151 <  {
7152 <    struct EncCapability *ecap;
7153 <    const char *cipher_name;
7154 <    int found = 0;
7155 <
7156 <    ConfigFileEntry.default_cipher_preference = NULL;
7157 <    cipher_name = yylval.string;
7158 <
7159 <    for (ecap = CipherTable; ecap->name; ecap++)
7160 <    {
7161 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7162 <          (ecap->cap & CAP_ENC_MASK))
7163 <      {
7164 <        ConfigFileEntry.default_cipher_preference = ecap;
7165 <        found = 1;
7166 <        break;
7167 <      }
7168 <    }
7169 <
7170 <    if (!found)
7171 <      yyerror("Invalid cipher");
7172 <  }
7173 < #else
7174 <  if (conf_parser_ctx.pass == 2)
7175 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7176 < #endif
7177 < }
7178 <    break;
7179 <
7180 <  case 555:
7181 <
7182 < /* Line 1806 of yacc.c  */
7183 < #line 3156 "ircd_parser.y"
7184 <    {
7185 <  if (conf_parser_ctx.pass == 2)
7186 <  {
7187 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
7188 < #ifndef HAVE_LIBZ
7189 <    yyerror("Ignoring compression_level -- no zlib support");
7190 < #else
7191 <    if ((ConfigFileEntry.compression_level < 1) ||
7192 <        (ConfigFileEntry.compression_level > 9))
7193 <    {
7194 <      yyerror("Ignoring invalid compression_level, using default");
7195 <      ConfigFileEntry.compression_level = 0;
7196 <    }
7197 < #endif
7198 <  }
7199 < }
7200 <    break;
7201 <
7202 <  case 556:
7203 <
7204 < /* Line 1806 of yacc.c  */
7205 < #line 3174 "ircd_parser.y"
6316 >  case 531:
6317 > /* Line 1787 of yacc.c  */
6318 > #line 2767 "conf_parser.y"
6319      {
6320    ConfigFileEntry.use_egd = yylval.number;
6321   }
6322      break;
6323  
6324 <  case 557:
6325 <
6326 < /* Line 1806 of yacc.c  */
7214 < #line 3179 "ircd_parser.y"
6324 >  case 532:
6325 > /* Line 1787 of yacc.c  */
6326 > #line 2772 "conf_parser.y"
6327      {
6328    if (conf_parser_ctx.pass == 2)
6329    {
# Line 7221 | Line 6333 | yyreduce:
6333   }
6334      break;
6335  
6336 <  case 558:
6337 <
6338 < /* Line 1806 of yacc.c  */
7227 < #line 3188 "ircd_parser.y"
6336 >  case 533:
6337 > /* Line 1787 of yacc.c  */
6338 > #line 2781 "conf_parser.y"
6339      {
6340 <  if (conf_parser_ctx.pass == 2)
6340 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6341    {
6342      MyFree(ConfigFileEntry.service_name);
6343      DupString(ConfigFileEntry.service_name, yylval.string);
# Line 7234 | Line 6345 | yyreduce:
6345   }
6346      break;
6347  
6348 <  case 559:
6349 <
6350 < /* Line 1806 of yacc.c  */
7240 < #line 3197 "ircd_parser.y"
6348 >  case 534:
6349 > /* Line 1787 of yacc.c  */
6350 > #line 2790 "conf_parser.y"
6351      {
6352    ConfigFileEntry.ping_cookie = yylval.number;
6353   }
6354      break;
6355  
6356 <  case 560:
6357 <
6358 < /* Line 1806 of yacc.c  */
7249 < #line 3202 "ircd_parser.y"
6356 >  case 535:
6357 > /* Line 1787 of yacc.c  */
6358 > #line 2795 "conf_parser.y"
6359      {
6360    ConfigFileEntry.disable_auth = yylval.number;
6361   }
6362      break;
6363  
6364 <  case 561:
6365 <
6366 < /* Line 1806 of yacc.c  */
7258 < #line 3207 "ircd_parser.y"
6364 >  case 536:
6365 > /* Line 1787 of yacc.c  */
6366 > #line 2800 "conf_parser.y"
6367      {
6368    ConfigFileEntry.throttle_time = yylval.number;
6369   }
6370      break;
6371  
6372 <  case 562:
6373 <
6374 < /* Line 1806 of yacc.c  */
7267 < #line 3212 "ircd_parser.y"
6372 >  case 537:
6373 > /* Line 1787 of yacc.c  */
6374 > #line 2805 "conf_parser.y"
6375      {
6376    ConfigFileEntry.oper_umodes = 0;
6377   }
6378      break;
6379  
6380 <  case 566:
6381 <
6382 < /* Line 1806 of yacc.c  */
7276 < #line 3218 "ircd_parser.y"
6380 >  case 541:
6381 > /* Line 1787 of yacc.c  */
6382 > #line 2811 "conf_parser.y"
6383      {
6384    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6385   }
6386      break;
6387  
6388 <  case 567:
6389 <
6390 < /* Line 1806 of yacc.c  */
7285 < #line 3221 "ircd_parser.y"
6388 >  case 542:
6389 > /* Line 1787 of yacc.c  */
6390 > #line 2814 "conf_parser.y"
6391      {
6392    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6393   }
6394      break;
6395  
6396 <  case 568:
6397 <
6398 < /* Line 1806 of yacc.c  */
7294 < #line 3224 "ircd_parser.y"
6396 >  case 543:
6397 > /* Line 1787 of yacc.c  */
6398 > #line 2817 "conf_parser.y"
6399      {
6400    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6401   }
6402      break;
6403  
6404 <  case 569:
6405 <
6406 < /* Line 1806 of yacc.c  */
7303 < #line 3227 "ircd_parser.y"
6404 >  case 544:
6405 > /* Line 1787 of yacc.c  */
6406 > #line 2820 "conf_parser.y"
6407      {
6408    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6409   }
6410      break;
6411  
6412 <  case 570:
6413 <
6414 < /* Line 1806 of yacc.c  */
7312 < #line 3230 "ircd_parser.y"
6412 >  case 545:
6413 > /* Line 1787 of yacc.c  */
6414 > #line 2823 "conf_parser.y"
6415      {
6416    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6417   }
6418      break;
6419  
6420 <  case 571:
6421 <
6422 < /* Line 1806 of yacc.c  */
7321 < #line 3233 "ircd_parser.y"
6420 >  case 546:
6421 > /* Line 1787 of yacc.c  */
6422 > #line 2826 "conf_parser.y"
6423      {
6424    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6425   }
6426      break;
6427  
6428 <  case 572:
6428 >  case 547:
6429 > /* Line 1787 of yacc.c  */
6430 > #line 2829 "conf_parser.y"
6431 >    {
6432 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6433 > }
6434 >    break;
6435  
6436 < /* Line 1806 of yacc.c  */
6437 < #line 3236 "ircd_parser.y"
6436 >  case 548:
6437 > /* Line 1787 of yacc.c  */
6438 > #line 2832 "conf_parser.y"
6439      {
6440    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6441   }
6442      break;
6443  
6444 <  case 573:
6445 <
6446 < /* Line 1806 of yacc.c  */
7339 < #line 3239 "ircd_parser.y"
6444 >  case 549:
6445 > /* Line 1787 of yacc.c  */
6446 > #line 2835 "conf_parser.y"
6447      {
6448    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6449   }
6450      break;
6451  
6452 <  case 574:
6453 <
6454 < /* Line 1806 of yacc.c  */
7348 < #line 3242 "ircd_parser.y"
6452 >  case 550:
6453 > /* Line 1787 of yacc.c  */
6454 > #line 2838 "conf_parser.y"
6455      {
6456    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6457   }
6458      break;
6459  
6460 <  case 575:
6461 <
6462 < /* Line 1806 of yacc.c  */
7357 < #line 3245 "ircd_parser.y"
6460 >  case 551:
6461 > /* Line 1787 of yacc.c  */
6462 > #line 2841 "conf_parser.y"
6463      {
6464    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6465   }
6466      break;
6467  
6468 <  case 576:
6469 <
6470 < /* Line 1806 of yacc.c  */
7366 < #line 3248 "ircd_parser.y"
6468 >  case 552:
6469 > /* Line 1787 of yacc.c  */
6470 > #line 2844 "conf_parser.y"
6471      {
6472    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6473   }
6474      break;
6475  
6476 <  case 577:
6477 <
6478 < /* Line 1806 of yacc.c  */
7375 < #line 3251 "ircd_parser.y"
6476 >  case 553:
6477 > /* Line 1787 of yacc.c  */
6478 > #line 2847 "conf_parser.y"
6479      {
6480    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6481   }
6482      break;
6483  
6484 <  case 578:
6485 <
6486 < /* Line 1806 of yacc.c  */
7384 < #line 3254 "ircd_parser.y"
6484 >  case 554:
6485 > /* Line 1787 of yacc.c  */
6486 > #line 2850 "conf_parser.y"
6487      {
6488    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6489   }
6490      break;
6491  
6492 <  case 579:
6493 <
6494 < /* Line 1806 of yacc.c  */
7393 < #line 3257 "ircd_parser.y"
6492 >  case 555:
6493 > /* Line 1787 of yacc.c  */
6494 > #line 2853 "conf_parser.y"
6495      {
6496    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6497   }
6498      break;
6499  
6500 <  case 580:
6501 <
6502 < /* Line 1806 of yacc.c  */
7402 < #line 3260 "ircd_parser.y"
6500 >  case 556:
6501 > /* Line 1787 of yacc.c  */
6502 > #line 2856 "conf_parser.y"
6503      {
6504    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6505   }
6506      break;
6507  
6508 <  case 581:
6509 <
6510 < /* Line 1806 of yacc.c  */
7411 < #line 3263 "ircd_parser.y"
6508 >  case 557:
6509 > /* Line 1787 of yacc.c  */
6510 > #line 2859 "conf_parser.y"
6511      {
6512    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6513   }
6514      break;
6515  
6516 <  case 582:
6517 <
6518 < /* Line 1806 of yacc.c  */
7420 < #line 3266 "ircd_parser.y"
6516 >  case 558:
6517 > /* Line 1787 of yacc.c  */
6518 > #line 2862 "conf_parser.y"
6519      {
6520    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6521   }
6522      break;
6523  
6524 <  case 583:
6525 <
6526 < /* Line 1806 of yacc.c  */
7429 < #line 3269 "ircd_parser.y"
6524 >  case 559:
6525 > /* Line 1787 of yacc.c  */
6526 > #line 2865 "conf_parser.y"
6527      {
6528    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6529   }
6530      break;
6531  
6532 <  case 584:
6533 <
6534 < /* Line 1806 of yacc.c  */
7438 < #line 3272 "ircd_parser.y"
6532 >  case 560:
6533 > /* Line 1787 of yacc.c  */
6534 > #line 2868 "conf_parser.y"
6535      {
6536    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6537   }
6538      break;
6539  
6540 <  case 585:
6541 <
6542 < /* Line 1806 of yacc.c  */
7447 < #line 3277 "ircd_parser.y"
6540 >  case 561:
6541 > /* Line 1787 of yacc.c  */
6542 > #line 2873 "conf_parser.y"
6543      {
6544    ConfigFileEntry.oper_only_umodes = 0;
6545   }
6546      break;
6547  
6548 <  case 589:
6549 <
6550 < /* Line 1806 of yacc.c  */
7456 < #line 3283 "ircd_parser.y"
6548 >  case 565:
6549 > /* Line 1787 of yacc.c  */
6550 > #line 2879 "conf_parser.y"
6551      {
6552    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6553   }
6554      break;
6555  
6556 <  case 590:
6557 <
6558 < /* Line 1806 of yacc.c  */
7465 < #line 3286 "ircd_parser.y"
6556 >  case 566:
6557 > /* Line 1787 of yacc.c  */
6558 > #line 2882 "conf_parser.y"
6559      {
6560    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6561   }
6562      break;
6563  
6564 <  case 591:
6565 <
6566 < /* Line 1806 of yacc.c  */
7474 < #line 3289 "ircd_parser.y"
6564 >  case 567:
6565 > /* Line 1787 of yacc.c  */
6566 > #line 2885 "conf_parser.y"
6567      {
6568    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6569   }
6570      break;
6571  
6572 <  case 592:
6573 <
6574 < /* Line 1806 of yacc.c  */
7483 < #line 3292 "ircd_parser.y"
6572 >  case 568:
6573 > /* Line 1787 of yacc.c  */
6574 > #line 2888 "conf_parser.y"
6575      {
6576    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6577   }
6578      break;
6579  
6580 <  case 593:
6581 <
6582 < /* Line 1806 of yacc.c  */
7492 < #line 3295 "ircd_parser.y"
6580 >  case 569:
6581 > /* Line 1787 of yacc.c  */
6582 > #line 2891 "conf_parser.y"
6583      {
6584    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6585   }
6586      break;
6587  
6588 <  case 594:
6589 <
6590 < /* Line 1806 of yacc.c  */
7501 < #line 3298 "ircd_parser.y"
6588 >  case 570:
6589 > /* Line 1787 of yacc.c  */
6590 > #line 2894 "conf_parser.y"
6591      {
6592    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6593   }
6594      break;
6595  
6596 <  case 595:
6597 <
6598 < /* Line 1806 of yacc.c  */
7510 < #line 3301 "ircd_parser.y"
6596 >  case 571:
6597 > /* Line 1787 of yacc.c  */
6598 > #line 2897 "conf_parser.y"
6599      {
6600    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6601   }
6602      break;
6603  
6604 <  case 596:
6604 >  case 572:
6605 > /* Line 1787 of yacc.c  */
6606 > #line 2900 "conf_parser.y"
6607 >    {
6608 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6609 > }
6610 >    break;
6611  
6612 < /* Line 1806 of yacc.c  */
6613 < #line 3304 "ircd_parser.y"
6612 >  case 573:
6613 > /* Line 1787 of yacc.c  */
6614 > #line 2903 "conf_parser.y"
6615      {
6616    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6617   }
6618      break;
6619  
6620 <  case 597:
6621 <
6622 < /* Line 1806 of yacc.c  */
7528 < #line 3307 "ircd_parser.y"
6620 >  case 574:
6621 > /* Line 1787 of yacc.c  */
6622 > #line 2906 "conf_parser.y"
6623      {
6624    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6625   }
6626      break;
6627  
6628 <  case 598:
6629 <
6630 < /* Line 1806 of yacc.c  */
7537 < #line 3310 "ircd_parser.y"
6628 >  case 575:
6629 > /* Line 1787 of yacc.c  */
6630 > #line 2909 "conf_parser.y"
6631      {
6632    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6633   }
6634      break;
6635  
6636 <  case 599:
6637 <
6638 < /* Line 1806 of yacc.c  */
7546 < #line 3313 "ircd_parser.y"
6636 >  case 576:
6637 > /* Line 1787 of yacc.c  */
6638 > #line 2912 "conf_parser.y"
6639      {
6640    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6641   }
6642      break;
6643  
6644 <  case 600:
6645 <
6646 < /* Line 1806 of yacc.c  */
7555 < #line 3316 "ircd_parser.y"
6644 >  case 577:
6645 > /* Line 1787 of yacc.c  */
6646 > #line 2915 "conf_parser.y"
6647      {
6648    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6649   }
6650      break;
6651  
6652 <  case 601:
6653 <
6654 < /* Line 1806 of yacc.c  */
7564 < #line 3319 "ircd_parser.y"
6652 >  case 578:
6653 > /* Line 1787 of yacc.c  */
6654 > #line 2918 "conf_parser.y"
6655      {
6656    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6657   }
6658      break;
6659  
6660 <  case 602:
6661 <
6662 < /* Line 1806 of yacc.c  */
7573 < #line 3322 "ircd_parser.y"
6660 >  case 579:
6661 > /* Line 1787 of yacc.c  */
6662 > #line 2921 "conf_parser.y"
6663      {
6664    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6665   }
6666      break;
6667  
6668 <  case 603:
6669 <
6670 < /* Line 1806 of yacc.c  */
7582 < #line 3325 "ircd_parser.y"
6668 >  case 580:
6669 > /* Line 1787 of yacc.c  */
6670 > #line 2924 "conf_parser.y"
6671      {
6672    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6673   }
6674      break;
6675  
6676 <  case 604:
6677 <
6678 < /* Line 1806 of yacc.c  */
7591 < #line 3328 "ircd_parser.y"
6676 >  case 581:
6677 > /* Line 1787 of yacc.c  */
6678 > #line 2927 "conf_parser.y"
6679      {
6680    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6681   }
6682      break;
6683  
6684 <  case 605:
6685 <
6686 < /* Line 1806 of yacc.c  */
7600 < #line 3331 "ircd_parser.y"
6684 >  case 582:
6685 > /* Line 1787 of yacc.c  */
6686 > #line 2930 "conf_parser.y"
6687      {
6688    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6689   }
6690      break;
6691  
6692 <  case 606:
6693 <
6694 < /* Line 1806 of yacc.c  */
7609 < #line 3334 "ircd_parser.y"
6692 >  case 583:
6693 > /* Line 1787 of yacc.c  */
6694 > #line 2933 "conf_parser.y"
6695      {
6696    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6697   }
6698      break;
6699  
6700 <  case 607:
6701 <
6702 < /* Line 1806 of yacc.c  */
7618 < #line 3337 "ircd_parser.y"
6700 >  case 584:
6701 > /* Line 1787 of yacc.c  */
6702 > #line 2936 "conf_parser.y"
6703      {
6704    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6705   }
6706      break;
6707  
6708 <  case 608:
6709 <
6710 < /* Line 1806 of yacc.c  */
7627 < #line 3342 "ircd_parser.y"
6708 >  case 585:
6709 > /* Line 1787 of yacc.c  */
6710 > #line 2941 "conf_parser.y"
6711      {
6712    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6713   }
6714      break;
6715  
6716 <  case 609:
6717 <
6718 < /* Line 1806 of yacc.c  */
7636 < #line 3347 "ircd_parser.y"
6716 >  case 586:
6717 > /* Line 1787 of yacc.c  */
6718 > #line 2946 "conf_parser.y"
6719      {
6720    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6721   }
6722      break;
6723  
6724 <  case 610:
6725 <
6726 < /* Line 1806 of yacc.c  */
7645 < #line 3352 "ircd_parser.y"
6724 >  case 587:
6725 > /* Line 1787 of yacc.c  */
6726 > #line 2951 "conf_parser.y"
6727      {
6728    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6729   }
6730      break;
6731  
6732 <  case 611:
6733 <
6734 < /* Line 1806 of yacc.c  */
7654 < #line 3357 "ircd_parser.y"
7655 <    {
7656 <  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7657 < }
7658 <    break;
7659 <
7660 <  case 612:
7661 <
7662 < /* Line 1806 of yacc.c  */
7663 < #line 3366 "ircd_parser.y"
7664 <    {
7665 <  if (conf_parser_ctx.pass == 2)
7666 <  {
7667 <    yy_conf = make_conf_item(GDENY_TYPE);
7668 <    yy_aconf = map_to_conf(yy_conf);
7669 <  }
7670 < }
7671 <    break;
7672 <
7673 <  case 613:
7674 <
7675 < /* Line 1806 of yacc.c  */
7676 < #line 3373 "ircd_parser.y"
7677 <    {
7678 <  if (conf_parser_ctx.pass == 2)
7679 <  {
7680 <    /*
7681 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7682 <     * end we will have one extra, so we should free it.
7683 <     */
7684 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7685 <    {
7686 <      delete_conf_item(yy_conf);
7687 <      yy_conf = NULL;
7688 <      yy_aconf = NULL;
7689 <    }
7690 <  }
7691 < }
7692 <    break;
7693 <
7694 <  case 623:
7695 <
7696 < /* Line 1806 of yacc.c  */
7697 < #line 3399 "ircd_parser.y"
7698 <    {
7699 <  if (conf_parser_ctx.pass == 2)
7700 <    ConfigFileEntry.glines = yylval.number;
7701 < }
7702 <    break;
7703 <
7704 <  case 624:
7705 <
7706 < /* Line 1806 of yacc.c  */
7707 < #line 3405 "ircd_parser.y"
7708 <    {
7709 <  if (conf_parser_ctx.pass == 2)
7710 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7711 < }
7712 <    break;
7713 <
7714 <  case 625:
7715 <
7716 < /* Line 1806 of yacc.c  */
7717 < #line 3411 "ircd_parser.y"
7718 <    {
7719 <  if (conf_parser_ctx.pass == 2)
7720 <    ConfigFileEntry.gline_logging = 0;
7721 < }
7722 <    break;
7723 <
7724 <  case 629:
7725 <
7726 < /* Line 1806 of yacc.c  */
7727 < #line 3417 "ircd_parser.y"
7728 <    {
7729 <  if (conf_parser_ctx.pass == 2)
7730 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7731 < }
7732 <    break;
7733 <
7734 <  case 630:
7735 <
7736 < /* Line 1806 of yacc.c  */
7737 < #line 3421 "ircd_parser.y"
7738 <    {
7739 <  if (conf_parser_ctx.pass == 2)
7740 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7741 < }
7742 <    break;
7743 <
7744 <  case 631:
7745 <
7746 < /* Line 1806 of yacc.c  */
7747 < #line 3427 "ircd_parser.y"
7748 <    {
7749 <  if (conf_parser_ctx.pass == 2)
7750 <  {
7751 <    struct split_nuh_item nuh;
7752 <
7753 <    nuh.nuhmask  = yylval.string;
7754 <    nuh.nickptr  = NULL;
7755 <    nuh.userptr  = userbuf;
7756 <    nuh.hostptr  = hostbuf;
7757 <
7758 <    nuh.nicksize = 0;
7759 <    nuh.usersize = sizeof(userbuf);
7760 <    nuh.hostsize = sizeof(hostbuf);
7761 <
7762 <    split_nuh(&nuh);
7763 <
7764 <    if (yy_aconf->user == NULL)
7765 <    {
7766 <      DupString(yy_aconf->user, userbuf);
7767 <      DupString(yy_aconf->host, hostbuf);
7768 <    }
7769 <    else
7770 <    {
7771 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7772 <
7773 <      DupString(yy_tmp->user, userbuf);
7774 <      DupString(yy_tmp->host, hostbuf);
7775 <
7776 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7777 <    }
7778 <  }
7779 < }
7780 <    break;
7781 <
7782 <  case 632:
7783 <
7784 < /* Line 1806 of yacc.c  */
7785 < #line 3461 "ircd_parser.y"
7786 <    {
7787 <  if (conf_parser_ctx.pass == 2)  
7788 <  {
7789 <    MyFree(yy_conf->name);
7790 <    DupString(yy_conf->name, yylval.string);
7791 <  }
7792 < }
7793 <    break;
7794 <
7795 <  case 633:
7796 <
7797 < /* Line 1806 of yacc.c  */
7798 < #line 3470 "ircd_parser.y"
7799 <    {
7800 <  if (conf_parser_ctx.pass == 2)
7801 <    yy_aconf->flags = 0;
7802 < }
7803 <    break;
7804 <
7805 <  case 634:
7806 <
7807 < /* Line 1806 of yacc.c  */
7808 < #line 3474 "ircd_parser.y"
7809 <    {
7810 <  if (conf_parser_ctx.pass == 2)
7811 <  {
7812 <    struct CollectItem *yy_tmp = NULL;
7813 <    dlink_node *ptr, *next_ptr;
7814 <
7815 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7816 <    {
7817 <      struct AccessItem *new_aconf;
7818 <      struct ConfItem *new_conf;
7819 <
7820 <      yy_tmp = ptr->data;
7821 <      new_conf = make_conf_item(GDENY_TYPE);
7822 <      new_aconf = map_to_conf(new_conf);
7823 <
7824 <      new_aconf->flags = yy_aconf->flags;
7825 <
7826 <      if (yy_conf->name != NULL)
7827 <        DupString(new_conf->name, yy_conf->name);
7828 <      else
7829 <        DupString(new_conf->name, "*");
7830 <      if (yy_aconf->user != NULL)
7831 <         DupString(new_aconf->user, yy_tmp->user);
7832 <      else  
7833 <        DupString(new_aconf->user, "*");
7834 <      if (yy_aconf->host != NULL)
7835 <        DupString(new_aconf->host, yy_tmp->host);
7836 <      else
7837 <        DupString(new_aconf->host, "*");
7838 <
7839 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7840 <    }
7841 <
7842 <    /*
7843 <     * In case someone has fed us with more than one action= after user/name
7844 <     * which would leak memory  -Michael
7845 <     */
7846 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7847 <      delete_conf_item(yy_conf);
7848 <
7849 <    yy_conf = make_conf_item(GDENY_TYPE);
7850 <    yy_aconf = map_to_conf(yy_conf);
7851 <  }
7852 < }
7853 <    break;
7854 <
7855 <  case 637:
7856 <
7857 < /* Line 1806 of yacc.c  */
7858 < #line 3521 "ircd_parser.y"
7859 <    {
7860 <  if (conf_parser_ctx.pass == 2)
7861 <    yy_aconf->flags |= GDENY_REJECT;
7862 < }
7863 <    break;
7864 <
7865 <  case 638:
7866 <
7867 < /* Line 1806 of yacc.c  */
7868 < #line 3525 "ircd_parser.y"
7869 <    {
7870 <  if (conf_parser_ctx.pass == 2)
7871 <    yy_aconf->flags |= GDENY_BLOCK;
7872 < }
7873 <    break;
7874 <
7875 <  case 661:
7876 <
7877 < /* Line 1806 of yacc.c  */
7878 < #line 3549 "ircd_parser.y"
6732 >  case 606:
6733 > /* Line 1787 of yacc.c  */
6734 > #line 2974 "conf_parser.y"
6735      {
6736    ConfigChannel.disable_fake_channels = yylval.number;
6737   }
6738      break;
6739  
6740 <  case 662:
6741 <
6742 < /* Line 1806 of yacc.c  */
7887 < #line 3554 "ircd_parser.y"
6740 >  case 607:
6741 > /* Line 1787 of yacc.c  */
6742 > #line 2979 "conf_parser.y"
6743      {
6744    ConfigChannel.restrict_channels = yylval.number;
6745   }
6746      break;
6747  
6748 <  case 663:
6749 <
6750 < /* Line 1806 of yacc.c  */
7896 < #line 3559 "ircd_parser.y"
7897 <    {
7898 <  ConfigChannel.disable_local_channels = yylval.number;
7899 < }
7900 <    break;
7901 <
7902 <  case 664:
7903 <
7904 < /* Line 1806 of yacc.c  */
7905 < #line 3564 "ircd_parser.y"
7906 <    {
7907 <  ConfigChannel.use_except = yylval.number;
7908 < }
7909 <    break;
7910 <
7911 <  case 665:
7912 <
7913 < /* Line 1806 of yacc.c  */
7914 < #line 3569 "ircd_parser.y"
7915 <    {
7916 <  ConfigChannel.use_invex = yylval.number;
7917 < }
7918 <    break;
7919 <
7920 <  case 666:
7921 <
7922 < /* Line 1806 of yacc.c  */
7923 < #line 3574 "ircd_parser.y"
7924 <    {
7925 <  ConfigChannel.use_knock = yylval.number;
7926 < }
7927 <    break;
7928 <
7929 <  case 667:
7930 <
7931 < /* Line 1806 of yacc.c  */
7932 < #line 3579 "ircd_parser.y"
6748 >  case 608:
6749 > /* Line 1787 of yacc.c  */
6750 > #line 2984 "conf_parser.y"
6751      {
6752    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6753   }
6754      break;
6755  
6756 <  case 668:
6757 <
6758 < /* Line 1806 of yacc.c  */
7941 < #line 3584 "ircd_parser.y"
6756 >  case 609:
6757 > /* Line 1787 of yacc.c  */
6758 > #line 2989 "conf_parser.y"
6759      {
6760    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6761   }
6762      break;
6763  
6764 <  case 669:
6765 <
6766 < /* Line 1806 of yacc.c  */
7950 < #line 3589 "ircd_parser.y"
6764 >  case 610:
6765 > /* Line 1787 of yacc.c  */
6766 > #line 2994 "conf_parser.y"
6767      {
6768    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6769   }
6770      break;
6771  
6772 <  case 670:
6772 >  case 611:
6773 > /* Line 1787 of yacc.c  */
6774 > #line 2999 "conf_parser.y"
6775 >    {
6776 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6777 > }
6778 >    break;
6779  
6780 < /* Line 1806 of yacc.c  */
6781 < #line 3594 "ircd_parser.y"
6780 >  case 612:
6781 > /* Line 1787 of yacc.c  */
6782 > #line 3004 "conf_parser.y"
6783      {
6784    ConfigChannel.quiet_on_ban = yylval.number;
6785   }
6786      break;
6787  
6788 <  case 671:
6789 <
6790 < /* Line 1806 of yacc.c  */
7968 < #line 3599 "ircd_parser.y"
6788 >  case 613:
6789 > /* Line 1787 of yacc.c  */
6790 > #line 3009 "conf_parser.y"
6791      {
6792    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6793   }
6794      break;
6795  
6796 <  case 672:
6797 <
6798 < /* Line 1806 of yacc.c  */
7977 < #line 3604 "ircd_parser.y"
6796 >  case 614:
6797 > /* Line 1787 of yacc.c  */
6798 > #line 3014 "conf_parser.y"
6799      {
6800    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6801   }
6802      break;
6803  
6804 <  case 673:
6805 <
6806 < /* Line 1806 of yacc.c  */
7986 < #line 3609 "ircd_parser.y"
6804 >  case 615:
6805 > /* Line 1787 of yacc.c  */
6806 > #line 3019 "conf_parser.y"
6807      {
6808    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6809   }
6810      break;
6811  
6812 <  case 674:
6813 <
6814 < /* Line 1806 of yacc.c  */
7995 < #line 3614 "ircd_parser.y"
6812 >  case 616:
6813 > /* Line 1787 of yacc.c  */
6814 > #line 3024 "conf_parser.y"
6815      {
6816    ConfigChannel.no_create_on_split = yylval.number;
6817   }
6818      break;
6819  
6820 <  case 675:
6821 <
6822 < /* Line 1806 of yacc.c  */
8004 < #line 3619 "ircd_parser.y"
6820 >  case 617:
6821 > /* Line 1787 of yacc.c  */
6822 > #line 3029 "conf_parser.y"
6823      {
6824    ConfigChannel.no_join_on_split = yylval.number;
6825   }
6826      break;
6827  
6828 <  case 676:
6829 <
6830 < /* Line 1806 of yacc.c  */
8013 < #line 3624 "ircd_parser.y"
8014 <    {
8015 <  ConfigChannel.burst_topicwho = yylval.number;
8016 < }
8017 <    break;
8018 <
8019 <  case 677:
8020 <
8021 < /* Line 1806 of yacc.c  */
8022 < #line 3629 "ircd_parser.y"
6828 >  case 618:
6829 > /* Line 1787 of yacc.c  */
6830 > #line 3034 "conf_parser.y"
6831      {
6832    GlobalSetOptions.joinfloodcount = yylval.number;
6833   }
6834      break;
6835  
6836 <  case 678:
6837 <
6838 < /* Line 1806 of yacc.c  */
8031 < #line 3634 "ircd_parser.y"
6836 >  case 619:
6837 > /* Line 1787 of yacc.c  */
6838 > #line 3039 "conf_parser.y"
6839      {
6840    GlobalSetOptions.joinfloodtime = yylval.number;
6841   }
6842      break;
6843  
6844 <  case 690:
6845 <
6846 < /* Line 1806 of yacc.c  */
8040 < #line 3653 "ircd_parser.y"
6844 >  case 630:
6845 > /* Line 1787 of yacc.c  */
6846 > #line 3057 "conf_parser.y"
6847      {
6848    if (conf_parser_ctx.pass == 2)
6849      ConfigServerHide.flatten_links = yylval.number;
6850   }
6851      break;
6852  
6853 <  case 691:
6854 <
6855 < /* Line 1806 of yacc.c  */
8050 < #line 3659 "ircd_parser.y"
6853 >  case 631:
6854 > /* Line 1787 of yacc.c  */
6855 > #line 3063 "conf_parser.y"
6856      {
6857    if (conf_parser_ctx.pass == 2)
6858      ConfigServerHide.hide_servers = yylval.number;
6859   }
6860      break;
6861  
6862 <  case 692:
6863 <
6864 < /* Line 1806 of yacc.c  */
8060 < #line 3665 "ircd_parser.y"
6862 >  case 632:
6863 > /* Line 1787 of yacc.c  */
6864 > #line 3069 "conf_parser.y"
6865      {
6866    if (conf_parser_ctx.pass == 2)
6867    {
# Line 8067 | Line 6871 | yyreduce:
6871   }
6872      break;
6873  
6874 <  case 693:
6875 <
6876 < /* Line 1806 of yacc.c  */
8073 < #line 3674 "ircd_parser.y"
6874 >  case 633:
6875 > /* Line 1787 of yacc.c  */
6876 > #line 3078 "conf_parser.y"
6877      {
6878    if (conf_parser_ctx.pass == 2)
6879    {
# Line 8085 | Line 6888 | yyreduce:
6888   }
6889      break;
6890  
6891 <  case 694:
6892 <
6893 < /* Line 1806 of yacc.c  */
8091 < #line 3688 "ircd_parser.y"
6891 >  case 634:
6892 > /* Line 1787 of yacc.c  */
6893 > #line 3092 "conf_parser.y"
6894      {
6895    if (conf_parser_ctx.pass == 2)
6896      ConfigServerHide.hidden = yylval.number;
6897   }
6898      break;
6899  
6900 <  case 695:
6901 <
6902 < /* Line 1806 of yacc.c  */
8101 < #line 3694 "ircd_parser.y"
8102 <    {
8103 <  if (conf_parser_ctx.pass == 2)
8104 <    ConfigServerHide.disable_hidden = yylval.number;
8105 < }
8106 <    break;
8107 <
8108 <  case 696:
8109 <
8110 < /* Line 1806 of yacc.c  */
8111 < #line 3700 "ircd_parser.y"
6900 >  case 635:
6901 > /* Line 1787 of yacc.c  */
6902 > #line 3098 "conf_parser.y"
6903      {
6904    if (conf_parser_ctx.pass == 2)
6905      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8116 | Line 6907 | yyreduce:
6907      break;
6908  
6909  
6910 <
6911 < /* Line 1806 of yacc.c  */
8121 < #line 8122 "ircd_parser.c"
6910 > /* Line 1787 of yacc.c  */
6911 > #line 6912 "conf_parser.c"
6912        default: break;
6913      }
6914    /* User semantic actions sometimes alter yychar, and that requires
# Line 8305 | Line 7095 | yyabortlab:
7095    yyresult = 1;
7096    goto yyreturn;
7097  
7098 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7098 > #if !defined yyoverflow || YYERROR_VERBOSE
7099   /*-------------------------------------------------.
7100   | yyexhaustedlab -- memory exhaustion comes here.  |
7101   `-------------------------------------------------*/
# Line 8347 | Line 7137 | yyreturn:
7137   }
7138  
7139  
8350

Diff Legend

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