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/trunk/src/conf_parser.c (file contents):
Revision 1752 by michael, Wed Jan 16 19:17:40 2013 UTC vs.
Revision 2473 by michael, Fri Oct 11 16:44:17 2013 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.  */
1 > /* A Bison parser, made by GNU Bison 3.0.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4 <  
5 <      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6 <  
4 >
5 >   Copyright (C) 1984, 1989-1990, 2000-2013 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
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11 <  
11 >
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16 <  
16 >
17     You should have received a copy of the GNU General Public License
18     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19  
# Line 26 | Line 26
26     special exception, which will cause the skeleton and the resulting
27     Bison output files to be licensed under the GNU General Public
28     License without this special exception.
29 <  
29 >
30     This special exception was added by the Free Software Foundation in
31     version 2.2 of Bison.  */
32  
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7"
47 > #define YYBISON_VERSION "3.0"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < /* Line 371 of yacc.c  */
66 < #line 25 "conf_parser.y"
65 > #line 25 "conf_parser.y" /* yacc.c:339  */
66  
67  
68   #define YY_NO_UNPUT
# Line 80 | Line 79
79   #include "log.h"
80   #include "client.h"     /* for UMODE_ALL only */
81   #include "irc_string.h"
83 #include "sprintf_irc.h"
82   #include "memory.h"
83   #include "modules.h"
84   #include "s_serv.h"
# Line 90 | Line 88
88   #include "resv.h"
89   #include "numeric.h"
90   #include "s_user.h"
91 + #include "motd.h"
92  
93   #ifdef HAVE_LIBCRYPTO
94   #include <openssl/rsa.h>
# Line 119 | Line 118 | static struct
118      bind,
119      file,
120      ciph,
121 +    cert,
122      rpass,
123      spass,
124      class;
# Line 134 | Line 134 | static struct
134      ping_freq,
135      max_perip,
136      con_freq,
137 +    min_idle,
138 +    max_idle,
139      max_total,
140      max_global,
141      max_local,
# Line 175 | Line 177 | reset_block_state(void)
177   }
178  
179  
180 < /* Line 371 of yacc.c  */
179 < #line 180 "conf_parser.c"
180 > #line 181 "conf_parser.c" /* yacc.c:339  */
181  
182   # ifndef YY_NULL
183   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 198 | Line 199 | reset_block_state(void)
199     by #include "y.tab.h".  */
200   #ifndef YY_YY_CONF_PARSER_H_INCLUDED
201   # define YY_YY_CONF_PARSER_H_INCLUDED
202 < /* Enabling traces.  */
202 > /* Debug traces.  */
203   #ifndef YYDEBUG
204   # define YYDEBUG 0
205   #endif
# Line 206 | Line 207 | reset_block_state(void)
207   extern int yydebug;
208   #endif
209  
210 < /* Tokens.  */
210 > /* Token type.  */
211   #ifndef YYTOKENTYPE
212   # define YYTOKENTYPE
213 <   /* Put the tokens into the symbol table, so that GDB and other debuggers
214 <      know about them.  */
215 <   enum yytokentype {
216 <     ACCEPT_PASSWORD = 258,
217 <     ADMIN = 259,
218 <     AFTYPE = 260,
219 <     ANTI_NICK_FLOOD = 261,
220 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
221 <     AUTOCONN = 263,
222 <     BYTES = 264,
223 <     KBYTES = 265,
224 <     MBYTES = 266,
225 <     CALLER_ID_WAIT = 267,
226 <     CAN_FLOOD = 268,
227 <     CHANNEL = 269,
228 <     CIDR_BITLEN_IPV4 = 270,
229 <     CIDR_BITLEN_IPV6 = 271,
230 <     CLASS = 272,
231 <     CONNECT = 273,
232 <     CONNECTFREQ = 274,
233 <     DEFAULT_FLOODCOUNT = 275,
234 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
235 <     DEFAULT_SPLIT_USER_COUNT = 277,
236 <     DENY = 278,
237 <     DESCRIPTION = 279,
238 <     DIE = 280,
239 <     DISABLE_AUTH = 281,
240 <     DISABLE_FAKE_CHANNELS = 282,
241 <     DISABLE_REMOTE_COMMANDS = 283,
242 <     DOTS_IN_IDENT = 284,
243 <     EGDPOOL_PATH = 285,
244 <     EMAIL = 286,
245 <     ENCRYPTED = 287,
246 <     EXCEED_LIMIT = 288,
247 <     EXEMPT = 289,
248 <     FAILED_OPER_NOTICE = 290,
249 <     IRCD_FLAGS = 291,
250 <     FLATTEN_LINKS = 292,
251 <     GECOS = 293,
252 <     GENERAL = 294,
253 <     GLINE = 295,
254 <     GLINE_DURATION = 296,
255 <     GLINE_ENABLE = 297,
256 <     GLINE_EXEMPT = 298,
257 <     GLINE_REQUEST_DURATION = 299,
258 <     GLINE_MIN_CIDR = 300,
259 <     GLINE_MIN_CIDR6 = 301,
260 <     GLOBAL_KILL = 302,
261 <     IRCD_AUTH = 303,
262 <     NEED_IDENT = 304,
263 <     HAVENT_READ_CONF = 305,
264 <     HIDDEN = 306,
265 <     HIDDEN_NAME = 307,
266 <     HIDE_SERVER_IPS = 308,
267 <     HIDE_SERVERS = 309,
268 <     HIDE_SPOOF_IPS = 310,
269 <     HOST = 311,
270 <     HUB = 312,
271 <     HUB_MASK = 313,
272 <     IGNORE_BOGUS_TS = 314,
273 <     INVISIBLE_ON_CONNECT = 315,
274 <     IP = 316,
275 <     KILL = 317,
276 <     KILL_CHASE_TIME_LIMIT = 318,
277 <     KLINE = 319,
278 <     KLINE_EXEMPT = 320,
279 <     KNOCK_DELAY = 321,
280 <     KNOCK_DELAY_CHANNEL = 322,
281 <     LEAF_MASK = 323,
282 <     LINKS_DELAY = 324,
283 <     LISTEN = 325,
284 <     T_LOG = 326,
285 <     MAX_ACCEPT = 327,
286 <     MAX_BANS = 328,
287 <     MAX_CHANS_PER_OPER = 329,
288 <     MAX_CHANS_PER_USER = 330,
289 <     MAX_GLOBAL = 331,
290 <     MAX_IDENT = 332,
291 <     MAX_LOCAL = 333,
292 <     MAX_NICK_CHANGES = 334,
293 <     MAX_NICK_LENGTH = 335,
294 <     MAX_NICK_TIME = 336,
295 <     MAX_NUMBER = 337,
296 <     MAX_TARGETS = 338,
297 <     MAX_TOPIC_LENGTH = 339,
298 <     MAX_WATCH = 340,
299 <     MESSAGE_LOCALE = 341,
300 <     MIN_NONWILDCARD = 342,
301 <     MIN_NONWILDCARD_SIMPLE = 343,
302 <     MODULE = 344,
303 <     MODULES = 345,
304 <     NAME = 346,
305 <     NEED_PASSWORD = 347,
306 <     NETWORK_DESC = 348,
307 <     NETWORK_NAME = 349,
308 <     NICK = 350,
309 <     NICK_CHANGES = 351,
310 <     NO_CREATE_ON_SPLIT = 352,
311 <     NO_JOIN_ON_SPLIT = 353,
312 <     NO_OPER_FLOOD = 354,
313 <     NO_TILDE = 355,
314 <     NUMBER = 356,
315 <     NUMBER_PER_CIDR = 357,
316 <     NUMBER_PER_IP = 358,
317 <     OPERATOR = 359,
318 <     OPERS_BYPASS_CALLERID = 360,
319 <     OPER_ONLY_UMODES = 361,
320 <     OPER_PASS_RESV = 362,
321 <     OPER_SPY_T = 363,
322 <     OPER_UMODES = 364,
323 <     JOIN_FLOOD_COUNT = 365,
324 <     JOIN_FLOOD_TIME = 366,
325 <     PACE_WAIT = 367,
326 <     PACE_WAIT_SIMPLE = 368,
327 <     PASSWORD = 369,
328 <     PATH = 370,
329 <     PING_COOKIE = 371,
330 <     PING_TIME = 372,
331 <     PORT = 373,
332 <     QSTRING = 374,
333 <     QUIET_ON_BAN = 375,
334 <     REASON = 376,
335 <     REDIRPORT = 377,
336 <     REDIRSERV = 378,
337 <     REGEX_T = 379,
338 <     REHASH = 380,
339 <     REMOTE = 381,
340 <     REMOTEBAN = 382,
341 <     RESTRICT_CHANNELS = 383,
342 <     RSA_PRIVATE_KEY_FILE = 384,
343 <     RSA_PUBLIC_KEY_FILE = 385,
344 <     SSL_CERTIFICATE_FILE = 386,
345 <     SSL_DH_PARAM_FILE = 387,
346 <     T_SSL_CLIENT_METHOD = 388,
347 <     T_SSL_SERVER_METHOD = 389,
348 <     T_SSLV3 = 390,
349 <     T_TLSV1 = 391,
350 <     RESV = 392,
351 <     RESV_EXEMPT = 393,
352 <     SECONDS = 394,
353 <     MINUTES = 395,
354 <     HOURS = 396,
355 <     DAYS = 397,
356 <     WEEKS = 398,
357 <     SENDQ = 399,
358 <     SEND_PASSWORD = 400,
359 <     SERVERHIDE = 401,
360 <     SERVERINFO = 402,
361 <     IRCD_SID = 403,
362 <     TKLINE_EXPIRE_NOTICES = 404,
363 <     T_SHARED = 405,
364 <     T_CLUSTER = 406,
365 <     TYPE = 407,
366 <     SHORT_MOTD = 408,
367 <     SPOOF = 409,
368 <     SPOOF_NOTICE = 410,
369 <     STATS_E_DISABLED = 411,
370 <     STATS_I_OPER_ONLY = 412,
371 <     STATS_K_OPER_ONLY = 413,
372 <     STATS_O_OPER_ONLY = 414,
373 <     STATS_P_OPER_ONLY = 415,
374 <     TBOOL = 416,
375 <     TMASKED = 417,
376 <     TS_MAX_DELTA = 418,
377 <     TS_WARN_DELTA = 419,
378 <     TWODOTS = 420,
379 <     T_ALL = 421,
380 <     T_BOTS = 422,
381 <     T_SOFTCALLERID = 423,
382 <     T_CALLERID = 424,
383 <     T_CCONN = 425,
384 <     T_CCONN_FULL = 426,
385 <     T_SSL_CIPHER_LIST = 427,
386 <     T_DEAF = 428,
387 <     T_DEBUG = 429,
388 <     T_DLINE = 430,
389 <     T_EXTERNAL = 431,
390 <     T_FULL = 432,
391 <     T_INVISIBLE = 433,
392 <     T_IPV4 = 434,
393 <     T_IPV6 = 435,
394 <     T_LOCOPS = 436,
395 <     T_MAX_CLIENTS = 437,
396 <     T_NCHANGE = 438,
397 <     T_OPERWALL = 439,
398 <     T_RECVQ = 440,
399 <     T_REJ = 441,
400 <     T_SERVER = 442,
401 <     T_SERVNOTICE = 443,
402 <     T_SET = 444,
403 <     T_SKILL = 445,
404 <     T_SPY = 446,
405 <     T_SSL = 447,
406 <     T_UMODES = 448,
407 <     T_UNAUTH = 449,
408 <     T_UNDLINE = 450,
409 <     T_UNLIMITED = 451,
410 <     T_UNRESV = 452,
411 <     T_UNXLINE = 453,
412 <     T_GLOBOPS = 454,
413 <     T_WALLOP = 455,
414 <     T_WEBIRC = 456,
415 <     T_RESTART = 457,
416 <     T_SERVICE = 458,
417 <     T_SERVICES_NAME = 459,
418 <     THROTTLE_TIME = 460,
419 <     TRUE_NO_OPER_FLOOD = 461,
420 <     UNKLINE = 462,
421 <     USER = 463,
422 <     USE_EGD = 464,
423 <     USE_LOGGING = 465,
424 <     VHOST = 466,
425 <     VHOST6 = 467,
426 <     XLINE = 468,
427 <     WARN_NO_NLINE = 469,
428 <     T_SIZE = 470,
429 <     T_FILE = 471
430 <   };
213 >  enum yytokentype
214 >  {
215 >    ACCEPT_PASSWORD = 258,
216 >    ADMIN = 259,
217 >    AFTYPE = 260,
218 >    ANTI_NICK_FLOOD = 261,
219 >    ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
220 >    AUTOCONN = 263,
221 >    BYTES = 264,
222 >    KBYTES = 265,
223 >    MBYTES = 266,
224 >    CALLER_ID_WAIT = 267,
225 >    CAN_FLOOD = 268,
226 >    CHANNEL = 269,
227 >    CIDR_BITLEN_IPV4 = 270,
228 >    CIDR_BITLEN_IPV6 = 271,
229 >    CLASS = 272,
230 >    CONNECT = 273,
231 >    CONNECTFREQ = 274,
232 >    CYCLE_ON_HOST_CHANGE = 275,
233 >    DEFAULT_FLOODCOUNT = 276,
234 >    DEFAULT_SPLIT_SERVER_COUNT = 277,
235 >    DEFAULT_SPLIT_USER_COUNT = 278,
236 >    DENY = 279,
237 >    DESCRIPTION = 280,
238 >    DIE = 281,
239 >    DISABLE_AUTH = 282,
240 >    DISABLE_FAKE_CHANNELS = 283,
241 >    DISABLE_REMOTE_COMMANDS = 284,
242 >    DOTS_IN_IDENT = 285,
243 >    EGDPOOL_PATH = 286,
244 >    EMAIL = 287,
245 >    ENCRYPTED = 288,
246 >    EXCEED_LIMIT = 289,
247 >    EXEMPT = 290,
248 >    FAILED_OPER_NOTICE = 291,
249 >    FLATTEN_LINKS = 292,
250 >    GECOS = 293,
251 >    GENERAL = 294,
252 >    GLINE = 295,
253 >    GLINE_DURATION = 296,
254 >    GLINE_ENABLE = 297,
255 >    GLINE_EXEMPT = 298,
256 >    GLINE_MIN_CIDR = 299,
257 >    GLINE_MIN_CIDR6 = 300,
258 >    GLINE_REQUEST_DURATION = 301,
259 >    GLOBAL_KILL = 302,
260 >    HAVENT_READ_CONF = 303,
261 >    HIDDEN = 304,
262 >    HIDDEN_NAME = 305,
263 >    HIDE_IDLE_FROM_OPERS = 306,
264 >    HIDE_SERVER_IPS = 307,
265 >    HIDE_SERVERS = 308,
266 >    HIDE_SERVICES = 309,
267 >    HIDE_SPOOF_IPS = 310,
268 >    HOST = 311,
269 >    HUB = 312,
270 >    HUB_MASK = 313,
271 >    IGNORE_BOGUS_TS = 314,
272 >    INVISIBLE_ON_CONNECT = 315,
273 >    IP = 316,
274 >    IRCD_AUTH = 317,
275 >    IRCD_FLAGS = 318,
276 >    IRCD_SID = 319,
277 >    JOIN_FLOOD_COUNT = 320,
278 >    JOIN_FLOOD_TIME = 321,
279 >    KILL = 322,
280 >    KILL_CHASE_TIME_LIMIT = 323,
281 >    KLINE = 324,
282 >    KLINE_EXEMPT = 325,
283 >    KNOCK_DELAY = 326,
284 >    KNOCK_DELAY_CHANNEL = 327,
285 >    LEAF_MASK = 328,
286 >    LINKS_DELAY = 329,
287 >    LISTEN = 330,
288 >    MASK = 331,
289 >    MAX_ACCEPT = 332,
290 >    MAX_BANS = 333,
291 >    MAX_CHANS_PER_OPER = 334,
292 >    MAX_CHANS_PER_USER = 335,
293 >    MAX_GLOBAL = 336,
294 >    MAX_IDENT = 337,
295 >    MAX_IDLE = 338,
296 >    MAX_LOCAL = 339,
297 >    MAX_NICK_CHANGES = 340,
298 >    MAX_NICK_LENGTH = 341,
299 >    MAX_NICK_TIME = 342,
300 >    MAX_NUMBER = 343,
301 >    MAX_TARGETS = 344,
302 >    MAX_TOPIC_LENGTH = 345,
303 >    MAX_WATCH = 346,
304 >    MIN_IDLE = 347,
305 >    MIN_NONWILDCARD = 348,
306 >    MIN_NONWILDCARD_SIMPLE = 349,
307 >    MODULE = 350,
308 >    MODULES = 351,
309 >    MOTD = 352,
310 >    NAME = 353,
311 >    NEED_IDENT = 354,
312 >    NEED_PASSWORD = 355,
313 >    NETWORK_DESC = 356,
314 >    NETWORK_NAME = 357,
315 >    NICK = 358,
316 >    NO_CREATE_ON_SPLIT = 359,
317 >    NO_JOIN_ON_SPLIT = 360,
318 >    NO_OPER_FLOOD = 361,
319 >    NO_TILDE = 362,
320 >    NUMBER = 363,
321 >    NUMBER_PER_CIDR = 364,
322 >    NUMBER_PER_IP = 365,
323 >    OPER_ONLY_UMODES = 366,
324 >    OPER_PASS_RESV = 367,
325 >    OPER_UMODES = 368,
326 >    OPERATOR = 369,
327 >    OPERS_BYPASS_CALLERID = 370,
328 >    PACE_WAIT = 371,
329 >    PACE_WAIT_SIMPLE = 372,
330 >    PASSWORD = 373,
331 >    PATH = 374,
332 >    PING_COOKIE = 375,
333 >    PING_TIME = 376,
334 >    PORT = 377,
335 >    QSTRING = 378,
336 >    RANDOM_IDLE = 379,
337 >    REASON = 380,
338 >    REDIRPORT = 381,
339 >    REDIRSERV = 382,
340 >    REHASH = 383,
341 >    REMOTE = 384,
342 >    REMOTEBAN = 385,
343 >    RESV = 386,
344 >    RESV_EXEMPT = 387,
345 >    RSA_PRIVATE_KEY_FILE = 388,
346 >    RSA_PUBLIC_KEY_FILE = 389,
347 >    SECONDS = 390,
348 >    MINUTES = 391,
349 >    HOURS = 392,
350 >    DAYS = 393,
351 >    WEEKS = 394,
352 >    MONTHS = 395,
353 >    YEARS = 396,
354 >    SEND_PASSWORD = 397,
355 >    SENDQ = 398,
356 >    SERVERHIDE = 399,
357 >    SERVERINFO = 400,
358 >    SHORT_MOTD = 401,
359 >    SPOOF = 402,
360 >    SPOOF_NOTICE = 403,
361 >    SQUIT = 404,
362 >    SSL_CERTIFICATE_FILE = 405,
363 >    SSL_CERTIFICATE_FINGERPRINT = 406,
364 >    SSL_CONNECTION_REQUIRED = 407,
365 >    SSL_DH_PARAM_FILE = 408,
366 >    STATS_E_DISABLED = 409,
367 >    STATS_I_OPER_ONLY = 410,
368 >    STATS_K_OPER_ONLY = 411,
369 >    STATS_O_OPER_ONLY = 412,
370 >    STATS_P_OPER_ONLY = 413,
371 >    STATS_U_OPER_ONLY = 414,
372 >    T_ALL = 415,
373 >    T_BOTS = 416,
374 >    T_CALLERID = 417,
375 >    T_CCONN = 418,
376 >    T_CLUSTER = 419,
377 >    T_DEAF = 420,
378 >    T_DEBUG = 421,
379 >    T_DLINE = 422,
380 >    T_EXTERNAL = 423,
381 >    T_FARCONNECT = 424,
382 >    T_FILE = 425,
383 >    T_FULL = 426,
384 >    T_GLOBOPS = 427,
385 >    T_INVISIBLE = 428,
386 >    T_IPV4 = 429,
387 >    T_IPV6 = 430,
388 >    T_LOCOPS = 431,
389 >    T_LOG = 432,
390 >    T_MAX_CLIENTS = 433,
391 >    T_NCHANGE = 434,
392 >    T_NONONREG = 435,
393 >    T_OPERWALL = 436,
394 >    T_RECVQ = 437,
395 >    T_REJ = 438,
396 >    T_RESTART = 439,
397 >    T_SERVER = 440,
398 >    T_SERVICE = 441,
399 >    T_SERVICES_NAME = 442,
400 >    T_SERVNOTICE = 443,
401 >    T_SET = 444,
402 >    T_SHARED = 445,
403 >    T_SIZE = 446,
404 >    T_SKILL = 447,
405 >    T_SOFTCALLERID = 448,
406 >    T_SPY = 449,
407 >    T_SSL = 450,
408 >    T_SSL_CIPHER_LIST = 451,
409 >    T_SSL_CLIENT_METHOD = 452,
410 >    T_SSL_SERVER_METHOD = 453,
411 >    T_SSLV3 = 454,
412 >    T_TLSV1 = 455,
413 >    T_UMODES = 456,
414 >    T_UNAUTH = 457,
415 >    T_UNDLINE = 458,
416 >    T_UNLIMITED = 459,
417 >    T_UNRESV = 460,
418 >    T_UNXLINE = 461,
419 >    T_WALLOP = 462,
420 >    T_WALLOPS = 463,
421 >    T_WEBIRC = 464,
422 >    TBOOL = 465,
423 >    THROTTLE_TIME = 466,
424 >    TKLINE_EXPIRE_NOTICES = 467,
425 >    TMASKED = 468,
426 >    TRUE_NO_OPER_FLOOD = 469,
427 >    TS_MAX_DELTA = 470,
428 >    TS_WARN_DELTA = 471,
429 >    TWODOTS = 472,
430 >    TYPE = 473,
431 >    UNKLINE = 474,
432 >    USE_EGD = 475,
433 >    USE_LOGGING = 476,
434 >    USER = 477,
435 >    VHOST = 478,
436 >    VHOST6 = 479,
437 >    WARN_NO_NLINE = 480,
438 >    XLINE = 481
439 >  };
440   #endif
441   /* Tokens.  */
442   #define ACCEPT_PASSWORD 258
# Line 446 | Line 456 | extern int yydebug;
456   #define CLASS 272
457   #define CONNECT 273
458   #define CONNECTFREQ 274
459 < #define DEFAULT_FLOODCOUNT 275
460 < #define DEFAULT_SPLIT_SERVER_COUNT 276
461 < #define DEFAULT_SPLIT_USER_COUNT 277
462 < #define DENY 278
463 < #define DESCRIPTION 279
464 < #define DIE 280
465 < #define DISABLE_AUTH 281
466 < #define DISABLE_FAKE_CHANNELS 282
467 < #define DISABLE_REMOTE_COMMANDS 283
468 < #define DOTS_IN_IDENT 284
469 < #define EGDPOOL_PATH 285
470 < #define EMAIL 286
471 < #define ENCRYPTED 287
472 < #define EXCEED_LIMIT 288
473 < #define EXEMPT 289
474 < #define FAILED_OPER_NOTICE 290
475 < #define IRCD_FLAGS 291
459 > #define CYCLE_ON_HOST_CHANGE 275
460 > #define DEFAULT_FLOODCOUNT 276
461 > #define DEFAULT_SPLIT_SERVER_COUNT 277
462 > #define DEFAULT_SPLIT_USER_COUNT 278
463 > #define DENY 279
464 > #define DESCRIPTION 280
465 > #define DIE 281
466 > #define DISABLE_AUTH 282
467 > #define DISABLE_FAKE_CHANNELS 283
468 > #define DISABLE_REMOTE_COMMANDS 284
469 > #define DOTS_IN_IDENT 285
470 > #define EGDPOOL_PATH 286
471 > #define EMAIL 287
472 > #define ENCRYPTED 288
473 > #define EXCEED_LIMIT 289
474 > #define EXEMPT 290
475 > #define FAILED_OPER_NOTICE 291
476   #define FLATTEN_LINKS 292
477   #define GECOS 293
478   #define GENERAL 294
# Line 470 | Line 480 | extern int yydebug;
480   #define GLINE_DURATION 296
481   #define GLINE_ENABLE 297
482   #define GLINE_EXEMPT 298
483 < #define GLINE_REQUEST_DURATION 299
484 < #define GLINE_MIN_CIDR 300
485 < #define GLINE_MIN_CIDR6 301
483 > #define GLINE_MIN_CIDR 299
484 > #define GLINE_MIN_CIDR6 300
485 > #define GLINE_REQUEST_DURATION 301
486   #define GLOBAL_KILL 302
487 < #define IRCD_AUTH 303
488 < #define NEED_IDENT 304
489 < #define HAVENT_READ_CONF 305
490 < #define HIDDEN 306
491 < #define HIDDEN_NAME 307
492 < #define HIDE_SERVER_IPS 308
493 < #define HIDE_SERVERS 309
487 > #define HAVENT_READ_CONF 303
488 > #define HIDDEN 304
489 > #define HIDDEN_NAME 305
490 > #define HIDE_IDLE_FROM_OPERS 306
491 > #define HIDE_SERVER_IPS 307
492 > #define HIDE_SERVERS 308
493 > #define HIDE_SERVICES 309
494   #define HIDE_SPOOF_IPS 310
495   #define HOST 311
496   #define HUB 312
# Line 488 | Line 498 | extern int yydebug;
498   #define IGNORE_BOGUS_TS 314
499   #define INVISIBLE_ON_CONNECT 315
500   #define IP 316
501 < #define KILL 317
502 < #define KILL_CHASE_TIME_LIMIT 318
503 < #define KLINE 319
504 < #define KLINE_EXEMPT 320
505 < #define KNOCK_DELAY 321
506 < #define KNOCK_DELAY_CHANNEL 322
507 < #define LEAF_MASK 323
508 < #define LINKS_DELAY 324
509 < #define LISTEN 325
510 < #define T_LOG 326
511 < #define MAX_ACCEPT 327
512 < #define MAX_BANS 328
513 < #define MAX_CHANS_PER_OPER 329
514 < #define MAX_CHANS_PER_USER 330
515 < #define MAX_GLOBAL 331
516 < #define MAX_IDENT 332
517 < #define MAX_LOCAL 333
518 < #define MAX_NICK_CHANGES 334
519 < #define MAX_NICK_LENGTH 335
520 < #define MAX_NICK_TIME 336
521 < #define MAX_NUMBER 337
522 < #define MAX_TARGETS 338
523 < #define MAX_TOPIC_LENGTH 339
524 < #define MAX_WATCH 340
525 < #define MESSAGE_LOCALE 341
526 < #define MIN_NONWILDCARD 342
527 < #define MIN_NONWILDCARD_SIMPLE 343
528 < #define MODULE 344
529 < #define MODULES 345
530 < #define NAME 346
531 < #define NEED_PASSWORD 347
532 < #define NETWORK_DESC 348
533 < #define NETWORK_NAME 349
534 < #define NICK 350
535 < #define NICK_CHANGES 351
536 < #define NO_CREATE_ON_SPLIT 352
537 < #define NO_JOIN_ON_SPLIT 353
538 < #define NO_OPER_FLOOD 354
539 < #define NO_TILDE 355
540 < #define NUMBER 356
541 < #define NUMBER_PER_CIDR 357
542 < #define NUMBER_PER_IP 358
543 < #define OPERATOR 359
544 < #define OPERS_BYPASS_CALLERID 360
545 < #define OPER_ONLY_UMODES 361
546 < #define OPER_PASS_RESV 362
547 < #define OPER_SPY_T 363
548 < #define OPER_UMODES 364
549 < #define JOIN_FLOOD_COUNT 365
550 < #define JOIN_FLOOD_TIME 366
551 < #define PACE_WAIT 367
552 < #define PACE_WAIT_SIMPLE 368
553 < #define PASSWORD 369
554 < #define PATH 370
555 < #define PING_COOKIE 371
556 < #define PING_TIME 372
557 < #define PORT 373
558 < #define QSTRING 374
559 < #define QUIET_ON_BAN 375
560 < #define REASON 376
561 < #define REDIRPORT 377
562 < #define REDIRSERV 378
563 < #define REGEX_T 379
564 < #define REHASH 380
565 < #define REMOTE 381
566 < #define REMOTEBAN 382
567 < #define RESTRICT_CHANNELS 383
568 < #define RSA_PRIVATE_KEY_FILE 384
569 < #define RSA_PUBLIC_KEY_FILE 385
570 < #define SSL_CERTIFICATE_FILE 386
571 < #define SSL_DH_PARAM_FILE 387
572 < #define T_SSL_CLIENT_METHOD 388
573 < #define T_SSL_SERVER_METHOD 389
574 < #define T_SSLV3 390
575 < #define T_TLSV1 391
576 < #define RESV 392
577 < #define RESV_EXEMPT 393
578 < #define SECONDS 394
579 < #define MINUTES 395
580 < #define HOURS 396
581 < #define DAYS 397
582 < #define WEEKS 398
583 < #define SENDQ 399
584 < #define SEND_PASSWORD 400
585 < #define SERVERHIDE 401
586 < #define SERVERINFO 402
587 < #define IRCD_SID 403
588 < #define TKLINE_EXPIRE_NOTICES 404
589 < #define T_SHARED 405
590 < #define T_CLUSTER 406
591 < #define TYPE 407
592 < #define SHORT_MOTD 408
593 < #define SPOOF 409
594 < #define SPOOF_NOTICE 410
595 < #define STATS_E_DISABLED 411
596 < #define STATS_I_OPER_ONLY 412
597 < #define STATS_K_OPER_ONLY 413
598 < #define STATS_O_OPER_ONLY 414
599 < #define STATS_P_OPER_ONLY 415
600 < #define TBOOL 416
601 < #define TMASKED 417
602 < #define TS_MAX_DELTA 418
603 < #define TS_WARN_DELTA 419
604 < #define TWODOTS 420
605 < #define T_ALL 421
606 < #define T_BOTS 422
607 < #define T_SOFTCALLERID 423
608 < #define T_CALLERID 424
609 < #define T_CCONN 425
610 < #define T_CCONN_FULL 426
611 < #define T_SSL_CIPHER_LIST 427
612 < #define T_DEAF 428
613 < #define T_DEBUG 429
614 < #define T_DLINE 430
615 < #define T_EXTERNAL 431
616 < #define T_FULL 432
617 < #define T_INVISIBLE 433
618 < #define T_IPV4 434
619 < #define T_IPV6 435
620 < #define T_LOCOPS 436
621 < #define T_MAX_CLIENTS 437
622 < #define T_NCHANGE 438
623 < #define T_OPERWALL 439
624 < #define T_RECVQ 440
625 < #define T_REJ 441
626 < #define T_SERVER 442
501 > #define IRCD_AUTH 317
502 > #define IRCD_FLAGS 318
503 > #define IRCD_SID 319
504 > #define JOIN_FLOOD_COUNT 320
505 > #define JOIN_FLOOD_TIME 321
506 > #define KILL 322
507 > #define KILL_CHASE_TIME_LIMIT 323
508 > #define KLINE 324
509 > #define KLINE_EXEMPT 325
510 > #define KNOCK_DELAY 326
511 > #define KNOCK_DELAY_CHANNEL 327
512 > #define LEAF_MASK 328
513 > #define LINKS_DELAY 329
514 > #define LISTEN 330
515 > #define MASK 331
516 > #define MAX_ACCEPT 332
517 > #define MAX_BANS 333
518 > #define MAX_CHANS_PER_OPER 334
519 > #define MAX_CHANS_PER_USER 335
520 > #define MAX_GLOBAL 336
521 > #define MAX_IDENT 337
522 > #define MAX_IDLE 338
523 > #define MAX_LOCAL 339
524 > #define MAX_NICK_CHANGES 340
525 > #define MAX_NICK_LENGTH 341
526 > #define MAX_NICK_TIME 342
527 > #define MAX_NUMBER 343
528 > #define MAX_TARGETS 344
529 > #define MAX_TOPIC_LENGTH 345
530 > #define MAX_WATCH 346
531 > #define MIN_IDLE 347
532 > #define MIN_NONWILDCARD 348
533 > #define MIN_NONWILDCARD_SIMPLE 349
534 > #define MODULE 350
535 > #define MODULES 351
536 > #define MOTD 352
537 > #define NAME 353
538 > #define NEED_IDENT 354
539 > #define NEED_PASSWORD 355
540 > #define NETWORK_DESC 356
541 > #define NETWORK_NAME 357
542 > #define NICK 358
543 > #define NO_CREATE_ON_SPLIT 359
544 > #define NO_JOIN_ON_SPLIT 360
545 > #define NO_OPER_FLOOD 361
546 > #define NO_TILDE 362
547 > #define NUMBER 363
548 > #define NUMBER_PER_CIDR 364
549 > #define NUMBER_PER_IP 365
550 > #define OPER_ONLY_UMODES 366
551 > #define OPER_PASS_RESV 367
552 > #define OPER_UMODES 368
553 > #define OPERATOR 369
554 > #define OPERS_BYPASS_CALLERID 370
555 > #define PACE_WAIT 371
556 > #define PACE_WAIT_SIMPLE 372
557 > #define PASSWORD 373
558 > #define PATH 374
559 > #define PING_COOKIE 375
560 > #define PING_TIME 376
561 > #define PORT 377
562 > #define QSTRING 378
563 > #define RANDOM_IDLE 379
564 > #define REASON 380
565 > #define REDIRPORT 381
566 > #define REDIRSERV 382
567 > #define REHASH 383
568 > #define REMOTE 384
569 > #define REMOTEBAN 385
570 > #define RESV 386
571 > #define RESV_EXEMPT 387
572 > #define RSA_PRIVATE_KEY_FILE 388
573 > #define RSA_PUBLIC_KEY_FILE 389
574 > #define SECONDS 390
575 > #define MINUTES 391
576 > #define HOURS 392
577 > #define DAYS 393
578 > #define WEEKS 394
579 > #define MONTHS 395
580 > #define YEARS 396
581 > #define SEND_PASSWORD 397
582 > #define SENDQ 398
583 > #define SERVERHIDE 399
584 > #define SERVERINFO 400
585 > #define SHORT_MOTD 401
586 > #define SPOOF 402
587 > #define SPOOF_NOTICE 403
588 > #define SQUIT 404
589 > #define SSL_CERTIFICATE_FILE 405
590 > #define SSL_CERTIFICATE_FINGERPRINT 406
591 > #define SSL_CONNECTION_REQUIRED 407
592 > #define SSL_DH_PARAM_FILE 408
593 > #define STATS_E_DISABLED 409
594 > #define STATS_I_OPER_ONLY 410
595 > #define STATS_K_OPER_ONLY 411
596 > #define STATS_O_OPER_ONLY 412
597 > #define STATS_P_OPER_ONLY 413
598 > #define STATS_U_OPER_ONLY 414
599 > #define T_ALL 415
600 > #define T_BOTS 416
601 > #define T_CALLERID 417
602 > #define T_CCONN 418
603 > #define T_CLUSTER 419
604 > #define T_DEAF 420
605 > #define T_DEBUG 421
606 > #define T_DLINE 422
607 > #define T_EXTERNAL 423
608 > #define T_FARCONNECT 424
609 > #define T_FILE 425
610 > #define T_FULL 426
611 > #define T_GLOBOPS 427
612 > #define T_INVISIBLE 428
613 > #define T_IPV4 429
614 > #define T_IPV6 430
615 > #define T_LOCOPS 431
616 > #define T_LOG 432
617 > #define T_MAX_CLIENTS 433
618 > #define T_NCHANGE 434
619 > #define T_NONONREG 435
620 > #define T_OPERWALL 436
621 > #define T_RECVQ 437
622 > #define T_REJ 438
623 > #define T_RESTART 439
624 > #define T_SERVER 440
625 > #define T_SERVICE 441
626 > #define T_SERVICES_NAME 442
627   #define T_SERVNOTICE 443
628   #define T_SET 444
629 < #define T_SKILL 445
630 < #define T_SPY 446
631 < #define T_SSL 447
632 < #define T_UMODES 448
633 < #define T_UNAUTH 449
634 < #define T_UNDLINE 450
635 < #define T_UNLIMITED 451
636 < #define T_UNRESV 452
637 < #define T_UNXLINE 453
638 < #define T_GLOBOPS 454
639 < #define T_WALLOP 455
640 < #define T_WEBIRC 456
641 < #define T_RESTART 457
642 < #define T_SERVICE 458
643 < #define T_SERVICES_NAME 459
644 < #define THROTTLE_TIME 460
645 < #define TRUE_NO_OPER_FLOOD 461
646 < #define UNKLINE 462
647 < #define USER 463
648 < #define USE_EGD 464
649 < #define USE_LOGGING 465
650 < #define VHOST 466
651 < #define VHOST6 467
652 < #define XLINE 468
653 < #define WARN_NO_NLINE 469
654 < #define T_SIZE 470
655 < #define T_FILE 471
656 <
657 <
629 > #define T_SHARED 445
630 > #define T_SIZE 446
631 > #define T_SKILL 447
632 > #define T_SOFTCALLERID 448
633 > #define T_SPY 449
634 > #define T_SSL 450
635 > #define T_SSL_CIPHER_LIST 451
636 > #define T_SSL_CLIENT_METHOD 452
637 > #define T_SSL_SERVER_METHOD 453
638 > #define T_SSLV3 454
639 > #define T_TLSV1 455
640 > #define T_UMODES 456
641 > #define T_UNAUTH 457
642 > #define T_UNDLINE 458
643 > #define T_UNLIMITED 459
644 > #define T_UNRESV 460
645 > #define T_UNXLINE 461
646 > #define T_WALLOP 462
647 > #define T_WALLOPS 463
648 > #define T_WEBIRC 464
649 > #define TBOOL 465
650 > #define THROTTLE_TIME 466
651 > #define TKLINE_EXPIRE_NOTICES 467
652 > #define TMASKED 468
653 > #define TRUE_NO_OPER_FLOOD 469
654 > #define TS_MAX_DELTA 470
655 > #define TS_WARN_DELTA 471
656 > #define TWODOTS 472
657 > #define TYPE 473
658 > #define UNKLINE 474
659 > #define USE_EGD 475
660 > #define USE_LOGGING 476
661 > #define USER 477
662 > #define VHOST 478
663 > #define VHOST6 479
664 > #define WARN_NO_NLINE 480
665 > #define XLINE 481
666  
667 + /* Value type.  */
668   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
669 < typedef union YYSTYPE
669 > typedef union YYSTYPE YYSTYPE;
670 > union YYSTYPE
671   {
672 < /* Line 387 of yacc.c  */
653 < #line 137 "conf_parser.y"
672 > #line 140 "conf_parser.y" /* yacc.c:355  */
673  
674    int number;
675    char *string;
676  
677 <
678 < /* Line 387 of yacc.c  */
660 < #line 661 "conf_parser.c"
661 < } YYSTYPE;
677 > #line 678 "conf_parser.c" /* yacc.c:355  */
678 > };
679   # define YYSTYPE_IS_TRIVIAL 1
663 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
680   # define YYSTYPE_IS_DECLARED 1
681   #endif
682  
683 +
684   extern YYSTYPE yylval;
685  
669 #ifdef YYPARSE_PARAM
670 #if defined __STDC__ || defined __cplusplus
671 int yyparse (void *YYPARSE_PARAM);
672 #else
673 int yyparse ();
674 #endif
675 #else /* ! YYPARSE_PARAM */
676 #if defined __STDC__ || defined __cplusplus
686   int yyparse (void);
678 #else
679 int yyparse ();
680 #endif
681 #endif /* ! YYPARSE_PARAM */
687  
688   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
689  
690   /* Copy the second part of user declarations.  */
691  
692 < /* Line 390 of yacc.c  */
688 < #line 689 "conf_parser.c"
692 > #line 693 "conf_parser.c" /* yacc.c:358  */
693  
694   #ifdef short
695   # undef short
# Line 699 | Line 703 | typedef unsigned char yytype_uint8;
703  
704   #ifdef YYTYPE_INT8
705   typedef YYTYPE_INT8 yytype_int8;
702 #elif (defined __STDC__ || defined __C99__FUNC__ \
703     || defined __cplusplus || defined _MSC_VER)
704 typedef signed char yytype_int8;
706   #else
707 < typedef short int yytype_int8;
707 > typedef signed char yytype_int8;
708   #endif
709  
710   #ifdef YYTYPE_UINT16
# Line 723 | Line 724 | typedef short int yytype_int16;
724   #  define YYSIZE_T __SIZE_TYPE__
725   # elif defined size_t
726   #  define YYSIZE_T size_t
727 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
727 <     || defined __cplusplus || defined _MSC_VER)
727 > # elif ! defined YYSIZE_T
728   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
729   #  define YYSIZE_T size_t
730   # else
# Line 746 | Line 746 | typedef short int yytype_int16;
746   # endif
747   #endif
748  
749 + #ifndef __attribute__
750 + /* This feature is available in gcc versions 2.5 and later.  */
751 + # if (! defined __GNUC__ || __GNUC__ < 2 \
752 +      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
753 + #  define __attribute__(Spec) /* empty */
754 + # endif
755 + #endif
756 +
757   /* Suppress unused-variable warnings by "using" E.  */
758   #if ! defined lint || defined __GNUC__
759   # define YYUSE(E) ((void) (E))
# Line 753 | Line 761 | typedef short int yytype_int16;
761   # define YYUSE(E) /* empty */
762   #endif
763  
764 < /* Identity function, used to suppress warnings about constant conditions.  */
765 < #ifndef lint
766 < # define YYID(N) (N)
767 < #else
768 < #if (defined __STDC__ || defined __C99__FUNC__ \
769 <     || defined __cplusplus || defined _MSC_VER)
770 < static int
771 < YYID (int yyi)
764 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
765 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
766 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
767 >    _Pragma ("GCC diagnostic push") \
768 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
769 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
770 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
771 >    _Pragma ("GCC diagnostic pop")
772   #else
773 < static int
766 < YYID (yyi)
767 <    int yyi;
773 > # define YY_INITIAL_VALUE(Value) Value
774   #endif
775 < {
776 <  return yyi;
777 < }
775 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
776 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
777 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
778 > #endif
779 > #ifndef YY_INITIAL_VALUE
780 > # define YY_INITIAL_VALUE(Value) /* Nothing. */
781   #endif
782  
783 +
784   #if ! defined yyoverflow || YYERROR_VERBOSE
785  
786   /* The parser invokes alloca or malloc; define the necessary symbols.  */
# Line 788 | Line 798 | YYID (yyi)
798   #    define alloca _alloca
799   #   else
800   #    define YYSTACK_ALLOC alloca
801 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
792 <     || defined __cplusplus || defined _MSC_VER)
801 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
802   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
803        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
804   #     ifndef EXIT_SUCCESS
# Line 801 | Line 810 | YYID (yyi)
810   # endif
811  
812   # ifdef YYSTACK_ALLOC
813 <   /* Pacify GCC's `empty if-body' warning.  */
814 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
813 >   /* Pacify GCC's 'empty if-body' warning.  */
814 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
815   #  ifndef YYSTACK_ALLOC_MAXIMUM
816      /* The OS might guarantee only one guard page at the bottom of the stack,
817         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 818 | Line 827 | YYID (yyi)
827   #  endif
828   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
829         && ! ((defined YYMALLOC || defined malloc) \
830 <             && (defined YYFREE || defined free)))
830 >             && (defined YYFREE || defined free)))
831   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
832   #   ifndef EXIT_SUCCESS
833   #    define EXIT_SUCCESS 0
# Line 826 | Line 835 | YYID (yyi)
835   #  endif
836   #  ifndef YYMALLOC
837   #   define YYMALLOC malloc
838 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
830 <     || defined __cplusplus || defined _MSC_VER)
838 > #   if ! defined malloc && ! defined EXIT_SUCCESS
839   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
840   #   endif
841   #  endif
842   #  ifndef YYFREE
843   #   define YYFREE free
844 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
837 <     || defined __cplusplus || defined _MSC_VER)
844 > #   if ! defined free && ! defined EXIT_SUCCESS
845   void free (void *); /* INFRINGES ON USER NAME SPACE */
846   #   endif
847   #  endif
# Line 844 | Line 851 | void free (void *); /* INFRINGES ON USER
851  
852   #if (! defined yyoverflow \
853       && (! defined __cplusplus \
854 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
854 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
855  
856   /* A type that is properly aligned for any stack member.  */
857   union yyalloc
# Line 869 | Line 876 | union yyalloc
876     elements in the stack, and YYPTR gives the new location of the
877     stack.  Advance YYPTR to a properly aligned location for the next
878     stack.  */
879 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
880 <    do                                                                  \
881 <      {                                                                 \
882 <        YYSIZE_T yynewbytes;                                            \
883 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
884 <        Stack = &yyptr->Stack_alloc;                                    \
885 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
886 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
887 <      }                                                                 \
888 <    while (YYID (0))
879 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
880 >    do                                                                  \
881 >      {                                                                 \
882 >        YYSIZE_T yynewbytes;                                            \
883 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
884 >        Stack = &yyptr->Stack_alloc;                                    \
885 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
886 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
887 >      }                                                                 \
888 >    while (0)
889  
890   #endif
891  
# Line 897 | Line 904 | union yyalloc
904            for (yyi = 0; yyi < (Count); yyi++)   \
905              (Dst)[yyi] = (Src)[yyi];            \
906          }                                       \
907 <      while (YYID (0))
907 >      while (0)
908   #  endif
909   # endif
910   #endif /* !YYCOPY_NEEDED */
# Line 905 | Line 912 | union yyalloc
912   /* YYFINAL -- State number of the termination state.  */
913   #define YYFINAL  2
914   /* YYLAST -- Last index in YYTABLE.  */
915 < #define YYLAST   1186
915 > #define YYLAST   1236
916  
917   /* YYNTOKENS -- Number of terminals.  */
918 < #define YYNTOKENS  222
918 > #define YYNTOKENS  233
919   /* YYNNTS -- Number of nonterminals.  */
920 < #define YYNNTS  284
920 > #define YYNNTS  291
921   /* YYNRULES -- Number of rules.  */
922 < #define YYNRULES  630
923 < /* YYNRULES -- Number of states.  */
924 < #define YYNSTATES  1234
922 > #define YYNRULES  656
923 > /* YYNSTATES -- Number of states.  */
924 > #define YYNSTATES  1287
925  
926 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
926 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
927 >   by yylex, with out-of-bounds checking.  */
928   #define YYUNDEFTOK  2
929 < #define YYMAXUTOK   471
929 > #define YYMAXUTOK   481
930  
931 < #define YYTRANSLATE(YYX)                                                \
931 > #define YYTRANSLATE(YYX)                                                \
932    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
933  
934 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
934 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
935 >   as returned by yylex, without out-of-bounds checking.  */
936   static const yytype_uint8 yytranslate[] =
937   {
938         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
939         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
940         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
941         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
942 <       2,     2,     2,     2,   221,     2,     2,     2,     2,     2,
943 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   217,
944 <       2,   220,     2,     2,     2,     2,     2,     2,     2,     2,
942 >       2,     2,     2,     2,   231,     2,     2,     2,     2,     2,
943 >       2,     2,     2,     2,     2,     2,     2,     2,   232,   227,
944 >       2,   230,     2,     2,     2,     2,     2,     2,     2,     2,
945         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
946         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
947         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
948         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
949         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
950 <       2,     2,     2,   219,     2,   218,     2,     2,     2,     2,
950 >       2,     2,     2,   229,     2,   228,     2,     2,     2,     2,
951         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
952         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
953         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 973 | Line 982 | static const yytype_uint8 yytranslate[]
982       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
983       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
984       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
985 <     215,   216
985 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
986 >     225,   226
987   };
988  
989   #if YYDEBUG
990 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
981 <   YYRHS.  */
982 < static const yytype_uint16 yyprhs[] =
983 < {
984 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
985 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
986 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
987 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
988 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
989 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
990 <     154,   156,   158,   160,   162,   164,   166,   168,   170,   173,
991 <     178,   183,   187,   189,   191,   193,   197,   199,   201,   203,
992 <     208,   213,   218,   223,   228,   233,   238,   243,   248,   253,
993 <     258,   263,   268,   273,   278,   284,   287,   289,   291,   293,
994 <     295,   298,   303,   308,   313,   319,   322,   324,   326,   328,
995 <     331,   336,   337,   344,   347,   349,   351,   353,   355,   358,
996 <     363,   368,   373,   374,   380,   384,   386,   388,   390,   392,
997 <     394,   396,   398,   400,   401,   408,   411,   413,   415,   417,
998 <     419,   421,   423,   425,   427,   429,   432,   437,   442,   447,
999 <     452,   457,   462,   463,   469,   473,   475,   477,   479,   481,
1000 <     483,   485,   487,   489,   491,   493,   495,   497,   499,   501,
1001 <     503,   505,   507,   509,   511,   513,   515,   516,   522,   526,
1002 <     528,   530,   532,   534,   536,   538,   540,   542,   544,   546,
1003 <     548,   550,   552,   554,   556,   558,   560,   562,   564,   566,
1004 <     567,   574,   577,   579,   581,   583,   585,   587,   589,   591,
1005 <     593,   595,   597,   599,   601,   603,   605,   608,   613,   618,
1006 <     623,   628,   633,   638,   643,   648,   653,   658,   663,   668,
1007 <     673,   674,   681,   682,   688,   692,   694,   696,   698,   700,
1008 <     703,   705,   707,   709,   711,   713,   716,   717,   723,   727,
1009 <     729,   731,   735,   740,   745,   746,   753,   756,   758,   760,
1010 <     762,   764,   766,   768,   770,   772,   774,   777,   782,   787,
1011 <     792,   797,   798,   804,   808,   810,   812,   814,   816,   818,
1012 <     820,   822,   824,   826,   828,   830,   835,   840,   845,   846,
1013 <     853,   856,   858,   860,   862,   864,   867,   872,   877,   882,
1014 <     888,   891,   893,   895,   897,   902,   903,   910,   913,   915,
1015 <     917,   919,   921,   924,   929,   934,   935,   941,   945,   947,
1016 <     949,   951,   953,   955,   957,   959,   961,   963,   965,   967,
1017 <     968,   975,   978,   980,   982,   984,   987,   992,   993,   999,
1018 <    1003,  1005,  1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,
1019 <    1023,  1025,  1026,  1033,  1036,  1038,  1040,  1042,  1044,  1046,
1020 <    1048,  1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,  1067,
1021 <    1072,  1077,  1082,  1087,  1092,  1097,  1102,  1107,  1108,  1114,
1022 <    1118,  1120,  1122,  1124,  1129,  1134,  1139,  1144,  1149,  1150,
1023 <    1157,  1158,  1164,  1168,  1170,  1172,  1175,  1177,  1179,  1181,
1024 <    1183,  1185,  1190,  1195,  1196,  1203,  1206,  1208,  1210,  1212,
1025 <    1214,  1219,  1224,  1230,  1233,  1235,  1237,  1239,  1244,  1245,
1026 <    1252,  1253,  1259,  1263,  1265,  1267,  1270,  1272,  1274,  1276,
1027 <    1278,  1280,  1285,  1290,  1296,  1299,  1301,  1303,  1305,  1307,
1028 <    1309,  1311,  1313,  1315,  1317,  1319,  1321,  1323,  1325,  1327,
1029 <    1329,  1331,  1333,  1335,  1337,  1339,  1341,  1343,  1345,  1347,
1030 <    1349,  1351,  1353,  1355,  1357,  1359,  1361,  1363,  1365,  1367,
1031 <    1369,  1371,  1373,  1375,  1377,  1379,  1381,  1383,  1385,  1387,
1032 <    1389,  1391,  1393,  1395,  1397,  1399,  1401,  1406,  1411,  1416,
1033 <    1421,  1426,  1431,  1436,  1441,  1446,  1451,  1456,  1461,  1466,
1034 <    1471,  1476,  1481,  1486,  1491,  1496,  1501,  1506,  1511,  1516,
1035 <    1521,  1526,  1531,  1536,  1541,  1546,  1551,  1556,  1561,  1566,
1036 <    1571,  1576,  1581,  1586,  1591,  1596,  1601,  1606,  1611,  1616,
1037 <    1621,  1626,  1631,  1632,  1638,  1642,  1644,  1646,  1648,  1650,
1038 <    1652,  1654,  1656,  1658,  1660,  1662,  1664,  1666,  1668,  1670,
1039 <    1672,  1674,  1676,  1678,  1680,  1682,  1684,  1685,  1691,  1695,
1040 <    1697,  1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,  1715,
1041 <    1717,  1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,
1042 <    1737,  1742,  1747,  1752,  1758,  1761,  1763,  1765,  1767,  1769,
1043 <    1771,  1773,  1775,  1777,  1779,  1781,  1783,  1785,  1787,  1789,
1044 <    1791,  1793,  1798,  1803,  1808,  1813,  1818,  1823,  1828,  1833,
1045 <    1838,  1843,  1848,  1853,  1858,  1863,  1869,  1872,  1874,  1876,
1046 <    1878,  1880,  1882,  1884,  1886,  1888,  1893,  1898,  1903,  1908,
1047 <    1913
1048 < };
1049 <
1050 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1051 < static const yytype_int16 yyrhs[] =
1052 < {
1053 <     223,     0,    -1,    -1,   223,   224,    -1,   258,    -1,   264,
1054 <      -1,   278,    -1,   480,    -1,   296,    -1,   313,    -1,   327,
1055 <      -1,   234,    -1,   497,    -1,   342,    -1,   349,    -1,   353,
1056 <      -1,   363,    -1,   372,    -1,   392,    -1,   402,    -1,   408,
1057 <      -1,   422,    -1,   412,    -1,   229,    -1,     1,   217,    -1,
1058 <       1,   218,    -1,    -1,   226,    -1,   101,   225,    -1,   101,
1059 <     139,   225,    -1,   101,   140,   225,    -1,   101,   141,   225,
1060 <      -1,   101,   142,   225,    -1,   101,   143,   225,    -1,    -1,
1061 <     228,    -1,   101,   227,    -1,   101,     9,   227,    -1,   101,
1062 <      10,   227,    -1,   101,    11,   227,    -1,    90,   219,   230,
1063 <     218,   217,    -1,   230,   231,    -1,   231,    -1,   232,    -1,
1064 <     233,    -1,     1,   217,    -1,    89,   220,   119,   217,    -1,
1065 <     115,   220,   119,   217,    -1,   147,   219,   235,   218,   217,
1066 <      -1,   235,   236,    -1,   236,    -1,   247,    -1,   252,    -1,
1067 <     257,    -1,   249,    -1,   250,    -1,   251,    -1,   254,    -1,
1068 <     255,    -1,   256,    -1,   245,    -1,   244,    -1,   253,    -1,
1069 <     248,    -1,   243,    -1,   237,    -1,   238,    -1,   246,    -1,
1070 <       1,   217,    -1,   133,   220,   239,   217,    -1,   134,   220,
1071 <     241,   217,    -1,   239,   221,   240,    -1,   240,    -1,   135,
1072 <      -1,   136,    -1,   241,   221,   242,    -1,   242,    -1,   135,
1073 <      -1,   136,    -1,   131,   220,   119,   217,    -1,   129,   220,
1074 <     119,   217,    -1,   132,   220,   119,   217,    -1,   172,   220,
1075 <     119,   217,    -1,    91,   220,   119,   217,    -1,   148,   220,
1076 <     119,   217,    -1,    24,   220,   119,   217,    -1,    94,   220,
1077 <     119,   217,    -1,    93,   220,   119,   217,    -1,   211,   220,
1078 <     119,   217,    -1,   212,   220,   119,   217,    -1,   182,   220,
1079 <     101,   217,    -1,    80,   220,   101,   217,    -1,    84,   220,
1080 <     101,   217,    -1,    57,   220,   161,   217,    -1,     4,   219,
1081 <     259,   218,   217,    -1,   259,   260,    -1,   260,    -1,   261,
1082 <      -1,   263,    -1,   262,    -1,     1,   217,    -1,    91,   220,
1083 <     119,   217,    -1,    31,   220,   119,   217,    -1,    24,   220,
1084 <     119,   217,    -1,    71,   219,   265,   218,   217,    -1,   265,
1085 <     266,    -1,   266,    -1,   267,    -1,   268,    -1,     1,   217,
1086 <      -1,   210,   220,   161,   217,    -1,    -1,   269,   216,   219,
1087 <     270,   218,   217,    -1,   270,   271,    -1,   271,    -1,   272,
1088 <      -1,   274,    -1,   273,    -1,     1,   217,    -1,    91,   220,
1089 <     119,   217,    -1,   215,   220,   228,   217,    -1,   215,   220,
1090 <     196,   217,    -1,    -1,   152,   275,   220,   276,   217,    -1,
1091 <     276,   221,   277,    -1,   277,    -1,   208,    -1,   104,    -1,
1092 <      40,    -1,   175,    -1,    64,    -1,    62,    -1,   174,    -1,
1093 <      -1,   104,   279,   219,   280,   218,   217,    -1,   280,   281,
1094 <      -1,   281,    -1,   282,    -1,   283,    -1,   284,    -1,   288,
1095 <      -1,   287,    -1,   285,    -1,   286,    -1,   292,    -1,     1,
1096 <     217,    -1,    91,   220,   119,   217,    -1,   208,   220,   119,
1097 <     217,    -1,   114,   220,   119,   217,    -1,    32,   220,   161,
1098 <     217,    -1,   130,   220,   119,   217,    -1,    17,   220,   119,
1099 <     217,    -1,    -1,   193,   289,   220,   290,   217,    -1,   290,
1100 <     221,   291,    -1,   291,    -1,   167,    -1,   170,    -1,   171,
1101 <      -1,   173,    -1,   174,    -1,   177,    -1,    51,    -1,   190,
1102 <      -1,   183,    -1,   186,    -1,   194,    -1,   191,    -1,   176,
1103 <      -1,   184,    -1,   188,    -1,   178,    -1,   200,    -1,   168,
1104 <      -1,   169,    -1,   181,    -1,    -1,    36,   293,   220,   294,
1105 <     217,    -1,   294,   221,   295,    -1,   295,    -1,    47,    -1,
1106 <     126,    -1,    64,    -1,   207,    -1,   175,    -1,   195,    -1,
1107 <     213,    -1,    40,    -1,    25,    -1,   202,    -1,   125,    -1,
1108 <       4,    -1,    96,    -1,   184,    -1,   199,    -1,   108,    -1,
1109 <     127,    -1,   189,    -1,    89,    -1,    -1,    17,   297,   219,
1110 <     298,   218,   217,    -1,   298,   299,    -1,   299,    -1,   300,
1111 <      -1,   310,    -1,   311,    -1,   301,    -1,   312,    -1,   302,
1112 <      -1,   303,    -1,   304,    -1,   305,    -1,   306,    -1,   307,
1113 <      -1,   308,    -1,   309,    -1,     1,   217,    -1,    91,   220,
1114 <     119,   217,    -1,   117,   220,   226,   217,    -1,   103,   220,
1115 <     101,   217,    -1,    19,   220,   226,   217,    -1,    82,   220,
1116 <     101,   217,    -1,    76,   220,   101,   217,    -1,    78,   220,
1117 <     101,   217,    -1,    77,   220,   101,   217,    -1,   144,   220,
1118 <     228,   217,    -1,   185,   220,   228,   217,    -1,    15,   220,
1119 <     101,   217,    -1,    16,   220,   101,   217,    -1,   102,   220,
1120 <     101,   217,    -1,    -1,    70,   314,   219,   319,   218,   217,
1121 <      -1,    -1,    36,   316,   220,   317,   217,    -1,   317,   221,
1122 <     318,    -1,   318,    -1,   192,    -1,    51,    -1,   187,    -1,
1123 <     319,   320,    -1,   320,    -1,   321,    -1,   315,    -1,   325,
1124 <      -1,   326,    -1,     1,   217,    -1,    -1,   118,   220,   323,
1125 <     322,   217,    -1,   323,   221,   324,    -1,   324,    -1,   101,
1126 <      -1,   101,   165,   101,    -1,    61,   220,   119,   217,    -1,
1127 <      56,   220,   119,   217,    -1,    -1,    48,   328,   219,   329,
1128 <     218,   217,    -1,   329,   330,    -1,   330,    -1,   331,    -1,
1129 <     332,    -1,   333,    -1,   335,    -1,   339,    -1,   340,    -1,
1130 <     341,    -1,   334,    -1,     1,   217,    -1,   208,   220,   119,
1131 <     217,    -1,   114,   220,   119,   217,    -1,    17,   220,   119,
1132 <     217,    -1,    32,   220,   161,   217,    -1,    -1,    36,   336,
1133 <     220,   337,   217,    -1,   337,   221,   338,    -1,   338,    -1,
1134 <     155,    -1,    33,    -1,    65,    -1,    49,    -1,    13,    -1,
1135 <     100,    -1,    43,    -1,   138,    -1,   201,    -1,    92,    -1,
1136 <     154,   220,   119,   217,    -1,   123,   220,   119,   217,    -1,
1137 <     122,   220,   101,   217,    -1,    -1,   137,   343,   219,   344,
1138 <     218,   217,    -1,   344,   345,    -1,   345,    -1,   346,    -1,
1139 <     347,    -1,   348,    -1,     1,   217,    -1,   121,   220,   119,
1140 <     217,    -1,    14,   220,   119,   217,    -1,    95,   220,   119,
1141 <     217,    -1,   203,   219,   350,   218,   217,    -1,   350,   351,
1142 <      -1,   351,    -1,   352,    -1,     1,    -1,    91,   220,   119,
1143 <     217,    -1,    -1,   150,   354,   219,   355,   218,   217,    -1,
1144 <     355,   356,    -1,   356,    -1,   357,    -1,   358,    -1,   359,
1145 <      -1,     1,   217,    -1,    91,   220,   119,   217,    -1,   208,
1146 <     220,   119,   217,    -1,    -1,   152,   360,   220,   361,   217,
1147 <      -1,   361,   221,   362,    -1,   362,    -1,    64,    -1,   207,
1148 <      -1,   175,    -1,   195,    -1,   213,    -1,   198,    -1,   137,
1149 <      -1,   197,    -1,   181,    -1,   166,    -1,    -1,   151,   364,
1150 <     219,   365,   218,   217,    -1,   365,   366,    -1,   366,    -1,
1151 <     367,    -1,   368,    -1,     1,   217,    -1,    91,   220,   119,
1152 <     217,    -1,    -1,   152,   369,   220,   370,   217,    -1,   370,
1153 <     221,   371,    -1,   371,    -1,    64,    -1,   207,    -1,   175,
1154 <      -1,   195,    -1,   213,    -1,   198,    -1,   137,    -1,   197,
1155 <      -1,   181,    -1,   166,    -1,    -1,    18,   373,   219,   374,
1156 <     218,   217,    -1,   374,   375,    -1,   375,    -1,   376,    -1,
1157 <     377,    -1,   378,    -1,   379,    -1,   380,    -1,   382,    -1,
1158 <     381,    -1,   391,    -1,   383,    -1,   388,    -1,   389,    -1,
1159 <     390,    -1,   387,    -1,     1,   217,    -1,    91,   220,   119,
1160 <     217,    -1,    56,   220,   119,   217,    -1,   211,   220,   119,
1161 <     217,    -1,   145,   220,   119,   217,    -1,     3,   220,   119,
1162 <     217,    -1,   118,   220,   101,   217,    -1,     5,   220,   179,
1163 <     217,    -1,     5,   220,   180,   217,    -1,    -1,    36,   384,
1164 <     220,   385,   217,    -1,   385,   221,   386,    -1,   386,    -1,
1165 <       8,    -1,   192,    -1,    32,   220,   161,   217,    -1,    58,
1166 <     220,   119,   217,    -1,    68,   220,   119,   217,    -1,    17,
1167 <     220,   119,   217,    -1,   172,   220,   119,   217,    -1,    -1,
1168 <      62,   393,   219,   398,   218,   217,    -1,    -1,   152,   395,
1169 <     220,   396,   217,    -1,   396,   221,   397,    -1,   397,    -1,
1170 <     124,    -1,   398,   399,    -1,   399,    -1,   400,    -1,   401,
1171 <      -1,   394,    -1,     1,    -1,   208,   220,   119,   217,    -1,
1172 <     121,   220,   119,   217,    -1,    -1,    23,   403,   219,   404,
1173 <     218,   217,    -1,   404,   405,    -1,   405,    -1,   406,    -1,
1174 <     407,    -1,     1,    -1,    61,   220,   119,   217,    -1,   121,
1175 <     220,   119,   217,    -1,    34,   219,   409,   218,   217,    -1,
1176 <     409,   410,    -1,   410,    -1,   411,    -1,     1,    -1,    61,
1177 <     220,   119,   217,    -1,    -1,    38,   413,   219,   418,   218,
1178 <     217,    -1,    -1,   152,   415,   220,   416,   217,    -1,   416,
1179 <     221,   417,    -1,   417,    -1,   124,    -1,   418,   419,    -1,
1180 <     419,    -1,   420,    -1,   421,    -1,   414,    -1,     1,    -1,
1181 <      91,   220,   119,   217,    -1,   121,   220,   119,   217,    -1,
1182 <      39,   219,   423,   218,   217,    -1,   423,   424,    -1,   424,
1183 <      -1,   433,    -1,   434,    -1,   436,    -1,   437,    -1,   438,
1184 <      -1,   439,    -1,   440,    -1,   441,    -1,   442,    -1,   443,
1185 <      -1,   432,    -1,   445,    -1,   446,    -1,   461,    -1,   448,
1186 <      -1,   450,    -1,   452,    -1,   451,    -1,   455,    -1,   449,
1187 <      -1,   456,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1188 <      -1,   473,    -1,   462,    -1,   463,    -1,   464,    -1,   469,
1189 <      -1,   453,    -1,   454,    -1,   479,    -1,   477,    -1,   478,
1190 <      -1,   435,    -1,   468,    -1,   444,    -1,   466,    -1,   467,
1191 <      -1,   431,    -1,   426,    -1,   427,    -1,   428,    -1,   429,
1192 <      -1,   430,    -1,   447,    -1,   425,    -1,   465,    -1,     1,
1193 <      -1,    85,   220,   101,   217,    -1,    42,   220,   161,   217,
1194 <      -1,    41,   220,   226,   217,    -1,    44,   220,   226,   217,
1195 <      -1,    45,   220,   101,   217,    -1,    46,   220,   101,   217,
1196 <      -1,   149,   220,   161,   217,    -1,    63,   220,   226,   217,
1197 <      -1,    55,   220,   161,   217,    -1,    59,   220,   161,   217,
1198 <      -1,    28,   220,   161,   217,    -1,    35,   220,   161,   217,
1199 <      -1,     6,   220,   161,   217,    -1,    81,   220,   226,   217,
1200 <      -1,    79,   220,   101,   217,    -1,    72,   220,   101,   217,
1201 <      -1,     7,   220,   226,   217,    -1,   164,   220,   226,   217,
1202 <      -1,   163,   220,   226,   217,    -1,    50,   220,   101,   217,
1203 <      -1,    60,   220,   161,   217,    -1,   214,   220,   161,   217,
1204 <      -1,   156,   220,   161,   217,    -1,   159,   220,   161,   217,
1205 <      -1,   160,   220,   161,   217,    -1,   158,   220,   161,   217,
1206 <      -1,   158,   220,   162,   217,    -1,   157,   220,   161,   217,
1207 <      -1,   157,   220,   162,   217,    -1,   112,   220,   226,   217,
1208 <      -1,    12,   220,   226,   217,    -1,   105,   220,   161,   217,
1209 <      -1,   113,   220,   226,   217,    -1,   153,   220,   161,   217,
1210 <      -1,    99,   220,   161,   217,    -1,   206,   220,   161,   217,
1211 <      -1,   107,   220,   161,   217,    -1,    86,   220,   119,   217,
1212 <      -1,    29,   220,   101,   217,    -1,    83,   220,   101,   217,
1213 <      -1,   209,   220,   161,   217,    -1,    30,   220,   119,   217,
1214 <      -1,   204,   220,   119,   217,    -1,   116,   220,   161,   217,
1215 <      -1,    26,   220,   161,   217,    -1,   205,   220,   226,   217,
1216 <      -1,    -1,   109,   470,   220,   471,   217,    -1,   471,   221,
1217 <     472,    -1,   472,    -1,   167,    -1,   170,    -1,   171,    -1,
1218 <     173,    -1,   174,    -1,   177,    -1,    51,    -1,   190,    -1,
1219 <     183,    -1,   186,    -1,   194,    -1,   191,    -1,   176,    -1,
1220 <     184,    -1,   188,    -1,   178,    -1,   200,    -1,   168,    -1,
1221 <     169,    -1,   181,    -1,    -1,   106,   474,   220,   475,   217,
1222 <      -1,   475,   221,   476,    -1,   476,    -1,   167,    -1,   170,
1223 <      -1,   171,    -1,   173,    -1,   174,    -1,   177,    -1,   190,
1224 <      -1,    51,    -1,   183,    -1,   186,    -1,   194,    -1,   191,
1225 <      -1,   176,    -1,   184,    -1,   188,    -1,   178,    -1,   200,
1226 <      -1,   168,    -1,   169,    -1,   181,    -1,    87,   220,   101,
1227 <     217,    -1,    88,   220,   101,   217,    -1,    20,   220,   101,
1228 <     217,    -1,    14,   219,   481,   218,   217,    -1,   481,   482,
1229 <      -1,   482,    -1,   490,    -1,   485,    -1,   486,    -1,   487,
1230 <      -1,   488,    -1,   489,    -1,   491,    -1,   492,    -1,   493,
1231 <      -1,   484,    -1,   494,    -1,   495,    -1,   496,    -1,   483,
1232 <      -1,     1,    -1,    27,   220,   161,   217,    -1,   128,   220,
1233 <     161,   217,    -1,    66,   220,   226,   217,    -1,    67,   220,
1234 <     226,   217,    -1,    75,   220,   101,   217,    -1,    74,   220,
1235 <     101,   217,    -1,   120,   220,   161,   217,    -1,    73,   220,
1236 <     101,   217,    -1,    22,   220,   101,   217,    -1,    21,   220,
1237 <     101,   217,    -1,    97,   220,   161,   217,    -1,    98,   220,
1238 <     161,   217,    -1,   110,   220,   101,   217,    -1,   111,   220,
1239 <     226,   217,    -1,   146,   219,   498,   218,   217,    -1,   498,
1240 <     499,    -1,   499,    -1,   500,    -1,   501,    -1,   503,    -1,
1241 <     504,    -1,   502,    -1,   505,    -1,     1,    -1,    37,   220,
1242 <     161,   217,    -1,    54,   220,   161,   217,    -1,    52,   220,
1243 <     119,   217,    -1,    69,   220,   226,   217,    -1,    51,   220,
1244 <     161,   217,    -1,    53,   220,   161,   217,    -1
1245 < };
1246 <
1247 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
990 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
991   static const yytype_uint16 yyrline[] =
992   {
993 <       0,   359,   359,   360,   363,   364,   365,   366,   367,   368,
994 <     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
995 <     379,   380,   381,   382,   383,   384,   388,   388,   389,   393,
996 <     397,   401,   405,   409,   415,   415,   416,   417,   418,   419,
997 <     426,   429,   429,   430,   430,   430,   432,   438,   445,   447,
998 <     447,   448,   448,   449,   449,   450,   450,   451,   451,   452,
999 <     452,   453,   453,   454,   454,   455,   455,   456,   457,   460,
1000 <     461,   463,   463,   464,   470,   478,   478,   479,   485,   493,
1001 <     535,   594,   622,   630,   645,   660,   669,   683,   692,   720,
1002 <     750,   775,   797,   819,   828,   830,   830,   831,   831,   832,
1003 <     832,   834,   843,   852,   864,   865,   865,   867,   867,   868,
1004 <     870,   877,   877,   890,   891,   893,   893,   894,   894,   896,
1005 <     904,   907,   913,   912,   918,   918,   919,   923,   927,   931,
1006 <     935,   939,   943,   954,   953,  1030,  1030,  1031,  1031,  1031,
1007 <    1032,  1032,  1032,  1033,  1033,  1033,  1035,  1041,  1047,  1053,
1008 <    1064,  1070,  1077,  1076,  1082,  1082,  1083,  1087,  1091,  1095,
1009 <    1099,  1103,  1107,  1111,  1115,  1119,  1123,  1127,  1131,  1135,
1010 <    1139,  1143,  1147,  1151,  1155,  1159,  1166,  1165,  1171,  1171,
1011 <    1172,  1176,  1180,  1184,  1188,  1192,  1196,  1200,  1204,  1208,
1012 <    1212,  1216,  1220,  1224,  1228,  1232,  1236,  1240,  1244,  1255,
1013 <    1254,  1305,  1305,  1306,  1307,  1307,  1308,  1309,  1310,  1311,
1014 <    1312,  1313,  1314,  1315,  1316,  1316,  1317,  1319,  1325,  1331,
1015 <    1337,  1343,  1349,  1355,  1361,  1367,  1373,  1380,  1386,  1392,
1016 <    1402,  1401,  1408,  1407,  1412,  1412,  1413,  1417,  1421,  1427,
1017 <    1427,  1428,  1428,  1428,  1428,  1428,  1430,  1430,  1432,  1432,
1018 <    1434,  1448,  1468,  1474,  1484,  1483,  1525,  1525,  1526,  1526,
1019 <    1526,  1526,  1527,  1527,  1527,  1528,  1528,  1530,  1536,  1542,
1020 <    1548,  1560,  1559,  1565,  1565,  1566,  1570,  1574,  1578,  1582,
1021 <    1586,  1590,  1594,  1598,  1602,  1608,  1622,  1631,  1645,  1644,
1022 <    1653,  1653,  1654,  1654,  1654,  1654,  1656,  1662,  1671,  1680,
1023 <    1682,  1682,  1683,  1683,  1685,  1701,  1700,  1725,  1725,  1726,
1024 <    1726,  1726,  1726,  1728,  1734,  1754,  1753,  1759,  1759,  1760,
1025 <    1764,  1768,  1772,  1776,  1780,  1784,  1788,  1792,  1796,  1806,
1026 <    1805,  1826,  1826,  1827,  1827,  1827,  1829,  1836,  1835,  1841,
1027 <    1841,  1842,  1846,  1850,  1854,  1858,  1862,  1866,  1870,  1874,
1028 <    1878,  1888,  1887,  1953,  1953,  1954,  1954,  1954,  1955,  1955,
1029 <    1956,  1956,  1956,  1957,  1957,  1957,  1958,  1958,  1959,  1961,
1030 <    1967,  1973,  1979,  1992,  2005,  2011,  2015,  2024,  2023,  2028,
1031 <    2028,  2029,  2033,  2039,  2050,  2056,  2062,  2068,  2084,  2083,
1032 <    2146,  2145,  2151,  2151,  2152,  2158,  2158,  2159,  2159,  2159,
1033 <    2159,  2161,  2181,  2191,  2190,  2217,  2217,  2218,  2218,  2218,
1034 <    2220,  2226,  2235,  2237,  2237,  2238,  2238,  2240,  2258,  2257,
1035 <    2303,  2302,  2308,  2308,  2309,  2315,  2315,  2316,  2316,  2316,
1036 <    2316,  2318,  2324,  2333,  2336,  2336,  2337,  2337,  2338,  2338,
1037 <    2339,  2339,  2340,  2340,  2341,  2341,  2342,  2343,  2344,  2344,
1038 <    2345,  2345,  2346,  2346,  2347,  2347,  2348,  2348,  2349,  2349,
1039 <    2350,  2351,  2351,  2352,  2352,  2353,  2353,  2354,  2354,  2355,
1040 <    2355,  2356,  2357,  2357,  2358,  2359,  2360,  2360,  2361,  2361,
1041 <    2362,  2363,  2364,  2365,  2365,  2366,  2369,  2374,  2380,  2386,
1042 <    2392,  2397,  2402,  2407,  2412,  2417,  2422,  2427,  2432,  2437,
1043 <    2442,  2447,  2452,  2457,  2462,  2468,  2479,  2484,  2489,  2494,
1044 <    2499,  2504,  2507,  2512,  2515,  2520,  2525,  2530,  2535,  2540,
1045 <    2545,  2550,  2555,  2560,  2571,  2576,  2581,  2586,  2595,  2604,
1046 <    2609,  2614,  2620,  2619,  2624,  2624,  2625,  2628,  2631,  2634,
1047 <    2637,  2640,  2643,  2646,  2649,  2652,  2655,  2658,  2661,  2664,
1048 <    2667,  2670,  2673,  2676,  2679,  2682,  2688,  2687,  2692,  2692,
1049 <    2693,  2696,  2699,  2702,  2705,  2708,  2711,  2714,  2717,  2720,
1050 <    2723,  2726,  2729,  2732,  2735,  2738,  2741,  2744,  2747,  2750,
1051 <    2755,  2760,  2765,  2774,  2777,  2777,  2778,  2779,  2779,  2780,
1052 <    2780,  2781,  2781,  2782,  2783,  2783,  2784,  2785,  2785,  2786,
1053 <    2786,  2788,  2793,  2798,  2803,  2808,  2813,  2818,  2823,  2828,
1054 <    2833,  2838,  2843,  2848,  2853,  2861,  2864,  2864,  2865,  2865,
1055 <    2866,  2867,  2867,  2868,  2869,  2871,  2877,  2883,  2892,  2906,
1056 <    2912
993 >       0,   370,   370,   371,   374,   375,   376,   377,   378,   379,
994 >     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
995 >     390,   391,   392,   393,   394,   395,   396,   400,   400,   401,
996 >     405,   409,   413,   417,   421,   425,   429,   435,   435,   436,
997 >     437,   438,   439,   446,   449,   449,   450,   450,   450,   452,
998 >     458,   465,   467,   467,   468,   468,   469,   469,   470,   470,
999 >     471,   471,   472,   472,   473,   473,   474,   474,   475,   475,
1000 >     476,   477,   480,   481,   483,   483,   484,   490,   498,   498,
1001 >     499,   505,   513,   555,   614,   642,   650,   665,   680,   689,
1002 >     703,   712,   740,   770,   795,   817,   839,   848,   850,   850,
1003 >     851,   851,   852,   852,   854,   863,   872,   885,   884,   902,
1004 >     902,   903,   903,   903,   905,   911,   920,   921,   921,   923,
1005 >     923,   924,   926,   933,   933,   946,   947,   949,   949,   950,
1006 >     950,   952,   960,   963,   969,   968,   974,   974,   975,   979,
1007 >     983,   987,   991,   995,   999,  1003,  1007,  1018,  1017,  1097,
1008 >    1097,  1098,  1098,  1098,  1099,  1099,  1099,  1100,  1100,  1101,
1009 >    1102,  1102,  1104,  1110,  1116,  1122,  1133,  1139,  1145,  1156,
1010 >    1163,  1162,  1168,  1168,  1169,  1173,  1177,  1181,  1185,  1189,
1011 >    1193,  1197,  1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,
1012 >    1233,  1237,  1241,  1245,  1249,  1256,  1255,  1261,  1261,  1262,
1013 >    1266,  1270,  1274,  1278,  1282,  1286,  1290,  1294,  1298,  1302,
1014 >    1306,  1310,  1314,  1318,  1322,  1326,  1330,  1334,  1338,  1342,
1015 >    1346,  1350,  1361,  1360,  1421,  1421,  1422,  1423,  1423,  1424,
1016 >    1425,  1426,  1427,  1428,  1429,  1430,  1431,  1432,  1432,  1433,
1017 >    1434,  1435,  1436,  1438,  1444,  1450,  1456,  1462,  1468,  1474,
1018 >    1480,  1486,  1492,  1499,  1505,  1511,  1517,  1526,  1536,  1535,
1019 >    1541,  1541,  1542,  1546,  1557,  1556,  1563,  1562,  1567,  1567,
1020 >    1568,  1572,  1576,  1582,  1582,  1583,  1583,  1583,  1583,  1583,
1021 >    1585,  1585,  1587,  1587,  1589,  1603,  1623,  1629,  1639,  1638,
1022 >    1680,  1680,  1681,  1681,  1681,  1681,  1682,  1682,  1682,  1683,
1023 >    1683,  1685,  1691,  1697,  1703,  1715,  1714,  1720,  1720,  1721,
1024 >    1725,  1729,  1733,  1737,  1741,  1745,  1749,  1753,  1757,  1763,
1025 >    1777,  1786,  1800,  1799,  1814,  1814,  1815,  1815,  1815,  1815,
1026 >    1817,  1823,  1829,  1839,  1841,  1841,  1842,  1842,  1844,  1860,
1027 >    1859,  1884,  1884,  1885,  1885,  1885,  1885,  1887,  1893,  1913,
1028 >    1912,  1918,  1918,  1919,  1923,  1927,  1931,  1935,  1939,  1943,
1029 >    1947,  1951,  1955,  1965,  1964,  1985,  1985,  1986,  1986,  1986,
1030 >    1988,  1995,  1994,  2000,  2000,  2001,  2005,  2009,  2013,  2017,
1031 >    2021,  2025,  2029,  2033,  2037,  2047,  2046,  2118,  2118,  2119,
1032 >    2119,  2119,  2120,  2120,  2121,  2122,  2122,  2122,  2123,  2123,
1033 >    2123,  2124,  2124,  2125,  2127,  2133,  2139,  2145,  2158,  2171,
1034 >    2177,  2183,  2187,  2196,  2195,  2200,  2200,  2201,  2205,  2211,
1035 >    2222,  2228,  2234,  2240,  2256,  2255,  2281,  2281,  2282,  2282,
1036 >    2282,  2284,  2304,  2314,  2313,  2340,  2340,  2341,  2341,  2341,
1037 >    2343,  2349,  2358,  2360,  2360,  2361,  2361,  2363,  2381,  2380,
1038 >    2403,  2403,  2404,  2404,  2404,  2406,  2412,  2421,  2424,  2424,
1039 >    2425,  2425,  2426,  2426,  2427,  2427,  2428,  2428,  2429,  2429,
1040 >    2430,  2431,  2432,  2432,  2433,  2433,  2434,  2434,  2435,  2435,
1041 >    2436,  2437,  2437,  2438,  2438,  2439,  2439,  2440,  2440,  2441,
1042 >    2441,  2442,  2442,  2443,  2443,  2444,  2444,  2445,  2446,  2447,
1043 >    2447,  2448,  2448,  2449,  2450,  2451,  2452,  2452,  2453,  2454,
1044 >    2457,  2462,  2468,  2474,  2480,  2486,  2491,  2496,  2501,  2506,
1045 >    2511,  2516,  2521,  2526,  2531,  2536,  2541,  2546,  2551,  2557,
1046 >    2568,  2573,  2578,  2583,  2588,  2593,  2598,  2601,  2606,  2609,
1047 >    2614,  2619,  2624,  2629,  2634,  2639,  2644,  2649,  2654,  2659,
1048 >    2664,  2669,  2678,  2687,  2692,  2697,  2703,  2702,  2707,  2707,
1049 >    2708,  2711,  2714,  2717,  2720,  2723,  2726,  2729,  2732,  2735,
1050 >    2738,  2741,  2744,  2747,  2750,  2753,  2756,  2759,  2762,  2765,
1051 >    2768,  2774,  2773,  2778,  2778,  2779,  2782,  2785,  2788,  2791,
1052 >    2794,  2797,  2800,  2803,  2806,  2809,  2812,  2815,  2818,  2821,
1053 >    2824,  2827,  2830,  2833,  2836,  2839,  2844,  2849,  2854,  2863,
1054 >    2866,  2866,  2867,  2868,  2868,  2869,  2869,  2870,  2871,  2872,
1055 >    2873,  2874,  2874,  2875,  2875,  2877,  2882,  2887,  2892,  2897,
1056 >    2902,  2907,  2912,  2917,  2922,  2927,  2932,  2940,  2943,  2943,
1057 >    2944,  2944,  2945,  2946,  2947,  2948,  2948,  2949,  2950,  2952,
1058 >    2958,  2964,  2970,  2976,  2985,  2999,  3005
1059   };
1060   #endif
1061  
# Line 1323 | Line 1068 | static const char *const yytname[] =
1068    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1069    "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1070    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1071 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1072 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1073 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1074 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1075 <  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1076 <  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1077 <  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1078 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1079 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1080 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1081 <  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1082 <  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1083 <  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1084 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1085 <  "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER",
1086 <  "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH", "MESSAGE_LOCALE",
1087 <  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME",
1088 <  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1071 >  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1072 >  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1073 >  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1074 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
1075 >  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1076 >  "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1077 >  "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1078 >  "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1079 >  "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1080 >  "HIDE_SERVICES", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1081 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "IRCD_AUTH",
1082 >  "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1083 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY",
1084 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1085 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1086 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1087 >  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1088 >  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1089 >  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1090 >  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1091    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1092 <  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1093 <  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1347 <  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1092 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1093 >  "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1094    "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1095 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1096 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1097 <  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1098 <  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1099 <  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1100 <  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1101 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1102 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1103 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1104 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1105 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1106 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1107 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1108 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1109 <  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1110 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1111 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1112 <  "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART", "T_SERVICE",
1113 <  "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE",
1114 <  "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1115 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1095 >  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1096 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1097 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1098 >  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1099 >  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1100 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1101 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1102 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1103 >  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1104 >  "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE",
1105 >  "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1106 >  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1107 >  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1108 >  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1109 >  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1110 >  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1111 >  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1112 >  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1113 >  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1114 >  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1115 >  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1116 >  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1117    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1118    "sizespec", "modules_entry", "modules_items", "modules_item",
1119    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
# Line 1381 | Line 1128 | static const char *const yytname[] =
1128    "serverinfo_max_clients", "serverinfo_max_nick_length",
1129    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1130    "admin_items", "admin_item", "admin_name", "admin_email",
1131 <  "admin_description", "logging_entry", "logging_items", "logging_item",
1132 <  "logging_use_logging", "logging_file_entry", "$@1", "logging_file_items",
1133 <  "logging_file_item", "logging_file_name", "logging_file_size",
1134 <  "logging_file_type", "$@2", "logging_file_type_items",
1135 <  "logging_file_type_item", "oper_entry", "$@3", "oper_items", "oper_item",
1136 <  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1137 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@4",
1138 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@5",
1139 <  "oper_flags_items", "oper_flags_item", "class_entry", "$@6",
1140 <  "class_items", "class_item", "class_name", "class_ping_time",
1141 <  "class_number_per_ip", "class_connectfreq", "class_max_number",
1142 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1143 <  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1144 <  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1145 <  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1146 <  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1147 <  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1148 <  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1149 <  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1150 <  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1151 <  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1152 <  "service_entry", "service_items", "service_item", "service_name",
1153 <  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1154 <  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1155 <  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1156 <  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1157 <  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1131 >  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1132 >  "motd_mask", "motd_file", "logging_entry", "logging_items",
1133 >  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1134 >  "logging_file_items", "logging_file_item", "logging_file_name",
1135 >  "logging_file_size", "logging_file_type", "$@3",
1136 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1137 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1138 >  "oper_encrypted", "oper_rsa_public_key_file",
1139 >  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1140 >  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1141 >  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1142 >  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1143 >  "class_name", "class_ping_time", "class_number_per_ip",
1144 >  "class_connectfreq", "class_max_number", "class_max_global",
1145 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1146 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1147 >  "class_number_per_cidr", "class_min_idle", "class_max_idle",
1148 >  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1149 >  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1150 >  "listen_flags_item", "listen_items", "listen_item", "listen_port",
1151 >  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1152 >  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1153 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1154 >  "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1155 >  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1156 >  "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1157 >  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1158 >  "shared_items", "shared_item", "shared_name", "shared_user",
1159 >  "shared_type", "$@16", "shared_types", "shared_type_item",
1160 >  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1161 >  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1162 >  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1163    "connect_host", "connect_vhost", "connect_send_password",
1164 <  "connect_accept_password", "connect_port", "connect_aftype",
1165 <  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1166 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1167 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1168 <  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1169 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1164 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1165 >  "connect_port", "connect_aftype", "connect_flags", "$@20",
1166 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1167 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1168 >  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1169 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1170    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1171 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1420 <  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1171 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1172    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1173    "general_entry", "general_items", "general_item", "general_max_watch",
1174 <  "general_gline_enable", "general_gline_duration",
1175 <  "general_gline_request_duration", "general_gline_min_cidr",
1176 <  "general_gline_min_cidr6", "general_tkline_expire_notices",
1177 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1178 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1174 >  "general_cycle_on_host_change", "general_gline_enable",
1175 >  "general_gline_duration", "general_gline_request_duration",
1176 >  "general_gline_min_cidr", "general_gline_min_cidr6",
1177 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1178 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1179    "general_failed_oper_notice", "general_anti_nick_flood",
1180    "general_max_nick_time", "general_max_nick_changes",
1181    "general_max_accept", "general_anti_spam_exit_message_time",
# Line 1432 | Line 1183 | static const char *const yytname[] =
1183    "general_havent_read_conf", "general_invisible_on_connect",
1184    "general_warn_no_nline", "general_stats_e_disabled",
1185    "general_stats_o_oper_only", "general_stats_P_oper_only",
1186 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1187 <  "general_pace_wait", "general_caller_id_wait",
1188 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1189 <  "general_short_motd", "general_no_oper_flood",
1190 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1191 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1186 >  "general_stats_u_oper_only", "general_stats_k_oper_only",
1187 >  "general_stats_i_oper_only", "general_pace_wait",
1188 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1189 >  "general_pace_wait_simple", "general_short_motd",
1190 >  "general_no_oper_flood", "general_true_no_oper_flood",
1191 >  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1192    "general_use_egd", "general_egdpool_path", "general_services_name",
1193    "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1194    "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1195    "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1196    "general_min_nonwildcard", "general_min_nonwildcard_simple",
1197    "general_default_floodcount", "channel_entry", "channel_items",
1198 <  "channel_item", "channel_disable_fake_channels",
1448 <  "channel_restrict_channels", "channel_knock_delay",
1198 >  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1199    "channel_knock_delay_channel", "channel_max_chans_per_user",
1200 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1200 >  "channel_max_chans_per_oper", "channel_max_bans",
1201    "channel_default_split_user_count", "channel_default_split_server_count",
1202    "channel_no_create_on_split", "channel_no_join_on_split",
1203    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1204    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1205 <  "serverhide_hide_servers", "serverhide_hidden_name",
1205 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1206 >  "serverhide_hide_services", "serverhide_hidden_name",
1207    "serverhide_links_delay", "serverhide_hidden",
1208    "serverhide_hide_server_ips", YY_NULL
1209   };
1210   #endif
1211  
1212   # ifdef YYPRINT
1213 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1214 <   token YYLEX-NUM.  */
1213 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1214 >   (internal) symbol number NUM (which must be that of a token).  */
1215   static const yytype_uint16 yytoknum[] =
1216   {
1217         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1484 | Line 1235 | static const yytype_uint16 yytoknum[] =
1235       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1236       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1237       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1238 <     465,   466,   467,   468,   469,   470,   471,    59,   125,   123,
1239 <      61,    44
1238 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1239 >     475,   476,   477,   478,   479,   480,   481,    59,   125,   123,
1240 >      61,    44,    58
1241   };
1242   # endif
1243  
1244 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1493 < static const yytype_uint16 yyr1[] =
1494 < {
1495 <       0,   222,   223,   223,   224,   224,   224,   224,   224,   224,
1496 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1497 <     224,   224,   224,   224,   224,   224,   225,   225,   226,   226,
1498 <     226,   226,   226,   226,   227,   227,   228,   228,   228,   228,
1499 <     229,   230,   230,   231,   231,   231,   232,   233,   234,   235,
1500 <     235,   236,   236,   236,   236,   236,   236,   236,   236,   236,
1501 <     236,   236,   236,   236,   236,   236,   236,   236,   236,   237,
1502 <     238,   239,   239,   240,   240,   241,   241,   242,   242,   243,
1503 <     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1504 <     254,   255,   256,   257,   258,   259,   259,   260,   260,   260,
1505 <     260,   261,   262,   263,   264,   265,   265,   266,   266,   266,
1506 <     267,   269,   268,   270,   270,   271,   271,   271,   271,   272,
1507 <     273,   273,   275,   274,   276,   276,   277,   277,   277,   277,
1508 <     277,   277,   277,   279,   278,   280,   280,   281,   281,   281,
1509 <     281,   281,   281,   281,   281,   281,   282,   283,   284,   285,
1510 <     286,   287,   289,   288,   290,   290,   291,   291,   291,   291,
1511 <     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1512 <     291,   291,   291,   291,   291,   291,   293,   292,   294,   294,
1513 <     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1514 <     295,   295,   295,   295,   295,   295,   295,   295,   295,   297,
1515 <     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1516 <     299,   299,   299,   299,   299,   299,   299,   300,   301,   302,
1517 <     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1518 <     314,   313,   316,   315,   317,   317,   318,   318,   318,   319,
1519 <     319,   320,   320,   320,   320,   320,   322,   321,   323,   323,
1520 <     324,   324,   325,   326,   328,   327,   329,   329,   330,   330,
1521 <     330,   330,   330,   330,   330,   330,   330,   331,   332,   333,
1522 <     334,   336,   335,   337,   337,   338,   338,   338,   338,   338,
1523 <     338,   338,   338,   338,   338,   339,   340,   341,   343,   342,
1524 <     344,   344,   345,   345,   345,   345,   346,   347,   348,   349,
1525 <     350,   350,   351,   351,   352,   354,   353,   355,   355,   356,
1526 <     356,   356,   356,   357,   358,   360,   359,   361,   361,   362,
1527 <     362,   362,   362,   362,   362,   362,   362,   362,   362,   364,
1528 <     363,   365,   365,   366,   366,   366,   367,   369,   368,   370,
1529 <     370,   371,   371,   371,   371,   371,   371,   371,   371,   371,
1530 <     371,   373,   372,   374,   374,   375,   375,   375,   375,   375,
1531 <     375,   375,   375,   375,   375,   375,   375,   375,   375,   376,
1532 <     377,   378,   379,   380,   381,   382,   382,   384,   383,   385,
1533 <     385,   386,   386,   387,   388,   389,   390,   391,   393,   392,
1534 <     395,   394,   396,   396,   397,   398,   398,   399,   399,   399,
1535 <     399,   400,   401,   403,   402,   404,   404,   405,   405,   405,
1536 <     406,   407,   408,   409,   409,   410,   410,   411,   413,   412,
1537 <     415,   414,   416,   416,   417,   418,   418,   419,   419,   419,
1538 <     419,   420,   421,   422,   423,   423,   424,   424,   424,   424,
1539 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1540 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1541 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1542 <     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
1543 <     424,   424,   424,   424,   424,   424,   425,   426,   427,   428,
1544 <     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1545 <     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1546 <     449,   450,   450,   451,   451,   452,   453,   454,   455,   456,
1547 <     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1548 <     467,   468,   470,   469,   471,   471,   472,   472,   472,   472,
1549 <     472,   472,   472,   472,   472,   472,   472,   472,   472,   472,
1550 <     472,   472,   472,   472,   472,   472,   474,   473,   475,   475,
1551 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1552 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1553 <     477,   478,   479,   480,   481,   481,   482,   482,   482,   482,
1554 <     482,   482,   482,   482,   482,   482,   482,   482,   482,   482,
1555 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1556 <     492,   493,   494,   495,   496,   497,   498,   498,   499,   499,
1557 <     499,   499,   499,   499,   499,   500,   501,   502,   503,   504,
1558 <     505
1559 < };
1244 > #define YYPACT_NINF -755
1245  
1246 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1247 < static const yytype_uint8 yyr2[] =
1246 > #define yypact_value_is_default(Yystate) \
1247 >  (!!((Yystate) == (-755)))
1248 >
1249 > #define YYTABLE_NINF -124
1250 >
1251 > #define yytable_value_is_error(Yytable_value) \
1252 >  0
1253 >
1254 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1255 >     STATE-NUM.  */
1256 > static const yytype_int16 yypact[] =
1257   {
1258 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1259 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1260 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1261 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1262 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1263 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1264 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1265 <       4,     3,     1,     1,     1,     3,     1,     1,     1,     4,
1266 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1267 <       4,     4,     4,     4,     5,     2,     1,     1,     1,     1,
1268 <       2,     4,     4,     4,     5,     2,     1,     1,     1,     2,
1269 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1270 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1271 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
1272 <       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1273 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1274 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1275 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1276 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1277 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1278 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1279 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1280 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1281 <       0,     6,     0,     5,     3,     1,     1,     1,     1,     2,
1282 <       1,     1,     1,     1,     1,     2,     0,     5,     3,     1,
1283 <       1,     3,     4,     4,     0,     6,     2,     1,     1,     1,
1284 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1285 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1286 <       1,     1,     1,     1,     1,     4,     4,     4,     0,     6,
1287 <       2,     1,     1,     1,     1,     2,     4,     4,     4,     5,
1288 <       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
1289 <       1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1290 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1291 <       6,     2,     1,     1,     1,     2,     4,     0,     5,     3,
1292 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1293 <       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1294 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1295 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1296 <       1,     1,     1,     4,     4,     4,     4,     4,     0,     6,
1297 <       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1298 <       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1299 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1300 <       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1301 <       1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1302 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1303 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1304 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1305 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1306 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1307 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1308 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1309 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1310 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1311 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1312 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1313 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1314 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1315 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1316 <       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1317 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1318 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1319 <       4,     4,     4,     4,     4,     5,     2,     1,     1,     1,
1320 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1321 <       4
1258 >    -755,   716,  -755,  -198,  -223,  -208,  -755,  -755,  -755,  -186,
1259 >    -755,  -184,  -755,  -755,  -755,  -179,  -755,  -755,  -755,  -168,
1260 >    -154,  -755,  -146,  -123,  -755,  -755,  -755,  -755,  -755,  -755,
1261 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1262 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   282,
1263 >     923,   -84,   -59,   -46,   130,   -45,   414,   -39,   -26,   -19,
1264 >      79,   -18,   -11,    21,   503,   408,    40,    39,    53,    41,
1265 >     -14,    -1,    64,    66,     7,  -755,  -755,  -755,  -755,  -755,
1266 >      81,    82,    96,   100,   102,   104,   105,   117,   119,   121,
1267 >     127,   128,    13,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1268 >    -755,  -755,  -755,  -755,  -755,  -755,   706,   577,    61,  -755,
1269 >     131,    10,  -755,  -755,    36,  -755,   132,   133,   135,   139,
1270 >     141,   142,   143,   144,   146,   148,   151,   153,   157,   158,
1271 >     160,   162,   164,   165,   166,   168,   170,   180,   182,   183,
1272 >     187,   188,   189,  -755,   192,  -755,   193,   195,   197,   199,
1273 >     200,   201,   202,   206,   207,   208,   209,   212,   213,   216,
1274 >     217,   219,   221,   222,   223,   108,  -755,  -755,  -755,  -755,
1275 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1276 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1277 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1278 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1279 >    -755,  -755,  -755,  -755,  -755,  -755,   353,     8,   292,    29,
1280 >     227,   231,    24,  -755,  -755,  -755,    22,   546,    47,  -755,
1281 >     236,   237,   240,   246,   248,   251,   253,   254,    15,  -755,
1282 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,    60,   255,
1283 >     257,   259,   260,   262,   263,   265,   266,   272,   288,   291,
1284 >     294,   303,   305,   306,   307,   308,     9,  -755,  -755,  -755,
1285 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1286 >    -755,  -755,  -755,  -755,  -755,     4,    65,   309,    19,  -755,
1287 >    -755,  -755,   155,  -755,   313,    23,  -755,  -755,    62,  -755,
1288 >     215,   352,   365,   270,  -755,   252,   436,   335,   438,   440,
1289 >     440,   440,   443,   451,   454,   355,   356,   340,  -755,   347,
1290 >     346,   351,   354,  -755,   357,   359,   360,   362,   366,   367,
1291 >     368,   369,   370,   372,   373,   377,   258,  -755,  -755,  -755,
1292 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1293 >    -755,  -755,  -755,  -755,   358,   378,   381,   382,   383,   384,
1294 >     385,  -755,   386,   387,   388,   390,   391,   392,   393,   326,
1295 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1296 >    -755,  -755,  -755,  -755,  -755,  -755,   394,   397,    69,  -755,
1297 >    -755,  -755,   460,   409,  -755,  -755,   407,   411,    48,  -755,
1298 >    -755,  -755,   428,   440,   440,   432,   487,   433,   537,   523,
1299 >     437,   440,   439,   540,   543,   440,   545,   445,   446,   447,
1300 >     440,   550,   551,   440,   552,   553,   554,   555,   455,   441,
1301 >     456,   442,   457,   440,   440,   458,   459,   464,    58,    95,
1302 >     466,   467,   468,   547,   440,   469,   471,   440,   440,   472,
1303 >     473,   461,  -755,   462,   463,   465,  -755,   474,   476,   480,
1304 >     481,   482,   163,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1305 >    -755,  -755,  -755,   484,   485,    50,  -755,  -755,  -755,   475,
1306 >     488,   493,  -755,   494,  -755,    25,  -755,  -755,  -755,  -755,
1307 >    -755,   561,   562,   499,  -755,   502,   501,   505,    18,  -755,
1308 >    -755,  -755,   509,   507,   508,  -755,   511,   512,   514,   515,
1309 >     516,  -755,   518,    14,  -755,  -755,  -755,  -755,  -755,  -755,
1310 >    -755,  -755,  -755,  -755,  -755,   522,   526,   527,   528,    11,
1311 >    -755,  -755,  -755,  -755,   477,   529,   549,   563,   556,   557,
1312 >     560,   440,   533,  -755,  -755,   567,   564,   569,   586,   595,
1313 >     630,   638,   639,   641,   642,   648,   664,   652,   -99,   -42,
1314 >     653,   654,   558,  -755,   559,   566,  -755,    73,  -755,  -755,
1315 >    -755,  -755,   570,   574,  -755,   568,   656,   575,  -755,   576,
1316 >     579,  -755,   580,    27,  -755,  -755,  -755,  -755,   578,   584,
1317 >     587,  -755,   590,   591,   592,   593,   267,   597,   605,   607,
1318 >     615,   617,   618,   619,   623,  -755,  -755,   673,   674,   440,
1319 >     625,   676,   685,   440,   698,   699,   440,   734,   751,   755,
1320 >     440,   762,   762,   646,  -755,  -755,   752,   129,   754,   668,
1321 >     758,   764,   655,   766,   767,   784,   771,   775,   776,   777,
1322 >     677,  -755,   778,   780,   686,  -755,   689,  -755,   797,   798,
1323 >     696,  -755,   701,   704,   705,   708,   709,   710,   714,   715,
1324 >     717,   722,   723,   725,   728,   729,   730,   731,   732,   733,
1325 >     735,   737,   738,   739,   740,   741,   742,   743,   744,   660,
1326 >     745,   703,   747,   748,   749,   750,   753,   756,   757,   759,
1327 >     760,   769,   770,   772,   773,   781,   782,   783,   785,   788,
1328 >     789,   790,   791,  -755,  -755,   807,   763,   713,   810,   853,
1329 >     855,   856,   858,   792,  -755,   859,   862,   793,  -755,  -755,
1330 >     868,   875,   774,   897,   794,  -755,   795,   796,  -755,  -755,
1331 >     884,   888,   799,  -755,  -755,   891,   814,   800,   902,   906,
1332 >     908,   909,   823,   804,   912,   809,  -755,  -755,   914,   915,
1333 >     916,   813,  -755,   815,   816,   817,   818,   819,   820,   821,
1334 >     822,  -755,   824,   825,   826,   827,   828,   829,   830,   831,
1335 >     832,   833,   834,   835,   836,  -755,  -755,  -209,  -755,  -755,
1336 >    -755,  -189,  -755,   837,   838,  -755,  -755,   918,   839,   840,
1337 >    -755,   841,  -755,    26,   843,  -755,  -755,   927,   842,   943,
1338 >     844,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   440,
1339 >     440,   440,   440,   440,   440,   440,  -755,  -755,  -755,  -755,
1340 >    -755,  -755,  -755,  -755,  -755,  -755,   846,   847,   848,   -34,
1341 >     849,   850,   851,   852,   854,   857,   860,   861,   863,   864,
1342 >     289,   865,   866,  -755,   867,   869,   870,   871,   872,   873,
1343 >     874,     5,   876,   877,   878,   879,   880,   881,   882,  -755,
1344 >     883,   885,  -755,  -755,   886,   887,  -755,  -755,  -755,  -755,
1345 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1346 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1347 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1348 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1349 >    -755,  -755,  -755,  -755,  -755,  -174,  -755,  -755,  -755,  -755,
1350 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1351 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -172,
1352 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1353 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1354 >    -755,  -755,   889,   890,   245,   892,   893,   894,   895,   896,
1355 >    -755,   898,   899,  -755,   900,   901,   -16,   907,   903,  -755,
1356 >    -755,  -755,  -755,   904,   905,  -755,   910,   911,   524,   913,
1357 >     917,   919,   920,   921,   746,   922,  -755,   924,   925,   926,
1358 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1359 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1360 >    -755,  -755,  -755,   -99,  -755,   -42,  -755,  -755,   928,   632,
1361 >    -755,  -755,   929,   930,   931,  -755,    57,  -755,  -755,  -755,
1362 >    -755,  -755,   932,   787,   935,  -755,  -755,  -755,  -755,  -755,
1363 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -171,  -755,
1364 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1365 >     762,   762,   762,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1366 >    -755,  -755,  -755,  -755,  -755,  -755,  -155,  -755,  -755,  -755,
1367 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1368 >     660,  -755,   703,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1369 >    -755,  -755,  -755,  -755,  -755,   -50,  -755,  -755,  -755,  -755,
1370 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -49,
1371 >    -755,   972,   897,   936,  -755,  -755,  -755,  -755,  -755,   933,
1372 >    -755,  -755,   934,  -755,  -755,  -755,  -755,   937,  -755,  -755,
1373 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -23,  -755,
1374 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1375 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1376 >    -755,  -755,  -755,  -755,  -755,  -755,   -15,  -755,  -755,  -755,
1377 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1378 >    -755,  -755,  -755,  -755,  -755,     0,  -755,  -755,   959,  -101,
1379 >     938,   940,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1380 >    -755,  -755,  -755,  -755,    30,  -755,  -755,  -755,   -34,  -755,
1381 >    -755,  -755,  -755,     5,  -755,  -755,  -755,   245,  -755,   -16,
1382 >    -755,  -755,  -755,   954,   956,   957,  -755,   524,  -755,   746,
1383 >    -755,   632,   944,   945,   946,   297,  -755,  -755,   787,  -755,
1384 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1385 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1386 >    -755,    55,  -755,  -755,  -755,   297,  -755
1387   };
1388  
1389 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1390 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1391 <   means the default is an error.  */
1389 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1390 >     Performed when YYTABLE does not specify something else to do.  Zero
1391 >     means the default is an error.  */
1392   static const yytype_uint16 yydefact[] =
1393   {
1394 <       2,     0,     1,     0,     0,     0,   199,   351,   403,     0,
1395 <     418,     0,   254,   388,   230,     0,     0,   133,   288,     0,
1396 <       0,   305,   329,     0,     3,    23,    11,     4,     5,     6,
1397 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1398 <      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1394 >       2,     0,     1,     0,     0,     0,   222,   385,   433,     0,
1395 >     448,     0,   288,   424,   264,     0,   107,   147,   322,     0,
1396 >       0,   363,     0,     0,   339,     3,    23,    11,     4,    24,
1397 >       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1398 >      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1399         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1400         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1401 <       0,     0,    96,    97,    99,    98,   600,     0,     0,     0,
1401 >       0,     0,     0,     0,     0,    99,   100,   102,   101,   624,
1402         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1403 <       0,     0,   585,   599,   595,   587,   588,   589,   590,   591,
1404 <     586,   592,   593,   594,   596,   597,   598,     0,     0,     0,
1405 <     416,     0,     0,   414,   415,     0,   485,     0,     0,     0,
1403 >       0,     0,     0,   611,   623,   613,   614,   615,   616,   612,
1404 >     617,   618,   619,   620,   621,   622,     0,     0,     0,   446,
1405 >       0,     0,   444,   445,     0,   509,     0,     0,     0,     0,
1406         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1407         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1408 <       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1408 >       0,     0,     0,   581,     0,   556,     0,     0,     0,     0,
1409         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1410 <       0,     0,     0,     0,     0,     0,     0,   435,   483,   477,
1411 <     478,   479,   480,   481,   476,   446,   436,   437,   471,   438,
1412 <     439,   440,   441,   442,   443,   444,   445,   473,   447,   448,
1413 <     482,   450,   455,   451,   453,   452,   466,   467,   454,   456,
1414 <     457,   458,   459,   460,   449,   462,   463,   464,   484,   474,
1415 <     475,   472,   465,   461,   469,   470,   468,     0,     0,     0,
1416 <       0,     0,     0,   106,   107,   108,     0,     0,     0,     0,
1417 <       0,    42,    43,    44,     0,     0,   624,     0,     0,     0,
1418 <       0,     0,     0,     0,   617,   618,   619,   622,   620,   621,
1660 <     623,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1410 >       0,     0,     0,     0,     0,     0,   459,   506,   508,   500,
1411 >     501,   502,   503,   504,   499,   470,   460,   461,   462,   463,
1412 >     464,   465,   466,   467,   468,   469,   496,   471,   472,   505,
1413 >     474,   479,   480,   475,   477,   476,   490,   491,   478,   481,
1414 >     482,   483,   484,   473,   486,   487,   488,   507,   497,   498,
1415 >     495,   489,   485,   493,   494,   492,     0,     0,     0,     0,
1416 >       0,     0,     0,    45,    46,    47,     0,     0,     0,   648,
1417 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   639,
1418 >     640,   641,   642,   643,   646,   644,   645,   647,     0,     0,
1419         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1420 <      50,    65,    66,    64,    61,    60,    67,    51,    63,    54,
1421 <      55,    56,    52,    62,    57,    58,    59,    53,     0,     0,
1422 <     303,     0,     0,   301,   302,   100,     0,     0,     0,     0,
1423 <      95,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1424 <       0,     0,     0,     0,     0,     0,   584,     0,     0,     0,
1420 >       0,     0,     0,     0,     0,     0,     0,    53,    68,    69,
1421 >      67,    64,    63,    70,    54,    66,    57,    58,    59,    55,
1422 >      65,    60,    61,    62,    56,     0,     0,     0,     0,   118,
1423 >     119,   120,     0,   337,     0,     0,   335,   336,     0,   103,
1424 >       0,     0,     0,     0,    98,     0,     0,     0,     0,     0,
1425 >       0,     0,     0,     0,     0,     0,     0,     0,   610,     0,
1426 >       0,     0,     0,   258,     0,     0,     0,     0,     0,     0,
1427 >       0,     0,     0,     0,     0,     0,     0,   225,   226,   229,
1428 >     231,   232,   233,   234,   235,   236,   237,   238,   227,   228,
1429 >     230,   239,   240,   241,     0,     0,     0,     0,     0,     0,
1430 >       0,   413,     0,     0,     0,     0,     0,     0,     0,     0,
1431 >     388,   389,   390,   391,   392,   393,   394,   396,   395,   398,
1432 >     402,   399,   400,   401,   397,   439,     0,     0,     0,   436,
1433 >     437,   438,     0,     0,   443,   454,     0,     0,     0,   451,
1434 >     452,   453,     0,     0,     0,     0,     0,     0,     0,     0,
1435         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1668       0,     0,   202,   203,   206,   208,   209,   210,   211,   212,
1669     213,   214,   215,   204,   205,   207,     0,     0,     0,     0,
1670       0,   377,     0,     0,     0,     0,     0,     0,     0,     0,
1671       0,   354,   355,   356,   357,   358,   359,   361,   360,   363,
1672     367,   364,   365,   366,   362,   409,     0,     0,     0,   406,
1673     407,   408,     0,     0,   413,   430,     0,     0,   420,   429,
1674       0,   426,   427,   428,     0,     0,     0,     0,     0,     0,
1436         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1437         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1438         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1439 +       0,     0,   458,     0,     0,     0,   305,     0,     0,     0,
1440 +       0,     0,     0,   291,   292,   293,   294,   299,   295,   296,
1441 +     297,   298,   430,     0,     0,     0,   427,   428,   429,     0,
1442 +       0,     0,   266,     0,   276,     0,   274,   275,   277,   278,
1443 +      48,     0,     0,     0,    44,     0,     0,     0,     0,   110,
1444 +     111,   112,     0,     0,     0,   195,     0,     0,     0,     0,
1445 +       0,   170,     0,     0,   150,   151,   152,   153,   156,   157,
1446 +     158,   159,   155,   154,   160,     0,     0,     0,     0,     0,
1447 +     325,   326,   327,   328,     0,     0,     0,     0,     0,     0,
1448 +       0,     0,     0,   638,    71,     0,     0,     0,     0,     0,
1449         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1450 <       0,     0,     0,     0,   434,     0,     0,     0,   271,     0,
1451 <       0,     0,     0,     0,     0,   257,   258,   259,   260,   265,
1452 <     261,   262,   263,   264,   400,     0,   390,     0,   399,     0,
1453 <     396,   397,   398,     0,   232,     0,     0,     0,   242,     0,
1454 <     240,   241,   243,   244,   109,     0,     0,   105,     0,    45,
1684 <       0,     0,     0,    41,     0,     0,     0,   176,     0,     0,
1685 <       0,   152,     0,     0,   136,   137,   138,   139,   142,   143,
1686 <     141,   140,   144,     0,     0,     0,     0,     0,   291,   292,
1687 <     293,   294,     0,     0,     0,     0,     0,     0,     0,   616,
1688 <      68,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1690 <       0,     0,   315,     0,     0,   308,   309,   310,   311,     0,
1691 <       0,   337,     0,   332,   333,   334,     0,     0,   300,     0,
1692 <       0,     0,    94,     0,     0,     0,    26,     0,     0,     0,
1693 <       0,     0,     0,     0,     0,     0,     0,     0,   583,   216,
1450 >       0,     0,     0,    52,     0,     0,   371,     0,   366,   367,
1451 >     368,   121,     0,     0,   117,     0,     0,     0,   334,     0,
1452 >       0,   349,     0,     0,   342,   343,   344,   345,     0,     0,
1453 >       0,    97,     0,     0,     0,     0,    27,     0,     0,     0,
1454 >       0,     0,     0,     0,     0,   609,   242,     0,     0,     0,
1455         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1456 <       0,     0,     0,     0,   201,   368,     0,     0,     0,     0,
1456 >       0,     0,     0,     0,   224,   403,     0,     0,     0,     0,
1457         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1458 <     353,     0,     0,     0,   405,     0,   412,     0,     0,     0,
1459 <       0,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1458 >       0,   387,     0,     0,     0,   435,     0,   442,     0,     0,
1459 >       0,   450,     0,     0,     0,     0,     0,     0,     0,     0,
1460         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1461         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1462         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1463         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1464 <       0,     0,     0,   433,   266,     0,     0,     0,     0,     0,
1465 <       0,     0,     0,     0,   256,     0,     0,     0,     0,   395,
1466 <     245,     0,     0,     0,     0,     0,   239,     0,   104,     0,
1467 <       0,     0,    40,   145,     0,     0,     0,     0,     0,     0,
1468 <       0,     0,     0,   135,   295,     0,     0,     0,     0,   290,
1469 <       0,     0,     0,     0,     0,     0,   615,     0,     0,     0,
1470 <       0,     0,     0,     0,     0,     0,     0,    73,    74,     0,
1471 <      72,    77,    78,     0,    76,     0,     0,     0,     0,     0,
1472 <      48,   312,     0,     0,     0,     0,   307,   335,     0,     0,
1473 <       0,   331,     0,   299,   103,   102,   101,   610,   609,   601,
1474 <      26,    26,    26,    26,    26,    28,    27,   603,   604,   608,
1475 <     606,   605,   611,   612,   613,   614,   607,   602,     0,     0,
1476 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
1477 <       0,     0,   200,     0,     0,     0,     0,     0,     0,     0,
1478 <       0,     0,     0,     0,     0,     0,     0,   352,     0,     0,
1479 <     404,   417,     0,     0,     0,   419,   498,   502,   516,   582,
1480 <     530,   496,   524,   527,   497,   488,   487,   489,   490,   491,
1481 <     505,   494,   495,   506,   493,   501,   500,   499,   525,   486,
1482 <     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1483 <     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1484 <     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1485 <     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1486 <     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1487 <     515,   518,   529,   492,   519,   508,   513,   514,   511,   512,
1488 <     509,   510,   504,   503,   528,   531,   521,   526,   507,     0,
1489 <       0,     0,     0,     0,     0,     0,     0,   255,     0,     0,
1490 <       0,   389,     0,     0,     0,   250,   246,   249,   231,   110,
1491 <       0,     0,   122,     0,     0,   114,   115,   117,   116,    46,
1492 <      47,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1493 <       0,     0,     0,   289,   625,   629,   627,   630,   626,   628,
1494 <      85,    93,    91,    92,    83,    87,    86,    80,    79,    81,
1495 <      69,     0,    70,     0,    84,    82,    90,    88,    89,     0,
1496 <       0,     0,   306,     0,     0,   330,   304,    29,    30,    31,
1497 <      32,    33,   227,   228,   220,   222,   224,   223,   221,   217,
1498 <     229,   219,   218,    34,    34,    34,    36,    35,   225,   226,
1499 <     373,   375,   376,   386,   383,   381,   382,     0,   380,   370,
1500 <     384,   385,   369,   374,   372,   387,   371,   410,   411,   431,
1501 <     432,   424,     0,   423,   557,     0,   533,     0,   269,   270,
1502 <     279,   276,   281,   278,   277,   284,   280,   282,   275,   283,
1503 <       0,   274,   268,   287,   286,   285,   267,   402,   394,     0,
1504 <     393,   401,   237,   238,   236,     0,   235,   253,   252,     0,
1505 <       0,     0,   118,     0,     0,     0,     0,   113,   151,   149,
1506 <     191,   188,   187,   180,   182,   198,   192,   195,   190,   181,
1507 <     196,   184,   193,   197,   185,   194,   189,   183,   186,     0,
1508 <     179,   146,   148,   150,   162,   156,   173,   174,   157,   158,
1509 <     159,   160,   168,   161,   171,   175,   164,   169,   165,   170,
1510 <     163,   167,   166,   172,     0,   155,   147,   297,   298,   296,
1511 <      71,    75,   313,   319,   325,   328,   321,   327,   322,   326,
1512 <     324,   320,   323,     0,   318,   314,   336,   341,   347,   350,
1513 <     343,   349,   344,   348,   346,   342,   345,     0,   340,    37,
1514 <      38,    39,   378,     0,   421,     0,   558,   534,   272,     0,
1515 <     391,     0,   233,     0,   251,   248,   247,     0,     0,     0,
1516 <       0,   112,   177,     0,   153,     0,   316,     0,   338,     0,
1517 <     379,   422,   273,   392,   234,   119,   128,   131,   130,   127,
1518 <     132,   129,   126,     0,   125,   121,   120,   178,   154,   317,
1519 <     339,   123,     0,   124
1520 < };
1521 <
1522 < /* YYDEFGOTO[NTERM-NUM].  */
1762 < static const yytype_int16 yydefgoto[] =
1763 < {
1764 <      -1,     1,    24,   785,   786,  1026,  1027,    25,   230,   231,
1765 <     232,   233,    26,   269,   270,   271,   272,   749,   750,   753,
1766 <     754,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1767 <     282,   283,   284,   285,   286,   287,    27,    71,    72,    73,
1768 <      74,    75,    28,   222,   223,   224,   225,   226,   954,   955,
1769 <     956,   957,   958,  1094,  1223,  1224,    29,    60,   503,   504,
1770 <     505,   506,   507,   508,   509,   510,   511,   720,  1144,  1145,
1771 <     512,   716,  1119,  1120,    30,    49,   331,   332,   333,   334,
1772 <     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1773 <     345,    31,    57,   478,   701,  1085,  1086,   479,   480,   481,
1774 <    1091,   946,   947,   482,   483,    32,    55,   454,   455,   456,
1775 <     457,   458,   459,   460,   687,  1070,  1071,   461,   462,   463,
1776 <      33,    61,   517,   518,   519,   520,   521,    34,   292,   293,
1777 <     294,    35,    64,   554,   555,   556,   557,   558,   763,  1163,
1778 <    1164,    36,    65,   562,   563,   564,   565,   769,  1177,  1178,
1779 <      37,    50,   360,   361,   362,   363,   364,   365,   366,   367,
1780 <     368,   369,   610,  1037,  1038,   370,   371,   372,   373,   374,
1781 <      38,    56,   468,   696,  1079,  1080,   469,   470,   471,   472,
1782 <      39,    51,   378,   379,   380,   381,    40,   112,   113,   114,
1783 <      41,    53,   389,   629,  1052,  1053,   390,   391,   392,   393,
1784 <      42,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1785 <     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1786 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1787 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1788 <     205,   206,   207,   208,   209,   210,   211,   212,   425,   908,
1789 <     909,   213,   423,   885,   886,   214,   215,   216,    43,    91,
1790 <      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1791 <     102,   103,   104,   105,   106,    44,   243,   244,   245,   246,
1792 <     247,   248,   249,   250
1464 >       0,     0,     0,   457,   300,     0,     0,     0,     0,     0,
1465 >       0,     0,     0,     0,   290,     0,     0,     0,   426,   279,
1466 >       0,     0,     0,     0,     0,   273,     0,     0,    43,   113,
1467 >       0,     0,     0,   109,   161,     0,     0,     0,     0,     0,
1468 >       0,     0,     0,     0,     0,     0,   149,   329,     0,     0,
1469 >       0,     0,   324,     0,     0,     0,     0,     0,     0,     0,
1470 >       0,   637,     0,     0,     0,     0,     0,     0,     0,     0,
1471 >       0,     0,     0,     0,     0,    76,    77,     0,    75,    80,
1472 >      81,     0,    79,     0,     0,    51,   369,     0,     0,     0,
1473 >     365,     0,   116,     0,     0,   333,   346,     0,     0,     0,
1474 >       0,   341,   106,   105,   104,   632,   631,   625,   635,    27,
1475 >      27,    27,    27,    27,    27,    27,    29,    28,   636,   626,
1476 >     627,   630,   629,   628,   633,   634,     0,     0,     0,     0,
1477 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1478 >      37,     0,     0,   223,     0,     0,     0,     0,     0,     0,
1479 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   386,
1480 >       0,     0,   434,   447,     0,     0,   449,   522,   526,   541,
1481 >     511,   608,   554,   548,   551,   521,   513,   512,   515,   516,
1482 >     514,   529,   519,   520,   530,   518,   525,   524,   523,   549,
1483 >     510,   606,   607,   545,   591,   585,   602,   586,   587,   588,
1484 >     596,   605,   589,   599,   603,   592,   604,   597,   593,   598,
1485 >     590,   601,   595,   594,   600,     0,   584,   547,   565,   560,
1486 >     577,   561,   562,   563,   571,   580,   564,   574,   578,   567,
1487 >     579,   572,   568,   573,   566,   576,   570,   569,   575,     0,
1488 >     559,   542,   540,   543,   553,   544,   532,   538,   539,   536,
1489 >     537,   533,   534,   535,   552,   555,   517,   546,   528,   527,
1490 >     550,   531,     0,     0,     0,     0,     0,     0,     0,     0,
1491 >     289,     0,     0,   425,     0,     0,     0,   284,   280,   283,
1492 >     265,    49,    50,     0,     0,   108,     0,     0,     0,     0,
1493 >       0,     0,     0,     0,     0,     0,   148,     0,     0,     0,
1494 >     323,   650,   649,   655,   653,   656,   651,   652,   654,    88,
1495 >      96,    87,    94,    95,    86,    90,    89,    83,    82,    84,
1496 >      93,    85,    72,     0,    73,     0,    91,    92,     0,     0,
1497 >     364,   122,     0,     0,     0,   134,     0,   126,   127,   129,
1498 >     128,   338,     0,     0,     0,   340,    30,    31,    32,    33,
1499 >      34,    35,    36,   253,   254,   246,   263,   262,     0,   261,
1500 >     248,   250,   257,   249,   247,   256,   243,   255,   245,   244,
1501 >      37,    37,    37,    39,    38,   251,   252,   408,   411,   412,
1502 >     422,   419,   405,   420,   417,   418,     0,   416,   421,   404,
1503 >     410,   407,   409,   423,   406,   440,   441,   455,   456,   582,
1504 >       0,   557,     0,   303,   304,   313,   310,   315,   311,   312,
1505 >     318,   314,   316,   309,   317,     0,   308,   302,   321,   320,
1506 >     319,   301,   432,   431,   287,   286,   271,   272,   270,     0,
1507 >     269,     0,     0,     0,   114,   115,   169,   165,   214,   202,
1508 >     211,   210,   200,   205,   221,   213,   219,   204,   207,   216,
1509 >     218,   215,   212,   220,   208,   217,   206,   209,     0,   198,
1510 >     162,   164,   166,   167,   168,   179,   174,   191,   175,   176,
1511 >     177,   185,   194,   178,   188,   192,   181,   193,   186,   182,
1512 >     187,   180,   190,   184,   183,   189,     0,   173,   163,   332,
1513 >     330,   331,    74,    78,   370,   375,   381,   384,   377,   383,
1514 >     378,   382,   380,   376,   379,     0,   374,   130,     0,     0,
1515 >       0,     0,   125,   347,   353,   359,   362,   355,   361,   356,
1516 >     360,   358,   354,   357,     0,   352,   348,   259,     0,    40,
1517 >      41,    42,   414,     0,   583,   558,   306,     0,   267,     0,
1518 >     285,   282,   281,     0,     0,     0,   196,     0,   171,     0,
1519 >     372,     0,     0,     0,     0,     0,   124,   350,     0,   260,
1520 >     415,   307,   268,   201,   199,   203,   197,   172,   373,   131,
1521 >     133,   132,   140,   145,   144,   139,   142,   146,   143,   138,
1522 >     141,     0,   137,   351,   135,     0,   136
1523   };
1524  
1525 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1526 <   STATE-NUM.  */
1797 < #define YYPACT_NINF -966
1798 < static const yytype_int16 yypact[] =
1525 >  /* YYPGOTO[NTERM-NUM].  */
1526 > static const yytype_int16 yypgoto[] =
1527   {
1528 <    -966,   599,  -966,  -165,  -183,  -181,  -966,  -966,  -966,  -146,
1529 <    -966,  -127,  -966,  -966,  -966,  -121,  -112,  -966,  -966,  -107,
1530 <     -98,  -966,  -966,   -90,  -966,  -966,  -966,  -966,  -966,  -966,
1531 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1532 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   338,   822,   -73,
1533 <     -56,   -17,    10,   -15,   405,   -11,    -7,    -1,    38,    75,
1534 <      45,    52,   328,   443,    64,    69,     8,  -197,   -72,     7,
1535 <      17,    11,  -966,  -966,  -966,  -966,  -966,    37,    65,    72,
1536 <      79,    90,    97,   106,   107,   111,   115,   117,   121,   122,
1537 <     123,    22,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1538 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   665,   550,    67,
1539 <    -966,   125,    16,  -966,  -966,   184,  -966,   129,   131,   133,
1540 <     135,   136,   137,   138,   141,   147,   151,   152,   156,   157,
1541 <     163,   164,   167,   168,   169,   172,   173,   174,   175,   176,
1542 <     182,   183,   185,   187,   188,   189,  -966,   190,  -966,   194,
1543 <     199,   204,   206,   208,   210,   212,   216,   217,   219,   221,
1544 <     222,   223,   225,   232,   233,   236,   110,  -966,  -966,  -966,
1545 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1546 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1547 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1548 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1549 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   384,     5,   362,
1550 <      34,   237,    84,  -966,  -966,  -966,    73,    78,   238,   241,
1551 <      29,  -966,  -966,  -966,   308,    66,  -966,   242,   243,   250,
1552 <     251,   252,   254,     3,  -966,  -966,  -966,  -966,  -966,  -966,
1553 <    -966,    86,   258,   262,   263,   265,   267,   269,   275,   276,
1554 <     277,   279,   283,   285,   288,   293,   295,   299,   300,   148,
1555 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1556 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   170,    23,
1557 <    -966,   304,    18,  -966,  -966,  -966,   231,   249,   271,    87,
1830 <    -966,   303,   374,   320,   424,   424,   425,   427,   429,   371,
1831 <     378,   444,   424,   385,   386,   331,  -966,   332,   330,   337,
1832 <     339,   340,   346,   350,   359,   361,   363,   364,   365,   367,
1833 <     368,   230,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1834 <    -966,  -966,  -966,  -966,  -966,  -966,   335,   369,   370,   373,
1835 <     376,  -966,   377,   381,   387,   392,   403,   404,   406,   408,
1836 <     255,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1837 <    -966,  -966,  -966,  -966,  -966,  -966,   409,   410,    47,  -966,
1838 <    -966,  -966,   475,   388,  -966,  -966,   412,   414,  -966,  -966,
1839 <      32,  -966,  -966,  -966,   437,   424,   424,   503,   460,   474,
1840 <     535,   523,   484,   424,   487,   424,   548,   549,   551,   490,
1841 <     498,   504,   424,   563,   566,   424,   572,   573,   556,   575,
1842 <     578,   522,   524,   466,   526,   468,   424,   424,   529,   532,
1843 <     533,   537,   -71,    39,   539,   540,   424,   424,   577,   424,
1844 <     541,   543,   544,   491,  -966,   492,   472,   496,  -966,   497,
1845 <     499,   501,   505,   507,   130,  -966,  -966,  -966,  -966,  -966,
1846 <    -966,  -966,  -966,  -966,  -966,   508,  -966,   511,  -966,     6,
1847 <    -966,  -966,  -966,   493,  -966,   512,   514,   517,  -966,    25,
1848 <    -966,  -966,  -966,  -966,  -966,   546,   495,  -966,   520,  -966,
1849 <     605,   621,   534,  -966,   536,   528,   538,  -966,   542,   545,
1850 <     552,  -966,   553,   261,  -966,  -966,  -966,  -966,  -966,  -966,
1851 <    -966,  -966,  -966,   547,   554,   555,   557,    20,  -966,  -966,
1852 <    -966,  -966,   591,   593,   636,   596,   598,   424,   559,  -966,
1853 <    -966,   641,   602,   617,   668,   647,   651,   652,   659,   660,
1854 <     661,    42,    71,   662,   664,   683,   666,   667,   582,  -966,
1855 <     583,   585,  -966,   587,    68,  -966,  -966,  -966,  -966,   595,
1856 <     607,  -966,    83,  -966,  -966,  -966,   673,   611,  -966,   613,
1857 <     616,   618,  -966,   623,   624,   628,   401,   629,   630,   639,
1858 <     642,   646,   649,   654,   656,   663,   669,   670,  -966,  -966,
1859 <     694,   712,   424,   736,   763,   768,   775,   758,   778,   780,
1860 <     424,   781,   781,   674,  -966,  -966,   764,    31,   766,   729,
1861 <     672,   774,   779,   782,   783,   793,   784,   785,   786,   682,
1862 <    -966,   787,   788,   691,  -966,   692,  -966,   791,   792,   680,
1863 <     695,  -966,   696,   697,   698,   699,   700,   701,   704,   705,
1864 <     706,   707,   708,   709,   710,   711,   713,   714,   717,   718,
1865 <     719,   720,   721,   722,   723,   724,   726,   727,   728,   730,
1866 <     731,   620,   732,   648,   734,   735,   737,   738,   739,   740,
1867 <     741,   742,   743,   744,   745,   746,   747,   748,   749,   750,
1868 <     751,   752,   753,  -966,  -966,   810,   811,   733,   827,   870,
1869 <     854,   855,   856,   759,  -966,   858,   760,   859,   762,  -966,
1870 <    -966,   761,   863,   864,   883,   769,  -966,   770,  -966,   103,
1871 <     771,   772,  -966,  -966,   866,   829,   773,   872,   873,   875,
1872 <     776,   876,   789,  -966,  -966,   878,   879,   880,   790,  -966,
1873 <     794,   795,   796,   797,   798,   799,  -966,   800,   801,   802,
1874 <     803,   804,   805,   806,   807,   808,   809,  -966,  -966,  -199,
1875 <    -966,  -966,  -966,  -192,  -966,   812,   813,   814,   815,   816,
1876 <    -966,  -966,   881,   817,   882,   818,  -966,  -966,   884,   819,
1877 <     821,  -966,   823,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1878 <     424,   424,   424,   424,   424,  -966,  -966,  -966,  -966,  -966,
1879 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   824,   825,
1880 <     826,   828,   830,   831,   832,   833,   834,   835,   836,     4,
1881 <     837,   838,  -966,   839,   840,   841,   842,   843,     0,   844,
1882 <     845,   846,   847,   848,   849,   850,   851,  -966,   852,   853,
1883 <    -966,  -966,   857,   860,   885,  -966,  -966,  -966,  -966,  -966,
1884 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1885 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1886 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1887 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1888 <    -966,  -966,  -966,  -966,  -966,  -190,  -966,  -966,  -966,  -966,
1889 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1890 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -189,  -966,
1891 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1892 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   861,
1893 <     862,   321,   865,   867,   868,   869,   871,  -966,   874,   886,
1894 <     877,  -966,    -6,   887,   888,   906,   889,  -966,  -966,  -966,
1895 <     890,   891,  -966,   892,    15,  -966,  -966,  -966,  -966,  -966,
1896 <    -966,   896,   897,   531,   898,   899,   900,   684,   901,  -966,
1897 <     902,   903,   904,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1898 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1899 <    -966,    42,  -966,    71,  -966,  -966,  -966,  -966,  -966,   905,
1900 <     465,   907,  -966,   908,   516,  -966,  -966,  -966,  -966,  -966,
1901 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1902 <    -966,  -966,  -966,   781,   781,   781,  -966,  -966,  -966,  -966,
1903 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -180,  -966,  -966,
1904 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1905 <    -966,  -966,  -171,  -966,  -966,   620,  -966,   648,  -966,  -966,
1906 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1907 <    -170,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -147,
1908 <    -966,  -966,  -966,  -966,  -966,  -142,  -966,  -966,  -966,   926,
1909 <     883,   909,  -966,   915,   910,   -96,   911,  -966,  -966,  -966,
1910 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1911 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -139,
1912 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1913 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1914 <    -966,  -966,  -966,  -966,  -134,  -966,  -966,  -966,  -966,  -966,
1915 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1916 <    -966,  -966,  -966,   -41,  -966,  -966,  -966,  -966,  -966,  -966,
1917 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   -38,  -966,  -966,
1918 <    -966,  -966,  -966,     0,  -966,   885,  -966,  -966,  -966,   321,
1919 <    -966,   886,  -966,    -6,  -966,  -966,  -966,   912,   469,   914,
1920 <     916,  -966,  -966,   531,  -966,   684,  -966,   465,  -966,   516,
1921 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1922 <    -966,  -966,  -966,   -18,  -966,  -966,  -966,  -966,  -966,  -966,
1923 <    -966,  -966,   469,  -966
1528 >    -755,  -755,  -755,  -298,  -307,  -754,  -621,  -755,  -755,   942,
1529 >    -755,  -755,  -755,  -755,   845,  -755,  -755,  -755,    72,  -755,
1530 >      77,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1531 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  1015,  -755,
1532 >    -755,  -755,  -755,  -755,  -755,   620,  -755,  -755,  -755,  -755,
1533 >     939,  -755,  -755,  -755,  -755,    93,  -755,  -755,  -755,  -755,
1534 >    -755,  -170,  -755,  -755,  -755,   622,  -755,  -755,  -755,  -755,
1535 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -119,  -755,  -755,
1536 >    -755,  -114,  -755,  -755,  -755,   803,  -755,  -755,  -755,  -755,
1537 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1538 >    -755,  -755,  -755,  -755,   -92,  -755,  -755,  -755,  -755,  -755,
1539 >     -98,  -755,   657,  -755,  -755,  -755,    38,  -755,  -755,  -755,
1540 >    -755,  -755,   681,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1541 >     -87,  -755,  -755,  -755,  -755,  -755,  -755,   616,  -755,  -755,
1542 >    -755,  -755,  -755,   941,  -755,  -755,  -755,  -755,   571,  -755,
1543 >    -755,  -755,  -755,  -755,  -100,  -755,  -755,  -755,   608,  -755,
1544 >    -755,  -755,  -755,   -94,  -755,  -755,  -755,   805,  -755,  -755,
1545 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -57,
1546 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   702,  -755,
1547 >    -755,  -755,  -755,  -755,   801,  -755,  -755,  -755,  -755,  1067,
1548 >    -755,  -755,  -755,  -755,   786,  -755,  -755,  -755,  -755,  1014,
1549 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1550 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1551 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1552 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1553 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,    78,  -755,  -755,
1554 >    -755,    83,  -755,  -755,  -755,  -755,  -755,  1089,  -755,  -755,
1555 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1556 >    -755,  -755,   947,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1557 >    -755
1558   };
1559  
1560 < /* YYPGOTO[NTERM-NUM].  */
1561 < static const yytype_int16 yypgoto[] =
1560 >  /* YYDEFGOTO[NTERM-NUM].  */
1561 > static const yytype_int16 yydefgoto[] =
1562   {
1563 <    -966,  -966,  -966,  -718,  -302,  -965,  -601,  -966,  -966,   893,
1564 <    -966,  -966,  -966,  -966,   767,  -966,  -966,  -966,    13,  -966,
1565 <       9,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1566 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,   934,  -966,
1567 <    -966,  -966,  -966,  -966,   913,  -966,  -966,  -966,  -966,    54,
1568 <    -966,  -966,  -966,  -966,  -966,  -204,  -966,  -966,  -966,   569,
1569 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -161,
1570 <    -966,  -966,  -966,  -157,  -966,  -966,  -966,   756,  -966,  -966,
1571 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1572 <    -966,  -966,  -966,  -966,  -966,  -966,  -120,  -966,   597,  -966,
1573 <    -966,  -966,   -10,  -966,  -966,  -966,  -966,  -966,   627,  -966,
1574 <    -966,  -966,  -966,  -966,  -966,  -966,  -114,  -966,  -966,  -966,
1575 <    -966,  -966,  -966,   576,  -966,  -966,  -966,  -966,  -966,   894,
1576 <    -966,  -966,  -966,  -966,   580,  -966,  -966,  -966,  -966,  -966,
1577 <    -124,  -966,  -966,  -966,   527,  -966,  -966,  -966,  -966,  -119,
1578 <    -966,  -966,  -966,   777,  -966,  -966,  -966,  -966,  -966,  -966,
1579 <    -966,  -966,  -966,  -966,   -91,  -966,  -966,  -966,  -966,  -966,
1580 <    -966,  -966,  -966,  -966,  -966,   -95,  -966,   626,  -966,  -966,
1581 <    -966,  -966,  -966,   725,  -966,  -966,  -966,  -966,   985,  -966,
1582 <    -966,  -966,  -966,  -966,  -966,   -87,  -966,   716,  -966,  -966,
1583 <    -966,  -966,   933,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1584 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1585 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1586 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1587 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1588 <      43,  -966,  -966,  -966,    46,  -966,  -966,  -966,  -966,  -966,
1589 <    1011,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,  -966,
1590 <    -966,  -966,  -966,  -966,  -966,  -966,  -966,   895,  -966,  -966,
1591 <    -966,  -966,  -966,  -966
1563 >      -1,     1,    25,   816,   817,  1073,  1074,    26,   222,   223,
1564 >     224,   225,    27,   266,   267,   268,   269,   777,   778,   781,
1565 >     782,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1566 >     279,   280,   281,   282,   283,   284,    28,    74,    75,    76,
1567 >      77,    78,    29,    61,   498,   499,   500,   501,    30,   288,
1568 >     289,   290,   291,   292,  1036,  1037,  1038,  1039,  1040,  1210,
1569 >    1281,  1282,    31,    62,   513,   514,   515,   516,   517,   518,
1570 >     519,   520,   521,   522,   523,   743,  1186,  1187,   524,   737,
1571 >    1158,  1159,    32,    51,   336,   337,   338,   339,   340,   341,
1572 >     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1573 >     352,   353,   610,  1058,  1059,    33,    59,   484,   722,  1129,
1574 >    1130,   485,   486,   487,  1133,   978,   979,   488,   489,    34,
1575 >      57,   462,   463,   464,   465,   466,   467,   468,   707,  1115,
1576 >    1116,   469,   470,   471,    35,    63,   529,   530,   531,   532,
1577 >     533,    36,   295,   296,   297,    37,    69,   583,   584,   585,
1578 >     586,   587,   798,  1224,  1225,    38,    66,   567,   568,   569,
1579 >     570,   788,  1205,  1206,    39,    52,   369,   370,   371,   372,
1580 >     373,   374,   375,   376,   377,   378,   379,   632,  1086,  1087,
1581 >     380,   381,   382,   383,   384,    40,    58,   475,   476,   477,
1582 >     478,    41,    53,   388,   389,   390,   391,    42,   111,   112,
1583 >     113,    43,    55,   398,   399,   400,   401,    44,   165,   166,
1584 >     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1585 >     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1586 >     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1587 >     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1588 >     207,   208,   209,   210,   211,   431,   939,   940,   212,   429,
1589 >     915,   916,   213,   214,   215,    45,    92,    93,    94,    95,
1590 >      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1591 >      46,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1592 >     247
1593   };
1594  
1595 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1596 <   positive, shift that token.  If negative, reduce the rule which
1597 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1963 < #define YYTABLE_NINF -112
1595 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1596 >     positive, shift that token.  If negative, reduce the rule whose
1597 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1598   static const yytype_int16 yytable[] =
1599   {
1600 <     810,   811,   577,   578,   236,   809,   464,   464,  1035,   290,
1601 <     585,   110,    67,  1023,  1024,  1025,   950,   110,   990,   290,
1602 <     295,   513,   991,    76,   559,   992,   473,  1054,  1056,   993,
1603 <     227,  1055,  1057,   385,   514,    68,    47,  1182,    48,   220,
1604 <     237,  1183,    69,    77,    78,  1082,  1184,  1188,   375,    79,
1605 <    1185,  1189,    45,    46,   238,   239,   240,   241,  1179,  1180,
1606 <    1181,   474,  1007,  1008,  1009,  1010,  1011,   513,   375,   550,
1607 <    1190,   111,   242,    52,  1191,  1192,   227,   111,  1202,  1193,
1608 <     514,   475,  1203,  1204,   559,   220,   476,  1205,    80,    81,
1609 <     670,   671,    54,   633,   634,    82,    83,    84,    58,   291,
1610 <    1199,   641,    70,   643,   950,   809,   951,    59,   376,   291,
1611 <     650,   116,    62,   653,   560,   515,   117,   118,   228,    85,
1612 <      86,    63,   119,   386,   664,   665,   465,   465,   376,    66,
1613 <     120,   445,    87,    88,   676,   677,   121,   679,   122,   123,
1614 <     124,   516,    89,   477,   229,   125,   107,   446,   296,   251,
1615 <      90,   126,   127,   387,   128,   129,   130,   466,   466,   551,
1616 <     131,   515,   447,   108,   228,   132,   448,   952,   377,   133,
1617 <     134,   550,   252,   135,   560,   561,  1206,   747,   748,  1208,
1618 <    1207,  1083,   136,  1209,   388,   385,  1084,   516,   377,   137,
1619 <     229,   138,  1036,   139,   951,   140,   141,   142,   143,  1231,
1620 <     672,   673,   109,  1232,   115,   253,   751,   752,   217,   144,
1621 <     814,   815,   218,   467,   467,   145,   146,   147,   219,   148,
1622 <     552,   528,   149,   150,   698,   735,   151,   297,   254,   299,
1623 <     953,   317,   255,  1096,   383,   561,   567,   298,   728,   256,
1624 <     315,   257,   258,   705,   449,   318,   319,   492,   221,   320,
1625 <     630,   484,   450,   451,  -111,   952,   346,   301,   347,   152,
1626 <     348,   551,   494,   153,   234,   623,   154,   155,   156,   157,
1627 <     158,   235,   349,   159,   160,   386,   553,   259,   495,   260,
1628 <     261,   262,   263,   288,   452,   302,   765,   350,   289,   488,
1629 <     800,   351,   303,   496,   221,   489,   264,   497,   808,   304,
1630 <    -111,   770,   486,   530,   572,   387,   321,   322,   323,   494,
1631 <     305,   352,   324,   353,   161,   162,   163,   306,   953,   164,
1632 <     265,   325,   552,   354,   165,   495,   307,   308,   443,   236,
1633 <     266,   309,   326,   327,  1060,   310,   388,   311,   453,    67,
1634 <     496,   312,   313,   314,   497,   382,   355,   328,   693,   394,
1635 <     569,   395,   498,   396,  1061,   397,   398,   399,   400,   267,
1636 <     268,   401,    68,   473,  1062,   237,   548,   402,   570,    69,
1637 <    1063,   403,   404,   356,   329,   499,   405,   406,   553,   238,
1638 <     239,   240,   241,   407,   408,   445,  1064,   409,   410,   411,
1639 <     571,   500,   412,   413,   414,   415,   416,   242,   474,   498,
1640 <     357,   446,   417,   418,   573,   419,   116,   420,   421,   422,
1641 <     424,   117,   118,  1065,   426,   330,   447,   119,   475,   427,
1642 <     448,  1066,   499,   476,   428,   120,   429,   358,   430,    70,
1643 <     431,   121,   432,   122,   123,   124,   433,   434,   500,   435,
1644 <     125,   436,   437,   438,   251,   439,   126,   127,   603,   128,
1645 <     129,   130,   440,   441,   501,   131,   442,   485,   490,  1067,
1646 <     132,   491,   522,   523,   133,   134,   359,   252,   135,   502,
1647 <     524,   525,   526,   619,   527,   574,  1068,   136,   531,   722,
1648 <     477,   575,   532,   533,   137,   534,   138,   535,   139,   536,
1649 <     140,   141,   142,   143,  1200,   537,   538,   539,   449,   540,
1650 <     253,   501,   576,   541,   144,   542,   450,   451,   543,  1216,
1651 <     145,   146,   147,   544,   148,   545,   502,   149,   150,   546,
1652 <     547,   151,  1069,   254,   566,   576,   579,   255,   580,  1153,
1653 <     581,  1217,   582,  1218,   256,  1100,   257,   258,   452,   583,
1654 <     780,   781,   782,   783,   784,   584,   586,   587,   588,   589,
1655 <     590,   346,   605,   347,   152,   348,  1101,   591,   153,   592,
1656 <     593,   154,   155,   156,   157,   158,   594,   349,   159,   160,
1657 <     595,  1102,   259,  1219,   260,   261,   262,   263,  1103,   596,
1658 <    1167,   597,   350,   598,   599,   600,   351,   601,   602,   606,
1659 <     607,   264,   453,   608,   625,  1104,   609,   611,   632,     2,
1660 <       3,   612,  1154,     4,   635,   626,   352,   613,   353,   161,
1661 <     162,   163,   614,     5,   164,   265,     6,     7,   354,   165,
1662 <    1105,   636,     8,   615,   616,   266,   617,  1106,   618,   621,
1663 <     622,  1155,   627,     9,   628,   637,   638,    10,    11,  1107,
1664 <    1156,   355,   639,  1220,  1221,   640,  1157,    12,   642,   644,
1665 <     645,   647,   646,  1168,   267,   268,  1108,  1109,  1110,   648,
1666 <    1158,    13,  1159,  1160,   651,   649,   317,   652,   356,    14,
1667 <      15,   865,  1161,   654,   655,   656,   657,  1222,  1162,   658,
1668 <     318,   319,  1169,   659,   320,   660,   661,   662,   663,    16,
1669 <     666,  1170,   685,   667,   668,   357,   678,  1171,   669,   888,
1670 <     674,   675,   680,    17,   681,   682,  1111,   707,   683,   684,
1671 <     700,  1172,   708,  1173,  1174,  1112,   686,   688,   739,   689,
1672 <    1113,   690,   358,  1175,   710,   691,  1114,   692,   695,  1176,
1673 <    1115,   697,   702,  1116,   703,  1124,    18,   704,  1117,   709,
1674 <     711,   321,   322,   323,  1118,    19,    20,   324,   714,    21,
1675 <      22,   712,   730,   713,   731,   732,   325,   733,   715,   734,
1676 <     737,   359,   717,   738,   724,   718,   741,   326,   327,   740,
1677 <     742,   743,   719,   721,   725,   726,   736,   727,   744,   745,
1678 <     746,   755,   328,   756,   757,   758,   759,   866,   867,   868,
1679 <     869,   870,   772,   871,   872,   798,   873,   874,   875,   760,
1680 <     761,   876,    23,   877,   878,   762,   879,   764,   880,   329,
1681 <     881,   882,   767,   799,   883,   889,   890,   891,   892,   893,
1682 <     884,   894,   895,    76,   896,   897,   898,   768,   773,   899,
1683 <     774,   900,   901,   775,   902,   776,   903,   801,   904,   905,
1684 <     777,   778,   906,    77,    78,   779,   787,   788,   907,    79,
1685 <     330,  1125,  1126,  1127,  1128,  1129,   789,  1130,  1131,   790,
1686 <    1132,  1133,  1134,   791,   802,  1135,   792,  1136,  1137,   803,
1687 <    1138,   793,  1139,   794,  1140,  1141,   804,   805,  1142,   806,
1688 <     795,   807,   809,   813,  1143,   816,   796,   797,    80,    81,
1689 <     817,   812,   818,   819,   823,    82,    83,    84,   820,   827,
1690 <     834,   821,   822,   824,   825,   826,   828,   829,   830,   831,
1691 <     832,   833,   835,   836,   837,   838,   839,   840,   841,    85,
1692 <      86,   842,   843,   844,   845,   846,   847,   848,   849,   929,
1693 <     850,   851,    87,    88,   852,   853,   854,   855,   856,   857,
1694 <     858,   859,    89,   860,   861,   862,   932,   863,   864,   887,
1695 <      90,   910,   911,   931,   912,   913,   914,   915,   916,   917,
1696 <     918,   919,   920,   921,   922,   923,   924,   925,   926,   927,
1697 <     928,   933,   930,   934,   935,   936,   937,   938,   940,   941,
1698 <     939,   942,   943,   944,   945,   961,   948,   949,   959,   960,
1699 <     962,   964,   965,   963,   966,   968,   967,   970,   971,   972,
1700 <     999,  1001,  1151,  1003,  1150,   300,   969,   973,  1097,  1051,
1701 <    1078,   974,   975,   976,   977,   978,   979,   980,   981,   982,
1702 <     983,   984,   985,   986,   987,   988,   989,  1194,  1233,   994,
1703 <     995,   996,   997,   998,  1197,  1002,   549,  1000,  1005,  1004,
1704 <    1006,  1012,  1013,  1014,  1228,  1015,  1227,  1016,  1017,  1018,
1705 <    1019,  1020,  1021,  1022,  1028,  1029,  1030,  1031,  1032,  1033,
1706 <    1034,  1039,  1040,  1041,  1042,  1043,  1044,  1045,  1046,  1047,
1707 <    1048,  1089,   723,  1214,  1049,  1212,   706,  1050,  1058,  1059,
1708 <    1195,   694,  1072,  1229,  1073,  1074,  1075,   604,  1076,   771,
1709 <    1230,  1077,  1210,   729,  1081,   699,  1213,   384,  1211,   444,
1710 <    1187,  1186,   316,   624,  1087,  1088,   631,  1092,     0,     0,
1711 <    1090,  1093,  1095,  1098,  1099,  1121,  1122,  1123,  1146,  1147,
1712 <    1148,  1149,  1152,   493,  1165,  1166,  1196,     0,  1201,  1215,
1713 <    1198,  1225,     0,  1226,   766,   487,     0,   620,   529,     0,
1600 >     841,   842,   597,   598,   599,   564,    49,   840,    70,   472,
1601 >     248,   109,   525,  1084,    79,   502,   229,  1056,  1022,   495,
1602 >     286,    50,  1023,   495,   293,   219,   479,  1032,   579,    47,
1603 >      48,   503,    71,  1126,   249,    80,    81,   395,  1024,    72,
1604 >     286,    82,  1025,    54,   230,    56,   526,   504,   525,   395,
1605 >      60,   472,   231,  1099,   293,  1101,  1227,  1100,  1032,  1102,
1606 >    1228,    64,   385,   579,   232,   233,   250,   234,   235,   236,
1607 >     385,   110,  1232,   251,   564,    65,  1233,   505,    83,    84,
1608 >     219,   480,   526,    67,    85,    86,   481,   527,   482,   237,
1609 >    1057,    87,    88,    89,   496,   252,   653,   654,   496,   253,
1610 >     775,   776,   565,  1253,   661,    73,    68,   254,   665,   115,
1611 >     255,   256,   506,   670,   116,   117,   673,    90,    91,   220,
1612 >     118,   294,   386,   527,  1033,   580,   683,   684,   119,   120,
1613 >     386,   109,   507,   473,   396,   121,   528,   696,   122,   123,
1614 >     699,   700,   257,   221,   124,   106,   396,   483,   508,   125,
1615 >     126,   294,   127,   128,   129,  1033,   130,   779,   780,   258,
1616 >     580,   397,   259,   131,   453,   509,   510,   132,   133,  1127,
1617 >     107,   565,   528,   397,   220,   473,   134,  1236,  1238,  1128,
1618 >     454,  1237,  1239,   108,   114,   135,   387,   260,   497,  -123,
1619 >     216,   110,   497,   136,   387,   137,   455,   138,   221,   139,
1620 >    1085,   140,   141,   217,  1246,   261,   262,   263,  1247,  -123,
1621 >     218,   226,  1248,   299,   142,   511,  1249,  1034,   227,   143,
1622 >     144,   145,   566,   146,   147,   148,   456,  1250,   149,   300,
1623 >     474,  1251,   264,   265,   760,   303,   512,   562,   393,   751,
1624 >     287,   317,   745,   542,  1035,   581,   732,   573,  1034,   582,
1625 >     228,   577,   493,   724,   150,   800,   490,  1257,  1105,   319,
1626 >     287,  1258,   151,   152,   153,   154,   155,   156,   688,   285,
1627 >     298,   689,   474,   320,   321,  1035,   650,   322,   717,  1106,
1628 >     581,   457,  1284,    70,   582,  1211,  1285,   544,  1107,   458,
1629 >     459,   566,   571,   479,   301,   157,   302,   644,  1070,  1071,
1630 >    1072,   789,   828,   845,   846,   690,   832,    71,   691,   835,
1631 >     460,   305,   306,   839,    72,  1108,  1229,  1230,  1231,   158,
1632 >     159,   323,   160,   161,   162,   575,   307,   354,   163,   355,
1633 >     308,   356,   309,   164,   310,   311,   451,  1272,   588,   324,
1634 >     325,   326,   327,   357,  1109,  1110,   328,   312,   480,   313,
1635 >     329,   314,  1111,   481,   453,   482,   330,   315,   316,   358,
1636 >     592,   392,   402,   403,  1273,   404,  1274,   331,   332,   405,
1637 >     454,   406,   407,   408,   409,   596,   410,  1112,   411,   333,
1638 >      73,   412,   359,   413,   360,   461,   455,   414,   415,   361,
1639 >     416,   713,   417,  1113,   418,   419,   420,   840,   421,   362,
1640 >     422,   334,   809,   810,   811,   812,   813,   814,   815,   248,
1641 >     423,  1275,   424,   425,   483,   115,   456,   426,   427,   428,
1642 >     116,   117,   430,   432,   363,   433,   118,   434,  1276,   435,
1643 >     436,   437,   438,   249,   119,   120,   439,   440,   441,   442,
1644 >     335,   121,   443,   444,   122,   123,   445,   446,   364,   447,
1645 >     124,   448,   449,   450,  1114,   125,   126,   491,   127,   128,
1646 >     129,   492,   130,  1277,  1278,   250,   534,   535,   365,   131,
1647 >     536,   457,   251,   132,   133,   589,   537,   366,   538,   458,
1648 >     459,   539,   134,   540,   541,   545,   623,   546,   590,   547,
1649 >     548,   135,   549,   550,   252,   551,   552,   591,   253,   136,
1650 >     460,   137,   553,   138,   229,   139,   254,   140,   141,   255,
1651 >     256,  1046,  1047,  1048,  1049,  1050,  1051,  1052,   554,  1279,
1652 >     142,   555,   367,  1280,   556,   143,   144,   145,  1138,   146,
1653 >     147,   148,   230,   557,   149,   558,   559,   560,   561,   572,
1654 >     231,   257,  1139,   576,   593,   594,   595,   502,   596,   368,
1655 >    1140,   600,   232,   233,   640,   234,   235,   236,   258,   601,
1656 >     150,   259,   602,   503,  1141,   603,   604,   605,   151,   152,
1657 >     153,   154,   155,   156,   606,   461,   607,   237,   354,   504,
1658 >     355,   608,   356,   646,   609,   625,   260,   611,  1254,   612,
1659 >     613,  1142,   614,  1143,   357,   656,   615,   616,   617,   618,
1660 >     619,   157,   620,   621,   261,   262,   263,   622,   626,   505,
1661 >     358,   627,   628,   629,   630,   631,   633,   634,   635,  1144,
1662 >     636,   637,   638,   639,   642,   158,   159,   643,   160,   161,
1663 >     162,   264,   265,   359,   163,   360,   647,   648,   652,   164,
1664 >     361,   649,   655,   657,   506,   658,   659,   660,   663,   662,
1665 >     362,   664,  1145,   666,  1146,   667,   668,   669,   671,   672,
1666 >     674,   675,   676,   677,   507,   678,   680,   682,   685,   686,
1667 >     695,   679,   681,  1147,   687,   363,   692,   693,   694,   697,
1668 >     508,   698,   701,   702,   726,   727,   756,   753,   703,   704,
1669 >     762,  1148,   764,   705,   765,   706,  1149,   509,   510,   364,
1670 >    1150,  1195,   719,   766,   708,  1151,   709,   319,  1152,   894,
1671 >     710,   711,   712,  1153,   715,   716,     2,     3,   720,   365,
1672 >       4,   320,   321,   721,   723,   322,   728,  1154,   366,   729,
1673 >       5,   730,  1155,     6,     7,   731,   734,   735,   736,   754,
1674 >       8,   738,   739,  1156,   740,   741,   742,   511,   744,   747,
1675 >    1157,     9,   918,   767,    10,    11,   748,   749,   750,   755,
1676 >     761,   768,   769,  1196,   770,   771,   757,   758,   512,   323,
1677 >     759,   772,   773,   367,   763,   774,   783,   784,    12,   794,
1678 >     791,   826,   827,    13,   830,   785,   786,   324,   325,   326,
1679 >     327,    14,  1197,   831,   328,  1165,   787,   793,   329,  1198,
1680 >     368,   792,   795,   796,   330,   802,   833,   834,  1199,   797,
1681 >     799,   803,    15,    16,   804,   331,   332,   805,   806,   807,
1682 >     808,   895,   896,   897,   818,   898,   899,   333,   900,   901,
1683 >      17,   902,   819,   903,   820,  1200,   904,  1201,  1202,   905,
1684 >     906,   907,   821,   908,   822,   823,   824,    18,   909,   334,
1685 >     825,  1203,   910,   911,   912,   829,  1214,   836,  1204,   837,
1686 >      19,    20,   913,   838,   919,   920,   921,   914,   922,   923,
1687 >     840,   924,   925,   843,   926,   844,   927,   847,   848,   928,
1688 >      21,   849,   929,   930,   931,   851,   932,   850,   335,   852,
1689 >     853,   933,   854,    22,   855,   934,   935,   936,   856,   857,
1690 >     858,   860,    23,   861,   859,   937,    24,  1166,  1167,  1168,
1691 >     938,  1169,  1170,   862,  1171,  1172,   863,  1173,  1215,  1174,
1692 >     864,   865,  1175,   866,    79,  1176,  1177,  1178,   867,  1179,
1693 >     962,   868,   869,   965,  1180,   870,   871,   872,  1181,  1182,
1694 >    1183,   873,   874,   964,   875,    80,    81,  1216,  1184,   876,
1695 >     877,    82,   878,  1185,  1217,   879,   880,   881,   882,   883,
1696 >     884,   966,   885,  1218,   886,   887,   888,   889,   890,   891,
1697 >     892,   893,   917,   963,   941,   942,   943,   944,   967,   968,
1698 >     945,   969,   971,   946,   947,   972,   948,   949,    83,    84,
1699 >    1219,   974,  1220,  1221,    85,    86,   950,   951,   975,   952,
1700 >     953,    87,    88,    89,   976,   977,  1222,   983,   954,   955,
1701 >     956,   984,   957,  1223,   986,   958,   959,   960,   961,   970,
1702 >     973,   980,   981,   982,   987,   989,   985,    90,    91,   990,
1703 >     988,   991,   992,   993,   994,   995,   996,   997,   998,   999,
1704 >    1000,  1028,  1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,
1705 >    1042,  1009,  1010,  1011,  1012,  1013,  1014,  1015,  1016,  1017,
1706 >    1018,  1019,  1020,  1021,  1026,  1027,  1044,  1030,  1031,  1029,
1707 >    1041,  1045,  1043,  1053,  1054,  1055,  1060,  1061,  1062,  1063,
1708 >    1240,  1064,  1252,  1263,  1065,  1264,  1265,  1066,  1067,   304,
1709 >    1068,  1069,  1075,  1076,  1077,  1192,  1078,  1079,  1080,  1081,
1710 >    1082,  1083,  1193,  1088,  1089,  1090,  1091,  1092,  1093,  1094,
1711 >    1095,   563,  1096,  1097,  1098,  1286,  1103,  1104,   733,  1117,
1712 >    1118,  1119,  1120,  1121,  1131,  1122,  1123,  1124,  1125,  1212,
1713 >    1267,  1134,  1135,  1266,  1132,   746,  1259,  1136,  1137,   624,
1714 >    1160,  1262,   725,   714,  1161,   752,  1162,  1163,  1164,  1188,
1715 >    1261,  1189,  1190,  1191,   801,  1194,  1207,  1268,  1283,  1213,
1716 >    1208,  1209,  1226,  1242,   494,  1243,  1244,  1256,  1255,  1245,
1717 >    1241,  1269,  1270,  1271,   641,   790,  1260,   718,   394,   452,
1718 >    1235,   318,     0,  1234,   651,   543,     0,     0,     0,   645,
1719         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1721         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1722 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1723 <       0,     0,     0,     0,     0,     0,   568
1722 >       0,     0,     0,     0,     0,     0,     0,   574,     0,     0,
1723 >       0,     0,     0,     0,     0,     0,   578
1724   };
1725  
2087 #define yypact_value_is_default(Yystate) \
2088  (!!((Yystate) == (-966)))
2089
2090 #define yytable_value_is_error(Yytable_value) \
2091  YYID (0)
2092
1726   static const yytype_int16 yycheck[] =
1727   {
1728 <     601,   602,   304,   305,     1,   101,     1,     1,     8,     1,
1729 <     312,     1,     1,     9,    10,    11,     1,     1,   217,     1,
1730 <     217,     1,   221,     1,     1,   217,     1,   217,   217,   221,
1731 <       1,   221,   221,     1,    14,    24,   219,   217,   219,     1,
1732 <      37,   221,    31,    21,    22,    51,   217,   217,     1,    27,
1733 <     221,   221,   217,   218,    51,    52,    53,    54,  1023,  1024,
1734 <    1025,    36,   780,   781,   782,   783,   784,     1,     1,     1,
1735 <     217,    61,    69,   219,   221,   217,     1,    61,   217,   221,
1736 <      14,    56,   221,   217,     1,     1,    61,   221,    66,    67,
1737 <     161,   162,   219,   395,   396,    73,    74,    75,   219,    91,
1738 <     196,   403,    91,   405,     1,   101,    91,   219,    61,    91,
1739 <     412,     1,   219,   415,    91,    95,     6,     7,    89,    97,
1740 <      98,   219,    12,    91,   426,   427,   121,   121,    61,   219,
1741 <      20,     1,   110,   111,   436,   437,    26,   439,    28,    29,
1742 <      30,   121,   120,   118,   115,    35,   219,    17,   220,     1,
1743 <     128,    41,    42,   121,    44,    45,    46,   152,   152,    91,
1744 <      50,    95,    32,   219,    89,    55,    36,   152,   121,    59,
1745 <      60,     1,    24,    63,    91,   152,   217,   135,   136,   217,
1746 <     221,   187,    72,   221,   152,     1,   192,   121,   121,    79,
1747 <     115,    81,   192,    83,    91,    85,    86,    87,    88,   217,
1748 <     161,   162,   219,   221,   219,    57,   135,   136,   219,    99,
1749 <     179,   180,   219,   208,   208,   105,   106,   107,   219,   109,
1750 <     152,   218,   112,   113,   218,   527,   116,   220,    80,   218,
1751 <     215,     1,    84,   218,   218,   152,   218,   220,   218,    91,
1752 <     218,    93,    94,   218,   114,    15,    16,   218,   210,    19,
1753 <     218,   217,   122,   123,   216,   152,     1,   220,     3,   149,
1754 <       5,    91,     1,   153,   219,   218,   156,   157,   158,   159,
1755 <     160,   219,    17,   163,   164,    91,   208,   129,    17,   131,
1756 <     132,   133,   134,   219,   154,   220,   218,    32,   219,   216,
1757 <     592,    36,   220,    32,   210,   217,   148,    36,   600,   220,
1758 <     216,   218,   218,   217,   217,   121,    76,    77,    78,     1,
1759 <     220,    56,    82,    58,   204,   205,   206,   220,   215,   209,
1760 <     172,    91,   152,    68,   214,    17,   220,   220,   218,     1,
1761 <     182,   220,   102,   103,    13,   220,   152,   220,   208,     1,
1762 <      32,   220,   220,   220,    36,   220,    91,   117,   218,   220,
1763 <     119,   220,    91,   220,    33,   220,   220,   220,   220,   211,
1764 <     212,   220,    24,     1,    43,    37,   218,   220,   119,    31,
1765 <      49,   220,   220,   118,   144,   114,   220,   220,   208,    51,
1766 <      52,    53,    54,   220,   220,     1,    65,   220,   220,   220,
1767 <     119,   130,   220,   220,   220,   220,   220,    69,    36,    91,
1768 <     145,    17,   220,   220,   101,   220,     1,   220,   220,   220,
1769 <     220,     6,     7,    92,   220,   185,    32,    12,    56,   220,
1770 <      36,   100,   114,    61,   220,    20,   220,   172,   220,    91,
1771 <     220,    26,   220,    28,    29,    30,   220,   220,   130,   220,
1772 <      35,   220,   220,   220,     1,   220,    41,    42,   218,    44,
1773 <      45,    46,   220,   220,   193,    50,   220,   220,   220,   138,
1774 <      55,   220,   220,   220,    59,    60,   211,    24,    63,   208,
1775 <     220,   220,   220,   218,   220,   101,   155,    72,   220,   218,
1776 <     118,   161,   220,   220,    79,   220,    81,   220,    83,   220,
1777 <      85,    86,    87,    88,  1095,   220,   220,   220,   114,   220,
1778 <      57,   193,   101,   220,    99,   220,   122,   123,   220,    40,
1779 <     105,   106,   107,   220,   109,   220,   208,   112,   113,   220,
1780 <     220,   116,   201,    80,   220,   101,   101,    84,   101,    64,
1781 <     101,    62,   161,    64,    91,     4,    93,    94,   154,   161,
1782 <     139,   140,   141,   142,   143,   101,   161,   161,   217,   217,
1783 <     220,     1,   217,     3,   149,     5,    25,   220,   153,   220,
1784 <     220,   156,   157,   158,   159,   160,   220,    17,   163,   164,
1785 <     220,    40,   129,   104,   131,   132,   133,   134,    47,   220,
1786 <      64,   220,    32,   220,   220,   220,    36,   220,   220,   220,
1787 <     220,   148,   208,   220,   119,    64,   220,   220,   161,     0,
1788 <       1,   220,   137,     4,   101,   217,    56,   220,    58,   204,
1789 <     205,   206,   220,    14,   209,   172,    17,    18,    68,   214,
1790 <      89,   161,    23,   220,   220,   182,   220,    96,   220,   220,
1791 <     220,   166,   220,    34,   220,   161,   101,    38,    39,   108,
1792 <     175,    91,   119,   174,   175,   161,   181,    48,   161,   101,
1793 <     101,   161,   101,   137,   211,   212,   125,   126,   127,   161,
1794 <     195,    62,   197,   198,   101,   161,     1,   101,   118,    70,
1795 <      71,    51,   207,   101,   101,   119,   101,   208,   213,   101,
1796 <      15,    16,   166,   161,    19,   161,   220,   161,   220,    90,
1797 <     161,   175,   220,   161,   161,   145,   119,   181,   161,    51,
1798 <     161,   161,   161,   104,   161,   161,   175,   161,   217,   217,
1799 <     217,   195,   217,   197,   198,   184,   220,   220,   101,   220,
1800 <     189,   220,   172,   207,   119,   220,   195,   220,   220,   213,
1801 <     199,   220,   220,   202,   220,    51,   137,   220,   207,   219,
1802 <     119,    76,    77,    78,   213,   146,   147,    82,   220,   150,
1803 <     151,   217,   161,   217,   161,   119,    91,   161,   220,   161,
1804 <     119,   211,   220,   161,   217,   220,   119,   102,   103,   101,
1805 <     119,   119,   220,   220,   220,   220,   217,   220,   119,   119,
1806 <     119,   119,   117,   119,   101,   119,   119,   167,   168,   169,
1807 <     170,   171,   119,   173,   174,   101,   176,   177,   178,   217,
1808 <     217,   181,   203,   183,   184,   220,   186,   220,   188,   144,
1809 <     190,   191,   217,   101,   194,   167,   168,   169,   170,   171,
1810 <     200,   173,   174,     1,   176,   177,   178,   220,   217,   181,
1811 <     217,   183,   184,   217,   186,   217,   188,   101,   190,   191,
1812 <     217,   217,   194,    21,    22,   217,   217,   217,   200,    27,
1813 <     185,   167,   168,   169,   170,   171,   217,   173,   174,   217,
1814 <     176,   177,   178,   217,   101,   181,   217,   183,   184,   101,
1815 <     186,   217,   188,   217,   190,   191,   101,   119,   194,   101,
1816 <     217,   101,   101,   119,   200,   119,   217,   217,    66,    67,
1817 <     161,   217,   220,   119,   101,    73,    74,    75,   119,   217,
1818 <     220,   119,   119,   119,   119,   119,   119,   119,   217,   217,
1819 <     119,   119,   217,   217,   217,   217,   217,   217,   217,    97,
1820 <      98,   217,   217,   217,   217,   217,   217,   217,   217,   119,
1821 <     217,   217,   110,   111,   217,   217,   217,   217,   217,   217,
1822 <     217,   217,   120,   217,   217,   217,   119,   217,   217,   217,
1823 <     128,   217,   217,   220,   217,   217,   217,   217,   217,   217,
1824 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1825 <     217,   101,   161,   119,   119,   119,   217,   119,   119,   217,
1826 <     220,   220,   119,   119,   101,   119,   217,   217,   217,   217,
1827 <     161,   119,   119,   220,   119,   119,   220,   119,   119,   119,
1828 <     119,   119,   993,   119,   991,    71,   217,   217,   954,   124,
1829 <     124,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1830 <     217,   217,   217,   217,   217,   217,   217,   101,  1232,   217,
1831 <     217,   217,   217,   217,   119,   217,   269,   220,   217,   220,
1832 <     217,   217,   217,   217,  1205,   217,  1203,   217,   217,   217,
1833 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1834 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1835 <     217,   165,   503,  1193,   217,  1189,   479,   217,   217,   217,
1836 <    1090,   454,   217,  1207,   217,   217,   217,   331,   217,   562,
1837 <    1209,   217,  1183,   517,   217,   469,  1191,   112,  1185,   166,
1838 <    1057,  1055,    91,   378,   217,   217,   390,   217,    -1,    -1,
1839 <     221,   220,   220,   217,   217,   217,   217,   217,   217,   217,
1840 <     217,   217,   217,   230,   217,   217,   217,    -1,   217,   217,
1841 <     220,   217,    -1,   217,   554,   222,    -1,   360,   243,    -1,
1728 >     621,   622,   309,   310,   311,     1,   229,   108,     1,     1,
1729 >       1,     1,     1,     8,     1,     1,     1,    51,   227,     1,
1730 >       1,   229,   231,     1,     1,     1,     1,     1,     1,   227,
1731 >     228,    17,    25,    49,    25,    22,    23,     1,   227,    32,
1732 >       1,    28,   231,   229,    29,   229,    35,    33,     1,     1,
1733 >     229,     1,    37,   227,     1,   227,   227,   231,     1,   231,
1734 >     231,   229,     1,     1,    49,    50,    57,    52,    53,    54,
1735 >       1,    61,   227,    64,     1,   229,   231,    63,    65,    66,
1736 >       1,    56,    35,   229,    71,    72,    61,    76,    63,    74,
1737 >     124,    78,    79,    80,    76,    86,   403,   404,    76,    90,
1738 >     199,   200,    98,   204,   411,    98,   229,    98,   415,     1,
1739 >     101,   102,    98,   420,     6,     7,   423,   104,   105,    95,
1740 >      12,    98,    61,    76,    98,    98,   433,   434,    20,    21,
1741 >      61,     1,   118,   125,    98,    27,   125,   444,    30,    31,
1742 >     447,   448,   133,   119,    36,   229,    98,   122,   134,    41,
1743 >      42,    98,    44,    45,    46,    98,    48,   199,   200,   150,
1744 >      98,   125,   153,    55,     1,   151,   152,    59,    60,   185,
1745 >     229,    98,   125,   125,    95,   125,    68,   227,   227,   195,
1746 >      17,   231,   231,   229,   229,    77,   125,   178,   170,   170,
1747 >     229,    61,   170,    85,   125,    87,    33,    89,   119,    91,
1748 >     195,    93,    94,   229,   227,   196,   197,   198,   231,   170,
1749 >     229,   229,   227,   227,   106,   201,   231,   191,   229,   111,
1750 >     112,   113,   218,   115,   116,   117,    63,   227,   120,   230,
1751 >     222,   231,   223,   224,   541,   228,   222,   228,   228,   228,
1752 >     221,   228,   228,   228,   218,   218,   228,   228,   191,   222,
1753 >     229,   228,   228,   228,   146,   228,   227,   227,    13,     1,
1754 >     221,   231,   154,   155,   156,   157,   158,   159,   210,   229,
1755 >     229,   213,   222,    15,    16,   218,   228,    19,   228,    34,
1756 >     218,   118,   227,     1,   222,   228,   231,   227,    43,   126,
1757 >     127,   218,   227,     1,   230,   187,   230,   228,     9,    10,
1758 >      11,   228,   609,   174,   175,   210,   613,    25,   213,   616,
1759 >     147,   230,   230,   620,    32,    70,  1070,  1071,  1072,   211,
1760 >     212,    63,   214,   215,   216,   170,   230,     1,   220,     3,
1761 >     230,     5,   230,   225,   230,   230,   228,    40,   123,    81,
1762 >      82,    83,    84,    17,    99,   100,    88,   230,    56,   230,
1763 >      92,   230,   107,    61,     1,    63,    98,   230,   230,    33,
1764 >     108,   230,   230,   230,    67,   230,    69,   109,   110,   230,
1765 >      17,   230,   230,   230,   230,   108,   230,   132,   230,   121,
1766 >      98,   230,    56,   230,    58,   222,    33,   230,   230,    63,
1767 >     230,   228,   230,   148,   230,   230,   230,   108,   230,    73,
1768 >     230,   143,   135,   136,   137,   138,   139,   140,   141,     1,
1769 >     230,   114,   230,   230,   122,     1,    63,   230,   230,   230,
1770 >       6,     7,   230,   230,    98,   230,    12,   230,   131,   230,
1771 >     230,   230,   230,    25,    20,    21,   230,   230,   230,   230,
1772 >     182,    27,   230,   230,    30,    31,   230,   230,   122,   230,
1773 >      36,   230,   230,   230,   209,    41,    42,   230,    44,    45,
1774 >      46,   230,    48,   166,   167,    57,   230,   230,   142,    55,
1775 >     230,   118,    64,    59,    60,   123,   230,   151,   230,   126,
1776 >     127,   230,    68,   230,   230,   230,   228,   230,   123,   230,
1777 >     230,    77,   230,   230,    86,   230,   230,   227,    90,    85,
1778 >     147,    87,   230,    89,     1,    91,    98,    93,    94,   101,
1779 >     102,   809,   810,   811,   812,   813,   814,   815,   230,   222,
1780 >     106,   230,   196,   226,   230,   111,   112,   113,     4,   115,
1781 >     116,   117,    29,   230,   120,   230,   230,   230,   230,   230,
1782 >      37,   133,    18,   230,   108,   210,   108,     1,   108,   223,
1783 >      26,   108,    49,    50,   228,    52,    53,    54,   150,   108,
1784 >     146,   153,   108,    17,    40,   210,   210,   227,   154,   155,
1785 >     156,   157,   158,   159,   227,   222,   230,    74,     1,    33,
1786 >       3,   230,     5,   123,   230,   227,   178,   230,  1209,   230,
1787 >     230,    67,   230,    69,    17,   108,   230,   230,   230,   230,
1788 >     230,   187,   230,   230,   196,   197,   198,   230,   230,    63,
1789 >      33,   230,   230,   230,   230,   230,   230,   230,   230,    95,
1790 >     230,   230,   230,   230,   230,   211,   212,   230,   214,   215,
1791 >     216,   223,   224,    56,   220,    58,   227,   230,   210,   225,
1792 >      63,   230,   210,   210,    98,   108,   123,   210,   108,   210,
1793 >      73,   108,   128,   108,   130,   210,   210,   210,   108,   108,
1794 >     108,   108,   108,   108,   118,   210,   210,   210,   210,   210,
1795 >     123,   230,   230,   149,   210,    98,   210,   210,   210,   210,
1796 >     134,   210,   210,   210,   123,   123,   123,   210,   227,   227,
1797 >     123,   167,   123,   230,   108,   230,   172,   151,   152,   122,
1798 >     176,    69,   227,   108,   230,   181,   230,     1,   184,    49,
1799 >     230,   230,   230,   189,   230,   230,     0,     1,   230,   142,
1800 >       4,    15,    16,   230,   230,    19,   227,   203,   151,   227,
1801 >      14,   230,   208,    17,    18,   230,   227,   230,   230,   210,
1802 >      24,   230,   230,   219,   230,   230,   230,   201,   230,   227,
1803 >     226,    35,    49,   123,    38,    39,   230,   230,   230,   210,
1804 >     227,   123,   123,   131,   123,   123,   210,   210,   222,    63,
1805 >     210,   123,   108,   196,   210,   123,   123,   123,    62,   123,
1806 >     210,   108,   108,    67,   108,   227,   227,    81,    82,    83,
1807 >      84,    75,   160,   108,    88,    49,   230,   229,    92,   167,
1808 >     223,   227,   227,   227,    98,   227,   108,   108,   176,   230,
1809 >     230,   227,    96,    97,   227,   109,   110,   227,   227,   227,
1810 >     227,   161,   162,   163,   227,   165,   166,   121,   168,   169,
1811 >     114,   171,   227,   173,   227,   203,   176,   205,   206,   179,
1812 >     180,   181,   227,   183,   227,   227,   227,   131,   188,   143,
1813 >     227,   219,   192,   193,   194,   230,    69,   123,   226,   108,
1814 >     144,   145,   202,   108,   161,   162,   163,   207,   165,   166,
1815 >     108,   168,   169,   227,   171,   123,   173,   123,   210,   176,
1816 >     164,   123,   179,   180,   181,   230,   183,   123,   182,   123,
1817 >     123,   188,   108,   177,   123,   192,   193,   194,   123,   123,
1818 >     123,   123,   186,   123,   227,   202,   190,   161,   162,   163,
1819 >     207,   165,   166,   227,   168,   169,   227,   171,   131,   173,
1820 >     123,   123,   176,   227,     1,   179,   180,   181,   227,   183,
1821 >     123,   227,   227,   123,   188,   227,   227,   227,   192,   193,
1822 >     194,   227,   227,   230,   227,    22,    23,   160,   202,   227,
1823 >     227,    28,   227,   207,   167,   227,   227,   227,   227,   227,
1824 >     227,   108,   227,   176,   227,   227,   227,   227,   227,   227,
1825 >     227,   227,   227,   210,   227,   227,   227,   227,   123,   123,
1826 >     227,   123,   123,   227,   227,   123,   227,   227,    65,    66,
1827 >     203,   123,   205,   206,    71,    72,   227,   227,   123,   227,
1828 >     227,    78,    79,    80,   230,   108,   219,   123,   227,   227,
1829 >     227,   123,   227,   226,   123,   227,   227,   227,   227,   227,
1830 >     227,   227,   227,   227,   210,   123,   227,   104,   105,   123,
1831 >     230,   123,   123,   210,   230,   123,   227,   123,   123,   123,
1832 >     227,   123,   227,   227,   227,   227,   227,   227,   227,   227,
1833 >     123,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1834 >     227,   227,   227,   227,   227,   227,   123,   227,   227,   230,
1835 >     227,   227,   230,   227,   227,   227,   227,   227,   227,   227,
1836 >     108,   227,   123,   129,   227,   129,   129,   227,   227,    74,
1837 >     227,   227,   227,   227,   227,  1023,   227,   227,   227,   227,
1838 >     227,   227,  1025,   227,   227,   227,   227,   227,   227,   227,
1839 >     227,   266,   227,   227,   227,  1285,   227,   227,   498,   227,
1840 >     227,   227,   227,   227,   217,   227,   227,   227,   227,  1036,
1841 >    1249,   227,   227,  1247,   231,   513,  1228,   227,   227,   336,
1842 >     227,  1239,   485,   462,   227,   529,   227,   227,   227,   227,
1843 >    1237,   227,   227,   227,   583,   227,   227,  1251,  1258,   227,
1844 >     230,   230,   227,   227,   222,   232,   232,   227,   230,   232,
1845 >    1132,   227,   227,   227,   369,   567,  1233,   475,   111,   165,
1846 >    1102,    92,    -1,  1100,   398,   238,    -1,    -1,    -1,   388,
1847        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1848        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1849        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1850 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1851 <      -1,    -1,    -1,    -1,    -1,    -1,   292
1850 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,
1851 >      -1,    -1,    -1,    -1,    -1,    -1,   295
1852   };
1853  
1854 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1855 <   symbol of state STATE-NUM.  */
1854 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1855 >     symbol of state STATE-NUM.  */
1856   static const yytype_uint16 yystos[] =
1857   {
1858 <       0,   223,     0,     1,     4,    14,    17,    18,    23,    34,
1859 <      38,    39,    48,    62,    70,    71,    90,   104,   137,   146,
1860 <     147,   150,   151,   203,   224,   229,   234,   258,   264,   278,
1861 <     296,   313,   327,   342,   349,   353,   363,   372,   392,   402,
1862 <     408,   412,   422,   480,   497,   217,   218,   219,   219,   297,
1863 <     373,   403,   219,   413,   219,   328,   393,   314,   219,   219,
1864 <     279,   343,   219,   219,   354,   364,   219,     1,    24,    31,
1865 <      91,   259,   260,   261,   262,   263,     1,    21,    22,    27,
1866 <      66,    67,    73,    74,    75,    97,    98,   110,   111,   120,
1867 <     128,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1868 <     490,   491,   492,   493,   494,   495,   496,   219,   219,   219,
1869 <       1,    61,   409,   410,   411,   219,     1,     6,     7,    12,
1870 <      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
1871 <      46,    50,    55,    59,    60,    63,    72,    79,    81,    83,
1872 <      85,    86,    87,    88,    99,   105,   106,   107,   109,   112,
1873 <     113,   116,   149,   153,   156,   157,   158,   159,   160,   163,
1874 <     164,   204,   205,   206,   209,   214,   423,   424,   425,   426,
1875 <     427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
1876 <     437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
1877 <     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1878 <     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1879 <     467,   468,   469,   473,   477,   478,   479,   219,   219,   219,
1880 <       1,   210,   265,   266,   267,   268,   269,     1,    89,   115,
1881 <     230,   231,   232,   233,   219,   219,     1,    37,    51,    52,
1882 <      53,    54,    69,   498,   499,   500,   501,   502,   503,   504,
1883 <     505,     1,    24,    57,    80,    84,    91,    93,    94,   129,
1884 <     131,   132,   133,   134,   148,   172,   182,   211,   212,   235,
1885 <     236,   237,   238,   243,   244,   245,   246,   247,   248,   249,
1886 <     250,   251,   252,   253,   254,   255,   256,   257,   219,   219,
1887 <       1,    91,   350,   351,   352,   217,   220,   220,   220,   218,
1888 <     260,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1889 <     220,   220,   220,   220,   220,   218,   482,     1,    15,    16,
1890 <      19,    76,    77,    78,    82,    91,   102,   103,   117,   144,
1891 <     185,   298,   299,   300,   301,   302,   303,   304,   305,   306,
1892 <     307,   308,   309,   310,   311,   312,     1,     3,     5,    17,
1893 <      32,    36,    56,    58,    68,    91,   118,   145,   172,   211,
1894 <     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
1895 <     387,   388,   389,   390,   391,     1,    61,   121,   404,   405,
1896 <     406,   407,   220,   218,   410,     1,    91,   121,   152,   414,
1897 <     418,   419,   420,   421,   220,   220,   220,   220,   220,   220,
1898 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1899 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1900 <     220,   220,   220,   474,   220,   470,   220,   220,   220,   220,
1901 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1902 <     220,   220,   220,   218,   424,     1,    17,    32,    36,   114,
1903 <     122,   123,   154,   208,   329,   330,   331,   332,   333,   334,
1904 <     335,   339,   340,   341,     1,   121,   152,   208,   394,   398,
1905 <     399,   400,   401,     1,    36,    56,    61,   118,   315,   319,
1906 <     320,   321,   325,   326,   217,   220,   218,   266,   216,   217,
1907 <     220,   220,   218,   231,     1,    17,    32,    36,    91,   114,
1908 <     130,   193,   208,   280,   281,   282,   283,   284,   285,   286,
1909 <     287,   288,   292,     1,    14,    95,   121,   344,   345,   346,
1910 <     347,   348,   220,   220,   220,   220,   220,   220,   218,   499,
1911 <     217,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1912 <     220,   220,   220,   220,   220,   220,   220,   220,   218,   236,
1913 <       1,    91,   152,   208,   355,   356,   357,   358,   359,     1,
1914 <      91,   152,   365,   366,   367,   368,   220,   218,   351,   119,
1915 <     119,   119,   217,   101,   101,   161,   101,   226,   226,   101,
1916 <     101,   101,   161,   161,   101,   226,   161,   161,   217,   217,
1917 <     220,   220,   220,   220,   220,   220,   220,   220,   220,   220,
1918 <     220,   220,   220,   218,   299,   217,   220,   220,   220,   220,
1919 <     384,   220,   220,   220,   220,   220,   220,   220,   220,   218,
1920 <     375,   220,   220,   218,   405,   119,   217,   220,   220,   415,
1921 <     218,   419,   161,   226,   226,   101,   161,   161,   101,   119,
1922 <     161,   226,   161,   226,   101,   101,   101,   161,   161,   161,
1923 <     226,   101,   101,   226,   101,   101,   119,   101,   101,   161,
1924 <     161,   220,   161,   220,   226,   226,   161,   161,   161,   161,
1925 <     161,   162,   161,   162,   161,   161,   226,   226,   119,   226,
1926 <     161,   161,   161,   217,   217,   220,   220,   336,   220,   220,
1927 <     220,   220,   220,   218,   330,   220,   395,   220,   218,   399,
1928 <     217,   316,   220,   220,   220,   218,   320,   161,   217,   219,
1929 <     119,   119,   217,   217,   220,   220,   293,   220,   220,   220,
1930 <     289,   220,   218,   281,   217,   220,   220,   220,   218,   345,
1931 <     161,   161,   119,   161,   161,   226,   217,   119,   161,   101,
1932 <     101,   119,   119,   119,   119,   119,   119,   135,   136,   239,
1933 <     240,   135,   136,   241,   242,   119,   119,   101,   119,   119,
1934 <     217,   217,   220,   360,   220,   218,   356,   217,   220,   369,
1935 <     218,   366,   119,   217,   217,   217,   217,   217,   217,   217,
1936 <     139,   140,   141,   142,   143,   225,   226,   217,   217,   217,
1937 <     217,   217,   217,   217,   217,   217,   217,   217,   101,   101,
1938 <     226,   101,   101,   101,   101,   119,   101,   101,   226,   101,
1939 <     228,   228,   217,   119,   179,   180,   119,   161,   220,   119,
1940 <     119,   119,   119,   101,   119,   119,   119,   217,   119,   119,
1941 <     217,   217,   119,   119,   220,   217,   217,   217,   217,   217,
1942 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1943 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1944 <     217,   217,   217,   217,   217,    51,   167,   168,   169,   170,
1945 <     171,   173,   174,   176,   177,   178,   181,   183,   184,   186,
1946 <     188,   190,   191,   194,   200,   475,   476,   217,    51,   167,
1947 <     168,   169,   170,   171,   173,   174,   176,   177,   178,   181,
1948 <     183,   184,   186,   188,   190,   191,   194,   200,   471,   472,
1949 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1950 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   119,
1951 <     161,   220,   119,   101,   119,   119,   119,   217,   119,   220,
1952 <     119,   217,   220,   119,   119,   101,   323,   324,   217,   217,
1953 <       1,    91,   152,   215,   270,   271,   272,   273,   274,   217,
1954 <     217,   119,   161,   220,   119,   119,   119,   220,   119,   217,
1955 <     119,   119,   119,   217,   217,   217,   217,   217,   217,   217,
1956 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1957 <     217,   221,   217,   221,   217,   217,   217,   217,   217,   119,
1958 <     220,   119,   217,   119,   220,   217,   217,   225,   225,   225,
1959 <     225,   225,   217,   217,   217,   217,   217,   217,   217,   217,
1960 <     217,   217,   217,     9,    10,    11,   227,   228,   217,   217,
1961 <     217,   217,   217,   217,   217,     8,   192,   385,   386,   217,
1962 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1963 <     217,   124,   416,   417,   217,   221,   217,   221,   217,   217,
1964 <      13,    33,    43,    49,    65,    92,   100,   138,   155,   201,
1965 <     337,   338,   217,   217,   217,   217,   217,   217,   124,   396,
1966 <     397,   217,    51,   187,   192,   317,   318,   217,   217,   165,
1967 <     221,   322,   217,   220,   275,   220,   218,   271,   217,   217,
1968 <       4,    25,    40,    47,    64,    89,    96,   108,   125,   126,
1969 <     127,   175,   184,   189,   195,   199,   202,   207,   213,   294,
1970 <     295,   217,   217,   217,    51,   167,   168,   169,   170,   171,
1971 <     173,   174,   176,   177,   178,   181,   183,   184,   186,   188,
1972 <     190,   191,   194,   200,   290,   291,   217,   217,   217,   217,
1973 <     240,   242,   217,    64,   137,   166,   175,   181,   195,   197,
1974 <     198,   207,   213,   361,   362,   217,   217,    64,   137,   166,
1975 <     175,   181,   195,   197,   198,   207,   213,   370,   371,   227,
1976 <     227,   227,   217,   221,   217,   221,   476,   472,   217,   221,
1977 <     217,   221,   217,   221,   101,   324,   217,   119,   220,   196,
1978 <     228,   217,   217,   221,   217,   221,   217,   221,   217,   221,
1979 <     386,   417,   338,   397,   318,   217,    40,    62,    64,   104,
1980 <     174,   175,   208,   276,   277,   217,   217,   295,   291,   362,
1981 <     371,   217,   221,   277
1858 >       0,   234,     0,     1,     4,    14,    17,    18,    24,    35,
1859 >      38,    39,    62,    67,    75,    96,    97,   114,   131,   144,
1860 >     145,   164,   177,   186,   190,   235,   240,   245,   269,   275,
1861 >     281,   295,   315,   338,   352,   367,   374,   378,   388,   397,
1862 >     418,   424,   430,   434,   440,   498,   513,   227,   228,   229,
1863 >     229,   316,   398,   425,   229,   435,   229,   353,   419,   339,
1864 >     229,   276,   296,   368,   229,   229,   389,   229,   229,   379,
1865 >       1,    25,    32,    98,   270,   271,   272,   273,   274,     1,
1866 >      22,    23,    28,    65,    66,    71,    72,    78,    79,    80,
1867 >     104,   105,   499,   500,   501,   502,   503,   504,   505,   506,
1868 >     507,   508,   509,   510,   511,   512,   229,   229,   229,     1,
1869 >      61,   431,   432,   433,   229,     1,     6,     7,    12,    20,
1870 >      21,    27,    30,    31,    36,    41,    42,    44,    45,    46,
1871 >      48,    55,    59,    60,    68,    77,    85,    87,    89,    91,
1872 >      93,    94,   106,   111,   112,   113,   115,   116,   117,   120,
1873 >     146,   154,   155,   156,   157,   158,   159,   187,   211,   212,
1874 >     214,   215,   216,   220,   225,   441,   442,   443,   444,   445,
1875 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1876 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1877 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1878 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
1879 >     486,   487,   491,   495,   496,   497,   229,   229,   229,     1,
1880 >      95,   119,   241,   242,   243,   244,   229,   229,   229,     1,
1881 >      29,    37,    49,    50,    52,    53,    54,    74,   514,   515,
1882 >     516,   517,   518,   519,   520,   521,   522,   523,     1,    25,
1883 >      57,    64,    86,    90,    98,   101,   102,   133,   150,   153,
1884 >     178,   196,   197,   198,   223,   224,   246,   247,   248,   249,
1885 >     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1886 >     264,   265,   266,   267,   268,   229,     1,   221,   282,   283,
1887 >     284,   285,   286,     1,    98,   375,   376,   377,   229,   227,
1888 >     230,   230,   230,   228,   271,   230,   230,   230,   230,   230,
1889 >     230,   230,   230,   230,   230,   230,   230,   228,   500,     1,
1890 >      15,    16,    19,    63,    81,    82,    83,    84,    88,    92,
1891 >      98,   109,   110,   121,   143,   182,   317,   318,   319,   320,
1892 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1893 >     331,   332,   333,   334,     1,     3,     5,    17,    33,    56,
1894 >      58,    63,    73,    98,   122,   142,   151,   196,   223,   399,
1895 >     400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
1896 >     413,   414,   415,   416,   417,     1,    61,   125,   426,   427,
1897 >     428,   429,   230,   228,   432,     1,    98,   125,   436,   437,
1898 >     438,   439,   230,   230,   230,   230,   230,   230,   230,   230,
1899 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1900 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   492,
1901 >     230,   488,   230,   230,   230,   230,   230,   230,   230,   230,
1902 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1903 >     230,   228,   442,     1,    17,    33,    63,   118,   126,   127,
1904 >     147,   222,   354,   355,   356,   357,   358,   359,   360,   364,
1905 >     365,   366,     1,   125,   222,   420,   421,   422,   423,     1,
1906 >      56,    61,    63,   122,   340,   344,   345,   346,   350,   351,
1907 >     227,   230,   230,   228,   242,     1,    76,   170,   277,   278,
1908 >     279,   280,     1,    17,    33,    63,    98,   118,   134,   151,
1909 >     152,   201,   222,   297,   298,   299,   300,   301,   302,   303,
1910 >     304,   305,   306,   307,   311,     1,    35,    76,   125,   369,
1911 >     370,   371,   372,   373,   230,   230,   230,   230,   230,   230,
1912 >     230,   230,   228,   515,   227,   230,   230,   230,   230,   230,
1913 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1914 >     230,   230,   228,   247,     1,    98,   218,   390,   391,   392,
1915 >     393,   227,   230,   228,   283,   170,   230,   228,   376,     1,
1916 >      98,   218,   222,   380,   381,   382,   383,   384,   123,   123,
1917 >     123,   227,   108,   108,   210,   108,   108,   237,   237,   237,
1918 >     108,   108,   108,   210,   210,   227,   227,   230,   230,   230,
1919 >     335,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1920 >     230,   230,   230,   228,   318,   227,   230,   230,   230,   230,
1921 >     230,   230,   410,   230,   230,   230,   230,   230,   230,   230,
1922 >     228,   400,   230,   230,   228,   427,   123,   227,   230,   230,
1923 >     228,   437,   210,   237,   237,   210,   108,   210,   108,   123,
1924 >     210,   237,   210,   108,   108,   237,   108,   210,   210,   210,
1925 >     237,   108,   108,   237,   108,   108,   108,   108,   210,   230,
1926 >     210,   230,   210,   237,   237,   210,   210,   210,   210,   213,
1927 >     210,   213,   210,   210,   210,   123,   237,   210,   210,   237,
1928 >     237,   210,   210,   227,   227,   230,   230,   361,   230,   230,
1929 >     230,   230,   230,   228,   355,   230,   230,   228,   421,   227,
1930 >     230,   230,   341,   230,   228,   345,   123,   123,   227,   227,
1931 >     230,   230,   228,   278,   227,   230,   230,   312,   230,   230,
1932 >     230,   230,   230,   308,   230,   228,   298,   227,   230,   230,
1933 >     230,   228,   370,   210,   210,   210,   123,   210,   210,   210,
1934 >     237,   227,   123,   210,   123,   108,   108,   123,   123,   123,
1935 >     123,   123,   123,   108,   123,   199,   200,   250,   251,   199,
1936 >     200,   252,   253,   123,   123,   227,   227,   230,   394,   228,
1937 >     391,   210,   227,   229,   123,   227,   227,   230,   385,   230,
1938 >     228,   381,   227,   227,   227,   227,   227,   227,   227,   135,
1939 >     136,   137,   138,   139,   140,   141,   236,   237,   227,   227,
1940 >     227,   227,   227,   227,   227,   227,   108,   108,   237,   230,
1941 >     108,   108,   237,   108,   108,   237,   123,   108,   108,   237,
1942 >     108,   239,   239,   227,   123,   174,   175,   123,   210,   123,
1943 >     123,   230,   123,   123,   108,   123,   123,   123,   123,   227,
1944 >     123,   123,   227,   227,   123,   123,   227,   227,   227,   227,
1945 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1946 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1947 >     227,   227,   227,   227,    49,   161,   162,   163,   165,   166,
1948 >     168,   169,   171,   173,   176,   179,   180,   181,   183,   188,
1949 >     192,   193,   194,   202,   207,   493,   494,   227,    49,   161,
1950 >     162,   163,   165,   166,   168,   169,   171,   173,   176,   179,
1951 >     180,   181,   183,   188,   192,   193,   194,   202,   207,   489,
1952 >     490,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1953 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1954 >     227,   227,   123,   210,   230,   123,   108,   123,   123,   123,
1955 >     227,   123,   123,   227,   123,   123,   230,   108,   348,   349,
1956 >     227,   227,   227,   123,   123,   227,   123,   210,   230,   123,
1957 >     123,   123,   123,   210,   230,   123,   227,   123,   123,   123,
1958 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1959 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1960 >     227,   227,   227,   231,   227,   231,   227,   227,   123,   230,
1961 >     227,   227,     1,    98,   191,   218,   287,   288,   289,   290,
1962 >     291,   227,   123,   230,   123,   227,   236,   236,   236,   236,
1963 >     236,   236,   236,   227,   227,   227,    51,   124,   336,   337,
1964 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1965 >       9,    10,    11,   238,   239,   227,   227,   227,   227,   227,
1966 >     227,   227,   227,   227,     8,   195,   411,   412,   227,   227,
1967 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1968 >     231,   227,   231,   227,   227,    13,    34,    43,    70,    99,
1969 >     100,   107,   132,   148,   209,   362,   363,   227,   227,   227,
1970 >     227,   227,   227,   227,   227,   227,    49,   185,   195,   342,
1971 >     343,   217,   231,   347,   227,   227,   227,   227,     4,    18,
1972 >      26,    40,    67,    69,    95,   128,   130,   149,   167,   172,
1973 >     176,   181,   184,   189,   203,   208,   219,   226,   313,   314,
1974 >     227,   227,   227,   227,   227,    49,   161,   162,   163,   165,
1975 >     166,   168,   169,   171,   173,   176,   179,   180,   181,   183,
1976 >     188,   192,   193,   194,   202,   207,   309,   310,   227,   227,
1977 >     227,   227,   251,   253,   227,    69,   131,   160,   167,   176,
1978 >     203,   205,   206,   219,   226,   395,   396,   227,   230,   230,
1979 >     292,   228,   288,   227,    69,   131,   160,   167,   176,   203,
1980 >     205,   206,   219,   226,   386,   387,   227,   227,   231,   238,
1981 >     238,   238,   227,   231,   494,   490,   227,   231,   227,   231,
1982 >     108,   349,   227,   232,   232,   232,   227,   231,   227,   231,
1983 >     227,   231,   123,   204,   239,   230,   227,   227,   231,   337,
1984 >     412,   363,   343,   129,   129,   129,   314,   310,   396,   227,
1985 >     227,   227,    40,    67,    69,   114,   131,   166,   167,   222,
1986 >     226,   293,   294,   387,   227,   231,   294
1987   };
1988  
1989 < #define yyerrok         (yyerrstatus = 0)
1990 < #define yyclearin       (yychar = YYEMPTY)
1991 < #define YYEMPTY         (-2)
1992 < #define YYEOF           0
1993 <
1994 < #define YYACCEPT        goto yyacceptlab
1995 < #define YYABORT         goto yyabortlab
1996 < #define YYERROR         goto yyerrorlab
1997 <
1998 <
1999 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2000 <   to ease the transition to the new meaning of YYERROR, for GCC.
2001 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2002 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2003 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2004 <   discussed.  */
2005 <
2006 < #define YYFAIL          goto yyerrlab
2007 < #if defined YYFAIL
2008 <  /* This is here to suppress warnings from the GCC cpp's
2009 <     -Wunused-macros.  Normally we don't worry about that warning, but
2010 <     some users do, and we want to make it easy for users to remove
2011 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2012 < #endif
1989 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1990 > static const yytype_uint16 yyr1[] =
1991 > {
1992 >       0,   233,   234,   234,   235,   235,   235,   235,   235,   235,
1993 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1994 >     235,   235,   235,   235,   235,   235,   235,   236,   236,   237,
1995 >     237,   237,   237,   237,   237,   237,   237,   238,   238,   239,
1996 >     239,   239,   239,   240,   241,   241,   242,   242,   242,   243,
1997 >     244,   245,   246,   246,   247,   247,   247,   247,   247,   247,
1998 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
1999 >     247,   247,   248,   249,   250,   250,   251,   251,   252,   252,
2000 >     253,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2001 >     262,   263,   264,   265,   266,   267,   268,   269,   270,   270,
2002 >     271,   271,   271,   271,   272,   273,   274,   276,   275,   277,
2003 >     277,   278,   278,   278,   279,   280,   281,   282,   282,   283,
2004 >     283,   283,   284,   286,   285,   287,   287,   288,   288,   288,
2005 >     288,   289,   290,   290,   292,   291,   293,   293,   294,   294,
2006 >     294,   294,   294,   294,   294,   294,   294,   296,   295,   297,
2007 >     297,   298,   298,   298,   298,   298,   298,   298,   298,   298,
2008 >     298,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2009 >     308,   307,   309,   309,   310,   310,   310,   310,   310,   310,
2010 >     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
2011 >     310,   310,   310,   310,   310,   312,   311,   313,   313,   314,
2012 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2013 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2014 >     314,   314,   316,   315,   317,   317,   318,   318,   318,   318,
2015 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2016 >     318,   318,   318,   319,   320,   321,   322,   323,   324,   325,
2017 >     326,   327,   328,   329,   330,   331,   332,   333,   335,   334,
2018 >     336,   336,   337,   337,   339,   338,   341,   340,   342,   342,
2019 >     343,   343,   343,   344,   344,   345,   345,   345,   345,   345,
2020 >     347,   346,   348,   348,   349,   349,   350,   351,   353,   352,
2021 >     354,   354,   355,   355,   355,   355,   355,   355,   355,   355,
2022 >     355,   356,   357,   358,   359,   361,   360,   362,   362,   363,
2023 >     363,   363,   363,   363,   363,   363,   363,   363,   363,   364,
2024 >     365,   366,   368,   367,   369,   369,   370,   370,   370,   370,
2025 >     371,   372,   373,   374,   375,   375,   376,   376,   377,   379,
2026 >     378,   380,   380,   381,   381,   381,   381,   382,   383,   385,
2027 >     384,   386,   386,   387,   387,   387,   387,   387,   387,   387,
2028 >     387,   387,   387,   389,   388,   390,   390,   391,   391,   391,
2029 >     392,   394,   393,   395,   395,   396,   396,   396,   396,   396,
2030 >     396,   396,   396,   396,   396,   398,   397,   399,   399,   400,
2031 >     400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
2032 >     400,   400,   400,   400,   401,   402,   403,   404,   405,   406,
2033 >     407,   408,   408,   410,   409,   411,   411,   412,   412,   413,
2034 >     414,   415,   416,   417,   419,   418,   420,   420,   421,   421,
2035 >     421,   422,   423,   425,   424,   426,   426,   427,   427,   427,
2036 >     428,   429,   430,   431,   431,   432,   432,   433,   435,   434,
2037 >     436,   436,   437,   437,   437,   438,   439,   440,   441,   441,
2038 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2039 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2040 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2041 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2042 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2043 >     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
2044 >     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
2045 >     463,   464,   465,   466,   467,   468,   469,   469,   470,   470,
2046 >     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
2047 >     481,   482,   483,   484,   485,   486,   488,   487,   489,   489,
2048 >     490,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2049 >     490,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2050 >     490,   492,   491,   493,   493,   494,   494,   494,   494,   494,
2051 >     494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
2052 >     494,   494,   494,   494,   494,   494,   495,   496,   497,   498,
2053 >     499,   499,   500,   500,   500,   500,   500,   500,   500,   500,
2054 >     500,   500,   500,   500,   500,   501,   502,   503,   504,   505,
2055 >     506,   507,   508,   509,   510,   511,   512,   513,   514,   514,
2056 >     515,   515,   515,   515,   515,   515,   515,   515,   515,   516,
2057 >     517,   518,   519,   520,   521,   522,   523
2058 > };
2059 >
2060 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2061 > static const yytype_uint8 yyr2[] =
2062 > {
2063 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2064 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2065 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
2066 >       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
2067 >       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2068 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2069 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2070 >       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
2071 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2072 >       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
2073 >       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
2074 >       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
2075 >       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
2076 >       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2077 >       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2078 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2079 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2080 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2081 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2082 >       1,     1,     1,     1,     1,     0,     5,     3,     1,     3,
2083 >       1,     3,     1,     3,     1,     1,     1,     1,     1,     1,
2084 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2085 >       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2086 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2087 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2088 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2089 >       3,     1,     1,     1,     0,     6,     0,     5,     3,     1,
2090 >       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
2091 >       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
2092 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2093 >       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2094 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2095 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2096 >       4,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2097 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     0,
2098 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2099 >       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
2100 >       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2101 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2102 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2103 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2104 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     4,
2105 >       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
2106 >       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2107 >       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
2108 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2109 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2110 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2111 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2112 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2113 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2114 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2115 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2116 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2117 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2118 >       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
2119 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2120 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2121 >       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2122 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2123 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     5,
2124 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2125 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
2126 >       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
2127 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2128 >       4,     4,     4,     4,     4,     4,     4
2129 > };
2130 >
2131 >
2132 > #define yyerrok         (yyerrstatus = 0)
2133 > #define yyclearin       (yychar = YYEMPTY)
2134 > #define YYEMPTY         (-2)
2135 > #define YYEOF           0
2136 >
2137 > #define YYACCEPT        goto yyacceptlab
2138 > #define YYABORT         goto yyabortlab
2139 > #define YYERROR         goto yyerrorlab
2140 >
2141  
2142   #define YYRECOVERING()  (!!yyerrstatus)
2143  
# Line 2383 | Line 2154 | do
2154    else                                                          \
2155      {                                                           \
2156        yyerror (YY_("syntax error: cannot back up")); \
2157 <      YYERROR;                                                  \
2158 <    }                                                           \
2159 < while (YYID (0))
2157 >      YYERROR;                                                  \
2158 >    }                                                           \
2159 > while (0)
2160  
2161   /* Error token number */
2162 < #define YYTERROR        1
2163 < #define YYERRCODE       256
2393 <
2394 <
2395 < /* This macro is provided for backward compatibility. */
2396 < #ifndef YY_LOCATION_PRINT
2397 < # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2398 < #endif
2162 > #define YYTERROR        1
2163 > #define YYERRCODE       256
2164  
2165  
2401 /* YYLEX -- calling `yylex' with the right arguments.  */
2402 #ifdef YYLEX_PARAM
2403 # define YYLEX yylex (YYLEX_PARAM)
2404 #else
2405 # define YYLEX yylex ()
2406 #endif
2166  
2167   /* Enable debugging if requested.  */
2168   #if YYDEBUG
# Line 2413 | Line 2172 | while (YYID (0))
2172   #  define YYFPRINTF fprintf
2173   # endif
2174  
2175 < # define YYDPRINTF(Args)                        \
2176 < do {                                            \
2177 <  if (yydebug)                                  \
2178 <    YYFPRINTF Args;                             \
2179 < } while (YYID (0))
2421 <
2422 < # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2423 < do {                                                                      \
2424 <  if (yydebug)                                                            \
2425 <    {                                                                     \
2426 <      YYFPRINTF (stderr, "%s ", Title);                                   \
2427 <      yy_symbol_print (stderr,                                            \
2428 <                  Type, Value); \
2429 <      YYFPRINTF (stderr, "\n");                                           \
2430 <    }                                                                     \
2431 < } while (YYID (0))
2175 > # define YYDPRINTF(Args)                        \
2176 > do {                                            \
2177 >  if (yydebug)                                  \
2178 >    YYFPRINTF Args;                             \
2179 > } while (0)
2180  
2181 + /* This macro is provided for backward compatibility. */
2182 + #ifndef YY_LOCATION_PRINT
2183 + # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2184 + #endif
2185 +
2186 +
2187 + # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2188 + do {                                                                      \
2189 +  if (yydebug)                                                            \
2190 +    {                                                                     \
2191 +      YYFPRINTF (stderr, "%s ", Title);                                   \
2192 +      yy_symbol_print (stderr,                                            \
2193 +                  Type, Value); \
2194 +      YYFPRINTF (stderr, "\n");                                           \
2195 +    }                                                                     \
2196 + } while (0)
2197  
2434 /*--------------------------------.
2435 | Print this symbol on YYOUTPUT.  |
2436 `--------------------------------*/
2198  
2199 < /*ARGSUSED*/
2200 < #if (defined __STDC__ || defined __C99__FUNC__ \
2201 <     || defined __cplusplus || defined _MSC_VER)
2199 > /*----------------------------------------.
2200 > | Print this symbol's value on YYOUTPUT.  |
2201 > `----------------------------------------*/
2202 >
2203   static void
2204   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2443 #else
2444 static void
2445 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2446    FILE *yyoutput;
2447    int yytype;
2448    YYSTYPE const * const yyvaluep;
2449 #endif
2205   {
2206    FILE *yyo = yyoutput;
2207    YYUSE (yyo);
# Line 2455 | Line 2210 | yy_symbol_value_print (yyoutput, yytype,
2210   # ifdef YYPRINT
2211    if (yytype < YYNTOKENS)
2212      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2458 # else
2459  YYUSE (yyoutput);
2213   # endif
2214 <  switch (yytype)
2462 <    {
2463 <      default:
2464 <        break;
2465 <    }
2214 >  YYUSE (yytype);
2215   }
2216  
2217  
# Line 2470 | Line 2219 | yy_symbol_value_print (yyoutput, yytype,
2219   | Print this symbol on YYOUTPUT.  |
2220   `--------------------------------*/
2221  
2473 #if (defined __STDC__ || defined __C99__FUNC__ \
2474     || defined __cplusplus || defined _MSC_VER)
2222   static void
2223   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2477 #else
2478 static void
2479 yy_symbol_print (yyoutput, yytype, yyvaluep)
2480    FILE *yyoutput;
2481    int yytype;
2482    YYSTYPE const * const yyvaluep;
2483 #endif
2224   {
2225 <  if (yytype < YYNTOKENS)
2226 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2487 <  else
2488 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2225 >  YYFPRINTF (yyoutput, "%s %s (",
2226 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2227  
2228    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2229    YYFPRINTF (yyoutput, ")");
# Line 2496 | Line 2234 | yy_symbol_print (yyoutput, yytype, yyval
2234   | TOP (included).                                                   |
2235   `------------------------------------------------------------------*/
2236  
2499 #if (defined __STDC__ || defined __C99__FUNC__ \
2500     || defined __cplusplus || defined _MSC_VER)
2237   static void
2238   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2503 #else
2504 static void
2505 yy_stack_print (yybottom, yytop)
2506    yytype_int16 *yybottom;
2507    yytype_int16 *yytop;
2508 #endif
2239   {
2240    YYFPRINTF (stderr, "Stack now");
2241    for (; yybottom <= yytop; yybottom++)
# Line 2516 | Line 2246 | yy_stack_print (yybottom, yytop)
2246    YYFPRINTF (stderr, "\n");
2247   }
2248  
2249 < # define YY_STACK_PRINT(Bottom, Top)                            \
2250 < do {                                                            \
2251 <  if (yydebug)                                                  \
2252 <    yy_stack_print ((Bottom), (Top));                           \
2253 < } while (YYID (0))
2249 > # define YY_STACK_PRINT(Bottom, Top)                            \
2250 > do {                                                            \
2251 >  if (yydebug)                                                  \
2252 >    yy_stack_print ((Bottom), (Top));                           \
2253 > } while (0)
2254  
2255  
2256   /*------------------------------------------------.
2257   | Report that the YYRULE is going to be reduced.  |
2258   `------------------------------------------------*/
2259  
2530 #if (defined __STDC__ || defined __C99__FUNC__ \
2531     || defined __cplusplus || defined _MSC_VER)
2532 static void
2533 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2534 #else
2260   static void
2261 < yy_reduce_print (yyvsp, yyrule)
2537 <    YYSTYPE *yyvsp;
2538 <    int yyrule;
2539 < #endif
2261 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2262   {
2263 +  unsigned long int yylno = yyrline[yyrule];
2264    int yynrhs = yyr2[yyrule];
2265    int yyi;
2543  unsigned long int yylno = yyrline[yyrule];
2266    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2267 <             yyrule - 1, yylno);
2267 >             yyrule - 1, yylno);
2268    /* The symbols being reduced.  */
2269    for (yyi = 0; yyi < yynrhs; yyi++)
2270      {
2271        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2272 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2273 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2274 <                                       );
2272 >      yy_symbol_print (stderr,
2273 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2274 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2275 >                                              );
2276        YYFPRINTF (stderr, "\n");
2277      }
2278   }
2279  
2280 < # define YY_REDUCE_PRINT(Rule)          \
2281 < do {                                    \
2282 <  if (yydebug)                          \
2283 <    yy_reduce_print (yyvsp, Rule); \
2284 < } while (YYID (0))
2280 > # define YY_REDUCE_PRINT(Rule)          \
2281 > do {                                    \
2282 >  if (yydebug)                          \
2283 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2284 > } while (0)
2285  
2286   /* Nonzero means print parse trace.  It is left uninitialized so that
2287     multiple parsers can coexist.  */
# Line 2572 | Line 2295 | int yydebug;
2295  
2296  
2297   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2298 < #ifndef YYINITDEPTH
2298 > #ifndef YYINITDEPTH
2299   # define YYINITDEPTH 200
2300   #endif
2301  
# Line 2595 | Line 2318 | int yydebug;
2318   #   define yystrlen strlen
2319   #  else
2320   /* Return the length of YYSTR.  */
2598 #if (defined __STDC__ || defined __C99__FUNC__ \
2599     || defined __cplusplus || defined _MSC_VER)
2321   static YYSIZE_T
2322   yystrlen (const char *yystr)
2602 #else
2603 static YYSIZE_T
2604 yystrlen (yystr)
2605    const char *yystr;
2606 #endif
2323   {
2324    YYSIZE_T yylen;
2325    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2619 | Line 2335 | yystrlen (yystr)
2335   #  else
2336   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2337     YYDEST.  */
2622 #if (defined __STDC__ || defined __C99__FUNC__ \
2623     || defined __cplusplus || defined _MSC_VER)
2338   static char *
2339   yystpcpy (char *yydest, const char *yysrc)
2626 #else
2627 static char *
2628 yystpcpy (yydest, yysrc)
2629    char *yydest;
2630    const char *yysrc;
2631 #endif
2340   {
2341    char *yyd = yydest;
2342    const char *yys = yysrc;
# Line 2658 | Line 2366 | yytnamerr (char *yyres, const char *yyst
2366        char const *yyp = yystr;
2367  
2368        for (;;)
2369 <        switch (*++yyp)
2370 <          {
2371 <          case '\'':
2372 <          case ',':
2373 <            goto do_not_strip_quotes;
2374 <
2375 <          case '\\':
2376 <            if (*++yyp != '\\')
2377 <              goto do_not_strip_quotes;
2378 <            /* Fall through.  */
2379 <          default:
2380 <            if (yyres)
2381 <              yyres[yyn] = *yyp;
2382 <            yyn++;
2383 <            break;
2384 <
2385 <          case '"':
2386 <            if (yyres)
2387 <              yyres[yyn] = '\0';
2388 <            return yyn;
2389 <          }
2369 >        switch (*++yyp)
2370 >          {
2371 >          case '\'':
2372 >          case ',':
2373 >            goto do_not_strip_quotes;
2374 >
2375 >          case '\\':
2376 >            if (*++yyp != '\\')
2377 >              goto do_not_strip_quotes;
2378 >            /* Fall through.  */
2379 >          default:
2380 >            if (yyres)
2381 >              yyres[yyn] = *yyp;
2382 >            yyn++;
2383 >            break;
2384 >
2385 >          case '"':
2386 >            if (yyres)
2387 >              yyres[yyn] = '\0';
2388 >            return yyn;
2389 >          }
2390      do_not_strip_quotes: ;
2391      }
2392  
# Line 2713 | Line 2421 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2421    int yycount = 0;
2422  
2423    /* There are many possibilities here to consider:
2716     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2717       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2718       for details.  YYERROR is fine as it does not invoke this
2719       function.
2424       - If this state is a consistent state with a default action, then
2425         the only way this function was invoked is if the default action
2426         is an error action.  In that case, don't check for expected
# Line 2833 | Line 2537 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2537   | Release the memory associated to this symbol.  |
2538   `-----------------------------------------------*/
2539  
2836 /*ARGSUSED*/
2837 #if (defined __STDC__ || defined __C99__FUNC__ \
2838     || defined __cplusplus || defined _MSC_VER)
2540   static void
2541   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2841 #else
2842 static void
2843 yydestruct (yymsg, yytype, yyvaluep)
2844    const char *yymsg;
2845    int yytype;
2846    YYSTYPE *yyvaluep;
2847 #endif
2542   {
2543    YYUSE (yyvaluep);
2850
2544    if (!yymsg)
2545      yymsg = "Deleting";
2546    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2547  
2548 <  switch (yytype)
2549 <    {
2550 <
2858 <      default:
2859 <        break;
2860 <    }
2548 >  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2549 >  YYUSE (yytype);
2550 >  YY_IGNORE_MAYBE_UNINITIALIZED_END
2551   }
2552  
2553  
# Line 2866 | Line 2556 | yydestruct (yymsg, yytype, yyvaluep)
2556   /* The lookahead symbol.  */
2557   int yychar;
2558  
2869
2870 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2871 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2872 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2873 #endif
2874 #ifndef YY_INITIAL_VALUE
2875 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2876 #endif
2877
2559   /* The semantic value of the lookahead symbol.  */
2560 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2880 <
2560 > YYSTYPE yylval;
2561   /* Number of syntax errors so far.  */
2562   int yynerrs;
2563  
# Line 2886 | Line 2566 | int yynerrs;
2566   | yyparse.  |
2567   `----------*/
2568  
2889 #ifdef YYPARSE_PARAM
2890 #if (defined __STDC__ || defined __C99__FUNC__ \
2891     || defined __cplusplus || defined _MSC_VER)
2892 int
2893 yyparse (void *YYPARSE_PARAM)
2894 #else
2895 int
2896 yyparse (YYPARSE_PARAM)
2897    void *YYPARSE_PARAM;
2898 #endif
2899 #else /* ! YYPARSE_PARAM */
2900 #if (defined __STDC__ || defined __C99__FUNC__ \
2901     || defined __cplusplus || defined _MSC_VER)
2569   int
2570   yyparse (void)
2904 #else
2905 int
2906 yyparse ()
2907
2908 #endif
2909 #endif
2571   {
2572      int yystate;
2573      /* Number of tokens to shift before error messages enabled.  */
2574      int yyerrstatus;
2575  
2576      /* The stacks and their tools:
2577 <       `yyss': related to states.
2578 <       `yyvs': related to semantic values.
2577 >       'yyss': related to states.
2578 >       'yyvs': related to semantic values.
2579  
2580         Refer to the stacks through separate pointers, to allow yyoverflow
2581         to reallocate them elsewhere.  */
# Line 2982 | Line 2643 | yyparse ()
2643  
2644   #ifdef yyoverflow
2645        {
2646 <        /* Give user a chance to reallocate the stack.  Use copies of
2647 <           these so that the &'s don't force the real ones into
2648 <           memory.  */
2649 <        YYSTYPE *yyvs1 = yyvs;
2650 <        yytype_int16 *yyss1 = yyss;
2651 <
2652 <        /* Each stack pointer address is followed by the size of the
2653 <           data in use in that stack, in bytes.  This used to be a
2654 <           conditional around just the two extra args, but that might
2655 <           be undefined if yyoverflow is a macro.  */
2656 <        yyoverflow (YY_("memory exhausted"),
2657 <                    &yyss1, yysize * sizeof (*yyssp),
2658 <                    &yyvs1, yysize * sizeof (*yyvsp),
2659 <                    &yystacksize);
2646 >        /* Give user a chance to reallocate the stack.  Use copies of
2647 >           these so that the &'s don't force the real ones into
2648 >           memory.  */
2649 >        YYSTYPE *yyvs1 = yyvs;
2650 >        yytype_int16 *yyss1 = yyss;
2651 >
2652 >        /* Each stack pointer address is followed by the size of the
2653 >           data in use in that stack, in bytes.  This used to be a
2654 >           conditional around just the two extra args, but that might
2655 >           be undefined if yyoverflow is a macro.  */
2656 >        yyoverflow (YY_("memory exhausted"),
2657 >                    &yyss1, yysize * sizeof (*yyssp),
2658 >                    &yyvs1, yysize * sizeof (*yyvsp),
2659 >                    &yystacksize);
2660  
2661 <        yyss = yyss1;
2662 <        yyvs = yyvs1;
2661 >        yyss = yyss1;
2662 >        yyvs = yyvs1;
2663        }
2664   #else /* no yyoverflow */
2665   # ifndef YYSTACK_RELOCATE
# Line 3006 | Line 2667 | yyparse ()
2667   # else
2668        /* Extend the stack our own way.  */
2669        if (YYMAXDEPTH <= yystacksize)
2670 <        goto yyexhaustedlab;
2670 >        goto yyexhaustedlab;
2671        yystacksize *= 2;
2672        if (YYMAXDEPTH < yystacksize)
2673 <        yystacksize = YYMAXDEPTH;
2673 >        yystacksize = YYMAXDEPTH;
2674  
2675        {
2676 <        yytype_int16 *yyss1 = yyss;
2677 <        union yyalloc *yyptr =
2678 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2679 <        if (! yyptr)
2680 <          goto yyexhaustedlab;
2681 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2682 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2676 >        yytype_int16 *yyss1 = yyss;
2677 >        union yyalloc *yyptr =
2678 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2679 >        if (! yyptr)
2680 >          goto yyexhaustedlab;
2681 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2682 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2683   #  undef YYSTACK_RELOCATE
2684 <        if (yyss1 != yyssa)
2685 <          YYSTACK_FREE (yyss1);
2684 >        if (yyss1 != yyssa)
2685 >          YYSTACK_FREE (yyss1);
2686        }
2687   # endif
2688   #endif /* no yyoverflow */
# Line 3030 | Line 2691 | yyparse ()
2691        yyvsp = yyvs + yysize - 1;
2692  
2693        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2694 <                  (unsigned long int) yystacksize));
2694 >                  (unsigned long int) yystacksize));
2695  
2696        if (yyss + yystacksize - 1 <= yyssp)
2697 <        YYABORT;
2697 >        YYABORT;
2698      }
2699  
2700    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3062 | Line 2723 | yybackup:
2723    if (yychar == YYEMPTY)
2724      {
2725        YYDPRINTF ((stderr, "Reading a token: "));
2726 <      yychar = YYLEX;
2726 >      yychar = yylex ();
2727      }
2728  
2729    if (yychar <= YYEOF)
# Line 3127 | Line 2788 | yyreduce:
2788    yylen = yyr2[yyn];
2789  
2790    /* If YYLEN is nonzero, implement the default value of the action:
2791 <     `$$ = $1'.
2791 >     '$$ = $1'.
2792  
2793       Otherwise, the following line sets YYVAL to garbage.
2794       This behavior is undocumented and Bison
# Line 3140 | Line 2801 | yyreduce:
2801    YY_REDUCE_PRINT (yyn);
2802    switch (yyn)
2803      {
2804 <        case 26:
2805 < /* Line 1792 of yacc.c  */
3145 < #line 388 "conf_parser.y"
2804 >        case 27:
2805 > #line 400 "conf_parser.y" /* yacc.c:1646  */
2806      { (yyval.number) = 0; }
2807 <    break;
3148 <
3149 <  case 28:
3150 < /* Line 1792 of yacc.c  */
3151 < #line 390 "conf_parser.y"
3152 <    {
3153 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3154 <                }
2807 > #line 2808 "conf_parser.c" /* yacc.c:1646  */
2808      break;
2809  
2810    case 29:
2811 < /* Line 1792 of yacc.c  */
3159 < #line 394 "conf_parser.y"
2811 > #line 402 "conf_parser.y" /* yacc.c:1646  */
2812      {
2813 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
2813 >                        (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number);
2814                  }
2815 + #line 2816 "conf_parser.c" /* yacc.c:1646  */
2816      break;
2817  
2818    case 30:
2819 < /* Line 1792 of yacc.c  */
3167 < #line 398 "conf_parser.y"
2819 > #line 406 "conf_parser.y" /* yacc.c:1646  */
2820      {
2821 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
2821 >                        (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number);
2822                  }
2823 + #line 2824 "conf_parser.c" /* yacc.c:1646  */
2824      break;
2825  
2826    case 31:
2827 < /* Line 1792 of yacc.c  */
3175 < #line 402 "conf_parser.y"
2827 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2828      {
2829 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
2829 >                        (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number);
2830                  }
2831 + #line 2832 "conf_parser.c" /* yacc.c:1646  */
2832      break;
2833  
2834    case 32:
2835 < /* Line 1792 of yacc.c  */
3183 < #line 406 "conf_parser.y"
2835 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2836      {
2837 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
2837 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number);
2838                  }
2839 + #line 2840 "conf_parser.c" /* yacc.c:1646  */
2840      break;
2841  
2842    case 33:
2843 < /* Line 1792 of yacc.c  */
3191 < #line 410 "conf_parser.y"
2843 > #line 418 "conf_parser.y" /* yacc.c:1646  */
2844      {
2845 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
2845 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number);
2846                  }
2847 + #line 2848 "conf_parser.c" /* yacc.c:1646  */
2848      break;
2849  
2850    case 34:
2851 < /* Line 1792 of yacc.c  */
2852 < #line 415 "conf_parser.y"
2853 <    { (yyval.number) = 0; }
2851 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2852 >    {
2853 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number);
2854 >                }
2855 > #line 2856 "conf_parser.c" /* yacc.c:1646  */
2856 >    break;
2857 >
2858 >  case 35:
2859 > #line 426 "conf_parser.y" /* yacc.c:1646  */
2860 >    {
2861 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number);
2862 >                }
2863 > #line 2864 "conf_parser.c" /* yacc.c:1646  */
2864      break;
2865  
2866    case 36:
2867 < /* Line 1792 of yacc.c  */
2868 < #line 416 "conf_parser.y"
2869 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2867 > #line 430 "conf_parser.y" /* yacc.c:1646  */
2868 >    {
2869 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number);
2870 >                }
2871 > #line 2872 "conf_parser.c" /* yacc.c:1646  */
2872      break;
2873  
2874    case 37:
2875 < /* Line 1792 of yacc.c  */
2876 < #line 417 "conf_parser.y"
2877 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2875 > #line 435 "conf_parser.y" /* yacc.c:1646  */
2876 >    { (yyval.number) = 0; }
2877 > #line 2878 "conf_parser.c" /* yacc.c:1646  */
2878      break;
2879  
2880 <  case 38:
2881 < /* Line 1792 of yacc.c  */
2882 < #line 418 "conf_parser.y"
2883 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2880 >  case 39:
2881 > #line 436 "conf_parser.y" /* yacc.c:1646  */
2882 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2883 > #line 2884 "conf_parser.c" /* yacc.c:1646  */
2884      break;
2885  
2886 <  case 39:
2887 < /* Line 1792 of yacc.c  */
2888 < #line 419 "conf_parser.y"
2889 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2886 >  case 40:
2887 > #line 437 "conf_parser.y" /* yacc.c:1646  */
2888 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2889 > #line 2890 "conf_parser.c" /* yacc.c:1646  */
2890      break;
2891  
2892 <  case 46:
2893 < /* Line 1792 of yacc.c  */
2894 < #line 433 "conf_parser.y"
2892 >  case 41:
2893 > #line 438 "conf_parser.y" /* yacc.c:1646  */
2894 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2895 > #line 2896 "conf_parser.c" /* yacc.c:1646  */
2896 >    break;
2897 >
2898 >  case 42:
2899 > #line 439 "conf_parser.y" /* yacc.c:1646  */
2900 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2901 > #line 2902 "conf_parser.c" /* yacc.c:1646  */
2902 >    break;
2903 >
2904 >  case 49:
2905 > #line 453 "conf_parser.y" /* yacc.c:1646  */
2906      {
2907    if (conf_parser_ctx.pass == 2)
2908      add_conf_module(libio_basename(yylval.string));
2909   }
2910 + #line 2911 "conf_parser.c" /* yacc.c:1646  */
2911      break;
2912  
2913 <  case 47:
2914 < /* Line 1792 of yacc.c  */
3238 < #line 439 "conf_parser.y"
2913 >  case 50:
2914 > #line 459 "conf_parser.y" /* yacc.c:1646  */
2915      {
2916    if (conf_parser_ctx.pass == 2)
2917      mod_add_path(yylval.string);
2918   }
2919 + #line 2920 "conf_parser.c" /* yacc.c:1646  */
2920      break;
2921  
2922 <  case 73:
2923 < /* Line 1792 of yacc.c  */
3247 < #line 465 "conf_parser.y"
2922 >  case 76:
2923 > #line 485 "conf_parser.y" /* yacc.c:1646  */
2924      {
2925   #ifdef HAVE_LIBCRYPTO
2926    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2927      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2928   #endif
2929   }
2930 + #line 2931 "conf_parser.c" /* yacc.c:1646  */
2931      break;
2932  
2933 <  case 74:
2934 < /* Line 1792 of yacc.c  */
3258 < #line 471 "conf_parser.y"
2933 >  case 77:
2934 > #line 491 "conf_parser.y" /* yacc.c:1646  */
2935      {
2936   #ifdef HAVE_LIBCRYPTO
2937    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2938      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2939   #endif
2940   }
2941 + #line 2942 "conf_parser.c" /* yacc.c:1646  */
2942      break;
2943  
2944 <  case 77:
2945 < /* Line 1792 of yacc.c  */
3269 < #line 480 "conf_parser.y"
2944 >  case 80:
2945 > #line 500 "conf_parser.y" /* yacc.c:1646  */
2946      {
2947   #ifdef HAVE_LIBCRYPTO
2948    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2949      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2950   #endif
2951   }
2952 + #line 2953 "conf_parser.c" /* yacc.c:1646  */
2953      break;
2954  
2955 <  case 78:
2956 < /* Line 1792 of yacc.c  */
3280 < #line 486 "conf_parser.y"
2955 >  case 81:
2956 > #line 506 "conf_parser.y" /* yacc.c:1646  */
2957      {
2958   #ifdef HAVE_LIBCRYPTO
2959    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2960      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2961   #endif
2962   }
2963 + #line 2964 "conf_parser.c" /* yacc.c:1646  */
2964      break;
2965  
2966 <  case 79:
2967 < /* Line 1792 of yacc.c  */
3291 < #line 494 "conf_parser.y"
2966 >  case 82:
2967 > #line 514 "conf_parser.y" /* yacc.c:1646  */
2968      {
2969   #ifdef HAVE_LIBCRYPTO
2970    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3322 | Line 2998 | yyreduce:
2998      if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
2999          !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3000      {
3001 <      report_crypto_errors("Could not read RSA private key");
3002 <      conf_error_report(ERR_lib_error_string(ERR_get_error()));
3001 >      report_crypto_errors();
3002 >      conf_error_report("Could not read RSA private key");
3003        break;
3004      }
3005    }
3006   #endif
3007   }
3008 + #line 3009 "conf_parser.c" /* yacc.c:1646  */
3009      break;
3010  
3011 <  case 80:
3012 < /* Line 1792 of yacc.c  */
3336 < #line 536 "conf_parser.y"
3011 >  case 83:
3012 > #line 556 "conf_parser.y" /* yacc.c:1646  */
3013      {
3014   #ifdef HAVE_LIBCRYPTO
3015 <  if (conf_parser_ctx.pass == 1)
3340 <  {
3341 <    BIO *file;
3015 >  BIO *file = NULL;
3016  
3017 <    if (ServerInfo.rsa_private_key)
3018 <    {
3345 <      RSA_free(ServerInfo.rsa_private_key);
3346 <      ServerInfo.rsa_private_key = NULL;
3347 <    }
3017 >  if (conf_parser_ctx.pass != 1)
3018 >    break;
3019  
3020 <    if (ServerInfo.rsa_private_key_file)
3021 <    {
3022 <      MyFree(ServerInfo.rsa_private_key_file);
3023 <      ServerInfo.rsa_private_key_file = NULL;
3024 <    }
3020 >  if (ServerInfo.rsa_private_key)
3021 >  {
3022 >    RSA_free(ServerInfo.rsa_private_key);
3023 >    ServerInfo.rsa_private_key = NULL;
3024 >  }
3025  
3026 <    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3026 >  if (ServerInfo.rsa_private_key_file)
3027 >  {
3028 >    MyFree(ServerInfo.rsa_private_key_file);
3029 >    ServerInfo.rsa_private_key_file = NULL;
3030 >  }
3031  
3032 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3358 <    {
3359 <      conf_error_report("File open failed, ignoring");
3360 <      break;
3361 <    }
3032 >  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3033  
3034 <    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3034 >  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3035 >  {
3036 >    conf_error_report("File open failed, ignoring");
3037 >    break;
3038 >  }
3039  
3040 <    BIO_set_close(file, BIO_CLOSE);
3366 <    BIO_free(file);
3040 >  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3041  
3042 <    if (ServerInfo.rsa_private_key == NULL)
3043 <    {
3370 <      conf_error_report("Couldn't extract key, ignoring");
3371 <      break;
3372 <    }
3042 >  BIO_set_close(file, BIO_CLOSE);
3043 >  BIO_free(file);
3044  
3045 <    if (!RSA_check_key(ServerInfo.rsa_private_key))
3046 <    {
3047 <      RSA_free(ServerInfo.rsa_private_key);
3048 <      ServerInfo.rsa_private_key = NULL;
3045 >  if (ServerInfo.rsa_private_key == NULL)
3046 >  {
3047 >    conf_error_report("Couldn't extract key, ignoring");
3048 >    break;
3049 >  }
3050  
3051 <      conf_error_report("Invalid key, ignoring");
3052 <      break;
3053 <    }
3051 >  if (!RSA_check_key(ServerInfo.rsa_private_key))
3052 >  {
3053 >    RSA_free(ServerInfo.rsa_private_key);
3054 >    ServerInfo.rsa_private_key = NULL;
3055  
3056 <    /* require 2048 bit (256 byte) key */
3057 <    if (RSA_size(ServerInfo.rsa_private_key) != 256)
3058 <    {
3386 <      RSA_free(ServerInfo.rsa_private_key);
3387 <      ServerInfo.rsa_private_key = NULL;
3056 >    conf_error_report("Invalid key, ignoring");
3057 >    break;
3058 >  }
3059  
3060 <      conf_error_report("Not a 2048 bit key, ignoring");
3061 <    }
3060 >  /* require 2048 bit (256 byte) key */
3061 >  if (RSA_size(ServerInfo.rsa_private_key) != 256)
3062 >  {
3063 >    RSA_free(ServerInfo.rsa_private_key);
3064 >    ServerInfo.rsa_private_key = NULL;
3065 >
3066 >    conf_error_report("Not a 2048 bit key, ignoring");
3067    }
3068   #endif
3069   }
3070 + #line 3071 "conf_parser.c" /* yacc.c:1646  */
3071      break;
3072  
3073 <  case 81:
3074 < /* Line 1792 of yacc.c  */
3398 < #line 595 "conf_parser.y"
3073 >  case 84:
3074 > #line 615 "conf_parser.y" /* yacc.c:1646  */
3075      {
3076   /* TBD - XXX: error reporting */
3077   #ifdef HAVE_LIBCRYPTO
# Line 3422 | Line 3098 | yyreduce:
3098    }
3099   #endif
3100   }
3101 + #line 3102 "conf_parser.c" /* yacc.c:1646  */
3102      break;
3103  
3104 <  case 82:
3105 < /* Line 1792 of yacc.c  */
3429 < #line 623 "conf_parser.y"
3104 >  case 85:
3105 > #line 643 "conf_parser.y" /* yacc.c:1646  */
3106      {
3107   #ifdef HAVE_LIBCRYPTO
3108    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3109      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3110   #endif
3111   }
3112 + #line 3113 "conf_parser.c" /* yacc.c:1646  */
3113      break;
3114  
3115 <  case 83:
3116 < /* Line 1792 of yacc.c  */
3440 < #line 631 "conf_parser.y"
3115 >  case 86:
3116 > #line 651 "conf_parser.y" /* yacc.c:1646  */
3117      {
3118    /* this isn't rehashable */
3119    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3451 | Line 3127 | yyreduce:
3127      }
3128    }
3129   }
3130 + #line 3131 "conf_parser.c" /* yacc.c:1646  */
3131      break;
3132  
3133 <  case 84:
3134 < /* Line 1792 of yacc.c  */
3458 < #line 646 "conf_parser.y"
3133 >  case 87:
3134 > #line 666 "conf_parser.y" /* yacc.c:1646  */
3135      {
3136    /* this isn't rehashable */
3137    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3469 | Line 3145 | yyreduce:
3145      }
3146    }
3147   }
3148 + #line 3149 "conf_parser.c" /* yacc.c:1646  */
3149      break;
3150  
3151 <  case 85:
3152 < /* Line 1792 of yacc.c  */
3476 < #line 661 "conf_parser.y"
3151 >  case 88:
3152 > #line 681 "conf_parser.y" /* yacc.c:1646  */
3153      {
3154    if (conf_parser_ctx.pass == 2)
3155    {
# Line 3481 | Line 3157 | yyreduce:
3157      ServerInfo.description = xstrdup(yylval.string);
3158    }
3159   }
3160 + #line 3161 "conf_parser.c" /* yacc.c:1646  */
3161      break;
3162  
3163 <  case 86:
3164 < /* Line 1792 of yacc.c  */
3488 < #line 670 "conf_parser.y"
3163 >  case 89:
3164 > #line 690 "conf_parser.y" /* yacc.c:1646  */
3165      {
3166    if (conf_parser_ctx.pass == 2)
3167    {
# Line 3498 | Line 3174 | yyreduce:
3174      ServerInfo.network_name = xstrdup(yylval.string);
3175    }
3176   }
3177 + #line 3178 "conf_parser.c" /* yacc.c:1646  */
3178      break;
3179  
3180 <  case 87:
3181 < /* Line 1792 of yacc.c  */
3505 < #line 684 "conf_parser.y"
3180 >  case 90:
3181 > #line 704 "conf_parser.y" /* yacc.c:1646  */
3182      {
3183 <  if (conf_parser_ctx.pass == 2)
3184 <  {
3185 <    MyFree(ServerInfo.network_desc);
3186 <    ServerInfo.network_desc = xstrdup(yylval.string);
3187 <  }
3183 >  if (conf_parser_ctx.pass != 2)
3184 >    break;
3185 >
3186 >  MyFree(ServerInfo.network_desc);
3187 >  ServerInfo.network_desc = xstrdup(yylval.string);
3188   }
3189 + #line 3190 "conf_parser.c" /* yacc.c:1646  */
3190      break;
3191  
3192 <  case 88:
3193 < /* Line 1792 of yacc.c  */
3517 < #line 693 "conf_parser.y"
3192 >  case 91:
3193 > #line 713 "conf_parser.y" /* yacc.c:1646  */
3194      {
3195    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3196    {
# Line 3541 | Line 3217 | yyreduce:
3217      }
3218    }
3219   }
3220 + #line 3221 "conf_parser.c" /* yacc.c:1646  */
3221      break;
3222  
3223 <  case 89:
3224 < /* Line 1792 of yacc.c  */
3548 < #line 721 "conf_parser.y"
3223 >  case 92:
3224 > #line 741 "conf_parser.y" /* yacc.c:1646  */
3225      {
3226   #ifdef IPV6
3227    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3574 | Line 3250 | yyreduce:
3250    }
3251   #endif
3252   }
3253 + #line 3254 "conf_parser.c" /* yacc.c:1646  */
3254      break;
3255  
3256 <  case 90:
3257 < /* Line 1792 of yacc.c  */
3581 < #line 751 "conf_parser.y"
3256 >  case 93:
3257 > #line 771 "conf_parser.y" /* yacc.c:1646  */
3258      {
3259    if (conf_parser_ctx.pass != 2)
3260      break;
3261  
3262 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3262 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3263    {
3264      char buf[IRCD_BUFSIZE];
3265  
# Line 3591 | Line 3267 | yyreduce:
3267      conf_error_report(buf);
3268      ServerInfo.max_clients = MAXCLIENTS_MIN;
3269    }
3270 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3270 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3271    {
3272      char buf[IRCD_BUFSIZE];
3273  
# Line 3600 | Line 3276 | yyreduce:
3276      ServerInfo.max_clients = MAXCLIENTS_MAX;
3277    }
3278    else
3279 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3279 >    ServerInfo.max_clients = (yyvsp[-1].number);
3280   }
3281 + #line 3282 "conf_parser.c" /* yacc.c:1646  */
3282      break;
3283  
3284 <  case 91:
3285 < /* Line 1792 of yacc.c  */
3609 < #line 776 "conf_parser.y"
3284 >  case 94:
3285 > #line 796 "conf_parser.y" /* yacc.c:1646  */
3286      {
3287    if (conf_parser_ctx.pass != 2)
3288      break;
3289  
3290 <  if ((yyvsp[(3) - (4)].number) < 9)
3290 >  if ((yyvsp[-1].number) < 9)
3291    {
3292      conf_error_report("max_nick_length too low, setting to 9");
3293      ServerInfo.max_nick_length = 9;
3294    }
3295 <  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3295 >  else if ((yyvsp[-1].number) > NICKLEN)
3296    {
3297      char buf[IRCD_BUFSIZE];
3298  
# Line 3625 | Line 3301 | yyreduce:
3301      ServerInfo.max_nick_length = NICKLEN;
3302    }
3303    else
3304 <    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3304 >    ServerInfo.max_nick_length = (yyvsp[-1].number);
3305   }
3306 + #line 3307 "conf_parser.c" /* yacc.c:1646  */
3307      break;
3308  
3309 <  case 92:
3310 < /* Line 1792 of yacc.c  */
3634 < #line 798 "conf_parser.y"
3309 >  case 95:
3310 > #line 818 "conf_parser.y" /* yacc.c:1646  */
3311      {
3312    if (conf_parser_ctx.pass != 2)
3313      break;
3314  
3315 <  if ((yyvsp[(3) - (4)].number) < 80)
3315 >  if ((yyvsp[-1].number) < 80)
3316    {
3317      conf_error_report("max_topic_length too low, setting to 80");
3318      ServerInfo.max_topic_length = 80;
3319    }
3320 <  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3320 >  else if ((yyvsp[-1].number) > TOPICLEN)
3321    {
3322      char buf[IRCD_BUFSIZE];
3323  
# Line 3650 | Line 3326 | yyreduce:
3326      ServerInfo.max_topic_length = TOPICLEN;
3327    }
3328    else
3329 <    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3329 >    ServerInfo.max_topic_length = (yyvsp[-1].number);
3330   }
3331 + #line 3332 "conf_parser.c" /* yacc.c:1646  */
3332      break;
3333  
3334 <  case 93:
3335 < /* Line 1792 of yacc.c  */
3659 < #line 820 "conf_parser.y"
3334 >  case 96:
3335 > #line 840 "conf_parser.y" /* yacc.c:1646  */
3336      {
3337    if (conf_parser_ctx.pass == 2)
3338      ServerInfo.hub = yylval.number;
3339   }
3340 + #line 3341 "conf_parser.c" /* yacc.c:1646  */
3341 +    break;
3342 +
3343 +  case 104:
3344 + #line 855 "conf_parser.y" /* yacc.c:1646  */
3345 +    {
3346 +  if (conf_parser_ctx.pass != 2)
3347 +    break;
3348 +
3349 +  MyFree(AdminInfo.name);
3350 +  AdminInfo.name = xstrdup(yylval.string);
3351 + }
3352 + #line 3353 "conf_parser.c" /* yacc.c:1646  */
3353 +    break;
3354 +
3355 +  case 105:
3356 + #line 864 "conf_parser.y" /* yacc.c:1646  */
3357 +    {
3358 +  if (conf_parser_ctx.pass != 2)
3359 +    break;
3360 +
3361 +  MyFree(AdminInfo.email);
3362 +  AdminInfo.email = xstrdup(yylval.string);
3363 + }
3364 + #line 3365 "conf_parser.c" /* yacc.c:1646  */
3365      break;
3366  
3367 <  case 101:
3368 < /* Line 1792 of yacc.c  */
3369 < #line 835 "conf_parser.y"
3367 >  case 106:
3368 > #line 873 "conf_parser.y" /* yacc.c:1646  */
3369 >    {
3370 >  if (conf_parser_ctx.pass != 2)
3371 >    break;
3372 >
3373 >  MyFree(AdminInfo.description);
3374 >  AdminInfo.description = xstrdup(yylval.string);
3375 > }
3376 > #line 3377 "conf_parser.c" /* yacc.c:1646  */
3377 >    break;
3378 >
3379 >  case 107:
3380 > #line 885 "conf_parser.y" /* yacc.c:1646  */
3381      {
3382    if (conf_parser_ctx.pass == 2)
3383 <  {
3672 <    MyFree(AdminInfo.name);
3673 <    AdminInfo.name = xstrdup(yylval.string);
3674 <  }
3383 >    reset_block_state();
3384   }
3385 + #line 3386 "conf_parser.c" /* yacc.c:1646  */
3386      break;
3387  
3388 <  case 102:
3389 < /* Line 1792 of yacc.c  */
3390 < #line 844 "conf_parser.y"
3388 >  case 108:
3389 > #line 889 "conf_parser.y" /* yacc.c:1646  */
3390 >    {
3391 >  dlink_node *ptr = NULL;
3392 >
3393 >  if (conf_parser_ctx.pass != 2)
3394 >    break;
3395 >
3396 >  if (!block_state.file.buf[0])
3397 >    break;
3398 >
3399 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3400 >    motd_add(ptr->data, block_state.file.buf);
3401 > }
3402 > #line 3403 "conf_parser.c" /* yacc.c:1646  */
3403 >    break;
3404 >
3405 >  case 114:
3406 > #line 906 "conf_parser.y" /* yacc.c:1646  */
3407      {
3408    if (conf_parser_ctx.pass == 2)
3409 <  {
3684 <    MyFree(AdminInfo.email);
3685 <    AdminInfo.email = xstrdup(yylval.string);
3686 <  }
3409 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3410   }
3411 + #line 3412 "conf_parser.c" /* yacc.c:1646  */
3412      break;
3413  
3414 <  case 103:
3415 < /* Line 1792 of yacc.c  */
3692 < #line 853 "conf_parser.y"
3414 >  case 115:
3415 > #line 912 "conf_parser.y" /* yacc.c:1646  */
3416      {
3417    if (conf_parser_ctx.pass == 2)
3418 <  {
3696 <    MyFree(AdminInfo.description);
3697 <    AdminInfo.description = xstrdup(yylval.string);
3698 <  }
3418 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3419   }
3420 + #line 3421 "conf_parser.c" /* yacc.c:1646  */
3421      break;
3422  
3423 <  case 110:
3424 < /* Line 1792 of yacc.c  */
3704 < #line 871 "conf_parser.y"
3423 >  case 122:
3424 > #line 927 "conf_parser.y" /* yacc.c:1646  */
3425      {
3426    if (conf_parser_ctx.pass == 2)
3427      ConfigLoggingEntry.use_logging = yylval.number;
3428   }
3429 + #line 3430 "conf_parser.c" /* yacc.c:1646  */
3430      break;
3431  
3432 <  case 111:
3433 < /* Line 1792 of yacc.c  */
3713 < #line 877 "conf_parser.y"
3432 >  case 123:
3433 > #line 933 "conf_parser.y" /* yacc.c:1646  */
3434      {
3435    if (conf_parser_ctx.pass == 2)
3436      reset_block_state();
3437   }
3438 + #line 3439 "conf_parser.c" /* yacc.c:1646  */
3439      break;
3440  
3441 <  case 112:
3442 < /* Line 1792 of yacc.c  */
3722 < #line 881 "conf_parser.y"
3441 >  case 124:
3442 > #line 937 "conf_parser.y" /* yacc.c:1646  */
3443      {
3444    if (conf_parser_ctx.pass != 2)
3445      break;
3446  
3447    if (block_state.type.value && block_state.file.buf[0])
3448 <    log_add_file(block_state.type.value, block_state.size.value,
3448 >    log_set_file(block_state.type.value, block_state.size.value,
3449                   block_state.file.buf);
3450   }
3451 + #line 3452 "conf_parser.c" /* yacc.c:1646  */
3452      break;
3453  
3454 <  case 119:
3455 < /* Line 1792 of yacc.c  */
3735 < #line 897 "conf_parser.y"
3454 >  case 131:
3455 > #line 953 "conf_parser.y" /* yacc.c:1646  */
3456      {
3457    if (conf_parser_ctx.pass != 2)
3458      break;
3459  
3460    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3461   }
3462 + #line 3463 "conf_parser.c" /* yacc.c:1646  */
3463      break;
3464  
3465 <  case 120:
3466 < /* Line 1792 of yacc.c  */
3746 < #line 905 "conf_parser.y"
3465 >  case 132:
3466 > #line 961 "conf_parser.y" /* yacc.c:1646  */
3467      {
3468 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3468 >  block_state.size.value = (yyvsp[-1].number);
3469   }
3470 + #line 3471 "conf_parser.c" /* yacc.c:1646  */
3471      break;
3472  
3473 <  case 121:
3474 < /* Line 1792 of yacc.c  */
3754 < #line 908 "conf_parser.y"
3473 >  case 133:
3474 > #line 964 "conf_parser.y" /* yacc.c:1646  */
3475      {
3476    block_state.size.value = 0;
3477   }
3478 + #line 3479 "conf_parser.c" /* yacc.c:1646  */
3479      break;
3480  
3481 <  case 122:
3482 < /* Line 1792 of yacc.c  */
3762 < #line 913 "conf_parser.y"
3481 >  case 134:
3482 > #line 969 "conf_parser.y" /* yacc.c:1646  */
3483      {
3484    if (conf_parser_ctx.pass == 2)
3485      block_state.type.value = 0;
3486   }
3487 + #line 3488 "conf_parser.c" /* yacc.c:1646  */
3488      break;
3489  
3490 <  case 126:
3491 < /* Line 1792 of yacc.c  */
3771 < #line 920 "conf_parser.y"
3490 >  case 138:
3491 > #line 976 "conf_parser.y" /* yacc.c:1646  */
3492      {
3493    if (conf_parser_ctx.pass == 2)
3494      block_state.type.value = LOG_TYPE_USER;
3495   }
3496 + #line 3497 "conf_parser.c" /* yacc.c:1646  */
3497      break;
3498  
3499 <  case 127:
3500 < /* Line 1792 of yacc.c  */
3780 < #line 924 "conf_parser.y"
3499 >  case 139:
3500 > #line 980 "conf_parser.y" /* yacc.c:1646  */
3501      {
3502    if (conf_parser_ctx.pass == 2)
3503      block_state.type.value = LOG_TYPE_OPER;
3504   }
3505 + #line 3506 "conf_parser.c" /* yacc.c:1646  */
3506      break;
3507  
3508 <  case 128:
3509 < /* Line 1792 of yacc.c  */
3789 < #line 928 "conf_parser.y"
3508 >  case 140:
3509 > #line 984 "conf_parser.y" /* yacc.c:1646  */
3510      {
3511    if (conf_parser_ctx.pass == 2)
3512      block_state.type.value = LOG_TYPE_GLINE;
3513   }
3514 + #line 3515 "conf_parser.c" /* yacc.c:1646  */
3515 +    break;
3516 +
3517 +  case 141:
3518 + #line 988 "conf_parser.y" /* yacc.c:1646  */
3519 +    {
3520 +  if (conf_parser_ctx.pass == 2)
3521 +    block_state.type.value = LOG_TYPE_XLINE;
3522 + }
3523 + #line 3524 "conf_parser.c" /* yacc.c:1646  */
3524      break;
3525  
3526 <  case 129:
3527 < /* Line 1792 of yacc.c  */
3528 < #line 932 "conf_parser.y"
3526 >  case 142:
3527 > #line 992 "conf_parser.y" /* yacc.c:1646  */
3528 >    {
3529 >  if (conf_parser_ctx.pass == 2)
3530 >    block_state.type.value = LOG_TYPE_RESV;
3531 > }
3532 > #line 3533 "conf_parser.c" /* yacc.c:1646  */
3533 >    break;
3534 >
3535 >  case 143:
3536 > #line 996 "conf_parser.y" /* yacc.c:1646  */
3537      {
3538    if (conf_parser_ctx.pass == 2)
3539      block_state.type.value = LOG_TYPE_DLINE;
3540   }
3541 + #line 3542 "conf_parser.c" /* yacc.c:1646  */
3542      break;
3543  
3544 <  case 130:
3545 < /* Line 1792 of yacc.c  */
3807 < #line 936 "conf_parser.y"
3544 >  case 144:
3545 > #line 1000 "conf_parser.y" /* yacc.c:1646  */
3546      {
3547    if (conf_parser_ctx.pass == 2)
3548      block_state.type.value = LOG_TYPE_KLINE;
3549   }
3550 + #line 3551 "conf_parser.c" /* yacc.c:1646  */
3551      break;
3552  
3553 <  case 131:
3554 < /* Line 1792 of yacc.c  */
3816 < #line 940 "conf_parser.y"
3553 >  case 145:
3554 > #line 1004 "conf_parser.y" /* yacc.c:1646  */
3555      {
3556    if (conf_parser_ctx.pass == 2)
3557      block_state.type.value = LOG_TYPE_KILL;
3558   }
3559 + #line 3560 "conf_parser.c" /* yacc.c:1646  */
3560      break;
3561  
3562 <  case 132:
3563 < /* Line 1792 of yacc.c  */
3825 < #line 944 "conf_parser.y"
3562 >  case 146:
3563 > #line 1008 "conf_parser.y" /* yacc.c:1646  */
3564      {
3565    if (conf_parser_ctx.pass == 2)
3566      block_state.type.value = LOG_TYPE_DEBUG;
3567   }
3568 + #line 3569 "conf_parser.c" /* yacc.c:1646  */
3569      break;
3570  
3571 <  case 133:
3572 < /* Line 1792 of yacc.c  */
3834 < #line 954 "conf_parser.y"
3571 >  case 147:
3572 > #line 1018 "conf_parser.y" /* yacc.c:1646  */
3573      {
3574    if (conf_parser_ctx.pass != 2)
3575      break;
# Line 3839 | Line 3577 | yyreduce:
3577    reset_block_state();
3578    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3579   }
3580 + #line 3581 "conf_parser.c" /* yacc.c:1646  */
3581      break;
3582  
3583 <  case 134:
3584 < /* Line 1792 of yacc.c  */
3846 < #line 961 "conf_parser.y"
3583 >  case 148:
3584 > #line 1025 "conf_parser.y" /* yacc.c:1646  */
3585      {
3586    dlink_node *ptr = NULL;
3587  
# Line 3853 | Line 3591 | yyreduce:
3591    if (!block_state.name.buf[0])
3592      break;
3593   #ifdef HAVE_LIBCRYPTO
3594 <  if (!(block_state.file.buf[0] ||
3595 <        block_state.rpass.buf[0]))
3594 >  if (!block_state.file.buf[0] &&
3595 >      !block_state.rpass.buf[0])
3596      break;
3597   #else
3598    if (!block_state.rpass.buf[0])
# Line 3875 | Line 3613 | yyreduce:
3613      nuh.hostsize = sizeof(block_state.host.buf);
3614      split_nuh(&nuh);
3615  
3616 <    conf        = conf_make(CONF_OPER);
3617 <    conf->name  = xstrdup(block_state.name.buf);
3618 <    conf->user  = xstrdup(block_state.user.buf);
3619 <    conf->host  = xstrdup(block_state.host.buf);
3616 >    conf         = conf_make(CONF_OPER);
3617 >    conf->name   = xstrdup(block_state.name.buf);
3618 >    conf->user   = xstrdup(block_state.user.buf);
3619 >    conf->host   = xstrdup(block_state.host.buf);
3620 >
3621 >    if (block_state.cert.buf[0])
3622 >      conf->certfp = xstrdup(block_state.cert.buf);
3623  
3624      if (block_state.rpass.buf[0])
3625        conf->passwd = xstrdup(block_state.rpass.buf);
# Line 3912 | Line 3653 | yyreduce:
3653   #endif /* HAVE_LIBCRYPTO */
3654    }
3655   }
3656 + #line 3657 "conf_parser.c" /* yacc.c:1646  */
3657      break;
3658  
3659 <  case 146:
3660 < /* Line 1792 of yacc.c  */
3919 < #line 1036 "conf_parser.y"
3659 >  case 162:
3660 > #line 1105 "conf_parser.y" /* yacc.c:1646  */
3661      {
3662    if (conf_parser_ctx.pass == 2)
3663      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3664   }
3665 + #line 3666 "conf_parser.c" /* yacc.c:1646  */
3666      break;
3667  
3668 <  case 147:
3669 < /* Line 1792 of yacc.c  */
3928 < #line 1042 "conf_parser.y"
3668 >  case 163:
3669 > #line 1111 "conf_parser.y" /* yacc.c:1646  */
3670      {
3671    if (conf_parser_ctx.pass == 2)
3672      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3673   }
3674 + #line 3675 "conf_parser.c" /* yacc.c:1646  */
3675      break;
3676  
3677 <  case 148:
3678 < /* Line 1792 of yacc.c  */
3937 < #line 1048 "conf_parser.y"
3677 >  case 164:
3678 > #line 1117 "conf_parser.y" /* yacc.c:1646  */
3679      {
3680    if (conf_parser_ctx.pass == 2)
3681      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3682   }
3683 + #line 3684 "conf_parser.c" /* yacc.c:1646  */
3684      break;
3685  
3686 <  case 149:
3687 < /* Line 1792 of yacc.c  */
3946 < #line 1054 "conf_parser.y"
3686 >  case 165:
3687 > #line 1123 "conf_parser.y" /* yacc.c:1646  */
3688      {
3689 <  if (conf_parser_ctx.pass == 2)
3690 <  {
3691 <    if (yylval.number)
3692 <      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3693 <    else
3694 <      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3695 <  }
3689 >  if (conf_parser_ctx.pass != 2)
3690 >    break;
3691 >
3692 >  if (yylval.number)
3693 >    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3694 >  else
3695 >    block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3696   }
3697 + #line 3698 "conf_parser.c" /* yacc.c:1646  */
3698      break;
3699  
3700 <  case 150:
3701 < /* Line 1792 of yacc.c  */
3960 < #line 1065 "conf_parser.y"
3700 >  case 166:
3701 > #line 1134 "conf_parser.y" /* yacc.c:1646  */
3702      {
3703    if (conf_parser_ctx.pass == 2)
3704      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3705   }
3706 + #line 3707 "conf_parser.c" /* yacc.c:1646  */
3707      break;
3708  
3709 <  case 151:
3710 < /* Line 1792 of yacc.c  */
3969 < #line 1071 "conf_parser.y"
3709 >  case 167:
3710 > #line 1140 "conf_parser.y" /* yacc.c:1646  */
3711      {
3712    if (conf_parser_ctx.pass == 2)
3713 <    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3713 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3714   }
3715 + #line 3716 "conf_parser.c" /* yacc.c:1646  */
3716      break;
3717  
3718 <  case 152:
3719 < /* Line 1792 of yacc.c  */
3720 < #line 1077 "conf_parser.y"
3718 >  case 168:
3719 > #line 1146 "conf_parser.y" /* yacc.c:1646  */
3720 >    {
3721 >  if (conf_parser_ctx.pass != 2)
3722 >    break;
3723 >
3724 >  if (yylval.number)
3725 >    block_state.flags.value |= CONF_FLAGS_SSL;
3726 >  else
3727 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3728 > }
3729 > #line 3730 "conf_parser.c" /* yacc.c:1646  */
3730 >    break;
3731 >
3732 >  case 169:
3733 > #line 1157 "conf_parser.y" /* yacc.c:1646  */
3734      {
3735    if (conf_parser_ctx.pass == 2)
3736 <    block_state.modes.value = 0;
3736 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3737   }
3738 + #line 3739 "conf_parser.c" /* yacc.c:1646  */
3739      break;
3740  
3741 <  case 156:
3742 < /* Line 1792 of yacc.c  */
3987 < #line 1084 "conf_parser.y"
3741 >  case 170:
3742 > #line 1163 "conf_parser.y" /* yacc.c:1646  */
3743      {
3744    if (conf_parser_ctx.pass == 2)
3745 <    block_state.modes.value |= UMODE_BOTS;
3745 >    block_state.modes.value = 0;
3746   }
3747 + #line 3748 "conf_parser.c" /* yacc.c:1646  */
3748      break;
3749  
3750 <  case 157:
3751 < /* Line 1792 of yacc.c  */
3996 < #line 1088 "conf_parser.y"
3750 >  case 174:
3751 > #line 1170 "conf_parser.y" /* yacc.c:1646  */
3752      {
3753    if (conf_parser_ctx.pass == 2)
3754 <    block_state.modes.value |= UMODE_CCONN;
3754 >    block_state.modes.value |= UMODE_BOTS;
3755   }
3756 + #line 3757 "conf_parser.c" /* yacc.c:1646  */
3757      break;
3758  
3759 <  case 158:
3760 < /* Line 1792 of yacc.c  */
4005 < #line 1092 "conf_parser.y"
3759 >  case 175:
3760 > #line 1174 "conf_parser.y" /* yacc.c:1646  */
3761      {
3762    if (conf_parser_ctx.pass == 2)
3763 <    block_state.modes.value |= UMODE_CCONN_FULL;
3763 >    block_state.modes.value |= UMODE_CCONN;
3764   }
3765 + #line 3766 "conf_parser.c" /* yacc.c:1646  */
3766      break;
3767  
3768 <  case 159:
3769 < /* Line 1792 of yacc.c  */
4014 < #line 1096 "conf_parser.y"
3768 >  case 176:
3769 > #line 1178 "conf_parser.y" /* yacc.c:1646  */
3770      {
3771    if (conf_parser_ctx.pass == 2)
3772      block_state.modes.value |= UMODE_DEAF;
3773   }
3774 + #line 3775 "conf_parser.c" /* yacc.c:1646  */
3775      break;
3776  
3777 <  case 160:
3778 < /* Line 1792 of yacc.c  */
4023 < #line 1100 "conf_parser.y"
3777 >  case 177:
3778 > #line 1182 "conf_parser.y" /* yacc.c:1646  */
3779      {
3780    if (conf_parser_ctx.pass == 2)
3781      block_state.modes.value |= UMODE_DEBUG;
3782   }
3783 + #line 3784 "conf_parser.c" /* yacc.c:1646  */
3784      break;
3785  
3786 <  case 161:
3787 < /* Line 1792 of yacc.c  */
4032 < #line 1104 "conf_parser.y"
3786 >  case 178:
3787 > #line 1186 "conf_parser.y" /* yacc.c:1646  */
3788      {
3789    if (conf_parser_ctx.pass == 2)
3790      block_state.modes.value |= UMODE_FULL;
3791   }
3792 + #line 3793 "conf_parser.c" /* yacc.c:1646  */
3793      break;
3794  
3795 <  case 162:
3796 < /* Line 1792 of yacc.c  */
4041 < #line 1108 "conf_parser.y"
3795 >  case 179:
3796 > #line 1190 "conf_parser.y" /* yacc.c:1646  */
3797      {
3798    if (conf_parser_ctx.pass == 2)
3799      block_state.modes.value |= UMODE_HIDDEN;
3800   }
3801 + #line 3802 "conf_parser.c" /* yacc.c:1646  */
3802      break;
3803  
3804 <  case 163:
3805 < /* Line 1792 of yacc.c  */
4050 < #line 1112 "conf_parser.y"
3804 >  case 180:
3805 > #line 1194 "conf_parser.y" /* yacc.c:1646  */
3806      {
3807    if (conf_parser_ctx.pass == 2)
3808      block_state.modes.value |= UMODE_SKILL;
3809   }
3810 + #line 3811 "conf_parser.c" /* yacc.c:1646  */
3811      break;
3812  
3813 <  case 164:
3814 < /* Line 1792 of yacc.c  */
4059 < #line 1116 "conf_parser.y"
3813 >  case 181:
3814 > #line 1198 "conf_parser.y" /* yacc.c:1646  */
3815      {
3816    if (conf_parser_ctx.pass == 2)
3817      block_state.modes.value |= UMODE_NCHANGE;
3818   }
3819 + #line 3820 "conf_parser.c" /* yacc.c:1646  */
3820      break;
3821  
3822 <  case 165:
3823 < /* Line 1792 of yacc.c  */
4068 < #line 1120 "conf_parser.y"
3822 >  case 182:
3823 > #line 1202 "conf_parser.y" /* yacc.c:1646  */
3824      {
3825    if (conf_parser_ctx.pass == 2)
3826      block_state.modes.value |= UMODE_REJ;
3827   }
3828 + #line 3829 "conf_parser.c" /* yacc.c:1646  */
3829      break;
3830  
3831 <  case 166:
3832 < /* Line 1792 of yacc.c  */
4077 < #line 1124 "conf_parser.y"
3831 >  case 183:
3832 > #line 1206 "conf_parser.y" /* yacc.c:1646  */
3833      {
3834    if (conf_parser_ctx.pass == 2)
3835      block_state.modes.value |= UMODE_UNAUTH;
3836   }
3837 + #line 3838 "conf_parser.c" /* yacc.c:1646  */
3838      break;
3839  
3840 <  case 167:
3841 < /* Line 1792 of yacc.c  */
4086 < #line 1128 "conf_parser.y"
3840 >  case 184:
3841 > #line 1210 "conf_parser.y" /* yacc.c:1646  */
3842      {
3843    if (conf_parser_ctx.pass == 2)
3844      block_state.modes.value |= UMODE_SPY;
3845   }
3846 + #line 3847 "conf_parser.c" /* yacc.c:1646  */
3847      break;
3848  
3849 <  case 168:
3850 < /* Line 1792 of yacc.c  */
4095 < #line 1132 "conf_parser.y"
3849 >  case 185:
3850 > #line 1214 "conf_parser.y" /* yacc.c:1646  */
3851      {
3852    if (conf_parser_ctx.pass == 2)
3853      block_state.modes.value |= UMODE_EXTERNAL;
3854   }
3855 + #line 3856 "conf_parser.c" /* yacc.c:1646  */
3856      break;
3857  
3858 <  case 169:
3859 < /* Line 1792 of yacc.c  */
4104 < #line 1136 "conf_parser.y"
3858 >  case 186:
3859 > #line 1218 "conf_parser.y" /* yacc.c:1646  */
3860      {
3861    if (conf_parser_ctx.pass == 2)
3862      block_state.modes.value |= UMODE_OPERWALL;
3863   }
3864 + #line 3865 "conf_parser.c" /* yacc.c:1646  */
3865      break;
3866  
3867 <  case 170:
3868 < /* Line 1792 of yacc.c  */
4113 < #line 1140 "conf_parser.y"
3867 >  case 187:
3868 > #line 1222 "conf_parser.y" /* yacc.c:1646  */
3869      {
3870    if (conf_parser_ctx.pass == 2)
3871      block_state.modes.value |= UMODE_SERVNOTICE;
3872   }
3873 + #line 3874 "conf_parser.c" /* yacc.c:1646  */
3874      break;
3875  
3876 <  case 171:
3877 < /* Line 1792 of yacc.c  */
4122 < #line 1144 "conf_parser.y"
3876 >  case 188:
3877 > #line 1226 "conf_parser.y" /* yacc.c:1646  */
3878      {
3879    if (conf_parser_ctx.pass == 2)
3880      block_state.modes.value |= UMODE_INVISIBLE;
3881   }
3882 + #line 3883 "conf_parser.c" /* yacc.c:1646  */
3883      break;
3884  
3885 <  case 172:
3886 < /* Line 1792 of yacc.c  */
4131 < #line 1148 "conf_parser.y"
3885 >  case 189:
3886 > #line 1230 "conf_parser.y" /* yacc.c:1646  */
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889      block_state.modes.value |= UMODE_WALLOP;
3890   }
3891 + #line 3892 "conf_parser.c" /* yacc.c:1646  */
3892      break;
3893  
3894 <  case 173:
3895 < /* Line 1792 of yacc.c  */
4140 < #line 1152 "conf_parser.y"
3894 >  case 190:
3895 > #line 1234 "conf_parser.y" /* yacc.c:1646  */
3896      {
3897    if (conf_parser_ctx.pass == 2)
3898      block_state.modes.value |= UMODE_SOFTCALLERID;
3899   }
3900 + #line 3901 "conf_parser.c" /* yacc.c:1646  */
3901      break;
3902  
3903 <  case 174:
3904 < /* Line 1792 of yacc.c  */
4149 < #line 1156 "conf_parser.y"
3903 >  case 191:
3904 > #line 1238 "conf_parser.y" /* yacc.c:1646  */
3905      {
3906    if (conf_parser_ctx.pass == 2)
3907      block_state.modes.value |= UMODE_CALLERID;
3908   }
3909 + #line 3910 "conf_parser.c" /* yacc.c:1646  */
3910      break;
3911  
3912 <  case 175:
3913 < /* Line 1792 of yacc.c  */
4158 < #line 1160 "conf_parser.y"
3912 >  case 192:
3913 > #line 1242 "conf_parser.y" /* yacc.c:1646  */
3914      {
3915    if (conf_parser_ctx.pass == 2)
3916      block_state.modes.value |= UMODE_LOCOPS;
3917   }
3918 + #line 3919 "conf_parser.c" /* yacc.c:1646  */
3919      break;
3920  
3921 <  case 176:
3922 < /* Line 1792 of yacc.c  */
3923 < #line 1166 "conf_parser.y"
3921 >  case 193:
3922 > #line 1246 "conf_parser.y" /* yacc.c:1646  */
3923 >    {
3924 >  if (conf_parser_ctx.pass == 2)
3925 >    block_state.modes.value |= UMODE_REGONLY;
3926 > }
3927 > #line 3928 "conf_parser.c" /* yacc.c:1646  */
3928 >    break;
3929 >
3930 >  case 194:
3931 > #line 1250 "conf_parser.y" /* yacc.c:1646  */
3932 >    {
3933 >  if (conf_parser_ctx.pass == 2)
3934 >    block_state.modes.value |= UMODE_FARCONNECT;
3935 > }
3936 > #line 3937 "conf_parser.c" /* yacc.c:1646  */
3937 >    break;
3938 >
3939 >  case 195:
3940 > #line 1256 "conf_parser.y" /* yacc.c:1646  */
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943      block_state.port.value = 0;
3944   }
3945 + #line 3946 "conf_parser.c" /* yacc.c:1646  */
3946      break;
3947  
3948 <  case 180:
3949 < /* Line 1792 of yacc.c  */
4176 < #line 1173 "conf_parser.y"
3948 >  case 199:
3949 > #line 1263 "conf_parser.y" /* yacc.c:1646  */
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952 <    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
3952 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
3953   }
3954 + #line 3955 "conf_parser.c" /* yacc.c:1646  */
3955      break;
3956  
3957 <  case 181:
3958 < /* Line 1792 of yacc.c  */
4185 < #line 1177 "conf_parser.y"
3957 >  case 200:
3958 > #line 1267 "conf_parser.y" /* yacc.c:1646  */
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961 <    block_state.port.value |= OPER_FLAG_REMOTE;
3961 >    block_state.port.value |= OPER_FLAG_KILL;
3962   }
3963 + #line 3964 "conf_parser.c" /* yacc.c:1646  */
3964      break;
3965  
3966 <  case 182:
3967 < /* Line 1792 of yacc.c  */
3968 < #line 1181 "conf_parser.y"
3966 >  case 201:
3967 > #line 1271 "conf_parser.y" /* yacc.c:1646  */
3968 >    {
3969 >  if (conf_parser_ctx.pass == 2)
3970 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
3971 > }
3972 > #line 3973 "conf_parser.c" /* yacc.c:1646  */
3973 >    break;
3974 >
3975 >  case 202:
3976 > #line 1275 "conf_parser.y" /* yacc.c:1646  */
3977 >    {
3978 >  if (conf_parser_ctx.pass == 2)
3979 >    block_state.port.value |= OPER_FLAG_CONNECT;
3980 > }
3981 > #line 3982 "conf_parser.c" /* yacc.c:1646  */
3982 >    break;
3983 >
3984 >  case 203:
3985 > #line 1279 "conf_parser.y" /* yacc.c:1646  */
3986 >    {
3987 >  if (conf_parser_ctx.pass == 2)
3988 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
3989 > }
3990 > #line 3991 "conf_parser.c" /* yacc.c:1646  */
3991 >    break;
3992 >
3993 >  case 204:
3994 > #line 1283 "conf_parser.y" /* yacc.c:1646  */
3995 >    {
3996 >  if (conf_parser_ctx.pass == 2)
3997 >    block_state.port.value |= OPER_FLAG_SQUIT;
3998 > }
3999 > #line 4000 "conf_parser.c" /* yacc.c:1646  */
4000 >    break;
4001 >
4002 >  case 205:
4003 > #line 1287 "conf_parser.y" /* yacc.c:1646  */
4004      {
4005    if (conf_parser_ctx.pass == 2)
4006      block_state.port.value |= OPER_FLAG_K;
4007   }
4008 + #line 4009 "conf_parser.c" /* yacc.c:1646  */
4009      break;
4010  
4011 <  case 183:
4012 < /* Line 1792 of yacc.c  */
4203 < #line 1185 "conf_parser.y"
4011 >  case 206:
4012 > #line 1291 "conf_parser.y" /* yacc.c:1646  */
4013      {
4014    if (conf_parser_ctx.pass == 2)
4015      block_state.port.value |= OPER_FLAG_UNKLINE;
4016   }
4017 + #line 4018 "conf_parser.c" /* yacc.c:1646  */
4018      break;
4019  
4020 <  case 184:
4021 < /* Line 1792 of yacc.c  */
4212 < #line 1189 "conf_parser.y"
4020 >  case 207:
4021 > #line 1295 "conf_parser.y" /* yacc.c:1646  */
4022      {
4023    if (conf_parser_ctx.pass == 2)
4024      block_state.port.value |= OPER_FLAG_DLINE;
4025   }
4026 + #line 4027 "conf_parser.c" /* yacc.c:1646  */
4027      break;
4028  
4029 <  case 185:
4030 < /* Line 1792 of yacc.c  */
4221 < #line 1193 "conf_parser.y"
4029 >  case 208:
4030 > #line 1299 "conf_parser.y" /* yacc.c:1646  */
4031      {
4032    if (conf_parser_ctx.pass == 2)
4033      block_state.port.value |= OPER_FLAG_UNDLINE;
4034   }
4035 + #line 4036 "conf_parser.c" /* yacc.c:1646  */
4036      break;
4037  
4038 <  case 186:
4039 < /* Line 1792 of yacc.c  */
4230 < #line 1197 "conf_parser.y"
4038 >  case 209:
4039 > #line 1303 "conf_parser.y" /* yacc.c:1646  */
4040      {
4041    if (conf_parser_ctx.pass == 2)
4042      block_state.port.value |= OPER_FLAG_X;
4043   }
4044 + #line 4045 "conf_parser.c" /* yacc.c:1646  */
4045      break;
4046  
4047 <  case 187:
4048 < /* Line 1792 of yacc.c  */
4239 < #line 1201 "conf_parser.y"
4047 >  case 210:
4048 > #line 1307 "conf_parser.y" /* yacc.c:1646  */
4049      {
4050    if (conf_parser_ctx.pass == 2)
4051      block_state.port.value |= OPER_FLAG_GLINE;
4052   }
4053 + #line 4054 "conf_parser.c" /* yacc.c:1646  */
4054      break;
4055  
4056 <  case 188:
4057 < /* Line 1792 of yacc.c  */
4248 < #line 1205 "conf_parser.y"
4056 >  case 211:
4057 > #line 1311 "conf_parser.y" /* yacc.c:1646  */
4058      {
4059    if (conf_parser_ctx.pass == 2)
4060      block_state.port.value |= OPER_FLAG_DIE;
4061   }
4062 + #line 4063 "conf_parser.c" /* yacc.c:1646  */
4063      break;
4064  
4065 <  case 189:
4066 < /* Line 1792 of yacc.c  */
4257 < #line 1209 "conf_parser.y"
4065 >  case 212:
4066 > #line 1315 "conf_parser.y" /* yacc.c:1646  */
4067      {
4068    if (conf_parser_ctx.pass == 2)
4069      block_state.port.value |= OPER_FLAG_RESTART;
4070   }
4071 + #line 4072 "conf_parser.c" /* yacc.c:1646  */
4072      break;
4073  
4074 <  case 190:
4075 < /* Line 1792 of yacc.c  */
4266 < #line 1213 "conf_parser.y"
4074 >  case 213:
4075 > #line 1319 "conf_parser.y" /* yacc.c:1646  */
4076      {
4077    if (conf_parser_ctx.pass == 2)
4078      block_state.port.value |= OPER_FLAG_REHASH;
4079   }
4080 + #line 4081 "conf_parser.c" /* yacc.c:1646  */
4081      break;
4082  
4083 <  case 191:
4084 < /* Line 1792 of yacc.c  */
4275 < #line 1217 "conf_parser.y"
4083 >  case 214:
4084 > #line 1323 "conf_parser.y" /* yacc.c:1646  */
4085      {
4086    if (conf_parser_ctx.pass == 2)
4087      block_state.port.value |= OPER_FLAG_ADMIN;
4088   }
4089 + #line 4090 "conf_parser.c" /* yacc.c:1646  */
4090      break;
4091  
4092 <  case 192:
4093 < /* Line 1792 of yacc.c  */
4284 < #line 1221 "conf_parser.y"
4092 >  case 215:
4093 > #line 1327 "conf_parser.y" /* yacc.c:1646  */
4094      {
4095    if (conf_parser_ctx.pass == 2)
4096 <    block_state.port.value |= OPER_FLAG_N;
4096 >    block_state.port.value |= OPER_FLAG_OPERWALL;
4097   }
4098 + #line 4099 "conf_parser.c" /* yacc.c:1646  */
4099      break;
4100  
4101 <  case 193:
4102 < /* Line 1792 of yacc.c  */
4293 < #line 1225 "conf_parser.y"
4101 >  case 216:
4102 > #line 1331 "conf_parser.y" /* yacc.c:1646  */
4103      {
4104    if (conf_parser_ctx.pass == 2)
4105 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4105 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4106   }
4107 + #line 4108 "conf_parser.c" /* yacc.c:1646  */
4108      break;
4109  
4110 <  case 194:
4111 < /* Line 1792 of yacc.c  */
4302 < #line 1229 "conf_parser.y"
4110 >  case 217:
4111 > #line 1335 "conf_parser.y" /* yacc.c:1646  */
4112      {
4113    if (conf_parser_ctx.pass == 2)
4114 <    block_state.port.value |= OPER_FLAG_GLOBOPS;
4114 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4115   }
4116 + #line 4117 "conf_parser.c" /* yacc.c:1646  */
4117      break;
4118  
4119 <  case 195:
4120 < /* Line 1792 of yacc.c  */
4311 < #line 1233 "conf_parser.y"
4119 >  case 218:
4120 > #line 1339 "conf_parser.y" /* yacc.c:1646  */
4121      {
4122    if (conf_parser_ctx.pass == 2)
4123 <    block_state.port.value |= OPER_FLAG_OPER_SPY;
4123 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4124   }
4125 + #line 4126 "conf_parser.c" /* yacc.c:1646  */
4126      break;
4127  
4128 <  case 196:
4129 < /* Line 1792 of yacc.c  */
4320 < #line 1237 "conf_parser.y"
4128 >  case 219:
4129 > #line 1343 "conf_parser.y" /* yacc.c:1646  */
4130      {
4131    if (conf_parser_ctx.pass == 2)
4132      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4133   }
4134 + #line 4135 "conf_parser.c" /* yacc.c:1646  */
4135      break;
4136  
4137 <  case 197:
4138 < /* Line 1792 of yacc.c  */
4329 < #line 1241 "conf_parser.y"
4137 >  case 220:
4138 > #line 1347 "conf_parser.y" /* yacc.c:1646  */
4139      {
4140    if (conf_parser_ctx.pass == 2)
4141      block_state.port.value |= OPER_FLAG_SET;
4142   }
4143 + #line 4144 "conf_parser.c" /* yacc.c:1646  */
4144      break;
4145  
4146 <  case 198:
4147 < /* Line 1792 of yacc.c  */
4338 < #line 1245 "conf_parser.y"
4146 >  case 221:
4147 > #line 1351 "conf_parser.y" /* yacc.c:1646  */
4148      {
4149    if (conf_parser_ctx.pass == 2)
4150      block_state.port.value |= OPER_FLAG_MODULE;
4151   }
4152 + #line 4153 "conf_parser.c" /* yacc.c:1646  */
4153      break;
4154  
4155 <  case 199:
4156 < /* Line 1792 of yacc.c  */
4347 < #line 1255 "conf_parser.y"
4155 >  case 222:
4156 > #line 1361 "conf_parser.y" /* yacc.c:1646  */
4157      {
4158    if (conf_parser_ctx.pass != 1)
4159      break;
# Line 4356 | Line 4165 | yyreduce:
4165    block_state.max_total.value = MAXIMUM_LINKS_DEFAULT;
4166    block_state.max_sendq.value = DEFAULT_SENDQ;
4167    block_state.max_recvq.value = DEFAULT_RECVQ;
4359
4168   }
4169 + #line 4170 "conf_parser.c" /* yacc.c:1646  */
4170      break;
4171  
4172 <  case 200:
4173 < /* Line 1792 of yacc.c  */
4365 < #line 1268 "conf_parser.y"
4172 >  case 223:
4173 > #line 1373 "conf_parser.y" /* yacc.c:1646  */
4174      {
4175    struct ClassItem *class = NULL;
4176  
# Line 4388 | Line 4196 | yyreduce:
4196    class->max_sendq = block_state.max_sendq.value;
4197    class->max_recvq = block_state.max_recvq.value;
4198  
4199 +  if (block_state.min_idle.value > block_state.max_idle.value)
4200 +  {
4201 +    block_state.min_idle.value = 0;
4202 +    block_state.max_idle.value = 0;
4203 +    block_state.flags.value &= ~CLASS_FLAGS_FAKE_IDLE;
4204 +  }
4205 +
4206 +  class->flags = block_state.flags.value;
4207 +  class->min_idle = block_state.min_idle.value;
4208 +  class->max_idle = block_state.max_idle.value;
4209 +
4210    if (class->number_per_cidr && block_state.number_per_cidr.value)
4211      if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4212          (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
# Line 4399 | Line 4218 | yyreduce:
4218    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4219    class->number_per_cidr = block_state.number_per_cidr.value;
4220   }
4221 + #line 4222 "conf_parser.c" /* yacc.c:1646  */
4222      break;
4223  
4224 <  case 217:
4225 < /* Line 1792 of yacc.c  */
4406 < #line 1320 "conf_parser.y"
4224 >  case 243:
4225 > #line 1439 "conf_parser.y" /* yacc.c:1646  */
4226      {
4227    if (conf_parser_ctx.pass == 1)
4228      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4229   }
4230 + #line 4231 "conf_parser.c" /* yacc.c:1646  */
4231      break;
4232  
4233 <  case 218:
4234 < /* Line 1792 of yacc.c  */
4415 < #line 1326 "conf_parser.y"
4233 >  case 244:
4234 > #line 1445 "conf_parser.y" /* yacc.c:1646  */
4235      {
4236    if (conf_parser_ctx.pass == 1)
4237 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4237 >    block_state.ping_freq.value = (yyvsp[-1].number);
4238   }
4239 + #line 4240 "conf_parser.c" /* yacc.c:1646  */
4240      break;
4241  
4242 <  case 219:
4243 < /* Line 1792 of yacc.c  */
4424 < #line 1332 "conf_parser.y"
4242 >  case 245:
4243 > #line 1451 "conf_parser.y" /* yacc.c:1646  */
4244      {
4245    if (conf_parser_ctx.pass == 1)
4246 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4246 >    block_state.max_perip.value = (yyvsp[-1].number);
4247   }
4248 + #line 4249 "conf_parser.c" /* yacc.c:1646  */
4249      break;
4250  
4251 <  case 220:
4252 < /* Line 1792 of yacc.c  */
4433 < #line 1338 "conf_parser.y"
4251 >  case 246:
4252 > #line 1457 "conf_parser.y" /* yacc.c:1646  */
4253      {
4254    if (conf_parser_ctx.pass == 1)
4255 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4255 >    block_state.con_freq.value = (yyvsp[-1].number);
4256   }
4257 + #line 4258 "conf_parser.c" /* yacc.c:1646  */
4258      break;
4259  
4260 <  case 221:
4261 < /* Line 1792 of yacc.c  */
4442 < #line 1344 "conf_parser.y"
4260 >  case 247:
4261 > #line 1463 "conf_parser.y" /* yacc.c:1646  */
4262      {
4263    if (conf_parser_ctx.pass == 1)
4264 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4264 >    block_state.max_total.value = (yyvsp[-1].number);
4265   }
4266 + #line 4267 "conf_parser.c" /* yacc.c:1646  */
4267      break;
4268  
4269 <  case 222:
4270 < /* Line 1792 of yacc.c  */
4451 < #line 1350 "conf_parser.y"
4269 >  case 248:
4270 > #line 1469 "conf_parser.y" /* yacc.c:1646  */
4271      {
4272    if (conf_parser_ctx.pass == 1)
4273 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4273 >    block_state.max_global.value = (yyvsp[-1].number);
4274   }
4275 + #line 4276 "conf_parser.c" /* yacc.c:1646  */
4276      break;
4277  
4278 <  case 223:
4279 < /* Line 1792 of yacc.c  */
4460 < #line 1356 "conf_parser.y"
4278 >  case 249:
4279 > #line 1475 "conf_parser.y" /* yacc.c:1646  */
4280      {
4281    if (conf_parser_ctx.pass == 1)
4282 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4282 >    block_state.max_local.value = (yyvsp[-1].number);
4283   }
4284 + #line 4285 "conf_parser.c" /* yacc.c:1646  */
4285      break;
4286  
4287 <  case 224:
4288 < /* Line 1792 of yacc.c  */
4289 < #line 1362 "conf_parser.y"
4287 >  case 250:
4288 > #line 1481 "conf_parser.y" /* yacc.c:1646  */
4289 >    {
4290 >  if (conf_parser_ctx.pass == 1)
4291 >    block_state.max_ident.value = (yyvsp[-1].number);
4292 > }
4293 > #line 4294 "conf_parser.c" /* yacc.c:1646  */
4294 >    break;
4295 >
4296 >  case 251:
4297 > #line 1487 "conf_parser.y" /* yacc.c:1646  */
4298 >    {
4299 >  if (conf_parser_ctx.pass == 1)
4300 >    block_state.max_sendq.value = (yyvsp[-1].number);
4301 > }
4302 > #line 4303 "conf_parser.c" /* yacc.c:1646  */
4303 >    break;
4304 >
4305 >  case 252:
4306 > #line 1493 "conf_parser.y" /* yacc.c:1646  */
4307 >    {
4308 >  if (conf_parser_ctx.pass == 1)
4309 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4310 >      block_state.max_recvq.value = (yyvsp[-1].number);
4311 > }
4312 > #line 4313 "conf_parser.c" /* yacc.c:1646  */
4313 >    break;
4314 >
4315 >  case 253:
4316 > #line 1500 "conf_parser.y" /* yacc.c:1646  */
4317      {
4318    if (conf_parser_ctx.pass == 1)
4319 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4319 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4320   }
4321 + #line 4322 "conf_parser.c" /* yacc.c:1646  */
4322      break;
4323  
4324 <  case 225:
4325 < /* Line 1792 of yacc.c  */
4478 < #line 1368 "conf_parser.y"
4324 >  case 254:
4325 > #line 1506 "conf_parser.y" /* yacc.c:1646  */
4326      {
4327    if (conf_parser_ctx.pass == 1)
4328 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4328 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4329   }
4330 + #line 4331 "conf_parser.c" /* yacc.c:1646  */
4331      break;
4332  
4333 <  case 226:
4334 < /* Line 1792 of yacc.c  */
4487 < #line 1374 "conf_parser.y"
4333 >  case 255:
4334 > #line 1512 "conf_parser.y" /* yacc.c:1646  */
4335      {
4336    if (conf_parser_ctx.pass == 1)
4337 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4338 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4337 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4338 > }
4339 > #line 4340 "conf_parser.c" /* yacc.c:1646  */
4340 >    break;
4341 >
4342 >  case 256:
4343 > #line 1518 "conf_parser.y" /* yacc.c:1646  */
4344 >    {
4345 >  if (conf_parser_ctx.pass != 1)
4346 >    break;
4347 >
4348 >  block_state.min_idle.value = (yyvsp[-1].number);
4349 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4350 > }
4351 > #line 4352 "conf_parser.c" /* yacc.c:1646  */
4352 >    break;
4353 >
4354 >  case 257:
4355 > #line 1527 "conf_parser.y" /* yacc.c:1646  */
4356 >    {
4357 >  if (conf_parser_ctx.pass != 1)
4358 >    break;
4359 >
4360 >  block_state.max_idle.value = (yyvsp[-1].number);
4361 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4362   }
4363 + #line 4364 "conf_parser.c" /* yacc.c:1646  */
4364      break;
4365  
4366 <  case 227:
4367 < /* Line 1792 of yacc.c  */
4497 < #line 1381 "conf_parser.y"
4366 >  case 258:
4367 > #line 1536 "conf_parser.y" /* yacc.c:1646  */
4368      {
4369    if (conf_parser_ctx.pass == 1)
4370 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4370 >    block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4371   }
4372 + #line 4373 "conf_parser.c" /* yacc.c:1646  */
4373      break;
4374  
4375 <  case 228:
4376 < /* Line 1792 of yacc.c  */
4506 < #line 1387 "conf_parser.y"
4375 >  case 262:
4376 > #line 1543 "conf_parser.y" /* yacc.c:1646  */
4377      {
4378    if (conf_parser_ctx.pass == 1)
4379 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4379 >    block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4380   }
4381 + #line 4382 "conf_parser.c" /* yacc.c:1646  */
4382      break;
4383  
4384 <  case 229:
4385 < /* Line 1792 of yacc.c  */
4515 < #line 1393 "conf_parser.y"
4384 >  case 263:
4385 > #line 1547 "conf_parser.y" /* yacc.c:1646  */
4386      {
4387    if (conf_parser_ctx.pass == 1)
4388 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4388 >    block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4389   }
4390 + #line 4391 "conf_parser.c" /* yacc.c:1646  */
4391      break;
4392  
4393 <  case 230:
4394 < /* Line 1792 of yacc.c  */
4524 < #line 1402 "conf_parser.y"
4393 >  case 264:
4394 > #line 1557 "conf_parser.y" /* yacc.c:1646  */
4395      {
4396    if (conf_parser_ctx.pass == 2)
4397      reset_block_state();
4398   }
4399 + #line 4400 "conf_parser.c" /* yacc.c:1646  */
4400      break;
4401  
4402 <  case 232:
4403 < /* Line 1792 of yacc.c  */
4533 < #line 1408 "conf_parser.y"
4402 >  case 266:
4403 > #line 1563 "conf_parser.y" /* yacc.c:1646  */
4404      {
4405    block_state.flags.value = 0;
4406   }
4407 + #line 4408 "conf_parser.c" /* yacc.c:1646  */
4408      break;
4409  
4410 <  case 236:
4411 < /* Line 1792 of yacc.c  */
4541 < #line 1414 "conf_parser.y"
4410 >  case 270:
4411 > #line 1569 "conf_parser.y" /* yacc.c:1646  */
4412      {
4413    if (conf_parser_ctx.pass == 2)
4414      block_state.flags.value |= LISTENER_SSL;
4415   }
4416 + #line 4417 "conf_parser.c" /* yacc.c:1646  */
4417      break;
4418  
4419 <  case 237:
4420 < /* Line 1792 of yacc.c  */
4550 < #line 1418 "conf_parser.y"
4419 >  case 271:
4420 > #line 1573 "conf_parser.y" /* yacc.c:1646  */
4421      {
4422    if (conf_parser_ctx.pass == 2)
4423      block_state.flags.value |= LISTENER_HIDDEN;
4424   }
4425 + #line 4426 "conf_parser.c" /* yacc.c:1646  */
4426      break;
4427  
4428 <  case 238:
4429 < /* Line 1792 of yacc.c  */
4559 < #line 1422 "conf_parser.y"
4428 >  case 272:
4429 > #line 1577 "conf_parser.y" /* yacc.c:1646  */
4430      {
4431    if (conf_parser_ctx.pass == 2)
4432     block_state.flags.value |= LISTENER_SERVER;
4433   }
4434 + #line 4435 "conf_parser.c" /* yacc.c:1646  */
4435      break;
4436  
4437 <  case 246:
4438 < /* Line 1792 of yacc.c  */
4568 < #line 1430 "conf_parser.y"
4437 >  case 280:
4438 > #line 1585 "conf_parser.y" /* yacc.c:1646  */
4439      { block_state.flags.value = 0; }
4440 + #line 4441 "conf_parser.c" /* yacc.c:1646  */
4441      break;
4442  
4443 <  case 250:
4444 < /* Line 1792 of yacc.c  */
4574 < #line 1435 "conf_parser.y"
4443 >  case 284:
4444 > #line 1590 "conf_parser.y" /* yacc.c:1646  */
4445      {
4446    if (conf_parser_ctx.pass == 2)
4447    {
# Line 4583 | Line 4453 | yyreduce:
4453          conf_error_report("SSL not available - port closed");
4454          break;
4455        }
4456 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4456 >    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4457    }
4458   }
4459 + #line 4460 "conf_parser.c" /* yacc.c:1646  */
4460      break;
4461  
4462 <  case 251:
4463 < /* Line 1792 of yacc.c  */
4593 < #line 1449 "conf_parser.y"
4462 >  case 285:
4463 > #line 1604 "conf_parser.y" /* yacc.c:1646  */
4464      {
4465    if (conf_parser_ctx.pass == 2)
4466    {
# Line 4605 | Line 4475 | yyreduce:
4475          break;
4476        }
4477  
4478 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4478 >    for (i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4479        add_listener(i, block_state.addr.buf, block_state.flags.value);
4480    }
4481   }
4482 + #line 4483 "conf_parser.c" /* yacc.c:1646  */
4483      break;
4484  
4485 <  case 252:
4486 < /* Line 1792 of yacc.c  */
4616 < #line 1469 "conf_parser.y"
4485 >  case 286:
4486 > #line 1624 "conf_parser.y" /* yacc.c:1646  */
4487      {
4488    if (conf_parser_ctx.pass == 2)
4489      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4490   }
4491 + #line 4492 "conf_parser.c" /* yacc.c:1646  */
4492      break;
4493  
4494 <  case 253:
4495 < /* Line 1792 of yacc.c  */
4625 < #line 1475 "conf_parser.y"
4494 >  case 287:
4495 > #line 1630 "conf_parser.y" /* yacc.c:1646  */
4496      {
4497    if (conf_parser_ctx.pass == 2)
4498      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4499   }
4500 + #line 4501 "conf_parser.c" /* yacc.c:1646  */
4501      break;
4502  
4503 <  case 254:
4504 < /* Line 1792 of yacc.c  */
4634 < #line 1484 "conf_parser.y"
4503 >  case 288:
4504 > #line 1639 "conf_parser.y" /* yacc.c:1646  */
4505      {
4506    if (conf_parser_ctx.pass == 2)
4507      reset_block_state();
4508   }
4509 + #line 4510 "conf_parser.c" /* yacc.c:1646  */
4510      break;
4511  
4512 <  case 255:
4513 < /* Line 1792 of yacc.c  */
4643 < #line 1488 "conf_parser.y"
4512 >  case 289:
4513 > #line 1643 "conf_parser.y" /* yacc.c:1646  */
4514      {
4515    dlink_node *ptr = NULL;
4516  
# Line 4662 | Line 4532 | yyreduce:
4532      split_nuh(&nuh);
4533  
4534      conf        = conf_make(CONF_CLIENT);
4535 <    conf->user  = xstrdup(collapse(block_state.user.buf));
4536 <    conf->host  = xstrdup(collapse(block_state.host.buf));
4535 >    conf->user  = xstrdup(block_state.user.buf);
4536 >    conf->host  = xstrdup(block_state.host.buf);
4537  
4538      if (block_state.rpass.buf[0])
4539        conf->passwd = xstrdup(block_state.rpass.buf);
4540      if (block_state.name.buf[0])
4541 <      conf->passwd = xstrdup(block_state.name.buf);
4541 >      conf->name = xstrdup(block_state.name.buf);
4542  
4543      conf->flags = block_state.flags.value;
4544      conf->port  = block_state.port.value;
# Line 4677 | Line 4547 | yyreduce:
4547      add_conf_by_address(CONF_CLIENT, conf);
4548    }
4549   }
4550 + #line 4551 "conf_parser.c" /* yacc.c:1646  */
4551      break;
4552  
4553 <  case 267:
4554 < /* Line 1792 of yacc.c  */
4684 < #line 1531 "conf_parser.y"
4553 >  case 301:
4554 > #line 1686 "conf_parser.y" /* yacc.c:1646  */
4555      {
4556    if (conf_parser_ctx.pass == 2)
4557      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4558   }
4559 + #line 4560 "conf_parser.c" /* yacc.c:1646  */
4560      break;
4561  
4562 <  case 268:
4563 < /* Line 1792 of yacc.c  */
4693 < #line 1537 "conf_parser.y"
4562 >  case 302:
4563 > #line 1692 "conf_parser.y" /* yacc.c:1646  */
4564      {
4565    if (conf_parser_ctx.pass == 2)
4566      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4567   }
4568 + #line 4569 "conf_parser.c" /* yacc.c:1646  */
4569      break;
4570  
4571 <  case 269:
4572 < /* Line 1792 of yacc.c  */
4702 < #line 1543 "conf_parser.y"
4571 >  case 303:
4572 > #line 1698 "conf_parser.y" /* yacc.c:1646  */
4573      {
4574    if (conf_parser_ctx.pass == 2)
4575      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4576   }
4577 + #line 4578 "conf_parser.c" /* yacc.c:1646  */
4578      break;
4579  
4580 <  case 270:
4581 < /* Line 1792 of yacc.c  */
4711 < #line 1549 "conf_parser.y"
4580 >  case 304:
4581 > #line 1704 "conf_parser.y" /* yacc.c:1646  */
4582      {
4583    if (conf_parser_ctx.pass == 2)
4584    {
# Line 4718 | Line 4588 | yyreduce:
4588        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4589    }
4590   }
4591 + #line 4592 "conf_parser.c" /* yacc.c:1646  */
4592      break;
4593  
4594 <  case 271:
4595 < /* Line 1792 of yacc.c  */
4725 < #line 1560 "conf_parser.y"
4594 >  case 305:
4595 > #line 1715 "conf_parser.y" /* yacc.c:1646  */
4596      {
4597    if (conf_parser_ctx.pass == 2)
4598 <    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4598 >    block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4599   }
4600 + #line 4601 "conf_parser.c" /* yacc.c:1646  */
4601      break;
4602  
4603 <  case 275:
4604 < /* Line 1792 of yacc.c  */
4734 < #line 1567 "conf_parser.y"
4603 >  case 309:
4604 > #line 1722 "conf_parser.y" /* yacc.c:1646  */
4605      {
4606    if (conf_parser_ctx.pass == 2)
4607      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4608   }
4609 + #line 4610 "conf_parser.c" /* yacc.c:1646  */
4610      break;
4611  
4612 <  case 276:
4613 < /* Line 1792 of yacc.c  */
4743 < #line 1571 "conf_parser.y"
4612 >  case 310:
4613 > #line 1726 "conf_parser.y" /* yacc.c:1646  */
4614      {
4615    if (conf_parser_ctx.pass == 2)
4616      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4617   }
4618 + #line 4619 "conf_parser.c" /* yacc.c:1646  */
4619      break;
4620  
4621 <  case 277:
4622 < /* Line 1792 of yacc.c  */
4752 < #line 1575 "conf_parser.y"
4621 >  case 311:
4622 > #line 1730 "conf_parser.y" /* yacc.c:1646  */
4623      {
4624    if (conf_parser_ctx.pass == 2)
4625      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4626   }
4627 + #line 4628 "conf_parser.c" /* yacc.c:1646  */
4628      break;
4629  
4630 <  case 278:
4631 < /* Line 1792 of yacc.c  */
4761 < #line 1579 "conf_parser.y"
4630 >  case 312:
4631 > #line 1734 "conf_parser.y" /* yacc.c:1646  */
4632      {
4633    if (conf_parser_ctx.pass == 2)
4634      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4635   }
4636 + #line 4637 "conf_parser.c" /* yacc.c:1646  */
4637      break;
4638  
4639 <  case 279:
4640 < /* Line 1792 of yacc.c  */
4770 < #line 1583 "conf_parser.y"
4639 >  case 313:
4640 > #line 1738 "conf_parser.y" /* yacc.c:1646  */
4641      {
4642    if (conf_parser_ctx.pass == 2)
4643      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4644   }
4645 + #line 4646 "conf_parser.c" /* yacc.c:1646  */
4646      break;
4647  
4648 <  case 280:
4649 < /* Line 1792 of yacc.c  */
4779 < #line 1587 "conf_parser.y"
4648 >  case 314:
4649 > #line 1742 "conf_parser.y" /* yacc.c:1646  */
4650      {
4651    if (conf_parser_ctx.pass == 2)
4652      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4653   }
4654 + #line 4655 "conf_parser.c" /* yacc.c:1646  */
4655      break;
4656  
4657 <  case 281:
4658 < /* Line 1792 of yacc.c  */
4788 < #line 1591 "conf_parser.y"
4657 >  case 315:
4658 > #line 1746 "conf_parser.y" /* yacc.c:1646  */
4659      {
4660    if (conf_parser_ctx.pass == 2)
4661      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4662   }
4663 + #line 4664 "conf_parser.c" /* yacc.c:1646  */
4664      break;
4665  
4666 <  case 282:
4667 < /* Line 1792 of yacc.c  */
4797 < #line 1595 "conf_parser.y"
4666 >  case 316:
4667 > #line 1750 "conf_parser.y" /* yacc.c:1646  */
4668      {
4669    if (conf_parser_ctx.pass == 2)
4670      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4671   }
4672 + #line 4673 "conf_parser.c" /* yacc.c:1646  */
4673      break;
4674  
4675 <  case 283:
4676 < /* Line 1792 of yacc.c  */
4806 < #line 1599 "conf_parser.y"
4675 >  case 317:
4676 > #line 1754 "conf_parser.y" /* yacc.c:1646  */
4677      {
4678    if (conf_parser_ctx.pass == 2)
4679      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4680   }
4681 + #line 4682 "conf_parser.c" /* yacc.c:1646  */
4682      break;
4683  
4684 <  case 284:
4685 < /* Line 1792 of yacc.c  */
4815 < #line 1603 "conf_parser.y"
4684 >  case 318:
4685 > #line 1758 "conf_parser.y" /* yacc.c:1646  */
4686      {
4687    if (conf_parser_ctx.pass == 2)
4688      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4689   }
4690 + #line 4691 "conf_parser.c" /* yacc.c:1646  */
4691      break;
4692  
4693 <  case 285:
4694 < /* Line 1792 of yacc.c  */
4824 < #line 1609 "conf_parser.y"
4693 >  case 319:
4694 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4695      {
4696    if (conf_parser_ctx.pass != 2)
4697      break;
# Line 4834 | Line 4704 | yyreduce:
4704    else
4705      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4706   }
4707 + #line 4708 "conf_parser.c" /* yacc.c:1646  */
4708      break;
4709  
4710 <  case 286:
4711 < /* Line 1792 of yacc.c  */
4841 < #line 1623 "conf_parser.y"
4710 >  case 320:
4711 > #line 1778 "conf_parser.y" /* yacc.c:1646  */
4712      {
4713    if (conf_parser_ctx.pass != 2)
4714      break;
# Line 4846 | Line 4716 | yyreduce:
4716    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4717    block_state.flags.value |= CONF_FLAGS_REDIR;
4718   }
4719 + #line 4720 "conf_parser.c" /* yacc.c:1646  */
4720      break;
4721  
4722 <  case 287:
4723 < /* Line 1792 of yacc.c  */
4853 < #line 1632 "conf_parser.y"
4722 >  case 321:
4723 > #line 1787 "conf_parser.y" /* yacc.c:1646  */
4724      {
4725    if (conf_parser_ctx.pass != 2)
4726      break;
4727  
4728    block_state.flags.value |= CONF_FLAGS_REDIR;
4729 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4729 >  block_state.port.value = (yyvsp[-1].number);
4730   }
4731 + #line 4732 "conf_parser.c" /* yacc.c:1646  */
4732      break;
4733  
4734 <  case 288:
4735 < /* Line 1792 of yacc.c  */
4865 < #line 1645 "conf_parser.y"
4734 >  case 322:
4735 > #line 1800 "conf_parser.y" /* yacc.c:1646  */
4736      {
4737    if (conf_parser_ctx.pass != 2)
4738      break;
# Line 4870 | Line 4740 | yyreduce:
4740    reset_block_state();
4741    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4742   }
4743 + #line 4744 "conf_parser.c" /* yacc.c:1646  */
4744      break;
4745  
4746 <  case 296:
4747 < /* Line 1792 of yacc.c  */
4877 < #line 1657 "conf_parser.y"
4746 >  case 323:
4747 > #line 1807 "conf_parser.y" /* yacc.c:1646  */
4748      {
4749 <  if (conf_parser_ctx.pass == 2)
4750 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4749 >  if (conf_parser_ctx.pass != 2)
4750 >    break;
4751 >
4752 >  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4753   }
4754 + #line 4755 "conf_parser.c" /* yacc.c:1646  */
4755      break;
4756  
4757 <  case 297:
4758 < /* Line 1792 of yacc.c  */
4886 < #line 1663 "conf_parser.y"
4757 >  case 330:
4758 > #line 1818 "conf_parser.y" /* yacc.c:1646  */
4759      {
4760 <  if (conf_parser_ctx.pass != 2)
4760 >  if (conf_parser_ctx.pass == 2)
4761 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4762 > }
4763 > #line 4764 "conf_parser.c" /* yacc.c:1646  */
4764      break;
4765  
4766 <  if (IsChanPrefix(*yylval.string))
4767 <    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
4766 >  case 331:
4767 > #line 1824 "conf_parser.y" /* yacc.c:1646  */
4768 >    {
4769 >  if (conf_parser_ctx.pass == 2)
4770 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4771   }
4772 + #line 4773 "conf_parser.c" /* yacc.c:1646  */
4773      break;
4774  
4775 <  case 298:
4776 < /* Line 1792 of yacc.c  */
4898 < #line 1672 "conf_parser.y"
4775 >  case 332:
4776 > #line 1830 "conf_parser.y" /* yacc.c:1646  */
4777      {
4778    if (conf_parser_ctx.pass == 2)
4779 <    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
4779 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4780   }
4781 + #line 4782 "conf_parser.c" /* yacc.c:1646  */
4782      break;
4783  
4784 <  case 304:
4785 < /* Line 1792 of yacc.c  */
4907 < #line 1686 "conf_parser.y"
4784 >  case 338:
4785 > #line 1845 "conf_parser.y" /* yacc.c:1646  */
4786      {
4787 <  if (conf_parser_ctx.pass == 2)
4787 >  if (conf_parser_ctx.pass != 2)
4788 >    break;
4789 >
4790 >  if (valid_servname(yylval.string))
4791    {
4792 <    if (valid_servname(yylval.string))
4793 <    {
4913 <      struct MaskItem *conf = conf_make(CONF_SERVICE);
4914 <      conf->name = xstrdup(yylval.string);
4915 <    }
4792 >    struct MaskItem *conf = conf_make(CONF_SERVICE);
4793 >    conf->name = xstrdup(yylval.string);
4794    }
4795   }
4796 + #line 4797 "conf_parser.c" /* yacc.c:1646  */
4797      break;
4798  
4799 <  case 305:
4800 < /* Line 1792 of yacc.c  */
4922 < #line 1701 "conf_parser.y"
4799 >  case 339:
4800 > #line 1860 "conf_parser.y" /* yacc.c:1646  */
4801      {
4802    if (conf_parser_ctx.pass != 2)
4803      break;
# Line 4931 | Line 4809 | yyreduce:
4809    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4810    block_state.flags.value = SHARED_ALL;
4811   }
4812 + #line 4813 "conf_parser.c" /* yacc.c:1646  */
4813      break;
4814  
4815 <  case 306:
4816 < /* Line 1792 of yacc.c  */
4938 < #line 1712 "conf_parser.y"
4815 >  case 340:
4816 > #line 1871 "conf_parser.y" /* yacc.c:1646  */
4817      {
4818    struct MaskItem *conf = NULL;
4819  
# Line 4946 | Line 4824 | yyreduce:
4824    conf->flags = block_state.flags.value;
4825    conf->name = xstrdup(block_state.name.buf);
4826    conf->user = xstrdup(block_state.user.buf);
4827 <  conf->user = xstrdup(block_state.host.buf);
4827 >  conf->host = xstrdup(block_state.host.buf);
4828   }
4829 + #line 4830 "conf_parser.c" /* yacc.c:1646  */
4830      break;
4831  
4832 <  case 313:
4833 < /* Line 1792 of yacc.c  */
4955 < #line 1729 "conf_parser.y"
4832 >  case 347:
4833 > #line 1888 "conf_parser.y" /* yacc.c:1646  */
4834      {
4835    if (conf_parser_ctx.pass == 2)
4836      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4837   }
4838 + #line 4839 "conf_parser.c" /* yacc.c:1646  */
4839      break;
4840  
4841 <  case 314:
4842 < /* Line 1792 of yacc.c  */
4964 < #line 1735 "conf_parser.y"
4841 >  case 348:
4842 > #line 1894 "conf_parser.y" /* yacc.c:1646  */
4843      {
4844    if (conf_parser_ctx.pass == 2)
4845    {
# Line 4979 | Line 4857 | yyreduce:
4857      split_nuh(&nuh);
4858    }
4859   }
4860 + #line 4861 "conf_parser.c" /* yacc.c:1646  */
4861      break;
4862  
4863 <  case 315:
4864 < /* Line 1792 of yacc.c  */
4986 < #line 1754 "conf_parser.y"
4863 >  case 349:
4864 > #line 1913 "conf_parser.y" /* yacc.c:1646  */
4865      {
4866    if (conf_parser_ctx.pass == 2)
4867      block_state.flags.value = 0;
4868   }
4869 + #line 4870 "conf_parser.c" /* yacc.c:1646  */
4870      break;
4871  
4872 <  case 319:
4873 < /* Line 1792 of yacc.c  */
4995 < #line 1761 "conf_parser.y"
4872 >  case 353:
4873 > #line 1920 "conf_parser.y" /* yacc.c:1646  */
4874      {
4875    if (conf_parser_ctx.pass == 2)
4876      block_state.flags.value |= SHARED_KLINE;
4877   }
4878 + #line 4879 "conf_parser.c" /* yacc.c:1646  */
4879      break;
4880  
4881 <  case 320:
4882 < /* Line 1792 of yacc.c  */
5004 < #line 1765 "conf_parser.y"
4881 >  case 354:
4882 > #line 1924 "conf_parser.y" /* yacc.c:1646  */
4883      {
4884    if (conf_parser_ctx.pass == 2)
4885      block_state.flags.value |= SHARED_UNKLINE;
4886   }
4887 + #line 4888 "conf_parser.c" /* yacc.c:1646  */
4888      break;
4889  
4890 <  case 321:
4891 < /* Line 1792 of yacc.c  */
5013 < #line 1769 "conf_parser.y"
4890 >  case 355:
4891 > #line 1928 "conf_parser.y" /* yacc.c:1646  */
4892      {
4893    if (conf_parser_ctx.pass == 2)
4894      block_state.flags.value |= SHARED_DLINE;
4895   }
4896 + #line 4897 "conf_parser.c" /* yacc.c:1646  */
4897      break;
4898  
4899 <  case 322:
4900 < /* Line 1792 of yacc.c  */
5022 < #line 1773 "conf_parser.y"
4899 >  case 356:
4900 > #line 1932 "conf_parser.y" /* yacc.c:1646  */
4901      {
4902    if (conf_parser_ctx.pass == 2)
4903      block_state.flags.value |= SHARED_UNDLINE;
4904   }
4905 + #line 4906 "conf_parser.c" /* yacc.c:1646  */
4906      break;
4907  
4908 <  case 323:
4909 < /* Line 1792 of yacc.c  */
5031 < #line 1777 "conf_parser.y"
4908 >  case 357:
4909 > #line 1936 "conf_parser.y" /* yacc.c:1646  */
4910      {
4911    if (conf_parser_ctx.pass == 2)
4912      block_state.flags.value |= SHARED_XLINE;
4913   }
4914 + #line 4915 "conf_parser.c" /* yacc.c:1646  */
4915      break;
4916  
4917 <  case 324:
4918 < /* Line 1792 of yacc.c  */
5040 < #line 1781 "conf_parser.y"
4917 >  case 358:
4918 > #line 1940 "conf_parser.y" /* yacc.c:1646  */
4919      {
4920    if (conf_parser_ctx.pass == 2)
4921      block_state.flags.value |= SHARED_UNXLINE;
4922   }
4923 + #line 4924 "conf_parser.c" /* yacc.c:1646  */
4924      break;
4925  
4926 <  case 325:
4927 < /* Line 1792 of yacc.c  */
5049 < #line 1785 "conf_parser.y"
4926 >  case 359:
4927 > #line 1944 "conf_parser.y" /* yacc.c:1646  */
4928      {
4929    if (conf_parser_ctx.pass == 2)
4930      block_state.flags.value |= SHARED_RESV;
4931   }
4932 + #line 4933 "conf_parser.c" /* yacc.c:1646  */
4933      break;
4934  
4935 <  case 326:
4936 < /* Line 1792 of yacc.c  */
5058 < #line 1789 "conf_parser.y"
4935 >  case 360:
4936 > #line 1948 "conf_parser.y" /* yacc.c:1646  */
4937      {
4938    if (conf_parser_ctx.pass == 2)
4939      block_state.flags.value |= SHARED_UNRESV;
4940   }
4941 + #line 4942 "conf_parser.c" /* yacc.c:1646  */
4942      break;
4943  
4944 <  case 327:
4945 < /* Line 1792 of yacc.c  */
5067 < #line 1793 "conf_parser.y"
4944 >  case 361:
4945 > #line 1952 "conf_parser.y" /* yacc.c:1646  */
4946      {
4947    if (conf_parser_ctx.pass == 2)
4948      block_state.flags.value |= SHARED_LOCOPS;
4949   }
4950 + #line 4951 "conf_parser.c" /* yacc.c:1646  */
4951      break;
4952  
4953 <  case 328:
4954 < /* Line 1792 of yacc.c  */
5076 < #line 1797 "conf_parser.y"
4953 >  case 362:
4954 > #line 1956 "conf_parser.y" /* yacc.c:1646  */
4955      {
4956    if (conf_parser_ctx.pass == 2)
4957      block_state.flags.value = SHARED_ALL;
4958   }
4959 + #line 4960 "conf_parser.c" /* yacc.c:1646  */
4960      break;
4961  
4962 <  case 329:
4963 < /* Line 1792 of yacc.c  */
5085 < #line 1806 "conf_parser.y"
4962 >  case 363:
4963 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
4964      {
4965    if (conf_parser_ctx.pass != 2)
4966      break;
# Line 5092 | Line 4970 | yyreduce:
4970    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
4971    block_state.flags.value = SHARED_ALL;
4972   }
4973 + #line 4974 "conf_parser.c" /* yacc.c:1646  */
4974      break;
4975  
4976 <  case 330:
4977 < /* Line 1792 of yacc.c  */
5099 < #line 1815 "conf_parser.y"
4976 >  case 364:
4977 > #line 1974 "conf_parser.y" /* yacc.c:1646  */
4978      {
4979    struct MaskItem *conf = NULL;
4980  
# Line 5107 | Line 4985 | yyreduce:
4985    conf->flags = block_state.flags.value;
4986    conf->name = xstrdup(block_state.name.buf);
4987   }
4988 + #line 4989 "conf_parser.c" /* yacc.c:1646  */
4989      break;
4990  
4991 <  case 336:
4992 < /* Line 1792 of yacc.c  */
5114 < #line 1830 "conf_parser.y"
4991 >  case 370:
4992 > #line 1989 "conf_parser.y" /* yacc.c:1646  */
4993      {
4994    if (conf_parser_ctx.pass == 2)
4995      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4996   }
4997 + #line 4998 "conf_parser.c" /* yacc.c:1646  */
4998      break;
4999  
5000 <  case 337:
5001 < /* Line 1792 of yacc.c  */
5123 < #line 1836 "conf_parser.y"
5000 >  case 371:
5001 > #line 1995 "conf_parser.y" /* yacc.c:1646  */
5002      {
5003    if (conf_parser_ctx.pass == 2)
5004      block_state.flags.value = 0;
5005   }
5006 + #line 5007 "conf_parser.c" /* yacc.c:1646  */
5007      break;
5008  
5009 <  case 341:
5010 < /* Line 1792 of yacc.c  */
5132 < #line 1843 "conf_parser.y"
5009 >  case 375:
5010 > #line 2002 "conf_parser.y" /* yacc.c:1646  */
5011      {
5012    if (conf_parser_ctx.pass == 2)
5013      block_state.flags.value |= SHARED_KLINE;
5014   }
5015 + #line 5016 "conf_parser.c" /* yacc.c:1646  */
5016      break;
5017  
5018 <  case 342:
5019 < /* Line 1792 of yacc.c  */
5141 < #line 1847 "conf_parser.y"
5018 >  case 376:
5019 > #line 2006 "conf_parser.y" /* yacc.c:1646  */
5020      {
5021    if (conf_parser_ctx.pass == 2)
5022      block_state.flags.value |= SHARED_UNKLINE;
5023   }
5024 + #line 5025 "conf_parser.c" /* yacc.c:1646  */
5025      break;
5026  
5027 <  case 343:
5028 < /* Line 1792 of yacc.c  */
5150 < #line 1851 "conf_parser.y"
5027 >  case 377:
5028 > #line 2010 "conf_parser.y" /* yacc.c:1646  */
5029      {
5030    if (conf_parser_ctx.pass == 2)
5031      block_state.flags.value |= SHARED_DLINE;
5032   }
5033 + #line 5034 "conf_parser.c" /* yacc.c:1646  */
5034      break;
5035  
5036 <  case 344:
5037 < /* Line 1792 of yacc.c  */
5159 < #line 1855 "conf_parser.y"
5036 >  case 378:
5037 > #line 2014 "conf_parser.y" /* yacc.c:1646  */
5038      {
5039    if (conf_parser_ctx.pass == 2)
5040      block_state.flags.value |= SHARED_UNDLINE;
5041   }
5042 + #line 5043 "conf_parser.c" /* yacc.c:1646  */
5043      break;
5044  
5045 <  case 345:
5046 < /* Line 1792 of yacc.c  */
5168 < #line 1859 "conf_parser.y"
5045 >  case 379:
5046 > #line 2018 "conf_parser.y" /* yacc.c:1646  */
5047      {
5048    if (conf_parser_ctx.pass == 2)
5049      block_state.flags.value |= SHARED_XLINE;
5050   }
5051 + #line 5052 "conf_parser.c" /* yacc.c:1646  */
5052      break;
5053  
5054 <  case 346:
5055 < /* Line 1792 of yacc.c  */
5177 < #line 1863 "conf_parser.y"
5054 >  case 380:
5055 > #line 2022 "conf_parser.y" /* yacc.c:1646  */
5056      {
5057    if (conf_parser_ctx.pass == 2)
5058      block_state.flags.value |= SHARED_UNXLINE;
5059   }
5060 + #line 5061 "conf_parser.c" /* yacc.c:1646  */
5061      break;
5062  
5063 <  case 347:
5064 < /* Line 1792 of yacc.c  */
5186 < #line 1867 "conf_parser.y"
5063 >  case 381:
5064 > #line 2026 "conf_parser.y" /* yacc.c:1646  */
5065      {
5066    if (conf_parser_ctx.pass == 2)
5067      block_state.flags.value |= SHARED_RESV;
5068   }
5069 + #line 5070 "conf_parser.c" /* yacc.c:1646  */
5070      break;
5071  
5072 <  case 348:
5073 < /* Line 1792 of yacc.c  */
5195 < #line 1871 "conf_parser.y"
5072 >  case 382:
5073 > #line 2030 "conf_parser.y" /* yacc.c:1646  */
5074      {
5075    if (conf_parser_ctx.pass == 2)
5076      block_state.flags.value |= SHARED_UNRESV;
5077   }
5078 + #line 5079 "conf_parser.c" /* yacc.c:1646  */
5079      break;
5080  
5081 <  case 349:
5082 < /* Line 1792 of yacc.c  */
5204 < #line 1875 "conf_parser.y"
5081 >  case 383:
5082 > #line 2034 "conf_parser.y" /* yacc.c:1646  */
5083      {
5084    if (conf_parser_ctx.pass == 2)
5085      block_state.flags.value |= SHARED_LOCOPS;
5086   }
5087 + #line 5088 "conf_parser.c" /* yacc.c:1646  */
5088      break;
5089  
5090 <  case 350:
5091 < /* Line 1792 of yacc.c  */
5213 < #line 1879 "conf_parser.y"
5090 >  case 384:
5091 > #line 2038 "conf_parser.y" /* yacc.c:1646  */
5092      {
5093    if (conf_parser_ctx.pass == 2)
5094      block_state.flags.value = SHARED_ALL;
5095   }
5096 + #line 5097 "conf_parser.c" /* yacc.c:1646  */
5097      break;
5098  
5099 <  case 351:
5100 < /* Line 1792 of yacc.c  */
5222 < #line 1888 "conf_parser.y"
5099 >  case 385:
5100 > #line 2047 "conf_parser.y" /* yacc.c:1646  */
5101      {
5102  
5103    if (conf_parser_ctx.pass != 2)
5104      break;
5105  
5106    reset_block_state();
5107 +  block_state.aftype.value = AF_INET;
5108    block_state.port.value = PORTNUM;
5109   }
5110 + #line 5111 "conf_parser.c" /* yacc.c:1646  */
5111      break;
5112  
5113 <  case 352:
5114 < /* Line 1792 of yacc.c  */
5235 < #line 1896 "conf_parser.y"
5113 >  case 386:
5114 > #line 2056 "conf_parser.y" /* yacc.c:1646  */
5115      {
5116    struct MaskItem *conf = NULL;
5117    struct addrinfo hints, *res;
# Line 5244 | Line 5123 | yyreduce:
5123        !block_state.host.buf[0])
5124      break;
5125  
5126 <  if (!(block_state.rpass.buf[0] ||
5127 <        block_state.spass.buf[0]))
5126 >  if (!block_state.rpass.buf[0] ||
5127 >      !block_state.spass.buf[0])
5128      break;
5129  
5130    if (has_wildcards(block_state.name.buf) ||
# Line 5260 | Line 5139 | yyreduce:
5139    conf->name = xstrdup(block_state.name.buf);
5140    conf->passwd = xstrdup(block_state.rpass.buf);
5141    conf->spasswd = xstrdup(block_state.spass.buf);
5142 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5142 >
5143 >  if (block_state.cert.buf[0])
5144 >    conf->certfp = xstrdup(block_state.cert.buf);
5145 >
5146 >  if (block_state.ciph.buf[0])
5147 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5148  
5149    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5150    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5289 | Line 5173 | yyreduce:
5173    conf_add_class_to_conf(conf, block_state.class.buf);
5174    lookup_confhost(conf);
5175   }
5176 + #line 5177 "conf_parser.c" /* yacc.c:1646  */
5177      break;
5178  
5179 <  case 369:
5180 < /* Line 1792 of yacc.c  */
5296 < #line 1962 "conf_parser.y"
5179 >  case 404:
5180 > #line 2128 "conf_parser.y" /* yacc.c:1646  */
5181      {
5182    if (conf_parser_ctx.pass == 2)
5183      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5184   }
5185 + #line 5186 "conf_parser.c" /* yacc.c:1646  */
5186      break;
5187  
5188 <  case 370:
5189 < /* Line 1792 of yacc.c  */
5305 < #line 1968 "conf_parser.y"
5188 >  case 405:
5189 > #line 2134 "conf_parser.y" /* yacc.c:1646  */
5190      {
5191    if (conf_parser_ctx.pass == 2)
5192      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5193   }
5194 + #line 5195 "conf_parser.c" /* yacc.c:1646  */
5195      break;
5196  
5197 <  case 371:
5198 < /* Line 1792 of yacc.c  */
5314 < #line 1974 "conf_parser.y"
5197 >  case 406:
5198 > #line 2140 "conf_parser.y" /* yacc.c:1646  */
5199      {
5200    if (conf_parser_ctx.pass == 2)
5201      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5202   }
5203 + #line 5204 "conf_parser.c" /* yacc.c:1646  */
5204      break;
5205  
5206 <  case 372:
5207 < /* Line 1792 of yacc.c  */
5323 < #line 1980 "conf_parser.y"
5206 >  case 407:
5207 > #line 2146 "conf_parser.y" /* yacc.c:1646  */
5208      {
5209    if (conf_parser_ctx.pass != 2)
5210      break;
5211  
5212 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5212 >  if ((yyvsp[-1].string)[0] == ':')
5213      conf_error_report("Server passwords cannot begin with a colon");
5214 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5214 >  else if (strchr((yyvsp[-1].string), ' ') != NULL)
5215      conf_error_report("Server passwords cannot contain spaces");
5216    else
5217      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5218   }
5219 + #line 5220 "conf_parser.c" /* yacc.c:1646  */
5220      break;
5221  
5222 <  case 373:
5223 < /* Line 1792 of yacc.c  */
5339 < #line 1993 "conf_parser.y"
5222 >  case 408:
5223 > #line 2159 "conf_parser.y" /* yacc.c:1646  */
5224      {
5225    if (conf_parser_ctx.pass != 2)
5226      break;
5227  
5228 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5228 >  if ((yyvsp[-1].string)[0] == ':')
5229      conf_error_report("Server passwords cannot begin with a colon");
5230 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5230 >  else if (strchr((yyvsp[-1].string), ' ') != NULL)
5231      conf_error_report("Server passwords cannot contain spaces");
5232    else
5233      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5234   }
5235 + #line 5236 "conf_parser.c" /* yacc.c:1646  */
5236      break;
5237  
5238 <  case 374:
5239 < /* Line 1792 of yacc.c  */
5355 < #line 2006 "conf_parser.y"
5238 >  case 409:
5239 > #line 2172 "conf_parser.y" /* yacc.c:1646  */
5240      {
5241    if (conf_parser_ctx.pass == 2)
5242 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5242 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5243   }
5244 + #line 5245 "conf_parser.c" /* yacc.c:1646  */
5245      break;
5246  
5247 <  case 375:
5248 < /* Line 1792 of yacc.c  */
5249 < #line 2012 "conf_parser.y"
5247 >  case 410:
5248 > #line 2178 "conf_parser.y" /* yacc.c:1646  */
5249 >    {
5250 >  if (conf_parser_ctx.pass == 2)
5251 >    block_state.port.value = (yyvsp[-1].number);
5252 > }
5253 > #line 5254 "conf_parser.c" /* yacc.c:1646  */
5254 >    break;
5255 >
5256 >  case 411:
5257 > #line 2184 "conf_parser.y" /* yacc.c:1646  */
5258      {
5259    if (conf_parser_ctx.pass == 2)
5260      block_state.aftype.value = AF_INET;
5261   }
5262 + #line 5263 "conf_parser.c" /* yacc.c:1646  */
5263      break;
5264  
5265 <  case 376:
5266 < /* Line 1792 of yacc.c  */
5373 < #line 2016 "conf_parser.y"
5265 >  case 412:
5266 > #line 2188 "conf_parser.y" /* yacc.c:1646  */
5267      {
5268   #ifdef IPV6
5269    if (conf_parser_ctx.pass == 2)
5270      block_state.aftype.value = AF_INET6;
5271   #endif
5272   }
5273 + #line 5274 "conf_parser.c" /* yacc.c:1646  */
5274      break;
5275  
5276 <  case 377:
5277 < /* Line 1792 of yacc.c  */
5384 < #line 2024 "conf_parser.y"
5276 >  case 413:
5277 > #line 2196 "conf_parser.y" /* yacc.c:1646  */
5278      {
5279    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5280   }
5281 + #line 5282 "conf_parser.c" /* yacc.c:1646  */
5282      break;
5283  
5284 <  case 381:
5285 < /* Line 1792 of yacc.c  */
5392 < #line 2030 "conf_parser.y"
5284 >  case 417:
5285 > #line 2202 "conf_parser.y" /* yacc.c:1646  */
5286      {
5287    if (conf_parser_ctx.pass == 2)
5288      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5289   }
5290 + #line 5291 "conf_parser.c" /* yacc.c:1646  */
5291      break;
5292  
5293 <  case 382:
5294 < /* Line 1792 of yacc.c  */
5401 < #line 2034 "conf_parser.y"
5293 >  case 418:
5294 > #line 2206 "conf_parser.y" /* yacc.c:1646  */
5295      {
5296    if (conf_parser_ctx.pass == 2)
5297      block_state.flags.value |= CONF_FLAGS_SSL;
5298   }
5299 + #line 5300 "conf_parser.c" /* yacc.c:1646  */
5300      break;
5301  
5302 <  case 383:
5303 < /* Line 1792 of yacc.c  */
5410 < #line 2040 "conf_parser.y"
5302 >  case 419:
5303 > #line 2212 "conf_parser.y" /* yacc.c:1646  */
5304      {
5305    if (conf_parser_ctx.pass == 2)
5306    {
# Line 5417 | Line 5310 | yyreduce:
5310        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5311    }
5312   }
5313 + #line 5314 "conf_parser.c" /* yacc.c:1646  */
5314      break;
5315  
5316 <  case 384:
5317 < /* Line 1792 of yacc.c  */
5424 < #line 2051 "conf_parser.y"
5316 >  case 420:
5317 > #line 2223 "conf_parser.y" /* yacc.c:1646  */
5318      {
5319    if (conf_parser_ctx.pass == 2)
5320      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5321   }
5322 + #line 5323 "conf_parser.c" /* yacc.c:1646  */
5323      break;
5324  
5325 <  case 385:
5326 < /* Line 1792 of yacc.c  */
5433 < #line 2057 "conf_parser.y"
5325 >  case 421:
5326 > #line 2229 "conf_parser.y" /* yacc.c:1646  */
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5330   }
5331 + #line 5332 "conf_parser.c" /* yacc.c:1646  */
5332      break;
5333  
5334 <  case 386:
5335 < /* Line 1792 of yacc.c  */
5442 < #line 2063 "conf_parser.y"
5334 >  case 422:
5335 > #line 2235 "conf_parser.y" /* yacc.c:1646  */
5336      {
5337    if (conf_parser_ctx.pass == 2)
5338      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5339   }
5340 + #line 5341 "conf_parser.c" /* yacc.c:1646  */
5341      break;
5342  
5343 <  case 387:
5344 < /* Line 1792 of yacc.c  */
5451 < #line 2069 "conf_parser.y"
5343 >  case 423:
5344 > #line 2241 "conf_parser.y" /* yacc.c:1646  */
5345      {
5346   #ifdef HAVE_LIBCRYPTO
5347    if (conf_parser_ctx.pass == 2)
# Line 5458 | Line 5351 | yyreduce:
5351      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5352   #endif
5353   }
5354 + #line 5355 "conf_parser.c" /* yacc.c:1646  */
5355      break;
5356  
5357 <  case 388:
5358 < /* Line 1792 of yacc.c  */
5465 < #line 2084 "conf_parser.y"
5357 >  case 424:
5358 > #line 2256 "conf_parser.y" /* yacc.c:1646  */
5359      {
5360    if (conf_parser_ctx.pass == 2)
5361      reset_block_state();
5362   }
5363 + #line 5364 "conf_parser.c" /* yacc.c:1646  */
5364      break;
5365  
5366 <  case 389:
5367 < /* Line 1792 of yacc.c  */
5474 < #line 2088 "conf_parser.y"
5366 >  case 425:
5367 > #line 2260 "conf_parser.y" /* yacc.c:1646  */
5368      {
5369    struct MaskItem *conf = NULL;
5370  
# Line 5482 | Line 5375 | yyreduce:
5375        !block_state.host.buf[0])
5376      break;
5377  
5378 +  conf = conf_make(CONF_KLINE);
5379 +  conf->user = xstrdup(block_state.user.buf);
5380 +  conf->host = xstrdup(block_state.host.buf);
5381  
5382 <  if (block_state.port.value == 1)
5383 <  {
5488 < #ifdef HAVE_LIBPCRE
5489 <    void *exp_user = NULL;
5490 <    void *exp_host = NULL;
5491 <    const char *errptr = NULL;
5492 <
5493 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5494 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5495 <    {
5496 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5497 <           errptr);
5498 <      break;
5499 <    }
5500 <
5501 <    conf = conf_make(CONF_RKLINE);
5502 <    conf->regexuser = exp_user;
5503 <    conf->regexhost = exp_host;
5504 <
5505 <    conf->user = xstrdup(block_state.user.buf);
5506 <    conf->host = xstrdup(block_state.host.buf);
5507 <
5508 <    if (block_state.rpass.buf[0])
5509 <      conf->reason = xstrdup(block_state.rpass.buf);
5510 <    else
5511 <      conf->reason = xstrdup(CONF_NOREASON);
5512 < #else
5513 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5514 <    break;
5515 < #endif
5516 <  }
5382 >  if (block_state.rpass.buf[0])
5383 >    conf->reason = xstrdup(block_state.rpass.buf);
5384    else
5385 <  {
5386 <    conf = conf_make(CONF_KLINE);
5520 <
5521 <    conf->user = xstrdup(block_state.user.buf);
5522 <    conf->host = xstrdup(block_state.host.buf);
5523 <
5524 <    if (block_state.rpass.buf[0])
5525 <      conf->reason = xstrdup(block_state.rpass.buf);
5526 <    else
5527 <      conf->reason = xstrdup(CONF_NOREASON);
5528 <    add_conf_by_address(CONF_KLINE, conf);
5529 <  }
5530 < }
5531 <    break;
5532 <
5533 <  case 390:
5534 < /* Line 1792 of yacc.c  */
5535 < #line 2146 "conf_parser.y"
5536 <    {
5537 <  if (conf_parser_ctx.pass == 2)
5538 <    block_state.port.value = 0;
5539 < }
5540 <    break;
5541 <
5542 <  case 394:
5543 < /* Line 1792 of yacc.c  */
5544 < #line 2153 "conf_parser.y"
5545 <    {
5546 <  if (conf_parser_ctx.pass == 2)
5547 <    block_state.port.value = 1;
5385 >    conf->reason = xstrdup(CONF_NOREASON);
5386 >  add_conf_by_address(CONF_KLINE, conf);
5387   }
5388 + #line 5389 "conf_parser.c" /* yacc.c:1646  */
5389      break;
5390  
5391 <  case 401:
5392 < /* Line 1792 of yacc.c  */
5553 < #line 2162 "conf_parser.y"
5391 >  case 431:
5392 > #line 2285 "conf_parser.y" /* yacc.c:1646  */
5393      {
5394  
5395    if (conf_parser_ctx.pass == 2)
# Line 5569 | Line 5408 | yyreduce:
5408      split_nuh(&nuh);
5409    }
5410   }
5411 + #line 5412 "conf_parser.c" /* yacc.c:1646  */
5412      break;
5413  
5414 <  case 402:
5415 < /* Line 1792 of yacc.c  */
5576 < #line 2182 "conf_parser.y"
5414 >  case 432:
5415 > #line 2305 "conf_parser.y" /* yacc.c:1646  */
5416      {
5417    if (conf_parser_ctx.pass == 2)
5418      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5419   }
5420 + #line 5421 "conf_parser.c" /* yacc.c:1646  */
5421      break;
5422  
5423 <  case 403:
5424 < /* Line 1792 of yacc.c  */
5585 < #line 2191 "conf_parser.y"
5423 >  case 433:
5424 > #line 2314 "conf_parser.y" /* yacc.c:1646  */
5425      {
5426    if (conf_parser_ctx.pass == 2)
5427      reset_block_state();
5428   }
5429 + #line 5430 "conf_parser.c" /* yacc.c:1646  */
5430      break;
5431  
5432 <  case 404:
5433 < /* Line 1792 of yacc.c  */
5594 < #line 2195 "conf_parser.y"
5432 >  case 434:
5433 > #line 2318 "conf_parser.y" /* yacc.c:1646  */
5434      {
5435    struct MaskItem *conf = NULL;
5436  
# Line 5613 | Line 5452 | yyreduce:
5452      add_conf_by_address(CONF_DLINE, conf);
5453    }
5454   }
5455 + #line 5456 "conf_parser.c" /* yacc.c:1646  */
5456      break;
5457  
5458 <  case 410:
5459 < /* Line 1792 of yacc.c  */
5620 < #line 2221 "conf_parser.y"
5458 >  case 440:
5459 > #line 2344 "conf_parser.y" /* yacc.c:1646  */
5460      {
5461    if (conf_parser_ctx.pass == 2)
5462      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5463   }
5464 + #line 5465 "conf_parser.c" /* yacc.c:1646  */
5465      break;
5466  
5467 <  case 411:
5468 < /* Line 1792 of yacc.c  */
5629 < #line 2227 "conf_parser.y"
5467 >  case 441:
5468 > #line 2350 "conf_parser.y" /* yacc.c:1646  */
5469      {
5470    if (conf_parser_ctx.pass == 2)
5471      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5472   }
5473 + #line 5474 "conf_parser.c" /* yacc.c:1646  */
5474      break;
5475  
5476 <  case 417:
5477 < /* Line 1792 of yacc.c  */
5638 < #line 2241 "conf_parser.y"
5476 >  case 447:
5477 > #line 2364 "conf_parser.y" /* yacc.c:1646  */
5478      {
5479    if (conf_parser_ctx.pass == 2)
5480    {
# Line 5648 | Line 5487 | yyreduce:
5487      }
5488    }
5489   }
5490 + #line 5491 "conf_parser.c" /* yacc.c:1646  */
5491      break;
5492  
5493 <  case 418:
5494 < /* Line 1792 of yacc.c  */
5655 < #line 2258 "conf_parser.y"
5493 >  case 448:
5494 > #line 2381 "conf_parser.y" /* yacc.c:1646  */
5495      {
5496    if (conf_parser_ctx.pass == 2)
5497      reset_block_state();
5498   }
5499 + #line 5500 "conf_parser.c" /* yacc.c:1646  */
5500      break;
5501  
5502 <  case 419:
5503 < /* Line 1792 of yacc.c  */
5664 < #line 2262 "conf_parser.y"
5502 >  case 449:
5503 > #line 2385 "conf_parser.y" /* yacc.c:1646  */
5504      {
5505    struct MaskItem *conf = NULL;
5506  
# Line 5671 | Line 5510 | yyreduce:
5510    if (!block_state.name.buf[0])
5511      break;
5512  
5513 <  if (block_state.port.value == 1)
5675 <  {
5676 < #ifdef HAVE_LIBPCRE
5677 <    void *exp_p = NULL;
5678 <    const char *errptr = NULL;
5679 <
5680 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5681 <    {
5682 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5683 <           errptr);
5684 <      break;
5685 <    }
5686 <
5687 <    conf = conf_make(CONF_RXLINE);
5688 <    conf->regexuser = exp_p;
5689 < #else
5690 <    conf_error_report("Failed to add regular expression based X-Line: no PCRE support");
5691 <    break;
5692 < #endif
5693 <  }
5694 <  else
5695 <    conf = conf_make(CONF_XLINE);
5696 <
5513 >  conf = conf_make(CONF_XLINE);
5514    conf->name = xstrdup(block_state.name.buf);
5515  
5516    if (block_state.rpass.buf[0])
# Line 5701 | Line 5518 | yyreduce:
5518    else
5519      conf->reason = xstrdup(CONF_NOREASON);
5520   }
5521 + #line 5522 "conf_parser.c" /* yacc.c:1646  */
5522      break;
5523  
5524 <  case 420:
5525 < /* Line 1792 of yacc.c  */
5708 < #line 2303 "conf_parser.y"
5524 >  case 455:
5525 > #line 2407 "conf_parser.y" /* yacc.c:1646  */
5526      {
5527    if (conf_parser_ctx.pass == 2)
5528 <    block_state.port.value = 0;
5528 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5529   }
5530 + #line 5531 "conf_parser.c" /* yacc.c:1646  */
5531      break;
5532  
5533 <  case 424:
5534 < /* Line 1792 of yacc.c  */
5717 < #line 2310 "conf_parser.y"
5533 >  case 456:
5534 > #line 2413 "conf_parser.y" /* yacc.c:1646  */
5535      {
5536    if (conf_parser_ctx.pass == 2)
5537 <    block_state.port.value = 1;
5537 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5538   }
5539 + #line 5540 "conf_parser.c" /* yacc.c:1646  */
5540      break;
5541  
5542 <  case 431:
5543 < /* Line 1792 of yacc.c  */
5726 < #line 2319 "conf_parser.y"
5542 >  case 510:
5543 > #line 2458 "conf_parser.y" /* yacc.c:1646  */
5544      {
5545 <  if (conf_parser_ctx.pass == 2)
5729 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5545 >  ConfigFileEntry.max_watch = (yyvsp[-1].number);
5546   }
5547 + #line 5548 "conf_parser.c" /* yacc.c:1646  */
5548      break;
5549  
5550 <  case 432:
5551 < /* Line 1792 of yacc.c  */
5735 < #line 2325 "conf_parser.y"
5550 >  case 511:
5551 > #line 2463 "conf_parser.y" /* yacc.c:1646  */
5552      {
5553    if (conf_parser_ctx.pass == 2)
5554 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5554 >    ConfigFileEntry.cycle_on_host_change = yylval.number;
5555   }
5556 + #line 5557 "conf_parser.c" /* yacc.c:1646  */
5557      break;
5558  
5559 <  case 486:
5560 < /* Line 1792 of yacc.c  */
5744 < #line 2370 "conf_parser.y"
5745 <    {
5746 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5747 < }
5748 <    break;
5749 <
5750 <  case 487:
5751 < /* Line 1792 of yacc.c  */
5752 < #line 2375 "conf_parser.y"
5559 >  case 512:
5560 > #line 2469 "conf_parser.y" /* yacc.c:1646  */
5561      {
5562    if (conf_parser_ctx.pass == 2)
5563      ConfigFileEntry.glines = yylval.number;
5564   }
5565 + #line 5566 "conf_parser.c" /* yacc.c:1646  */
5566      break;
5567  
5568 <  case 488:
5569 < /* Line 1792 of yacc.c  */
5761 < #line 2381 "conf_parser.y"
5568 >  case 513:
5569 > #line 2475 "conf_parser.y" /* yacc.c:1646  */
5570      {
5571    if (conf_parser_ctx.pass == 2)
5572 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5572 >    ConfigFileEntry.gline_time = (yyvsp[-1].number);
5573   }
5574 + #line 5575 "conf_parser.c" /* yacc.c:1646  */
5575      break;
5576  
5577 <  case 489:
5578 < /* Line 1792 of yacc.c  */
5770 < #line 2387 "conf_parser.y"
5577 >  case 514:
5578 > #line 2481 "conf_parser.y" /* yacc.c:1646  */
5579      {
5580    if (conf_parser_ctx.pass == 2)
5581 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5581 >    ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5582   }
5583 + #line 5584 "conf_parser.c" /* yacc.c:1646  */
5584      break;
5585  
5586 <  case 490:
5587 < /* Line 1792 of yacc.c  */
5779 < #line 2393 "conf_parser.y"
5586 >  case 515:
5587 > #line 2487 "conf_parser.y" /* yacc.c:1646  */
5588      {
5589 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5589 >  ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5590   }
5591 + #line 5592 "conf_parser.c" /* yacc.c:1646  */
5592      break;
5593  
5594 <  case 491:
5595 < /* Line 1792 of yacc.c  */
5787 < #line 2398 "conf_parser.y"
5594 >  case 516:
5595 > #line 2492 "conf_parser.y" /* yacc.c:1646  */
5596      {
5597 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5597 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5598   }
5599 + #line 5600 "conf_parser.c" /* yacc.c:1646  */
5600      break;
5601  
5602 <  case 492:
5603 < /* Line 1792 of yacc.c  */
5795 < #line 2403 "conf_parser.y"
5602 >  case 517:
5603 > #line 2497 "conf_parser.y" /* yacc.c:1646  */
5604      {
5605    ConfigFileEntry.tkline_expire_notices = yylval.number;
5606   }
5607 + #line 5608 "conf_parser.c" /* yacc.c:1646  */
5608      break;
5609  
5610 <  case 493:
5611 < /* Line 1792 of yacc.c  */
5803 < #line 2408 "conf_parser.y"
5610 >  case 518:
5611 > #line 2502 "conf_parser.y" /* yacc.c:1646  */
5612      {
5613 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5613 >  ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5614   }
5615 + #line 5616 "conf_parser.c" /* yacc.c:1646  */
5616      break;
5617  
5618 <  case 494:
5619 < /* Line 1792 of yacc.c  */
5811 < #line 2413 "conf_parser.y"
5618 >  case 519:
5619 > #line 2507 "conf_parser.y" /* yacc.c:1646  */
5620      {
5621    ConfigFileEntry.hide_spoof_ips = yylval.number;
5622   }
5623 + #line 5624 "conf_parser.c" /* yacc.c:1646  */
5624      break;
5625  
5626 <  case 495:
5627 < /* Line 1792 of yacc.c  */
5819 < #line 2418 "conf_parser.y"
5626 >  case 520:
5627 > #line 2512 "conf_parser.y" /* yacc.c:1646  */
5628      {
5629    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5630   }
5631 + #line 5632 "conf_parser.c" /* yacc.c:1646  */
5632      break;
5633  
5634 <  case 496:
5635 < /* Line 1792 of yacc.c  */
5827 < #line 2423 "conf_parser.y"
5828 <    {
5829 <  ConfigFileEntry.disable_remote = yylval.number;
5830 < }
5831 <    break;
5832 <
5833 <  case 497:
5834 < /* Line 1792 of yacc.c  */
5835 < #line 2428 "conf_parser.y"
5634 >  case 521:
5635 > #line 2517 "conf_parser.y" /* yacc.c:1646  */
5636      {
5637    ConfigFileEntry.failed_oper_notice = yylval.number;
5638   }
5639 + #line 5640 "conf_parser.c" /* yacc.c:1646  */
5640      break;
5641  
5642 <  case 498:
5643 < /* Line 1792 of yacc.c  */
5843 < #line 2433 "conf_parser.y"
5642 >  case 522:
5643 > #line 2522 "conf_parser.y" /* yacc.c:1646  */
5644      {
5645    ConfigFileEntry.anti_nick_flood = yylval.number;
5646   }
5647 + #line 5648 "conf_parser.c" /* yacc.c:1646  */
5648      break;
5649  
5650 <  case 499:
5651 < /* Line 1792 of yacc.c  */
5851 < #line 2438 "conf_parser.y"
5650 >  case 523:
5651 > #line 2527 "conf_parser.y" /* yacc.c:1646  */
5652      {
5653 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5653 >  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5654   }
5655 + #line 5656 "conf_parser.c" /* yacc.c:1646  */
5656      break;
5657  
5658 <  case 500:
5659 < /* Line 1792 of yacc.c  */
5859 < #line 2443 "conf_parser.y"
5658 >  case 524:
5659 > #line 2532 "conf_parser.y" /* yacc.c:1646  */
5660      {
5661 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5661 >  ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5662   }
5663 + #line 5664 "conf_parser.c" /* yacc.c:1646  */
5664      break;
5665  
5666 <  case 501:
5667 < /* Line 1792 of yacc.c  */
5867 < #line 2448 "conf_parser.y"
5666 >  case 525:
5667 > #line 2537 "conf_parser.y" /* yacc.c:1646  */
5668      {
5669 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5669 >  ConfigFileEntry.max_accept = (yyvsp[-1].number);
5670   }
5671 + #line 5672 "conf_parser.c" /* yacc.c:1646  */
5672      break;
5673  
5674 <  case 502:
5675 < /* Line 1792 of yacc.c  */
5875 < #line 2453 "conf_parser.y"
5674 >  case 526:
5675 > #line 2542 "conf_parser.y" /* yacc.c:1646  */
5676      {
5677 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5677 >  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5678   }
5679 + #line 5680 "conf_parser.c" /* yacc.c:1646  */
5680      break;
5681  
5682 <  case 503:
5683 < /* Line 1792 of yacc.c  */
5883 < #line 2458 "conf_parser.y"
5682 >  case 527:
5683 > #line 2547 "conf_parser.y" /* yacc.c:1646  */
5684      {
5685 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5685 >  ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5686   }
5687 + #line 5688 "conf_parser.c" /* yacc.c:1646  */
5688      break;
5689  
5690 <  case 504:
5691 < /* Line 1792 of yacc.c  */
5891 < #line 2463 "conf_parser.y"
5690 >  case 528:
5691 > #line 2552 "conf_parser.y" /* yacc.c:1646  */
5692      {
5693    if (conf_parser_ctx.pass == 2)
5694 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5694 >    ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5695   }
5696 + #line 5697 "conf_parser.c" /* yacc.c:1646  */
5697      break;
5698  
5699 <  case 505:
5700 < /* Line 1792 of yacc.c  */
5900 < #line 2469 "conf_parser.y"
5699 >  case 529:
5700 > #line 2558 "conf_parser.y" /* yacc.c:1646  */
5701      {
5702 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5702 >  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5703    {
5704      ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5705      ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
# Line 5907 | Line 5707 | yyreduce:
5707      exit(0);
5708    }
5709   }
5710 + #line 5711 "conf_parser.c" /* yacc.c:1646  */
5711      break;
5712  
5713 <  case 506:
5714 < /* Line 1792 of yacc.c  */
5914 < #line 2480 "conf_parser.y"
5713 >  case 530:
5714 > #line 2569 "conf_parser.y" /* yacc.c:1646  */
5715      {
5716    ConfigFileEntry.invisible_on_connect = yylval.number;
5717   }
5718 + #line 5719 "conf_parser.c" /* yacc.c:1646  */
5719      break;
5720  
5721 <  case 507:
5722 < /* Line 1792 of yacc.c  */
5922 < #line 2485 "conf_parser.y"
5721 >  case 531:
5722 > #line 2574 "conf_parser.y" /* yacc.c:1646  */
5723      {
5724    ConfigFileEntry.warn_no_nline = yylval.number;
5725   }
5726 + #line 5727 "conf_parser.c" /* yacc.c:1646  */
5727      break;
5728  
5729 <  case 508:
5730 < /* Line 1792 of yacc.c  */
5930 < #line 2490 "conf_parser.y"
5729 >  case 532:
5730 > #line 2579 "conf_parser.y" /* yacc.c:1646  */
5731      {
5732    ConfigFileEntry.stats_e_disabled = yylval.number;
5733   }
5734 + #line 5735 "conf_parser.c" /* yacc.c:1646  */
5735      break;
5736  
5737 <  case 509:
5738 < /* Line 1792 of yacc.c  */
5938 < #line 2495 "conf_parser.y"
5737 >  case 533:
5738 > #line 2584 "conf_parser.y" /* yacc.c:1646  */
5739      {
5740    ConfigFileEntry.stats_o_oper_only = yylval.number;
5741   }
5742 + #line 5743 "conf_parser.c" /* yacc.c:1646  */
5743      break;
5744  
5745 <  case 510:
5746 < /* Line 1792 of yacc.c  */
5946 < #line 2500 "conf_parser.y"
5745 >  case 534:
5746 > #line 2589 "conf_parser.y" /* yacc.c:1646  */
5747      {
5748    ConfigFileEntry.stats_P_oper_only = yylval.number;
5749   }
5750 + #line 5751 "conf_parser.c" /* yacc.c:1646  */
5751      break;
5752  
5753 <  case 511:
5754 < /* Line 1792 of yacc.c  */
5755 < #line 2505 "conf_parser.y"
5753 >  case 535:
5754 > #line 2594 "conf_parser.y" /* yacc.c:1646  */
5755 >    {
5756 >  ConfigFileEntry.stats_u_oper_only = yylval.number;
5757 > }
5758 > #line 5759 "conf_parser.c" /* yacc.c:1646  */
5759 >    break;
5760 >
5761 >  case 536:
5762 > #line 2599 "conf_parser.y" /* yacc.c:1646  */
5763      {
5764    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5765   }
5766 + #line 5767 "conf_parser.c" /* yacc.c:1646  */
5767      break;
5768  
5769 <  case 512:
5770 < /* Line 1792 of yacc.c  */
5962 < #line 2508 "conf_parser.y"
5769 >  case 537:
5770 > #line 2602 "conf_parser.y" /* yacc.c:1646  */
5771      {
5772    ConfigFileEntry.stats_k_oper_only = 1;
5773   }
5774 + #line 5775 "conf_parser.c" /* yacc.c:1646  */
5775      break;
5776  
5777 <  case 513:
5778 < /* Line 1792 of yacc.c  */
5970 < #line 2513 "conf_parser.y"
5777 >  case 538:
5778 > #line 2607 "conf_parser.y" /* yacc.c:1646  */
5779      {
5780    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5781   }
5782 + #line 5783 "conf_parser.c" /* yacc.c:1646  */
5783      break;
5784  
5785 <  case 514:
5786 < /* Line 1792 of yacc.c  */
5978 < #line 2516 "conf_parser.y"
5785 >  case 539:
5786 > #line 2610 "conf_parser.y" /* yacc.c:1646  */
5787      {
5788    ConfigFileEntry.stats_i_oper_only = 1;
5789   }
5790 + #line 5791 "conf_parser.c" /* yacc.c:1646  */
5791      break;
5792  
5793 <  case 515:
5794 < /* Line 1792 of yacc.c  */
5986 < #line 2521 "conf_parser.y"
5793 >  case 540:
5794 > #line 2615 "conf_parser.y" /* yacc.c:1646  */
5795      {
5796 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5796 >  ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5797   }
5798 + #line 5799 "conf_parser.c" /* yacc.c:1646  */
5799      break;
5800  
5801 <  case 516:
5802 < /* Line 1792 of yacc.c  */
5994 < #line 2526 "conf_parser.y"
5801 >  case 541:
5802 > #line 2620 "conf_parser.y" /* yacc.c:1646  */
5803      {
5804 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5804 >  ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5805   }
5806 + #line 5807 "conf_parser.c" /* yacc.c:1646  */
5807      break;
5808  
5809 <  case 517:
5810 < /* Line 1792 of yacc.c  */
6002 < #line 2531 "conf_parser.y"
5809 >  case 542:
5810 > #line 2625 "conf_parser.y" /* yacc.c:1646  */
5811      {
5812    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5813   }
5814 + #line 5815 "conf_parser.c" /* yacc.c:1646  */
5815      break;
5816  
5817 <  case 518:
5818 < /* Line 1792 of yacc.c  */
6010 < #line 2536 "conf_parser.y"
5817 >  case 543:
5818 > #line 2630 "conf_parser.y" /* yacc.c:1646  */
5819      {
5820 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5820 >  ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5821   }
5822 + #line 5823 "conf_parser.c" /* yacc.c:1646  */
5823      break;
5824  
5825 <  case 519:
5826 < /* Line 1792 of yacc.c  */
6018 < #line 2541 "conf_parser.y"
5825 >  case 544:
5826 > #line 2635 "conf_parser.y" /* yacc.c:1646  */
5827      {
5828    ConfigFileEntry.short_motd = yylval.number;
5829   }
5830 + #line 5831 "conf_parser.c" /* yacc.c:1646  */
5831      break;
5832  
5833 <  case 520:
5834 < /* Line 1792 of yacc.c  */
6026 < #line 2546 "conf_parser.y"
5833 >  case 545:
5834 > #line 2640 "conf_parser.y" /* yacc.c:1646  */
5835      {
5836    ConfigFileEntry.no_oper_flood = yylval.number;
5837   }
5838 + #line 5839 "conf_parser.c" /* yacc.c:1646  */
5839      break;
5840  
5841 <  case 521:
5842 < /* Line 1792 of yacc.c  */
6034 < #line 2551 "conf_parser.y"
5841 >  case 546:
5842 > #line 2645 "conf_parser.y" /* yacc.c:1646  */
5843      {
5844    ConfigFileEntry.true_no_oper_flood = yylval.number;
5845   }
5846 + #line 5847 "conf_parser.c" /* yacc.c:1646  */
5847      break;
5848  
5849 <  case 522:
5850 < /* Line 1792 of yacc.c  */
6042 < #line 2556 "conf_parser.y"
5849 >  case 547:
5850 > #line 2650 "conf_parser.y" /* yacc.c:1646  */
5851      {
5852    ConfigFileEntry.oper_pass_resv = yylval.number;
5853   }
5854 + #line 5855 "conf_parser.c" /* yacc.c:1646  */
5855      break;
5856  
5857 <  case 523:
5858 < /* Line 1792 of yacc.c  */
6050 < #line 2561 "conf_parser.y"
6051 <    {
6052 <  if (conf_parser_ctx.pass == 2)
6053 <  {
6054 <    if (strlen(yylval.string) > LOCALE_LENGTH-2)
6055 <      yylval.string[LOCALE_LENGTH-1] = '\0';
6056 <
6057 <    set_locale(yylval.string);
6058 <  }
6059 < }
6060 <    break;
6061 <
6062 <  case 524:
6063 < /* Line 1792 of yacc.c  */
6064 < #line 2572 "conf_parser.y"
5857 >  case 548:
5858 > #line 2655 "conf_parser.y" /* yacc.c:1646  */
5859      {
5860 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5860 >  ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5861   }
5862 + #line 5863 "conf_parser.c" /* yacc.c:1646  */
5863      break;
5864  
5865 <  case 525:
5866 < /* Line 1792 of yacc.c  */
6072 < #line 2577 "conf_parser.y"
5865 >  case 549:
5866 > #line 2660 "conf_parser.y" /* yacc.c:1646  */
5867      {
5868 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5868 >  ConfigFileEntry.max_targets = (yyvsp[-1].number);
5869   }
5870 + #line 5871 "conf_parser.c" /* yacc.c:1646  */
5871      break;
5872  
5873 <  case 526:
5874 < /* Line 1792 of yacc.c  */
6080 < #line 2582 "conf_parser.y"
5873 >  case 550:
5874 > #line 2665 "conf_parser.y" /* yacc.c:1646  */
5875      {
5876    ConfigFileEntry.use_egd = yylval.number;
5877   }
5878 + #line 5879 "conf_parser.c" /* yacc.c:1646  */
5879      break;
5880  
5881 <  case 527:
5882 < /* Line 1792 of yacc.c  */
6088 < #line 2587 "conf_parser.y"
5881 >  case 551:
5882 > #line 2670 "conf_parser.y" /* yacc.c:1646  */
5883      {
5884    if (conf_parser_ctx.pass == 2)
5885    {
# Line 6093 | Line 5887 | yyreduce:
5887      ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
5888    }
5889   }
5890 + #line 5891 "conf_parser.c" /* yacc.c:1646  */
5891      break;
5892  
5893 <  case 528:
5894 < /* Line 1792 of yacc.c  */
6100 < #line 2596 "conf_parser.y"
5893 >  case 552:
5894 > #line 2679 "conf_parser.y" /* yacc.c:1646  */
5895      {
5896    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
5897    {
# Line 6105 | Line 5899 | yyreduce:
5899      ConfigFileEntry.service_name = xstrdup(yylval.string);
5900    }
5901   }
5902 + #line 5903 "conf_parser.c" /* yacc.c:1646  */
5903      break;
5904  
5905 <  case 529:
5906 < /* Line 1792 of yacc.c  */
6112 < #line 2605 "conf_parser.y"
5905 >  case 553:
5906 > #line 2688 "conf_parser.y" /* yacc.c:1646  */
5907      {
5908    ConfigFileEntry.ping_cookie = yylval.number;
5909   }
5910 + #line 5911 "conf_parser.c" /* yacc.c:1646  */
5911      break;
5912  
5913 <  case 530:
5914 < /* Line 1792 of yacc.c  */
6120 < #line 2610 "conf_parser.y"
5913 >  case 554:
5914 > #line 2693 "conf_parser.y" /* yacc.c:1646  */
5915      {
5916    ConfigFileEntry.disable_auth = yylval.number;
5917   }
5918 + #line 5919 "conf_parser.c" /* yacc.c:1646  */
5919      break;
5920  
5921 <  case 531:
5922 < /* Line 1792 of yacc.c  */
6128 < #line 2615 "conf_parser.y"
5921 >  case 555:
5922 > #line 2698 "conf_parser.y" /* yacc.c:1646  */
5923      {
5924    ConfigFileEntry.throttle_time = yylval.number;
5925   }
5926 + #line 5927 "conf_parser.c" /* yacc.c:1646  */
5927      break;
5928  
5929 <  case 532:
5930 < /* Line 1792 of yacc.c  */
6136 < #line 2620 "conf_parser.y"
5929 >  case 556:
5930 > #line 2703 "conf_parser.y" /* yacc.c:1646  */
5931      {
5932    ConfigFileEntry.oper_umodes = 0;
5933   }
5934 + #line 5935 "conf_parser.c" /* yacc.c:1646  */
5935      break;
5936  
5937 <  case 536:
5938 < /* Line 1792 of yacc.c  */
6144 < #line 2626 "conf_parser.y"
5937 >  case 560:
5938 > #line 2709 "conf_parser.y" /* yacc.c:1646  */
5939      {
5940    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5941   }
5942 + #line 5943 "conf_parser.c" /* yacc.c:1646  */
5943      break;
5944  
5945 <  case 537:
5946 < /* Line 1792 of yacc.c  */
6152 < #line 2629 "conf_parser.y"
5945 >  case 561:
5946 > #line 2712 "conf_parser.y" /* yacc.c:1646  */
5947      {
5948    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5949   }
5950 + #line 5951 "conf_parser.c" /* yacc.c:1646  */
5951      break;
5952  
5953 <  case 538:
5954 < /* Line 1792 of yacc.c  */
6160 < #line 2632 "conf_parser.y"
6161 <    {
6162 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6163 < }
6164 <    break;
6165 <
6166 <  case 539:
6167 < /* Line 1792 of yacc.c  */
6168 < #line 2635 "conf_parser.y"
5953 >  case 562:
5954 > #line 2715 "conf_parser.y" /* yacc.c:1646  */
5955      {
5956    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
5957   }
5958 + #line 5959 "conf_parser.c" /* yacc.c:1646  */
5959      break;
5960  
5961 <  case 540:
5962 < /* Line 1792 of yacc.c  */
6176 < #line 2638 "conf_parser.y"
5961 >  case 563:
5962 > #line 2718 "conf_parser.y" /* yacc.c:1646  */
5963      {
5964    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
5965   }
5966 + #line 5967 "conf_parser.c" /* yacc.c:1646  */
5967      break;
5968  
5969 <  case 541:
5970 < /* Line 1792 of yacc.c  */
6184 < #line 2641 "conf_parser.y"
5969 >  case 564:
5970 > #line 2721 "conf_parser.y" /* yacc.c:1646  */
5971      {
5972    ConfigFileEntry.oper_umodes |= UMODE_FULL;
5973   }
5974 + #line 5975 "conf_parser.c" /* yacc.c:1646  */
5975      break;
5976  
5977 <  case 542:
5978 < /* Line 1792 of yacc.c  */
6192 < #line 2644 "conf_parser.y"
5977 >  case 565:
5978 > #line 2724 "conf_parser.y" /* yacc.c:1646  */
5979      {
5980    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
5981   }
5982 + #line 5983 "conf_parser.c" /* yacc.c:1646  */
5983      break;
5984  
5985 <  case 543:
5986 < /* Line 1792 of yacc.c  */
6200 < #line 2647 "conf_parser.y"
5985 >  case 566:
5986 > #line 2727 "conf_parser.y" /* yacc.c:1646  */
5987      {
5988    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
5989   }
5990 + #line 5991 "conf_parser.c" /* yacc.c:1646  */
5991      break;
5992  
5993 <  case 544:
5994 < /* Line 1792 of yacc.c  */
6208 < #line 2650 "conf_parser.y"
5993 >  case 567:
5994 > #line 2730 "conf_parser.y" /* yacc.c:1646  */
5995      {
5996    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
5997   }
5998 + #line 5999 "conf_parser.c" /* yacc.c:1646  */
5999      break;
6000  
6001 <  case 545:
6002 < /* Line 1792 of yacc.c  */
6216 < #line 2653 "conf_parser.y"
6001 >  case 568:
6002 > #line 2733 "conf_parser.y" /* yacc.c:1646  */
6003      {
6004    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6005   }
6006 + #line 6007 "conf_parser.c" /* yacc.c:1646  */
6007      break;
6008  
6009 <  case 546:
6010 < /* Line 1792 of yacc.c  */
6224 < #line 2656 "conf_parser.y"
6009 >  case 569:
6010 > #line 2736 "conf_parser.y" /* yacc.c:1646  */
6011      {
6012    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6013   }
6014 + #line 6015 "conf_parser.c" /* yacc.c:1646  */
6015      break;
6016  
6017 <  case 547:
6018 < /* Line 1792 of yacc.c  */
6232 < #line 2659 "conf_parser.y"
6017 >  case 570:
6018 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
6019      {
6020    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6021   }
6022 + #line 6023 "conf_parser.c" /* yacc.c:1646  */
6023      break;
6024  
6025 <  case 548:
6026 < /* Line 1792 of yacc.c  */
6240 < #line 2662 "conf_parser.y"
6025 >  case 571:
6026 > #line 2742 "conf_parser.y" /* yacc.c:1646  */
6027      {
6028    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6029   }
6030 + #line 6031 "conf_parser.c" /* yacc.c:1646  */
6031      break;
6032  
6033 <  case 549:
6034 < /* Line 1792 of yacc.c  */
6248 < #line 2665 "conf_parser.y"
6033 >  case 572:
6034 > #line 2745 "conf_parser.y" /* yacc.c:1646  */
6035      {
6036    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6037   }
6038 + #line 6039 "conf_parser.c" /* yacc.c:1646  */
6039      break;
6040  
6041 <  case 550:
6042 < /* Line 1792 of yacc.c  */
6256 < #line 2668 "conf_parser.y"
6041 >  case 573:
6042 > #line 2748 "conf_parser.y" /* yacc.c:1646  */
6043      {
6044    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6045   }
6046 + #line 6047 "conf_parser.c" /* yacc.c:1646  */
6047      break;
6048  
6049 <  case 551:
6050 < /* Line 1792 of yacc.c  */
6264 < #line 2671 "conf_parser.y"
6049 >  case 574:
6050 > #line 2751 "conf_parser.y" /* yacc.c:1646  */
6051      {
6052    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6053   }
6054 + #line 6055 "conf_parser.c" /* yacc.c:1646  */
6055      break;
6056  
6057 <  case 552:
6058 < /* Line 1792 of yacc.c  */
6272 < #line 2674 "conf_parser.y"
6057 >  case 575:
6058 > #line 2754 "conf_parser.y" /* yacc.c:1646  */
6059      {
6060    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6061   }
6062 + #line 6063 "conf_parser.c" /* yacc.c:1646  */
6063      break;
6064  
6065 <  case 553:
6066 < /* Line 1792 of yacc.c  */
6280 < #line 2677 "conf_parser.y"
6065 >  case 576:
6066 > #line 2757 "conf_parser.y" /* yacc.c:1646  */
6067      {
6068    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6069   }
6070 + #line 6071 "conf_parser.c" /* yacc.c:1646  */
6071      break;
6072  
6073 <  case 554:
6074 < /* Line 1792 of yacc.c  */
6288 < #line 2680 "conf_parser.y"
6073 >  case 577:
6074 > #line 2760 "conf_parser.y" /* yacc.c:1646  */
6075      {
6076    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6077   }
6078 + #line 6079 "conf_parser.c" /* yacc.c:1646  */
6079      break;
6080  
6081 <  case 555:
6082 < /* Line 1792 of yacc.c  */
6296 < #line 2683 "conf_parser.y"
6081 >  case 578:
6082 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
6083      {
6084    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6085   }
6086 + #line 6087 "conf_parser.c" /* yacc.c:1646  */
6087      break;
6088  
6089 <  case 556:
6090 < /* Line 1792 of yacc.c  */
6304 < #line 2688 "conf_parser.y"
6089 >  case 579:
6090 > #line 2766 "conf_parser.y" /* yacc.c:1646  */
6091      {
6092 <  ConfigFileEntry.oper_only_umodes = 0;
6092 >  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6093   }
6094 + #line 6095 "conf_parser.c" /* yacc.c:1646  */
6095      break;
6096  
6097 <  case 560:
6098 < /* Line 1792 of yacc.c  */
6312 < #line 2694 "conf_parser.y"
6097 >  case 580:
6098 > #line 2769 "conf_parser.y" /* yacc.c:1646  */
6099      {
6100 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6100 >  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6101   }
6102 + #line 6103 "conf_parser.c" /* yacc.c:1646  */
6103      break;
6104  
6105 <  case 561:
6106 < /* Line 1792 of yacc.c  */
6320 < #line 2697 "conf_parser.y"
6105 >  case 581:
6106 > #line 2774 "conf_parser.y" /* yacc.c:1646  */
6107      {
6108 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6108 >  ConfigFileEntry.oper_only_umodes = 0;
6109   }
6110 + #line 6111 "conf_parser.c" /* yacc.c:1646  */
6111      break;
6112  
6113 <  case 562:
6114 < /* Line 1792 of yacc.c  */
6328 < #line 2700 "conf_parser.y"
6113 >  case 585:
6114 > #line 2780 "conf_parser.y" /* yacc.c:1646  */
6115      {
6116 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6116 >  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6117   }
6118 + #line 6119 "conf_parser.c" /* yacc.c:1646  */
6119      break;
6120  
6121 <  case 563:
6122 < /* Line 1792 of yacc.c  */
6123 < #line 2703 "conf_parser.y"
6121 >  case 586:
6122 > #line 2783 "conf_parser.y" /* yacc.c:1646  */
6123 >    {
6124 >  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6125 > }
6126 > #line 6127 "conf_parser.c" /* yacc.c:1646  */
6127 >    break;
6128 >
6129 >  case 587:
6130 > #line 2786 "conf_parser.y" /* yacc.c:1646  */
6131      {
6132    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6133   }
6134 + #line 6135 "conf_parser.c" /* yacc.c:1646  */
6135      break;
6136  
6137 <  case 564:
6138 < /* Line 1792 of yacc.c  */
6344 < #line 2706 "conf_parser.y"
6137 >  case 588:
6138 > #line 2789 "conf_parser.y" /* yacc.c:1646  */
6139      {
6140    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6141   }
6142 + #line 6143 "conf_parser.c" /* yacc.c:1646  */
6143      break;
6144  
6145 <  case 565:
6146 < /* Line 1792 of yacc.c  */
6352 < #line 2709 "conf_parser.y"
6145 >  case 589:
6146 > #line 2792 "conf_parser.y" /* yacc.c:1646  */
6147      {
6148    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6149   }
6150 + #line 6151 "conf_parser.c" /* yacc.c:1646  */
6151      break;
6152  
6153 <  case 566:
6154 < /* Line 1792 of yacc.c  */
6360 < #line 2712 "conf_parser.y"
6153 >  case 590:
6154 > #line 2795 "conf_parser.y" /* yacc.c:1646  */
6155      {
6156    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6157   }
6158 + #line 6159 "conf_parser.c" /* yacc.c:1646  */
6159      break;
6160  
6161 <  case 567:
6162 < /* Line 1792 of yacc.c  */
6368 < #line 2715 "conf_parser.y"
6161 >  case 591:
6162 > #line 2798 "conf_parser.y" /* yacc.c:1646  */
6163      {
6164    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6165   }
6166 + #line 6167 "conf_parser.c" /* yacc.c:1646  */
6167      break;
6168  
6169 <  case 568:
6170 < /* Line 1792 of yacc.c  */
6376 < #line 2718 "conf_parser.y"
6169 >  case 592:
6170 > #line 2801 "conf_parser.y" /* yacc.c:1646  */
6171      {
6172    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6173   }
6174 + #line 6175 "conf_parser.c" /* yacc.c:1646  */
6175      break;
6176  
6177 <  case 569:
6178 < /* Line 1792 of yacc.c  */
6384 < #line 2721 "conf_parser.y"
6177 >  case 593:
6178 > #line 2804 "conf_parser.y" /* yacc.c:1646  */
6179      {
6180    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6181   }
6182 + #line 6183 "conf_parser.c" /* yacc.c:1646  */
6183      break;
6184  
6185 <  case 570:
6186 < /* Line 1792 of yacc.c  */
6392 < #line 2724 "conf_parser.y"
6185 >  case 594:
6186 > #line 2807 "conf_parser.y" /* yacc.c:1646  */
6187      {
6188    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6189   }
6190 + #line 6191 "conf_parser.c" /* yacc.c:1646  */
6191      break;
6192  
6193 <  case 571:
6194 < /* Line 1792 of yacc.c  */
6400 < #line 2727 "conf_parser.y"
6193 >  case 595:
6194 > #line 2810 "conf_parser.y" /* yacc.c:1646  */
6195      {
6196    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6197   }
6198 + #line 6199 "conf_parser.c" /* yacc.c:1646  */
6199      break;
6200  
6201 <  case 572:
6202 < /* Line 1792 of yacc.c  */
6408 < #line 2730 "conf_parser.y"
6201 >  case 596:
6202 > #line 2813 "conf_parser.y" /* yacc.c:1646  */
6203      {
6204    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6205   }
6206 + #line 6207 "conf_parser.c" /* yacc.c:1646  */
6207      break;
6208  
6209 <  case 573:
6210 < /* Line 1792 of yacc.c  */
6416 < #line 2733 "conf_parser.y"
6209 >  case 597:
6210 > #line 2816 "conf_parser.y" /* yacc.c:1646  */
6211      {
6212    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6213   }
6214 + #line 6215 "conf_parser.c" /* yacc.c:1646  */
6215      break;
6216  
6217 <  case 574:
6218 < /* Line 1792 of yacc.c  */
6424 < #line 2736 "conf_parser.y"
6217 >  case 598:
6218 > #line 2819 "conf_parser.y" /* yacc.c:1646  */
6219      {
6220    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6221   }
6222 + #line 6223 "conf_parser.c" /* yacc.c:1646  */
6223      break;
6224  
6225 <  case 575:
6226 < /* Line 1792 of yacc.c  */
6432 < #line 2739 "conf_parser.y"
6225 >  case 599:
6226 > #line 2822 "conf_parser.y" /* yacc.c:1646  */
6227      {
6228    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6229   }
6230 + #line 6231 "conf_parser.c" /* yacc.c:1646  */
6231      break;
6232  
6233 <  case 576:
6234 < /* Line 1792 of yacc.c  */
6440 < #line 2742 "conf_parser.y"
6233 >  case 600:
6234 > #line 2825 "conf_parser.y" /* yacc.c:1646  */
6235      {
6236    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6237   }
6238 + #line 6239 "conf_parser.c" /* yacc.c:1646  */
6239      break;
6240  
6241 <  case 577:
6242 < /* Line 1792 of yacc.c  */
6448 < #line 2745 "conf_parser.y"
6241 >  case 601:
6242 > #line 2828 "conf_parser.y" /* yacc.c:1646  */
6243      {
6244    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6245   }
6246 + #line 6247 "conf_parser.c" /* yacc.c:1646  */
6247      break;
6248  
6249 <  case 578:
6250 < /* Line 1792 of yacc.c  */
6456 < #line 2748 "conf_parser.y"
6249 >  case 602:
6250 > #line 2831 "conf_parser.y" /* yacc.c:1646  */
6251      {
6252    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6253   }
6254 + #line 6255 "conf_parser.c" /* yacc.c:1646  */
6255      break;
6256  
6257 <  case 579:
6258 < /* Line 1792 of yacc.c  */
6464 < #line 2751 "conf_parser.y"
6257 >  case 603:
6258 > #line 2834 "conf_parser.y" /* yacc.c:1646  */
6259      {
6260    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6261   }
6262 + #line 6263 "conf_parser.c" /* yacc.c:1646  */
6263      break;
6264  
6265 <  case 580:
6266 < /* Line 1792 of yacc.c  */
6472 < #line 2756 "conf_parser.y"
6265 >  case 604:
6266 > #line 2837 "conf_parser.y" /* yacc.c:1646  */
6267      {
6268 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6268 >  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6269   }
6270 + #line 6271 "conf_parser.c" /* yacc.c:1646  */
6271      break;
6272  
6273 <  case 581:
6274 < /* Line 1792 of yacc.c  */
6480 < #line 2761 "conf_parser.y"
6273 >  case 605:
6274 > #line 2840 "conf_parser.y" /* yacc.c:1646  */
6275      {
6276 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6276 >  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6277   }
6278 + #line 6279 "conf_parser.c" /* yacc.c:1646  */
6279      break;
6280  
6281 <  case 582:
6282 < /* Line 1792 of yacc.c  */
6488 < #line 2766 "conf_parser.y"
6281 >  case 606:
6282 > #line 2845 "conf_parser.y" /* yacc.c:1646  */
6283      {
6284 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6284 >  ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6285   }
6286 + #line 6287 "conf_parser.c" /* yacc.c:1646  */
6287      break;
6288  
6289 <  case 601:
6290 < /* Line 1792 of yacc.c  */
6496 < #line 2789 "conf_parser.y"
6289 >  case 607:
6290 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6291      {
6292 <  ConfigChannel.disable_fake_channels = yylval.number;
6292 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6293   }
6294 + #line 6295 "conf_parser.c" /* yacc.c:1646  */
6295      break;
6296  
6297 <  case 602:
6298 < /* Line 1792 of yacc.c  */
6504 < #line 2794 "conf_parser.y"
6297 >  case 608:
6298 > #line 2855 "conf_parser.y" /* yacc.c:1646  */
6299      {
6300 <  ConfigChannel.restrict_channels = yylval.number;
6300 >  ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6301   }
6302 + #line 6303 "conf_parser.c" /* yacc.c:1646  */
6303      break;
6304  
6305 <  case 603:
6306 < /* Line 1792 of yacc.c  */
6512 < #line 2799 "conf_parser.y"
6305 >  case 625:
6306 > #line 2878 "conf_parser.y" /* yacc.c:1646  */
6307      {
6308 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6308 >  ConfigChannel.disable_fake_channels = yylval.number;
6309   }
6310 + #line 6311 "conf_parser.c" /* yacc.c:1646  */
6311      break;
6312  
6313 <  case 604:
6314 < /* Line 1792 of yacc.c  */
6520 < #line 2804 "conf_parser.y"
6313 >  case 626:
6314 > #line 2883 "conf_parser.y" /* yacc.c:1646  */
6315      {
6316 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6316 >  ConfigChannel.knock_delay = (yyvsp[-1].number);
6317   }
6318 + #line 6319 "conf_parser.c" /* yacc.c:1646  */
6319      break;
6320  
6321 <  case 605:
6322 < /* Line 1792 of yacc.c  */
6528 < #line 2809 "conf_parser.y"
6321 >  case 627:
6322 > #line 2888 "conf_parser.y" /* yacc.c:1646  */
6323      {
6324 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6324 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6325   }
6326 + #line 6327 "conf_parser.c" /* yacc.c:1646  */
6327      break;
6328  
6329 <  case 606:
6330 < /* Line 1792 of yacc.c  */
6536 < #line 2814 "conf_parser.y"
6329 >  case 628:
6330 > #line 2893 "conf_parser.y" /* yacc.c:1646  */
6331      {
6332 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6332 >  ConfigChannel.max_chans_per_user = (yyvsp[-1].number);
6333   }
6334 + #line 6335 "conf_parser.c" /* yacc.c:1646  */
6335      break;
6336  
6337 <  case 607:
6338 < /* Line 1792 of yacc.c  */
6544 < #line 2819 "conf_parser.y"
6337 >  case 629:
6338 > #line 2898 "conf_parser.y" /* yacc.c:1646  */
6339      {
6340 <  ConfigChannel.quiet_on_ban = yylval.number;
6340 >  ConfigChannel.max_chans_per_oper = (yyvsp[-1].number);
6341   }
6342 + #line 6343 "conf_parser.c" /* yacc.c:1646  */
6343      break;
6344  
6345 <  case 608:
6346 < /* Line 1792 of yacc.c  */
6552 < #line 2824 "conf_parser.y"
6345 >  case 630:
6346 > #line 2903 "conf_parser.y" /* yacc.c:1646  */
6347      {
6348 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6348 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6349   }
6350 + #line 6351 "conf_parser.c" /* yacc.c:1646  */
6351      break;
6352  
6353 <  case 609:
6354 < /* Line 1792 of yacc.c  */
6560 < #line 2829 "conf_parser.y"
6353 >  case 631:
6354 > #line 2908 "conf_parser.y" /* yacc.c:1646  */
6355      {
6356 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6356 >  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6357   }
6358 + #line 6359 "conf_parser.c" /* yacc.c:1646  */
6359      break;
6360  
6361 <  case 610:
6362 < /* Line 1792 of yacc.c  */
6568 < #line 2834 "conf_parser.y"
6361 >  case 632:
6362 > #line 2913 "conf_parser.y" /* yacc.c:1646  */
6363      {
6364 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6364 >  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6365   }
6366 + #line 6367 "conf_parser.c" /* yacc.c:1646  */
6367      break;
6368  
6369 <  case 611:
6370 < /* Line 1792 of yacc.c  */
6576 < #line 2839 "conf_parser.y"
6369 >  case 633:
6370 > #line 2918 "conf_parser.y" /* yacc.c:1646  */
6371      {
6372    ConfigChannel.no_create_on_split = yylval.number;
6373   }
6374 + #line 6375 "conf_parser.c" /* yacc.c:1646  */
6375      break;
6376  
6377 <  case 612:
6378 < /* Line 1792 of yacc.c  */
6584 < #line 2844 "conf_parser.y"
6377 >  case 634:
6378 > #line 2923 "conf_parser.y" /* yacc.c:1646  */
6379      {
6380    ConfigChannel.no_join_on_split = yylval.number;
6381   }
6382 + #line 6383 "conf_parser.c" /* yacc.c:1646  */
6383      break;
6384  
6385 <  case 613:
6386 < /* Line 1792 of yacc.c  */
6592 < #line 2849 "conf_parser.y"
6385 >  case 635:
6386 > #line 2928 "conf_parser.y" /* yacc.c:1646  */
6387      {
6388    GlobalSetOptions.joinfloodcount = yylval.number;
6389   }
6390 + #line 6391 "conf_parser.c" /* yacc.c:1646  */
6391      break;
6392  
6393 <  case 614:
6394 < /* Line 1792 of yacc.c  */
6600 < #line 2854 "conf_parser.y"
6393 >  case 636:
6394 > #line 2933 "conf_parser.y" /* yacc.c:1646  */
6395      {
6396    GlobalSetOptions.joinfloodtime = yylval.number;
6397   }
6398 + #line 6399 "conf_parser.c" /* yacc.c:1646  */
6399      break;
6400  
6401 <  case 625:
6402 < /* Line 1792 of yacc.c  */
6608 < #line 2872 "conf_parser.y"
6401 >  case 649:
6402 > #line 2953 "conf_parser.y" /* yacc.c:1646  */
6403      {
6404    if (conf_parser_ctx.pass == 2)
6405      ConfigServerHide.flatten_links = yylval.number;
6406   }
6407 + #line 6408 "conf_parser.c" /* yacc.c:1646  */
6408      break;
6409  
6410 <  case 626:
6411 < /* Line 1792 of yacc.c  */
6412 < #line 2878 "conf_parser.y"
6410 >  case 650:
6411 > #line 2959 "conf_parser.y" /* yacc.c:1646  */
6412 >    {
6413 >  if (conf_parser_ctx.pass == 2)
6414 >    ConfigServerHide.disable_remote_commands = yylval.number;
6415 > }
6416 > #line 6417 "conf_parser.c" /* yacc.c:1646  */
6417 >    break;
6418 >
6419 >  case 651:
6420 > #line 2965 "conf_parser.y" /* yacc.c:1646  */
6421      {
6422    if (conf_parser_ctx.pass == 2)
6423      ConfigServerHide.hide_servers = yylval.number;
6424   }
6425 + #line 6426 "conf_parser.c" /* yacc.c:1646  */
6426      break;
6427  
6428 <  case 627:
6429 < /* Line 1792 of yacc.c  */
6430 < #line 2884 "conf_parser.y"
6428 >  case 652:
6429 > #line 2971 "conf_parser.y" /* yacc.c:1646  */
6430 >    {
6431 >  if (conf_parser_ctx.pass == 2)
6432 >    ConfigServerHide.hide_services = yylval.number;
6433 > }
6434 > #line 6435 "conf_parser.c" /* yacc.c:1646  */
6435 >    break;
6436 >
6437 >  case 653:
6438 > #line 2977 "conf_parser.y" /* yacc.c:1646  */
6439      {
6440    if (conf_parser_ctx.pass == 2)
6441    {
# Line 6631 | Line 6443 | yyreduce:
6443      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6444    }
6445   }
6446 + #line 6447 "conf_parser.c" /* yacc.c:1646  */
6447      break;
6448  
6449 <  case 628:
6450 < /* Line 1792 of yacc.c  */
6638 < #line 2893 "conf_parser.y"
6449 >  case 654:
6450 > #line 2986 "conf_parser.y" /* yacc.c:1646  */
6451      {
6452    if (conf_parser_ctx.pass == 2)
6453    {
6454 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6454 >    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6455      {
6456 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6456 >      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[-1].number));
6457        ConfigServerHide.links_disabled = 0;
6458      }
6459  
6460 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6460 >    ConfigServerHide.links_delay = (yyvsp[-1].number);
6461    }
6462   }
6463 + #line 6464 "conf_parser.c" /* yacc.c:1646  */
6464      break;
6465  
6466 <  case 629:
6467 < /* Line 1792 of yacc.c  */
6655 < #line 2907 "conf_parser.y"
6466 >  case 655:
6467 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6468      {
6469    if (conf_parser_ctx.pass == 2)
6470      ConfigServerHide.hidden = yylval.number;
6471   }
6472 + #line 6473 "conf_parser.c" /* yacc.c:1646  */
6473      break;
6474  
6475 <  case 630:
6476 < /* Line 1792 of yacc.c  */
6664 < #line 2913 "conf_parser.y"
6475 >  case 656:
6476 > #line 3006 "conf_parser.y" /* yacc.c:1646  */
6477      {
6478    if (conf_parser_ctx.pass == 2)
6479      ConfigServerHide.hide_server_ips = yylval.number;
6480   }
6481 + #line 6482 "conf_parser.c" /* yacc.c:1646  */
6482      break;
6483  
6484  
6485 < /* Line 1792 of yacc.c  */
6673 < #line 6674 "conf_parser.c"
6485 > #line 6486 "conf_parser.c" /* yacc.c:1646  */
6486        default: break;
6487      }
6488    /* User semantic actions sometimes alter yychar, and that requires
# Line 6692 | Line 6504 | yyreduce:
6504  
6505    *++yyvsp = yyval;
6506  
6507 <  /* Now `shift' the result of the reduction.  Determine what state
6507 >  /* Now 'shift' the result of the reduction.  Determine what state
6508       that goes to, based on the state we popped back to and the rule
6509       number reduced by.  */
6510  
# Line 6707 | Line 6519 | yyreduce:
6519    goto yynewstate;
6520  
6521  
6522 < /*------------------------------------.
6523 < | yyerrlab -- here on detecting error |
6524 < `------------------------------------*/
6522 > /*--------------------------------------.
6523 > | yyerrlab -- here on detecting error.  |
6524 > `--------------------------------------*/
6525   yyerrlab:
6526    /* Make sure we have latest lookahead translation.  See comments at
6527       user semantic actions for why this is necessary.  */
# Line 6760 | Line 6572 | yyerrlab:
6572    if (yyerrstatus == 3)
6573      {
6574        /* If just tried and failed to reuse lookahead token after an
6575 <         error, discard it.  */
6575 >         error, discard it.  */
6576  
6577        if (yychar <= YYEOF)
6578 <        {
6579 <          /* Return failure if at end of input.  */
6580 <          if (yychar == YYEOF)
6581 <            YYABORT;
6582 <        }
6578 >        {
6579 >          /* Return failure if at end of input.  */
6580 >          if (yychar == YYEOF)
6581 >            YYABORT;
6582 >        }
6583        else
6584 <        {
6585 <          yydestruct ("Error: discarding",
6586 <                      yytoken, &yylval);
6587 <          yychar = YYEMPTY;
6588 <        }
6584 >        {
6585 >          yydestruct ("Error: discarding",
6586 >                      yytoken, &yylval);
6587 >          yychar = YYEMPTY;
6588 >        }
6589      }
6590  
6591    /* Else will try to reuse lookahead token after shifting the error
# Line 6792 | Line 6604 | yyerrorlab:
6604    if (/*CONSTCOND*/ 0)
6605       goto yyerrorlab;
6606  
6607 <  /* Do not reclaim the symbols of the rule which action triggered
6607 >  /* Do not reclaim the symbols of the rule whose action triggered
6608       this YYERROR.  */
6609    YYPOPSTACK (yylen);
6610    yylen = 0;
# Line 6805 | Line 6617 | yyerrorlab:
6617   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6618   `-------------------------------------------------------------*/
6619   yyerrlab1:
6620 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6620 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6621  
6622    for (;;)
6623      {
6624        yyn = yypact[yystate];
6625        if (!yypact_value_is_default (yyn))
6626 <        {
6627 <          yyn += YYTERROR;
6628 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6629 <            {
6630 <              yyn = yytable[yyn];
6631 <              if (0 < yyn)
6632 <                break;
6633 <            }
6634 <        }
6626 >        {
6627 >          yyn += YYTERROR;
6628 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6629 >            {
6630 >              yyn = yytable[yyn];
6631 >              if (0 < yyn)
6632 >                break;
6633 >            }
6634 >        }
6635  
6636        /* Pop the current state because it cannot handle the error token.  */
6637        if (yyssp == yyss)
6638 <        YYABORT;
6638 >        YYABORT;
6639  
6640  
6641        yydestruct ("Error: popping",
6642 <                  yystos[yystate], yyvsp);
6642 >                  yystos[yystate], yyvsp);
6643        YYPOPSTACK (1);
6644        yystate = *yyssp;
6645        YY_STACK_PRINT (yyss, yyssp);
# Line 6878 | Line 6690 | yyreturn:
6690        yydestruct ("Cleanup: discarding lookahead",
6691                    yytoken, &yylval);
6692      }
6693 <  /* Do not reclaim the symbols of the rule which action triggered
6693 >  /* Do not reclaim the symbols of the rule whose action triggered
6694       this YYABORT or YYACCEPT.  */
6695    YYPOPSTACK (yylen);
6696    YY_STACK_PRINT (yyss, yyssp);
6697    while (yyssp != yyss)
6698      {
6699        yydestruct ("Cleanup: popping",
6700 <                  yystos[*yyssp], yyvsp);
6700 >                  yystos[*yyssp], yyvsp);
6701        YYPOPSTACK (1);
6702      }
6703   #ifndef yyoverflow
# Line 6896 | Line 6708 | yyreturn:
6708    if (yymsg != yymsgbuf)
6709      YYSTACK_FREE (yymsg);
6710   #endif
6711 <  /* Make sure YYID is used.  */
6900 <  return YYID (yyresult);
6711 >  return yyresult;
6712   }
6902
6903

Diff Legend

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