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 1648 by michael, Sat Nov 10 17:34:09 2012 UTC vs.
Revision 2570 by michael, Mon Nov 18 19:14:02 2013 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.6.2.33-cc5a9.  */
1 > /* A Bison parser, made by GNU Bison 3.0.1.  */
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.6.2.33-cc5a9"
47 > #define YYBISON_VERSION "3.0.1"
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 358 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 98 | Line 97
97   #include <openssl/dh.h>
98   #endif
99  
100 + #include "rsa.h"
101 +
102   int yylex(void);
103  
104   static struct
# Line 117 | Line 118 | static struct
118      bind,
119      file,
120      ciph,
121 +    cert,
122      rpass,
123      spass,
124      class;
# Line 132 | 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 173 | Line 177 | reset_block_state(void)
177   }
178  
179  
180 < /* Line 358 of yacc.c  */
177 < #line 178 "conf_parser.c"
180 > #line 181 "conf_parser.c" /* yacc.c:339  */
181  
182 < # ifndef YY_NULL
182 > # ifndef YY_NULLPTR
183   #  if defined __cplusplus && 201103L <= __cplusplus
184 < #   define YY_NULL nullptr
184 > #   define YY_NULLPTR nullptr
185   #  else
186 < #   define YY_NULL 0
186 > #   define YY_NULLPTR 0
187   #  endif
188   # endif
189  
# Line 194 | Line 197 | reset_block_state(void)
197  
198   /* In a future release of Bison, this section will be replaced
199     by #include "y.tab.h".  */
200 < #ifndef YY_YY_Y_TAB_H_INCLUDED
201 < # define YY_YY_Y_TAB_H_INCLUDED
202 < /* Enabling traces.  */
200 > #ifndef YY_YY_CONF_PARSER_H_INCLUDED
201 > # define YY_YY_CONF_PARSER_H_INCLUDED
202 > /* Debug traces.  */
203   #ifndef YYDEBUG
204   # define YYDEBUG 0
205   #endif
# Line 204 | 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_TIME = 335,
294 <     MAX_NUMBER = 336,
295 <     MAX_TARGETS = 337,
296 <     MAX_WATCH = 338,
297 <     MESSAGE_LOCALE = 339,
298 <     MIN_NONWILDCARD = 340,
299 <     MIN_NONWILDCARD_SIMPLE = 341,
300 <     MODULE = 342,
301 <     MODULES = 343,
302 <     NAME = 344,
303 <     NEED_PASSWORD = 345,
304 <     NETWORK_DESC = 346,
305 <     NETWORK_NAME = 347,
306 <     NICK = 348,
307 <     NICK_CHANGES = 349,
308 <     NO_CREATE_ON_SPLIT = 350,
309 <     NO_JOIN_ON_SPLIT = 351,
310 <     NO_OPER_FLOOD = 352,
311 <     NO_TILDE = 353,
312 <     NUMBER = 354,
313 <     NUMBER_PER_CIDR = 355,
314 <     NUMBER_PER_IP = 356,
315 <     OPERATOR = 357,
316 <     OPERS_BYPASS_CALLERID = 358,
317 <     OPER_ONLY_UMODES = 359,
318 <     OPER_PASS_RESV = 360,
319 <     OPER_SPY_T = 361,
320 <     OPER_UMODES = 362,
321 <     JOIN_FLOOD_COUNT = 363,
322 <     JOIN_FLOOD_TIME = 364,
323 <     PACE_WAIT = 365,
324 <     PACE_WAIT_SIMPLE = 366,
325 <     PASSWORD = 367,
326 <     PATH = 368,
327 <     PING_COOKIE = 369,
328 <     PING_TIME = 370,
329 <     PORT = 371,
330 <     QSTRING = 372,
331 <     QUIET_ON_BAN = 373,
332 <     REASON = 374,
333 <     REDIRPORT = 375,
334 <     REDIRSERV = 376,
335 <     REGEX_T = 377,
336 <     REHASH = 378,
337 <     REMOTE = 379,
338 <     REMOTEBAN = 380,
339 <     RESTRICT_CHANNELS = 381,
340 <     RSA_PRIVATE_KEY_FILE = 382,
341 <     RSA_PUBLIC_KEY_FILE = 383,
342 <     SSL_CERTIFICATE_FILE = 384,
343 <     SSL_DH_PARAM_FILE = 385,
344 <     T_SSL_CLIENT_METHOD = 386,
345 <     T_SSL_SERVER_METHOD = 387,
346 <     T_SSLV3 = 388,
347 <     T_TLSV1 = 389,
348 <     RESV = 390,
349 <     RESV_EXEMPT = 391,
350 <     SECONDS = 392,
351 <     MINUTES = 393,
352 <     HOURS = 394,
353 <     DAYS = 395,
354 <     WEEKS = 396,
355 <     SENDQ = 397,
356 <     SEND_PASSWORD = 398,
357 <     SERVERHIDE = 399,
358 <     SERVERINFO = 400,
359 <     IRCD_SID = 401,
360 <     TKLINE_EXPIRE_NOTICES = 402,
361 <     T_SHARED = 403,
362 <     T_CLUSTER = 404,
363 <     TYPE = 405,
364 <     SHORT_MOTD = 406,
365 <     SPOOF = 407,
366 <     SPOOF_NOTICE = 408,
367 <     STATS_E_DISABLED = 409,
368 <     STATS_I_OPER_ONLY = 410,
369 <     STATS_K_OPER_ONLY = 411,
370 <     STATS_O_OPER_ONLY = 412,
371 <     STATS_P_OPER_ONLY = 413,
372 <     TBOOL = 414,
373 <     TMASKED = 415,
374 <     TS_MAX_DELTA = 416,
375 <     TS_WARN_DELTA = 417,
376 <     TWODOTS = 418,
377 <     T_ALL = 419,
378 <     T_BOTS = 420,
379 <     T_SOFTCALLERID = 421,
380 <     T_CALLERID = 422,
381 <     T_CCONN = 423,
382 <     T_CCONN_FULL = 424,
383 <     T_SSL_CIPHER_LIST = 425,
384 <     T_DEAF = 426,
385 <     T_DEBUG = 427,
386 <     T_DLINE = 428,
387 <     T_EXTERNAL = 429,
388 <     T_FULL = 430,
389 <     T_INVISIBLE = 431,
390 <     T_IPV4 = 432,
391 <     T_IPV6 = 433,
392 <     T_LOCOPS = 434,
393 <     T_MAX_CLIENTS = 435,
394 <     T_NCHANGE = 436,
395 <     T_OPERWALL = 437,
396 <     T_RECVQ = 438,
397 <     T_REJ = 439,
398 <     T_SERVER = 440,
399 <     T_SERVNOTICE = 441,
400 <     T_SET = 442,
401 <     T_SKILL = 443,
402 <     T_SPY = 444,
403 <     T_SSL = 445,
404 <     T_UMODES = 446,
405 <     T_UNAUTH = 447,
406 <     T_UNDLINE = 448,
407 <     T_UNLIMITED = 449,
408 <     T_UNRESV = 450,
409 <     T_UNXLINE = 451,
410 <     T_GLOBOPS = 452,
411 <     T_WALLOP = 453,
412 <     T_RESTART = 454,
413 <     T_SERVICE = 455,
414 <     T_SERVICES_NAME = 456,
415 <     THROTTLE_TIME = 457,
416 <     TRUE_NO_OPER_FLOOD = 458,
417 <     UNKLINE = 459,
418 <     USER = 460,
419 <     USE_EGD = 461,
420 <     USE_LOGGING = 462,
421 <     VHOST = 463,
422 <     VHOST6 = 464,
423 <     XLINE = 465,
424 <     WARN_NO_NLINE = 466,
425 <     T_SIZE = 467,
426 <     T_FILE = 468
427 <   };
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 441 | 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 465 | 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 483 | 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_TIME 335
520 < #define MAX_NUMBER 336
521 < #define MAX_TARGETS 337
522 < #define MAX_WATCH 338
523 < #define MESSAGE_LOCALE 339
524 < #define MIN_NONWILDCARD 340
525 < #define MIN_NONWILDCARD_SIMPLE 341
526 < #define MODULE 342
527 < #define MODULES 343
528 < #define NAME 344
529 < #define NEED_PASSWORD 345
530 < #define NETWORK_DESC 346
531 < #define NETWORK_NAME 347
532 < #define NICK 348
533 < #define NICK_CHANGES 349
534 < #define NO_CREATE_ON_SPLIT 350
535 < #define NO_JOIN_ON_SPLIT 351
536 < #define NO_OPER_FLOOD 352
537 < #define NO_TILDE 353
538 < #define NUMBER 354
539 < #define NUMBER_PER_CIDR 355
540 < #define NUMBER_PER_IP 356
541 < #define OPERATOR 357
542 < #define OPERS_BYPASS_CALLERID 358
543 < #define OPER_ONLY_UMODES 359
544 < #define OPER_PASS_RESV 360
545 < #define OPER_SPY_T 361
546 < #define OPER_UMODES 362
547 < #define JOIN_FLOOD_COUNT 363
548 < #define JOIN_FLOOD_TIME 364
549 < #define PACE_WAIT 365
550 < #define PACE_WAIT_SIMPLE 366
551 < #define PASSWORD 367
552 < #define PATH 368
553 < #define PING_COOKIE 369
554 < #define PING_TIME 370
555 < #define PORT 371
556 < #define QSTRING 372
557 < #define QUIET_ON_BAN 373
558 < #define REASON 374
559 < #define REDIRPORT 375
560 < #define REDIRSERV 376
561 < #define REGEX_T 377
562 < #define REHASH 378
563 < #define REMOTE 379
564 < #define REMOTEBAN 380
565 < #define RESTRICT_CHANNELS 381
566 < #define RSA_PRIVATE_KEY_FILE 382
567 < #define RSA_PUBLIC_KEY_FILE 383
568 < #define SSL_CERTIFICATE_FILE 384
569 < #define SSL_DH_PARAM_FILE 385
570 < #define T_SSL_CLIENT_METHOD 386
571 < #define T_SSL_SERVER_METHOD 387
572 < #define T_SSLV3 388
573 < #define T_TLSV1 389
574 < #define RESV 390
575 < #define RESV_EXEMPT 391
576 < #define SECONDS 392
577 < #define MINUTES 393
578 < #define HOURS 394
579 < #define DAYS 395
580 < #define WEEKS 396
581 < #define SENDQ 397
582 < #define SEND_PASSWORD 398
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 IRCD_SID 401
586 < #define TKLINE_EXPIRE_NOTICES 402
587 < #define T_SHARED 403
588 < #define T_CLUSTER 404
589 < #define TYPE 405
590 < #define SHORT_MOTD 406
591 < #define SPOOF 407
592 < #define SPOOF_NOTICE 408
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 TBOOL 414
599 < #define TMASKED 415
600 < #define TS_MAX_DELTA 416
601 < #define TS_WARN_DELTA 417
602 < #define TWODOTS 418
603 < #define T_ALL 419
604 < #define T_BOTS 420
605 < #define T_SOFTCALLERID 421
606 < #define T_CALLERID 422
607 < #define T_CCONN 423
608 < #define T_CCONN_FULL 424
609 < #define T_SSL_CIPHER_LIST 425
610 < #define T_DEAF 426
611 < #define T_DEBUG 427
612 < #define T_DLINE 428
613 < #define T_EXTERNAL 429
614 < #define T_FULL 430
615 < #define T_INVISIBLE 431
616 < #define T_IPV4 432
617 < #define T_IPV6 433
618 < #define T_LOCOPS 434
619 < #define T_MAX_CLIENTS 435
620 < #define T_NCHANGE 436
621 < #define T_OPERWALL 437
622 < #define T_RECVQ 438
623 < #define T_REJ 439
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_SERVNOTICE 441
626 < #define T_SET 442
627 < #define T_SKILL 443
628 < #define T_SPY 444
629 < #define T_SSL 445
630 < #define T_UMODES 446
631 < #define T_UNAUTH 447
632 < #define T_UNDLINE 448
633 < #define T_UNLIMITED 449
634 < #define T_UNRESV 450
635 < #define T_UNXLINE 451
636 < #define T_GLOBOPS 452
637 < #define T_WALLOP 453
638 < #define T_RESTART 454
639 < #define T_SERVICE 455
640 < #define T_SERVICES_NAME 456
641 < #define THROTTLE_TIME 457
642 < #define TRUE_NO_OPER_FLOOD 458
643 < #define UNKLINE 459
644 < #define USER 460
645 < #define USE_EGD 461
646 < #define USE_LOGGING 462
647 < #define VHOST 463
648 < #define VHOST6 464
649 < #define XLINE 465
650 < #define WARN_NO_NLINE 466
651 < #define T_SIZE 467
652 < #define T_FILE 468
653 <
654 <
625 > #define T_SERVICE 441
626 > #define T_SERVICES_NAME 442
627 > #define T_SERVNOTICE 443
628 > #define T_SET 444
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 374 of yacc.c  */
645 < #line 135 "conf_parser.y"
672 > #line 140 "conf_parser.y" /* yacc.c:355  */
673  
674    int number;
675    char *string;
676  
677 <
678 < /* Line 374 of yacc.c  */
652 < #line 653 "conf_parser.c"
653 < } YYSTYPE;
677 > #line 678 "conf_parser.c" /* yacc.c:355  */
678 > };
679   # define YYSTYPE_IS_TRIVIAL 1
655 – # define yystype YYSTYPE /* obsolescent; will be withdrawn */
680   # define YYSTYPE_IS_DECLARED 1
681   #endif
682  
683 +
684   extern YYSTYPE yylval;
685  
661 – #ifdef YYPARSE_PARAM
662 – #if defined __STDC__ || defined __cplusplus
663 – int yyparse (void *YYPARSE_PARAM);
664 – #else
665 – int yyparse ();
666 – #endif
667 – #else /* ! YYPARSE_PARAM */
668 – #if defined __STDC__ || defined __cplusplus
686   int yyparse (void);
670 – #else
671 – int yyparse ();
672 – #endif
673 – #endif /* ! YYPARSE_PARAM */
687  
688 < #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
688 > #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
689  
690   /* Copy the second part of user declarations.  */
691  
692 < /* Line 377 of yacc.c  */
680 < #line 681 "conf_parser.c"
692 > #line 693 "conf_parser.c" /* yacc.c:358  */
693  
694   #ifdef short
695   # undef short
# Line 691 | Line 703 | typedef unsigned char yytype_uint8;
703  
704   #ifdef YYTYPE_INT8
705   typedef YYTYPE_INT8 yytype_int8;
694 – #elif (defined __STDC__ || defined __C99__FUNC__ \
695 –     || defined __cplusplus || defined _MSC_VER)
696 – 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 715 | 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__ \
719 <     || 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 738 | Line 746 | typedef short int yytype_int16;
746   # endif
747   #endif
748  
749 + #ifndef YY_ATTRIBUTE
750 + # if (defined __GNUC__                                               \
751 +      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
752 +     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
753 + #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
754 + # else
755 + #  define YY_ATTRIBUTE(Spec) /* empty */
756 + # endif
757 + #endif
758 +
759 + #ifndef YY_ATTRIBUTE_PURE
760 + # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
761 + #endif
762 +
763 + #ifndef YY_ATTRIBUTE_UNUSED
764 + # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
765 + #endif
766 +
767 + #if !defined _Noreturn \
768 +     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
769 + # if defined _MSC_VER && 1200 <= _MSC_VER
770 + #  define _Noreturn __declspec (noreturn)
771 + # else
772 + #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
773 + # endif
774 + #endif
775 +
776   /* Suppress unused-variable warnings by "using" E.  */
777   #if ! defined lint || defined __GNUC__
778   # define YYUSE(E) ((void) (E))
# Line 745 | Line 780 | typedef short int yytype_int16;
780   # define YYUSE(E) /* empty */
781   #endif
782  
783 < /* Identity function, used to suppress warnings about constant conditions.  */
784 < #ifndef lint
785 < # define YYID(N) (N)
783 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
784 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
785 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
786 >    _Pragma ("GCC diagnostic push") \
787 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
788 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
789 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
790 >    _Pragma ("GCC diagnostic pop")
791   #else
792 < #if (defined __STDC__ || defined __C99__FUNC__ \
753 <     || defined __cplusplus || defined _MSC_VER)
754 < static int
755 < YYID (int yyi)
756 < #else
757 < static int
758 < YYID (yyi)
759 <    int yyi;
792 > # define YY_INITIAL_VALUE(Value) Value
793   #endif
794 < {
795 <  return yyi;
796 < }
794 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
795 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
796 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
797 > #endif
798 > #ifndef YY_INITIAL_VALUE
799 > # define YY_INITIAL_VALUE(Value) /* Nothing. */
800   #endif
801  
802 +
803   #if ! defined yyoverflow || YYERROR_VERBOSE
804  
805   /* The parser invokes alloca or malloc; define the necessary symbols.  */
# Line 780 | Line 817 | YYID (yyi)
817   #    define alloca _alloca
818   #   else
819   #    define YYSTACK_ALLOC alloca
820 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
784 <     || defined __cplusplus || defined _MSC_VER)
820 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
821   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
822        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
823   #     ifndef EXIT_SUCCESS
# Line 793 | Line 829 | YYID (yyi)
829   # endif
830  
831   # ifdef YYSTACK_ALLOC
832 <   /* Pacify GCC's `empty if-body' warning.  */
833 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
832 >   /* Pacify GCC's 'empty if-body' warning.  */
833 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
834   #  ifndef YYSTACK_ALLOC_MAXIMUM
835      /* The OS might guarantee only one guard page at the bottom of the stack,
836         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 810 | Line 846 | YYID (yyi)
846   #  endif
847   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
848         && ! ((defined YYMALLOC || defined malloc) \
849 <             && (defined YYFREE || defined free)))
849 >             && (defined YYFREE || defined free)))
850   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
851   #   ifndef EXIT_SUCCESS
852   #    define EXIT_SUCCESS 0
# Line 818 | Line 854 | YYID (yyi)
854   #  endif
855   #  ifndef YYMALLOC
856   #   define YYMALLOC malloc
857 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
822 <     || defined __cplusplus || defined _MSC_VER)
857 > #   if ! defined malloc && ! defined EXIT_SUCCESS
858   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
859   #   endif
860   #  endif
861   #  ifndef YYFREE
862   #   define YYFREE free
863 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
829 <     || defined __cplusplus || defined _MSC_VER)
863 > #   if ! defined free && ! defined EXIT_SUCCESS
864   void free (void *); /* INFRINGES ON USER NAME SPACE */
865   #   endif
866   #  endif
# Line 836 | Line 870 | void free (void *); /* INFRINGES ON USER
870  
871   #if (! defined yyoverflow \
872       && (! defined __cplusplus \
873 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
873 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
874  
875   /* A type that is properly aligned for any stack member.  */
876   union yyalloc
# Line 861 | Line 895 | union yyalloc
895     elements in the stack, and YYPTR gives the new location of the
896     stack.  Advance YYPTR to a properly aligned location for the next
897     stack.  */
898 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
899 <    do                                                                  \
900 <      {                                                                 \
901 <        YYSIZE_T yynewbytes;                                            \
902 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
903 <        Stack = &yyptr->Stack_alloc;                                    \
904 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
905 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
906 <      }                                                                 \
907 <    while (YYID (0))
898 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
899 >    do                                                                  \
900 >      {                                                                 \
901 >        YYSIZE_T yynewbytes;                                            \
902 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
903 >        Stack = &yyptr->Stack_alloc;                                    \
904 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
905 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
906 >      }                                                                 \
907 >    while (0)
908  
909   #endif
910  
# Line 889 | Line 923 | union yyalloc
923            for (yyi = 0; yyi < (Count); yyi++)   \
924              (Dst)[yyi] = (Src)[yyi];            \
925          }                                       \
926 <      while (YYID (0))
926 >      while (0)
927   #  endif
928   # endif
929   #endif /* !YYCOPY_NEEDED */
# Line 897 | Line 931 | union yyalloc
931   /* YYFINAL -- State number of the termination state.  */
932   #define YYFINAL  2
933   /* YYLAST -- Last index in YYTABLE.  */
934 < #define YYLAST   1180
934 > #define YYLAST   1236
935  
936   /* YYNTOKENS -- Number of terminals.  */
937 < #define YYNTOKENS  219
937 > #define YYNTOKENS  233
938   /* YYNNTS -- Number of nonterminals.  */
939 < #define YYNNTS  282
939 > #define YYNNTS  291
940   /* YYNRULES -- Number of rules.  */
941 < #define YYNRULES  625
942 < /* YYNRULES -- Number of states.  */
943 < #define YYNSTATES  1223
941 > #define YYNRULES  656
942 > /* YYNSTATES -- Number of states.  */
943 > #define YYNSTATES  1287
944  
945 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
945 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
946 >   by yylex, with out-of-bounds checking.  */
947   #define YYUNDEFTOK  2
948 < #define YYMAXUTOK   468
948 > #define YYMAXUTOK   481
949  
950 < #define YYTRANSLATE(YYX)                                                \
950 > #define YYTRANSLATE(YYX)                                                \
951    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
952  
953 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
953 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
954 >   as returned by yylex, without out-of-bounds checking.  */
955   static const yytype_uint8 yytranslate[] =
956   {
957         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
959         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
960         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
961 <       2,     2,     2,     2,   218,     2,     2,     2,     2,     2,
962 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   214,
963 <       2,   217,     2,     2,     2,     2,     2,     2,     2,     2,
961 >       2,     2,     2,     2,   231,     2,     2,     2,     2,     2,
962 >       2,     2,     2,     2,     2,     2,     2,     2,   232,   227,
963 >       2,   230,     2,     2,     2,     2,     2,     2,     2,     2,
964         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
965         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
966         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969 <       2,     2,     2,   216,     2,   215,     2,     2,     2,     2,
969 >       2,     2,     2,   229,     2,   228,     2,     2,     2,     2,
970         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
971         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
972         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 964 | Line 1000 | static const yytype_uint8 yytranslate[]
1000       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1001       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1002       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1003 <     205,   206,   207,   208,   209,   210,   211,   212,   213
1003 >     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1004 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1005 >     225,   226
1006   };
1007  
1008   #if YYDEBUG
1009 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
972 <   YYRHS.  */
973 < static const yytype_uint16 yyprhs[] =
974 < {
975 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
976 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
977 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
978 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
979 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
980 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
981 <     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
982 <     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
983 <     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
984 <     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
985 <     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
986 <     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
987 <     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
988 <     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
989 <     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
990 <     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
991 <     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
992 <     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
993 <     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
994 <     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
995 <     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
996 <     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
997 <     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
998 <     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
999 <     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1000 <     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1001 <     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1002 <     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1003 <     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1004 <     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1005 <     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1006 <     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1007 <     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1008 <     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1009 <     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1010 <    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1011 <    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1012 <    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1113,
1013 <    1118,  1123,  1128,  1133,  1134,  1141,  1142,  1148,  1152,  1154,
1014 <    1156,  1159,  1161,  1163,  1165,  1167,  1169,  1174,  1179,  1180,
1015 <    1187,  1190,  1192,  1194,  1196,  1198,  1203,  1208,  1214,  1217,
1016 <    1219,  1221,  1223,  1228,  1229,  1236,  1237,  1243,  1247,  1249,
1017 <    1251,  1254,  1256,  1258,  1260,  1262,  1264,  1269,  1274,  1280,
1018 <    1283,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1019 <    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1020 <    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1021 <    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1022 <    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1023 <    1383,  1385,  1390,  1395,  1400,  1405,  1410,  1415,  1420,  1425,
1024 <    1430,  1435,  1440,  1445,  1450,  1455,  1460,  1465,  1470,  1475,
1025 <    1480,  1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,
1026 <    1530,  1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,
1027 <    1580,  1585,  1590,  1595,  1600,  1605,  1610,  1615,  1616,  1622,
1028 <    1626,  1628,  1630,  1632,  1634,  1636,  1638,  1640,  1642,  1644,
1029 <    1646,  1648,  1650,  1652,  1654,  1656,  1658,  1660,  1662,  1664,
1030 <    1666,  1668,  1669,  1675,  1679,  1681,  1683,  1685,  1687,  1689,
1031 <    1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1709,
1032 <    1711,  1713,  1715,  1717,  1719,  1721,  1726,  1731,  1736,  1742,
1033 <    1745,  1747,  1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,
1034 <    1765,  1767,  1769,  1771,  1773,  1775,  1777,  1782,  1787,  1792,
1035 <    1797,  1802,  1807,  1812,  1817,  1822,  1827,  1832,  1837,  1842,
1036 <    1847,  1853,  1856,  1858,  1860,  1862,  1864,  1866,  1868,  1870,
1037 <    1872,  1877,  1882,  1887,  1892,  1897
1038 < };
1039 <
1040 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1041 < static const yytype_int16 yyrhs[] =
1042 < {
1043 <     220,     0,    -1,    -1,   220,   221,    -1,   253,    -1,   259,
1044 <      -1,   273,    -1,   475,    -1,   291,    -1,   308,    -1,   322,
1045 <      -1,   231,    -1,   492,    -1,   337,    -1,   344,    -1,   348,
1046 <      -1,   358,    -1,   367,    -1,   387,    -1,   397,    -1,   403,
1047 <      -1,   417,    -1,   407,    -1,   226,    -1,     1,   214,    -1,
1048 <       1,   215,    -1,    -1,   223,    -1,    99,   222,    -1,    99,
1049 <     137,   222,    -1,    99,   138,   222,    -1,    99,   139,   222,
1050 <      -1,    99,   140,   222,    -1,    99,   141,   222,    -1,    -1,
1051 <     225,    -1,    99,   224,    -1,    99,     9,   224,    -1,    99,
1052 <      10,   224,    -1,    99,    11,   224,    -1,    88,   216,   227,
1053 <     215,   214,    -1,   227,   228,    -1,   228,    -1,   229,    -1,
1054 <     230,    -1,     1,   214,    -1,    87,   217,   117,   214,    -1,
1055 <     113,   217,   117,   214,    -1,   145,   216,   232,   215,   214,
1056 <      -1,   232,   233,    -1,   233,    -1,   244,    -1,   249,    -1,
1057 <     252,    -1,   246,    -1,   247,    -1,   248,    -1,   251,    -1,
1058 <     242,    -1,   241,    -1,   250,    -1,   245,    -1,   240,    -1,
1059 <     234,    -1,   235,    -1,   243,    -1,     1,   214,    -1,   131,
1060 <     217,   236,   214,    -1,   132,   217,   238,   214,    -1,   236,
1061 <     218,   237,    -1,   237,    -1,   133,    -1,   134,    -1,   238,
1062 <     218,   239,    -1,   239,    -1,   133,    -1,   134,    -1,   129,
1063 <     217,   117,   214,    -1,   127,   217,   117,   214,    -1,   130,
1064 <     217,   117,   214,    -1,   170,   217,   117,   214,    -1,    89,
1065 <     217,   117,   214,    -1,   146,   217,   117,   214,    -1,    24,
1066 <     217,   117,   214,    -1,    92,   217,   117,   214,    -1,    91,
1067 <     217,   117,   214,    -1,   208,   217,   117,   214,    -1,   209,
1068 <     217,   117,   214,    -1,   180,   217,    99,   214,    -1,    57,
1069 <     217,   159,   214,    -1,     4,   216,   254,   215,   214,    -1,
1070 <     254,   255,    -1,   255,    -1,   256,    -1,   258,    -1,   257,
1071 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,    31,
1072 <     217,   117,   214,    -1,    24,   217,   117,   214,    -1,    71,
1073 <     216,   260,   215,   214,    -1,   260,   261,    -1,   261,    -1,
1074 <     262,    -1,   263,    -1,     1,   214,    -1,   207,   217,   159,
1075 <     214,    -1,    -1,   264,   213,   216,   265,   215,   214,    -1,
1076 <     265,   266,    -1,   266,    -1,   267,    -1,   269,    -1,   268,
1077 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   212,
1078 <     217,   225,   214,    -1,   212,   217,   194,   214,    -1,    -1,
1079 <     150,   270,   217,   271,   214,    -1,   271,   218,   272,    -1,
1080 <     272,    -1,   205,    -1,   102,    -1,    40,    -1,   173,    -1,
1081 <      64,    -1,    62,    -1,   172,    -1,    -1,   102,   274,   216,
1082 <     275,   215,   214,    -1,   275,   276,    -1,   276,    -1,   277,
1083 <      -1,   278,    -1,   279,    -1,   283,    -1,   282,    -1,   280,
1084 <      -1,   281,    -1,   287,    -1,     1,   214,    -1,    89,   217,
1085 <     117,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1086 <     117,   214,    -1,    32,   217,   159,   214,    -1,   128,   217,
1087 <     117,   214,    -1,    17,   217,   117,   214,    -1,    -1,   191,
1088 <     284,   217,   285,   214,    -1,   285,   218,   286,    -1,   286,
1089 <      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1090 <      -1,   175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,
1091 <      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1092 <      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1093 <      -1,    -1,    36,   288,   217,   289,   214,    -1,   289,   218,
1094 <     290,    -1,   290,    -1,    47,    -1,   124,    -1,    64,    -1,
1095 <     204,    -1,   173,    -1,   193,    -1,   210,    -1,    40,    -1,
1096 <      25,    -1,   199,    -1,   123,    -1,     4,    -1,    94,    -1,
1097 <     182,    -1,   197,    -1,   106,    -1,   125,    -1,   187,    -1,
1098 <      87,    -1,    -1,    17,   292,   216,   293,   215,   214,    -1,
1099 <     293,   294,    -1,   294,    -1,   295,    -1,   305,    -1,   306,
1100 <      -1,   296,    -1,   307,    -1,   297,    -1,   298,    -1,   299,
1101 <      -1,   300,    -1,   301,    -1,   302,    -1,   303,    -1,   304,
1102 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   115,
1103 <     217,   223,   214,    -1,   101,   217,    99,   214,    -1,    19,
1104 <     217,   223,   214,    -1,    81,   217,    99,   214,    -1,    76,
1105 <     217,    99,   214,    -1,    78,   217,    99,   214,    -1,    77,
1106 <     217,    99,   214,    -1,   142,   217,   225,   214,    -1,   183,
1107 <     217,   225,   214,    -1,    15,   217,    99,   214,    -1,    16,
1108 <     217,    99,   214,    -1,   100,   217,    99,   214,    -1,    -1,
1109 <      70,   309,   216,   314,   215,   214,    -1,    -1,    36,   311,
1110 <     217,   312,   214,    -1,   312,   218,   313,    -1,   313,    -1,
1111 <     190,    -1,    51,    -1,   185,    -1,   314,   315,    -1,   315,
1112 <      -1,   316,    -1,   310,    -1,   320,    -1,   321,    -1,     1,
1113 <     214,    -1,    -1,   116,   217,   318,   317,   214,    -1,   318,
1114 <     218,   319,    -1,   319,    -1,    99,    -1,    99,   163,    99,
1115 <      -1,    61,   217,   117,   214,    -1,    56,   217,   117,   214,
1116 <      -1,    -1,    48,   323,   216,   324,   215,   214,    -1,   324,
1117 <     325,    -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,
1118 <     330,    -1,   334,    -1,   335,    -1,   336,    -1,   329,    -1,
1119 <       1,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1120 <     117,   214,    -1,    17,   217,   117,   214,    -1,    32,   217,
1121 <     159,   214,    -1,    -1,    36,   331,   217,   332,   214,    -1,
1122 <     332,   218,   333,    -1,   333,    -1,   153,    -1,    33,    -1,
1123 <      65,    -1,    49,    -1,    13,    -1,    98,    -1,    43,    -1,
1124 <     136,    -1,    90,    -1,   152,   217,   117,   214,    -1,   121,
1125 <     217,   117,   214,    -1,   120,   217,    99,   214,    -1,    -1,
1126 <     135,   338,   216,   339,   215,   214,    -1,   339,   340,    -1,
1127 <     340,    -1,   341,    -1,   342,    -1,   343,    -1,     1,   214,
1128 <      -1,   119,   217,   117,   214,    -1,    14,   217,   117,   214,
1129 <      -1,    93,   217,   117,   214,    -1,   200,   216,   345,   215,
1130 <     214,    -1,   345,   346,    -1,   346,    -1,   347,    -1,     1,
1131 <      -1,    89,   217,   117,   214,    -1,    -1,   148,   349,   216,
1132 <     350,   215,   214,    -1,   350,   351,    -1,   351,    -1,   352,
1133 <      -1,   353,    -1,   354,    -1,     1,   214,    -1,    89,   217,
1134 <     117,   214,    -1,   205,   217,   117,   214,    -1,    -1,   150,
1135 <     355,   217,   356,   214,    -1,   356,   218,   357,    -1,   357,
1136 <      -1,    64,    -1,   204,    -1,   173,    -1,   193,    -1,   210,
1137 <      -1,   196,    -1,   135,    -1,   195,    -1,   179,    -1,   164,
1138 <      -1,    -1,   149,   359,   216,   360,   215,   214,    -1,   360,
1139 <     361,    -1,   361,    -1,   362,    -1,   363,    -1,     1,   214,
1140 <      -1,    89,   217,   117,   214,    -1,    -1,   150,   364,   217,
1141 <     365,   214,    -1,   365,   218,   366,    -1,   366,    -1,    64,
1142 <      -1,   204,    -1,   173,    -1,   193,    -1,   210,    -1,   196,
1143 <      -1,   135,    -1,   195,    -1,   179,    -1,   164,    -1,    -1,
1144 <      18,   368,   216,   369,   215,   214,    -1,   369,   370,    -1,
1145 <     370,    -1,   371,    -1,   372,    -1,   373,    -1,   374,    -1,
1146 <     375,    -1,   377,    -1,   376,    -1,   386,    -1,   378,    -1,
1147 <     383,    -1,   384,    -1,   385,    -1,   382,    -1,     1,   214,
1148 <      -1,    89,   217,   117,   214,    -1,    56,   217,   117,   214,
1149 <      -1,   208,   217,   117,   214,    -1,   143,   217,   117,   214,
1150 <      -1,     3,   217,   117,   214,    -1,   116,   217,    99,   214,
1151 <      -1,     5,   217,   177,   214,    -1,     5,   217,   178,   214,
1152 <      -1,    -1,    36,   379,   217,   380,   214,    -1,   380,   218,
1153 <     381,    -1,   381,    -1,     8,    -1,   190,    -1,    32,   217,
1154 <     159,   214,    -1,    58,   217,   117,   214,    -1,    68,   217,
1155 <     117,   214,    -1,    17,   217,   117,   214,    -1,   170,   217,
1156 <     117,   214,    -1,    -1,    62,   388,   216,   393,   215,   214,
1157 <      -1,    -1,   150,   390,   217,   391,   214,    -1,   391,   218,
1158 <     392,    -1,   392,    -1,   122,    -1,   393,   394,    -1,   394,
1159 <      -1,   395,    -1,   396,    -1,   389,    -1,     1,    -1,   205,
1160 <     217,   117,   214,    -1,   119,   217,   117,   214,    -1,    -1,
1161 <      23,   398,   216,   399,   215,   214,    -1,   399,   400,    -1,
1162 <     400,    -1,   401,    -1,   402,    -1,     1,    -1,    61,   217,
1163 <     117,   214,    -1,   119,   217,   117,   214,    -1,    34,   216,
1164 <     404,   215,   214,    -1,   404,   405,    -1,   405,    -1,   406,
1165 <      -1,     1,    -1,    61,   217,   117,   214,    -1,    -1,    38,
1166 <     408,   216,   413,   215,   214,    -1,    -1,   150,   410,   217,
1167 <     411,   214,    -1,   411,   218,   412,    -1,   412,    -1,   122,
1168 <      -1,   413,   414,    -1,   414,    -1,   415,    -1,   416,    -1,
1169 <     409,    -1,     1,    -1,    89,   217,   117,   214,    -1,   119,
1170 <     217,   117,   214,    -1,    39,   216,   418,   215,   214,    -1,
1171 <     418,   419,    -1,   419,    -1,   428,    -1,   429,    -1,   431,
1172 <      -1,   432,    -1,   433,    -1,   434,    -1,   435,    -1,   436,
1173 <      -1,   437,    -1,   438,    -1,   427,    -1,   440,    -1,   441,
1174 <      -1,   456,    -1,   443,    -1,   445,    -1,   447,    -1,   446,
1175 <      -1,   450,    -1,   444,    -1,   451,    -1,   452,    -1,   453,
1176 <      -1,   454,    -1,   455,    -1,   468,    -1,   457,    -1,   458,
1177 <      -1,   459,    -1,   464,    -1,   448,    -1,   449,    -1,   474,
1178 <      -1,   472,    -1,   473,    -1,   430,    -1,   463,    -1,   439,
1179 <      -1,   461,    -1,   462,    -1,   426,    -1,   421,    -1,   422,
1180 <      -1,   423,    -1,   424,    -1,   425,    -1,   442,    -1,   420,
1181 <      -1,   460,    -1,     1,    -1,    83,   217,    99,   214,    -1,
1182 <      42,   217,   159,   214,    -1,    41,   217,   223,   214,    -1,
1183 <      44,   217,   223,   214,    -1,    45,   217,    99,   214,    -1,
1184 <      46,   217,    99,   214,    -1,   147,   217,   159,   214,    -1,
1185 <      63,   217,   223,   214,    -1,    55,   217,   159,   214,    -1,
1186 <      59,   217,   159,   214,    -1,    28,   217,   159,   214,    -1,
1187 <      35,   217,   159,   214,    -1,     6,   217,   159,   214,    -1,
1188 <      80,   217,   223,   214,    -1,    79,   217,    99,   214,    -1,
1189 <      72,   217,    99,   214,    -1,     7,   217,   223,   214,    -1,
1190 <     162,   217,   223,   214,    -1,   161,   217,   223,   214,    -1,
1191 <      50,   217,    99,   214,    -1,    60,   217,   159,   214,    -1,
1192 <     211,   217,   159,   214,    -1,   154,   217,   159,   214,    -1,
1193 <     157,   217,   159,   214,    -1,   158,   217,   159,   214,    -1,
1194 <     156,   217,   159,   214,    -1,   156,   217,   160,   214,    -1,
1195 <     155,   217,   159,   214,    -1,   155,   217,   160,   214,    -1,
1196 <     110,   217,   223,   214,    -1,    12,   217,   223,   214,    -1,
1197 <     103,   217,   159,   214,    -1,   111,   217,   223,   214,    -1,
1198 <     151,   217,   159,   214,    -1,    97,   217,   159,   214,    -1,
1199 <     203,   217,   159,   214,    -1,   105,   217,   159,   214,    -1,
1200 <      84,   217,   117,   214,    -1,    29,   217,    99,   214,    -1,
1201 <      82,   217,    99,   214,    -1,   206,   217,   159,   214,    -1,
1202 <      30,   217,   117,   214,    -1,   201,   217,   117,   214,    -1,
1203 <     114,   217,   159,   214,    -1,    26,   217,   159,   214,    -1,
1204 <     202,   217,   223,   214,    -1,    -1,   107,   465,   217,   466,
1205 <     214,    -1,   466,   218,   467,    -1,   467,    -1,   165,    -1,
1206 <     168,    -1,   169,    -1,   171,    -1,   172,    -1,   175,    -1,
1207 <      51,    -1,   188,    -1,   181,    -1,   184,    -1,   192,    -1,
1208 <     189,    -1,   174,    -1,   182,    -1,   186,    -1,   176,    -1,
1209 <     198,    -1,   166,    -1,   167,    -1,   179,    -1,    -1,   104,
1210 <     469,   217,   470,   214,    -1,   470,   218,   471,    -1,   471,
1211 <      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1212 <      -1,   175,    -1,   188,    -1,    51,    -1,   181,    -1,   184,
1213 <      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1214 <      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1215 <      -1,    85,   217,    99,   214,    -1,    86,   217,    99,   214,
1216 <      -1,    20,   217,    99,   214,    -1,    14,   216,   476,   215,
1217 <     214,    -1,   476,   477,    -1,   477,    -1,   485,    -1,   480,
1218 <      -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,   486,
1219 <      -1,   487,    -1,   488,    -1,   479,    -1,   489,    -1,   490,
1220 <      -1,   491,    -1,   478,    -1,     1,    -1,    27,   217,   159,
1221 <     214,    -1,   126,   217,   159,   214,    -1,    66,   217,   223,
1222 <     214,    -1,    67,   217,   223,   214,    -1,    75,   217,    99,
1223 <     214,    -1,    74,   217,    99,   214,    -1,   118,   217,   159,
1224 <     214,    -1,    73,   217,    99,   214,    -1,    22,   217,    99,
1225 <     214,    -1,    21,   217,    99,   214,    -1,    95,   217,   159,
1226 <     214,    -1,    96,   217,   159,   214,    -1,   108,   217,    99,
1227 <     214,    -1,   109,   217,   223,   214,    -1,   144,   216,   493,
1228 <     215,   214,    -1,   493,   494,    -1,   494,    -1,   495,    -1,
1229 <     496,    -1,   498,    -1,   499,    -1,   497,    -1,   500,    -1,
1230 <       1,    -1,    37,   217,   159,   214,    -1,    54,   217,   159,
1231 <     214,    -1,    52,   217,   117,   214,    -1,    69,   217,   223,
1232 <     214,    -1,    51,   217,   159,   214,    -1,    53,   217,   159,
1233 <     214,    -1
1234 < };
1235 <
1236 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1009 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1010   static const yytype_uint16 yyrline[] =
1011   {
1012 <       0,   354,   354,   355,   358,   359,   360,   361,   362,   363,
1013 <     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
1014 <     374,   375,   376,   377,   378,   379,   383,   383,   384,   388,
1015 <     392,   396,   400,   404,   410,   410,   411,   412,   413,   414,
1016 <     421,   424,   424,   425,   425,   425,   427,   433,   440,   442,
1017 <     442,   443,   443,   444,   444,   445,   445,   446,   446,   447,
1018 <     447,   448,   448,   449,   449,   450,   451,   454,   455,   457,
1019 <     457,   458,   464,   472,   472,   473,   479,   487,   526,   585,
1020 <     613,   621,   636,   651,   660,   674,   683,   711,   741,   764,
1021 <     773,   775,   775,   776,   776,   777,   777,   779,   788,   797,
1022 <     809,   810,   810,   812,   812,   813,   815,   822,   822,   835,
1023 <     836,   838,   838,   839,   839,   841,   849,   852,   858,   857,
1024 <     863,   863,   864,   868,   872,   876,   880,   884,   888,   899,
1025 <     898,   977,   977,   978,   978,   978,   979,   979,   979,   980,
1026 <     980,   980,   982,   988,   994,  1000,  1011,  1017,  1024,  1023,
1027 <    1029,  1029,  1030,  1034,  1038,  1042,  1046,  1050,  1054,  1058,
1028 <    1062,  1066,  1070,  1074,  1078,  1082,  1086,  1090,  1094,  1098,
1029 <    1102,  1106,  1113,  1112,  1118,  1118,  1119,  1123,  1127,  1131,
1030 <    1135,  1139,  1143,  1147,  1151,  1155,  1159,  1163,  1167,  1171,
1031 <    1175,  1179,  1183,  1187,  1191,  1202,  1201,  1243,  1243,  1244,
1032 <    1245,  1245,  1246,  1247,  1248,  1249,  1250,  1251,  1252,  1253,
1033 <    1254,  1254,  1255,  1257,  1263,  1269,  1275,  1281,  1287,  1293,
1034 <    1299,  1305,  1311,  1318,  1324,  1330,  1340,  1339,  1346,  1345,
1035 <    1350,  1350,  1351,  1355,  1359,  1365,  1365,  1366,  1366,  1366,
1036 <    1366,  1366,  1368,  1368,  1370,  1370,  1372,  1386,  1406,  1412,
1037 <    1422,  1421,  1463,  1463,  1464,  1464,  1464,  1464,  1465,  1465,
1038 <    1465,  1466,  1466,  1468,  1474,  1480,  1486,  1498,  1497,  1503,
1039 <    1503,  1504,  1508,  1512,  1516,  1520,  1524,  1528,  1532,  1536,
1040 <    1542,  1556,  1565,  1579,  1578,  1587,  1587,  1588,  1588,  1588,
1041 <    1588,  1590,  1596,  1605,  1614,  1616,  1616,  1617,  1617,  1619,
1042 <    1635,  1634,  1659,  1659,  1660,  1660,  1660,  1660,  1662,  1668,
1043 <    1688,  1687,  1693,  1693,  1694,  1698,  1702,  1706,  1710,  1714,
1044 <    1718,  1722,  1726,  1730,  1740,  1739,  1760,  1760,  1761,  1761,
1045 <    1761,  1763,  1770,  1769,  1775,  1775,  1776,  1780,  1784,  1788,
1046 <    1792,  1796,  1800,  1804,  1808,  1812,  1822,  1821,  1887,  1887,
1047 <    1888,  1888,  1888,  1889,  1889,  1890,  1890,  1890,  1891,  1891,
1048 <    1891,  1892,  1892,  1893,  1895,  1901,  1907,  1913,  1926,  1939,
1049 <    1945,  1949,  1958,  1957,  1962,  1962,  1963,  1967,  1973,  1984,
1050 <    1990,  1996,  2002,  2018,  2017,  2080,  2079,  2085,  2085,  2086,
1051 <    2092,  2092,  2093,  2093,  2093,  2093,  2095,  2115,  2125,  2124,
1052 <    2151,  2151,  2152,  2152,  2152,  2154,  2160,  2169,  2171,  2171,
1053 <    2172,  2172,  2174,  2192,  2191,  2237,  2236,  2242,  2242,  2243,
1054 <    2249,  2249,  2250,  2250,  2250,  2250,  2252,  2258,  2267,  2270,
1055 <    2270,  2271,  2271,  2272,  2272,  2273,  2273,  2274,  2274,  2275,
1056 <    2275,  2276,  2277,  2278,  2278,  2279,  2279,  2280,  2280,  2281,
1057 <    2281,  2282,  2282,  2283,  2283,  2284,  2285,  2285,  2286,  2286,
1058 <    2287,  2287,  2288,  2288,  2289,  2289,  2290,  2291,  2291,  2292,
1059 <    2293,  2294,  2294,  2295,  2295,  2296,  2297,  2298,  2299,  2299,
1060 <    2300,  2303,  2308,  2314,  2320,  2326,  2331,  2336,  2341,  2346,
1061 <    2351,  2356,  2361,  2366,  2371,  2376,  2381,  2386,  2391,  2396,
1062 <    2402,  2413,  2418,  2423,  2428,  2433,  2438,  2441,  2446,  2449,
1063 <    2454,  2459,  2464,  2469,  2474,  2479,  2484,  2489,  2494,  2505,
1064 <    2510,  2515,  2520,  2529,  2538,  2543,  2548,  2554,  2553,  2558,
1065 <    2558,  2559,  2562,  2565,  2568,  2571,  2574,  2577,  2580,  2583,
1066 <    2586,  2589,  2592,  2595,  2598,  2601,  2604,  2607,  2610,  2613,
1067 <    2616,  2622,  2621,  2626,  2626,  2627,  2630,  2633,  2636,  2639,
1068 <    2642,  2645,  2648,  2651,  2654,  2657,  2660,  2663,  2666,  2669,
1069 <    2672,  2675,  2678,  2681,  2684,  2689,  2694,  2699,  2708,  2711,
1070 <    2711,  2712,  2713,  2713,  2714,  2714,  2715,  2715,  2716,  2717,
1071 <    2717,  2718,  2719,  2719,  2720,  2720,  2722,  2727,  2732,  2737,
1072 <    2742,  2747,  2752,  2757,  2762,  2767,  2772,  2777,  2782,  2787,
1073 <    2795,  2798,  2798,  2799,  2799,  2800,  2801,  2801,  2802,  2803,
1074 <    2805,  2811,  2817,  2826,  2840,  2846
1012 >       0,   370,   370,   371,   374,   375,   376,   377,   378,   379,
1013 >     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1014 >     390,   391,   392,   393,   394,   395,   396,   400,   400,   401,
1015 >     405,   409,   413,   417,   421,   425,   429,   435,   435,   436,
1016 >     437,   438,   439,   446,   449,   449,   450,   450,   450,   452,
1017 >     458,   465,   467,   467,   468,   468,   469,   469,   470,   470,
1018 >     471,   471,   472,   472,   473,   473,   474,   474,   475,   475,
1019 >     476,   477,   480,   481,   483,   483,   484,   490,   498,   498,
1020 >     499,   505,   513,   555,   614,   642,   650,   665,   680,   689,
1021 >     703,   712,   740,   770,   795,   817,   839,   848,   850,   850,
1022 >     851,   851,   852,   852,   854,   863,   872,   885,   884,   902,
1023 >     902,   903,   903,   903,   905,   911,   920,   921,   921,   923,
1024 >     923,   924,   926,   933,   933,   946,   947,   949,   949,   950,
1025 >     950,   952,   960,   963,   969,   968,   974,   974,   975,   979,
1026 >     983,   987,   991,   995,   999,  1003,  1007,  1018,  1017,  1097,
1027 >    1097,  1098,  1098,  1098,  1099,  1099,  1099,  1100,  1100,  1101,
1028 >    1102,  1102,  1104,  1110,  1116,  1122,  1133,  1139,  1145,  1156,
1029 >    1163,  1162,  1168,  1168,  1169,  1173,  1177,  1181,  1185,  1189,
1030 >    1193,  1197,  1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,
1031 >    1233,  1237,  1241,  1245,  1249,  1256,  1255,  1261,  1261,  1262,
1032 >    1266,  1270,  1274,  1278,  1282,  1286,  1290,  1294,  1298,  1302,
1033 >    1306,  1310,  1314,  1318,  1322,  1326,  1330,  1334,  1338,  1342,
1034 >    1346,  1350,  1361,  1360,  1421,  1421,  1422,  1423,  1423,  1424,
1035 >    1425,  1426,  1427,  1428,  1429,  1430,  1431,  1432,  1432,  1433,
1036 >    1434,  1435,  1436,  1438,  1444,  1450,  1456,  1462,  1468,  1474,
1037 >    1480,  1486,  1492,  1499,  1505,  1511,  1517,  1526,  1536,  1535,
1038 >    1541,  1541,  1542,  1546,  1557,  1556,  1563,  1562,  1567,  1567,
1039 >    1568,  1572,  1576,  1582,  1582,  1583,  1583,  1583,  1583,  1583,
1040 >    1585,  1585,  1587,  1587,  1589,  1603,  1623,  1629,  1639,  1638,
1041 >    1680,  1680,  1681,  1681,  1681,  1681,  1682,  1682,  1682,  1683,
1042 >    1683,  1685,  1691,  1697,  1703,  1715,  1714,  1720,  1720,  1721,
1043 >    1725,  1729,  1733,  1737,  1741,  1745,  1749,  1753,  1757,  1763,
1044 >    1777,  1786,  1800,  1799,  1814,  1814,  1815,  1815,  1815,  1815,
1045 >    1817,  1823,  1829,  1839,  1841,  1841,  1842,  1842,  1844,  1860,
1046 >    1859,  1884,  1884,  1885,  1885,  1885,  1885,  1887,  1893,  1913,
1047 >    1912,  1918,  1918,  1919,  1923,  1927,  1931,  1935,  1939,  1943,
1048 >    1947,  1951,  1955,  1965,  1964,  1985,  1985,  1986,  1986,  1986,
1049 >    1988,  1995,  1994,  2000,  2000,  2001,  2005,  2009,  2013,  2017,
1050 >    2021,  2025,  2029,  2033,  2037,  2047,  2046,  2118,  2118,  2119,
1051 >    2119,  2119,  2120,  2120,  2121,  2122,  2122,  2122,  2123,  2123,
1052 >    2123,  2124,  2124,  2125,  2127,  2133,  2139,  2145,  2158,  2171,
1053 >    2177,  2183,  2187,  2196,  2195,  2200,  2200,  2201,  2205,  2211,
1054 >    2222,  2228,  2234,  2240,  2256,  2255,  2281,  2281,  2282,  2282,
1055 >    2282,  2284,  2304,  2314,  2313,  2340,  2340,  2341,  2341,  2341,
1056 >    2343,  2349,  2358,  2360,  2360,  2361,  2361,  2363,  2381,  2380,
1057 >    2403,  2403,  2404,  2404,  2404,  2406,  2412,  2421,  2424,  2424,
1058 >    2425,  2425,  2426,  2426,  2427,  2427,  2428,  2428,  2429,  2429,
1059 >    2430,  2431,  2432,  2432,  2433,  2433,  2434,  2434,  2435,  2435,
1060 >    2436,  2437,  2437,  2438,  2438,  2439,  2439,  2440,  2440,  2441,
1061 >    2441,  2442,  2442,  2443,  2443,  2444,  2444,  2445,  2446,  2447,
1062 >    2447,  2448,  2448,  2449,  2450,  2451,  2452,  2452,  2453,  2454,
1063 >    2457,  2462,  2468,  2474,  2480,  2486,  2491,  2496,  2501,  2506,
1064 >    2511,  2516,  2521,  2526,  2531,  2536,  2541,  2546,  2551,  2557,
1065 >    2568,  2573,  2578,  2583,  2588,  2593,  2598,  2601,  2606,  2609,
1066 >    2614,  2619,  2624,  2629,  2634,  2639,  2644,  2649,  2654,  2659,
1067 >    2664,  2669,  2678,  2687,  2692,  2697,  2703,  2702,  2707,  2707,
1068 >    2708,  2711,  2714,  2717,  2720,  2723,  2726,  2729,  2732,  2735,
1069 >    2738,  2741,  2744,  2747,  2750,  2753,  2756,  2759,  2762,  2765,
1070 >    2768,  2774,  2773,  2778,  2778,  2779,  2782,  2785,  2788,  2791,
1071 >    2794,  2797,  2800,  2803,  2806,  2809,  2812,  2815,  2818,  2821,
1072 >    2824,  2827,  2830,  2833,  2836,  2839,  2844,  2849,  2854,  2863,
1073 >    2866,  2866,  2867,  2868,  2868,  2869,  2869,  2870,  2871,  2872,
1074 >    2873,  2874,  2874,  2875,  2875,  2877,  2882,  2887,  2892,  2897,
1075 >    2902,  2907,  2912,  2917,  2922,  2927,  2932,  2940,  2943,  2943,
1076 >    2944,  2944,  2945,  2946,  2947,  2948,  2948,  2949,  2950,  2952,
1077 >    2958,  2964,  2970,  2976,  2985,  2999,  3005
1078   };
1079   #endif
1080  
# Line 1311 | Line 1087 | static const char *const yytname[] =
1087    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1088    "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1089    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1090 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1091 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1092 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1093 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1094 <  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1095 <  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1096 <  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1097 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1098 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1099 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1100 <  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1101 <  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1102 <  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1103 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1104 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1105 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1106 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1107 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1090 >  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1091 >  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1092 >  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1093 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
1094 >  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1095 >  "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1096 >  "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1097 >  "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1098 >  "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1099 >  "HIDE_SERVICES", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1100 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "IRCD_AUTH",
1101 >  "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1102 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY",
1103 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1104 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1105 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1106 >  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1107 >  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1108 >  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1109 >  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1110    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1111 <  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1112 <  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1335 <  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1111 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1112 >  "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1113    "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1114 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1115 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1116 <  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1117 <  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1118 <  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1119 <  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1120 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1121 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1122 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1123 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1124 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1125 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1126 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1127 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1128 <  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1129 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1130 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1131 <  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1132 <  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1133 <  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1134 <  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1135 <  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1136 <  "modules_entry", "modules_items", "modules_item", "modules_module",
1137 <  "modules_path", "serverinfo_entry", "serverinfo_items",
1114 >  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1115 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1116 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1117 >  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1118 >  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1119 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1120 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1121 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1122 >  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1123 >  "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE",
1124 >  "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1125 >  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1126 >  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1127 >  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1128 >  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1129 >  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1130 >  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1131 >  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1132 >  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1133 >  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1134 >  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1135 >  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1136 >  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1137 >  "sizespec", "modules_entry", "modules_items", "modules_item",
1138 >  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1139    "serverinfo_item", "serverinfo_ssl_client_method",
1140    "serverinfo_ssl_server_method", "client_method_types",
1141    "client_method_type_item", "server_method_types",
# Line 1366 | Line 1144 | static const char *const yytname[] =
1144    "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1145    "serverinfo_description", "serverinfo_network_name",
1146    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1147 <  "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1148 <  "admin_item", "admin_name", "admin_email", "admin_description",
1149 <  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1150 <  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1151 <  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1152 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1147 >  "serverinfo_max_clients", "serverinfo_max_nick_length",
1148 >  "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1149 >  "admin_items", "admin_item", "admin_name", "admin_email",
1150 >  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1151 >  "motd_mask", "motd_file", "logging_entry", "logging_items",
1152 >  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1153 >  "logging_file_items", "logging_file_item", "logging_file_name",
1154 >  "logging_file_size", "logging_file_type", "$@3",
1155 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1156    "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1157 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1158 <  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1159 <  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1160 <  "class_entry", "$@6", "class_items", "class_item", "class_name",
1161 <  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1162 <  "class_max_number", "class_max_global", "class_max_local",
1163 <  "class_max_ident", "class_sendq", "class_recvq",
1157 >  "oper_encrypted", "oper_rsa_public_key_file",
1158 >  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1159 >  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1160 >  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1161 >  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1162 >  "class_name", "class_ping_time", "class_number_per_ip",
1163 >  "class_connectfreq", "class_max_number", "class_max_global",
1164 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1165    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1166 <  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1167 <  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1168 <  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1169 <  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1170 <  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1171 <  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1172 <  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1173 <  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1174 <  "service_entry", "service_items", "service_item", "service_name",
1175 <  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1176 <  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1177 <  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1178 <  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1179 <  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1166 >  "class_number_per_cidr", "class_min_idle", "class_max_idle",
1167 >  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1168 >  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1169 >  "listen_flags_item", "listen_items", "listen_item", "listen_port",
1170 >  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1171 >  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1172 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1173 >  "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1174 >  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1175 >  "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1176 >  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1177 >  "shared_items", "shared_item", "shared_name", "shared_user",
1178 >  "shared_type", "$@16", "shared_types", "shared_type_item",
1179 >  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1180 >  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1181 >  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1182    "connect_host", "connect_vhost", "connect_send_password",
1183 <  "connect_accept_password", "connect_port", "connect_aftype",
1184 <  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1185 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1186 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1187 <  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1188 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1183 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1184 >  "connect_port", "connect_aftype", "connect_flags", "$@20",
1185 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1186 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1187 >  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1188 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1189    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1190 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1407 <  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1190 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1191    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1192    "general_entry", "general_items", "general_item", "general_max_watch",
1193 <  "general_gline_enable", "general_gline_duration",
1194 <  "general_gline_request_duration", "general_gline_min_cidr",
1195 <  "general_gline_min_cidr6", "general_tkline_expire_notices",
1196 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1197 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1193 >  "general_cycle_on_host_change", "general_gline_enable",
1194 >  "general_gline_duration", "general_gline_request_duration",
1195 >  "general_gline_min_cidr", "general_gline_min_cidr6",
1196 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1197 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1198    "general_failed_oper_notice", "general_anti_nick_flood",
1199    "general_max_nick_time", "general_max_nick_changes",
1200    "general_max_accept", "general_anti_spam_exit_message_time",
# Line 1419 | Line 1202 | static const char *const yytname[] =
1202    "general_havent_read_conf", "general_invisible_on_connect",
1203    "general_warn_no_nline", "general_stats_e_disabled",
1204    "general_stats_o_oper_only", "general_stats_P_oper_only",
1205 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1206 <  "general_pace_wait", "general_caller_id_wait",
1207 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1208 <  "general_short_motd", "general_no_oper_flood",
1209 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1210 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1205 >  "general_stats_u_oper_only", "general_stats_k_oper_only",
1206 >  "general_stats_i_oper_only", "general_pace_wait",
1207 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1208 >  "general_pace_wait_simple", "general_short_motd",
1209 >  "general_no_oper_flood", "general_true_no_oper_flood",
1210 >  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1211    "general_use_egd", "general_egdpool_path", "general_services_name",
1212    "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1213    "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1214    "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1215    "general_min_nonwildcard", "general_min_nonwildcard_simple",
1216    "general_default_floodcount", "channel_entry", "channel_items",
1217 <  "channel_item", "channel_disable_fake_channels",
1435 <  "channel_restrict_channels", "channel_knock_delay",
1217 >  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1218    "channel_knock_delay_channel", "channel_max_chans_per_user",
1219 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1219 >  "channel_max_chans_per_oper", "channel_max_bans",
1220    "channel_default_split_user_count", "channel_default_split_server_count",
1221    "channel_no_create_on_split", "channel_no_join_on_split",
1222    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1223    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1224 <  "serverhide_hide_servers", "serverhide_hidden_name",
1224 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1225 >  "serverhide_hide_services", "serverhide_hidden_name",
1226    "serverhide_links_delay", "serverhide_hidden",
1227 <  "serverhide_hide_server_ips", YY_NULL
1227 >  "serverhide_hide_server_ips", YY_NULLPTR
1228   };
1229   #endif
1230  
1231   # ifdef YYPRINT
1232 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1233 <   token YYLEX-NUM.  */
1232 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1233 >   (internal) symbol number NUM (which must be that of a token).  */
1234   static const yytype_uint16 yytoknum[] =
1235   {
1236         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1471 | Line 1254 | static const yytype_uint16 yytoknum[] =
1254       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1255       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1256       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1257 <     465,   466,   467,   468,    59,   125,   123,    61,    44
1257 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1258 >     475,   476,   477,   478,   479,   480,   481,    59,   125,   123,
1259 >      61,    44,    58
1260   };
1261   # endif
1262  
1263 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1479 < static const yytype_uint16 yyr1[] =
1480 < {
1481 <       0,   219,   220,   220,   221,   221,   221,   221,   221,   221,
1482 <     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1483 <     221,   221,   221,   221,   221,   221,   222,   222,   223,   223,
1484 <     223,   223,   223,   223,   224,   224,   225,   225,   225,   225,
1485 <     226,   227,   227,   228,   228,   228,   229,   230,   231,   232,
1486 <     232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1487 <     233,   233,   233,   233,   233,   233,   233,   234,   235,   236,
1488 <     236,   237,   237,   238,   238,   239,   239,   240,   241,   242,
1489 <     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1490 <     253,   254,   254,   255,   255,   255,   255,   256,   257,   258,
1491 <     259,   260,   260,   261,   261,   261,   262,   264,   263,   265,
1492 <     265,   266,   266,   266,   266,   267,   268,   268,   270,   269,
1493 <     271,   271,   272,   272,   272,   272,   272,   272,   272,   274,
1494 <     273,   275,   275,   276,   276,   276,   276,   276,   276,   276,
1495 <     276,   276,   277,   278,   279,   280,   281,   282,   284,   283,
1496 <     285,   285,   286,   286,   286,   286,   286,   286,   286,   286,
1497 <     286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1498 <     286,   286,   288,   287,   289,   289,   290,   290,   290,   290,
1499 <     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1500 <     290,   290,   290,   290,   290,   292,   291,   293,   293,   294,
1501 <     294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1502 <     294,   294,   294,   295,   296,   297,   298,   299,   300,   301,
1503 <     302,   303,   304,   305,   306,   307,   309,   308,   311,   310,
1504 <     312,   312,   313,   313,   313,   314,   314,   315,   315,   315,
1505 <     315,   315,   317,   316,   318,   318,   319,   319,   320,   321,
1506 <     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
1507 <     325,   325,   325,   326,   327,   328,   329,   331,   330,   332,
1508 <     332,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1509 <     334,   335,   336,   338,   337,   339,   339,   340,   340,   340,
1510 <     340,   341,   342,   343,   344,   345,   345,   346,   346,   347,
1511 <     349,   348,   350,   350,   351,   351,   351,   351,   352,   353,
1512 <     355,   354,   356,   356,   357,   357,   357,   357,   357,   357,
1513 <     357,   357,   357,   357,   359,   358,   360,   360,   361,   361,
1514 <     361,   362,   364,   363,   365,   365,   366,   366,   366,   366,
1515 <     366,   366,   366,   366,   366,   366,   368,   367,   369,   369,
1516 <     370,   370,   370,   370,   370,   370,   370,   370,   370,   370,
1517 <     370,   370,   370,   370,   371,   372,   373,   374,   375,   376,
1518 <     377,   377,   379,   378,   380,   380,   381,   381,   382,   383,
1519 <     384,   385,   386,   388,   387,   390,   389,   391,   391,   392,
1520 <     393,   393,   394,   394,   394,   394,   395,   396,   398,   397,
1521 <     399,   399,   400,   400,   400,   401,   402,   403,   404,   404,
1522 <     405,   405,   406,   408,   407,   410,   409,   411,   411,   412,
1523 <     413,   413,   414,   414,   414,   414,   415,   416,   417,   418,
1524 <     418,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1525 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1526 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1527 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1528 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1529 <     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1530 <     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1531 <     439,   440,   441,   442,   443,   444,   445,   445,   446,   446,
1532 <     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1533 <     457,   458,   459,   460,   461,   462,   463,   465,   464,   466,
1534 <     466,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1535 <     467,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1536 <     467,   469,   468,   470,   470,   471,   471,   471,   471,   471,
1537 <     471,   471,   471,   471,   471,   471,   471,   471,   471,   471,
1538 <     471,   471,   471,   471,   471,   472,   473,   474,   475,   476,
1539 <     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1540 <     477,   477,   477,   477,   477,   477,   478,   479,   480,   481,
1541 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1542 <     492,   493,   493,   494,   494,   494,   494,   494,   494,   494,
1543 <     495,   496,   497,   498,   499,   500
1544 < };
1263 > #define YYPACT_NINF -755
1264  
1265 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1266 < static const yytype_uint8 yyr2[] =
1265 > #define yypact_value_is_default(Yystate) \
1266 >  (!!((Yystate) == (-755)))
1267 >
1268 > #define YYTABLE_NINF -124
1269 >
1270 > #define yytable_value_is_error(Yytable_value) \
1271 >  0
1272 >
1273 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1274 >     STATE-NUM.  */
1275 > static const yytype_int16 yypact[] =
1276   {
1277 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1278 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1279 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1280 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1281 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1282 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1283 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1284 <       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1285 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1286 <       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1287 <       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1288 <       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1289 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1290 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1291 <       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1292 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1293 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1294 <       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1295 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1296 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1297 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1298 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1299 <       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1300 <       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1301 <       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1302 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1303 <       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1304 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1305 <       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1306 <       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1307 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1308 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1309 <       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1310 <       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1311 <       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1312 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1313 <       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1314 <       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1315 <       4,     4,     4,     0,     6,     0,     5,     3,     1,     1,
1316 <       2,     1,     1,     1,     1,     1,     4,     4,     0,     6,
1317 <       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1318 <       1,     1,     4,     0,     6,     0,     5,     3,     1,     1,
1319 <       2,     1,     1,     1,     1,     1,     4,     4,     5,     2,
1320 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1321 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1322 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1323 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1324 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1325 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1326 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1327 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1328 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1329 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1330 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1331 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1332 <       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1333 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1334 <       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1335 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1336 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1337 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1338 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1339 <       4,     4,     4,     4,     4,     4
1277 >    -755,   716,  -755,  -198,  -223,  -208,  -755,  -755,  -755,  -186,
1278 >    -755,  -184,  -755,  -755,  -755,  -179,  -755,  -755,  -755,  -168,
1279 >    -154,  -755,  -146,  -123,  -755,  -755,  -755,  -755,  -755,  -755,
1280 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1281 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   282,
1282 >     923,   -84,   -59,   -46,   130,   -45,   414,   -39,   -26,   -19,
1283 >      79,   -18,   -11,    21,   503,   408,    40,    39,    53,    41,
1284 >     -14,    -1,    64,    66,     7,  -755,  -755,  -755,  -755,  -755,
1285 >      81,    82,    96,   100,   102,   104,   105,   117,   119,   121,
1286 >     127,   128,    13,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1287 >    -755,  -755,  -755,  -755,  -755,  -755,   706,   577,    61,  -755,
1288 >     131,    10,  -755,  -755,    36,  -755,   132,   133,   135,   139,
1289 >     141,   142,   143,   144,   146,   148,   151,   153,   157,   158,
1290 >     160,   162,   164,   165,   166,   168,   170,   180,   182,   183,
1291 >     187,   188,   189,  -755,   192,  -755,   193,   195,   197,   199,
1292 >     200,   201,   202,   206,   207,   208,   209,   212,   213,   216,
1293 >     217,   219,   221,   222,   223,   108,  -755,  -755,  -755,  -755,
1294 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1295 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1296 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1297 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1298 >    -755,  -755,  -755,  -755,  -755,  -755,   353,     8,   292,    29,
1299 >     227,   231,    24,  -755,  -755,  -755,    22,   546,    47,  -755,
1300 >     236,   237,   240,   246,   248,   251,   253,   254,    15,  -755,
1301 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,    60,   255,
1302 >     257,   259,   260,   262,   263,   265,   266,   272,   288,   291,
1303 >     294,   303,   305,   306,   307,   308,     9,  -755,  -755,  -755,
1304 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1305 >    -755,  -755,  -755,  -755,  -755,     4,    65,   309,    19,  -755,
1306 >    -755,  -755,   155,  -755,   313,    23,  -755,  -755,    62,  -755,
1307 >     215,   352,   365,   270,  -755,   252,   436,   335,   438,   440,
1308 >     440,   440,   443,   451,   454,   355,   356,   340,  -755,   347,
1309 >     346,   351,   354,  -755,   357,   359,   360,   362,   366,   367,
1310 >     368,   369,   370,   372,   373,   377,   258,  -755,  -755,  -755,
1311 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1312 >    -755,  -755,  -755,  -755,   358,   378,   381,   382,   383,   384,
1313 >     385,  -755,   386,   387,   388,   390,   391,   392,   393,   326,
1314 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1315 >    -755,  -755,  -755,  -755,  -755,  -755,   394,   397,    69,  -755,
1316 >    -755,  -755,   460,   409,  -755,  -755,   407,   411,    48,  -755,
1317 >    -755,  -755,   428,   440,   440,   432,   487,   433,   537,   523,
1318 >     437,   440,   439,   540,   543,   440,   545,   445,   446,   447,
1319 >     440,   550,   551,   440,   552,   553,   554,   555,   455,   441,
1320 >     456,   442,   457,   440,   440,   458,   459,   464,    58,    95,
1321 >     466,   467,   468,   547,   440,   469,   471,   440,   440,   472,
1322 >     473,   461,  -755,   462,   463,   465,  -755,   474,   476,   480,
1323 >     481,   482,   163,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1324 >    -755,  -755,  -755,   484,   485,    50,  -755,  -755,  -755,   475,
1325 >     488,   493,  -755,   494,  -755,    25,  -755,  -755,  -755,  -755,
1326 >    -755,   561,   562,   499,  -755,   502,   501,   505,    18,  -755,
1327 >    -755,  -755,   509,   507,   508,  -755,   511,   512,   514,   515,
1328 >     516,  -755,   518,    14,  -755,  -755,  -755,  -755,  -755,  -755,
1329 >    -755,  -755,  -755,  -755,  -755,   522,   526,   527,   528,    11,
1330 >    -755,  -755,  -755,  -755,   477,   529,   549,   563,   556,   557,
1331 >     560,   440,   533,  -755,  -755,   567,   564,   569,   586,   595,
1332 >     630,   638,   639,   641,   642,   648,   664,   652,   -99,   -42,
1333 >     653,   654,   558,  -755,   559,   566,  -755,    73,  -755,  -755,
1334 >    -755,  -755,   570,   574,  -755,   568,   656,   575,  -755,   576,
1335 >     579,  -755,   580,    27,  -755,  -755,  -755,  -755,   578,   584,
1336 >     587,  -755,   590,   591,   592,   593,   267,   597,   605,   607,
1337 >     615,   617,   618,   619,   623,  -755,  -755,   673,   674,   440,
1338 >     625,   676,   685,   440,   698,   699,   440,   734,   751,   755,
1339 >     440,   762,   762,   646,  -755,  -755,   752,   129,   754,   668,
1340 >     758,   764,   655,   766,   767,   784,   771,   775,   776,   777,
1341 >     677,  -755,   778,   780,   686,  -755,   689,  -755,   797,   798,
1342 >     696,  -755,   701,   704,   705,   708,   709,   710,   714,   715,
1343 >     717,   722,   723,   725,   728,   729,   730,   731,   732,   733,
1344 >     735,   737,   738,   739,   740,   741,   742,   743,   744,   660,
1345 >     745,   703,   747,   748,   749,   750,   753,   756,   757,   759,
1346 >     760,   769,   770,   772,   773,   781,   782,   783,   785,   788,
1347 >     789,   790,   791,  -755,  -755,   807,   763,   713,   810,   853,
1348 >     855,   856,   858,   792,  -755,   859,   862,   793,  -755,  -755,
1349 >     868,   875,   774,   897,   794,  -755,   795,   796,  -755,  -755,
1350 >     884,   888,   799,  -755,  -755,   891,   814,   800,   902,   906,
1351 >     908,   909,   823,   804,   912,   809,  -755,  -755,   914,   915,
1352 >     916,   813,  -755,   815,   816,   817,   818,   819,   820,   821,
1353 >     822,  -755,   824,   825,   826,   827,   828,   829,   830,   831,
1354 >     832,   833,   834,   835,   836,  -755,  -755,  -209,  -755,  -755,
1355 >    -755,  -189,  -755,   837,   838,  -755,  -755,   918,   839,   840,
1356 >    -755,   841,  -755,    26,   843,  -755,  -755,   927,   842,   943,
1357 >     844,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   440,
1358 >     440,   440,   440,   440,   440,   440,  -755,  -755,  -755,  -755,
1359 >    -755,  -755,  -755,  -755,  -755,  -755,   846,   847,   848,   -34,
1360 >     849,   850,   851,   852,   854,   857,   860,   861,   863,   864,
1361 >     289,   865,   866,  -755,   867,   869,   870,   871,   872,   873,
1362 >     874,     5,   876,   877,   878,   879,   880,   881,   882,  -755,
1363 >     883,   885,  -755,  -755,   886,   887,  -755,  -755,  -755,  -755,
1364 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1365 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1366 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1367 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1368 >    -755,  -755,  -755,  -755,  -755,  -174,  -755,  -755,  -755,  -755,
1369 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1370 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -172,
1371 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1372 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1373 >    -755,  -755,   889,   890,   245,   892,   893,   894,   895,   896,
1374 >    -755,   898,   899,  -755,   900,   901,   -16,   907,   903,  -755,
1375 >    -755,  -755,  -755,   904,   905,  -755,   910,   911,   524,   913,
1376 >     917,   919,   920,   921,   746,   922,  -755,   924,   925,   926,
1377 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1378 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1379 >    -755,  -755,  -755,   -99,  -755,   -42,  -755,  -755,   928,   632,
1380 >    -755,  -755,   929,   930,   931,  -755,    57,  -755,  -755,  -755,
1381 >    -755,  -755,   932,   787,   935,  -755,  -755,  -755,  -755,  -755,
1382 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -171,  -755,
1383 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1384 >     762,   762,   762,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1385 >    -755,  -755,  -755,  -755,  -755,  -755,  -155,  -755,  -755,  -755,
1386 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1387 >     660,  -755,   703,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1388 >    -755,  -755,  -755,  -755,  -755,   -50,  -755,  -755,  -755,  -755,
1389 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -49,
1390 >    -755,   972,   897,   936,  -755,  -755,  -755,  -755,  -755,   933,
1391 >    -755,  -755,   934,  -755,  -755,  -755,  -755,   937,  -755,  -755,
1392 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -23,  -755,
1393 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1394 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1395 >    -755,  -755,  -755,  -755,  -755,  -755,   -15,  -755,  -755,  -755,
1396 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1397 >    -755,  -755,  -755,  -755,  -755,     0,  -755,  -755,   959,  -101,
1398 >     938,   940,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1399 >    -755,  -755,  -755,  -755,    30,  -755,  -755,  -755,   -34,  -755,
1400 >    -755,  -755,  -755,     5,  -755,  -755,  -755,   245,  -755,   -16,
1401 >    -755,  -755,  -755,   954,   956,   957,  -755,   524,  -755,   746,
1402 >    -755,   632,   944,   945,   946,   297,  -755,  -755,   787,  -755,
1403 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1404 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1405 >    -755,    55,  -755,  -755,  -755,   297,  -755
1406   };
1407  
1408 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1409 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1410 <   means the default is an error.  */
1408 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1409 >     Performed when YYTABLE does not specify something else to do.  Zero
1410 >     means the default is an error.  */
1411   static const yytype_uint16 yydefact[] =
1412   {
1413 <       2,     0,     1,     0,     0,     0,   195,   346,   398,     0,
1414 <     413,     0,   250,   383,   226,     0,     0,   129,   283,     0,
1415 <       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1416 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1417 <      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1413 >       2,     0,     1,     0,     0,     0,   222,   385,   433,     0,
1414 >     448,     0,   288,   424,   264,     0,   107,   147,   322,     0,
1415 >       0,   363,     0,     0,   339,     3,    23,    11,     4,    24,
1416 >       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1417 >      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1418         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1419         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1420 <       0,     0,    92,    93,    95,    94,   595,     0,     0,     0,
1420 >       0,     0,     0,     0,     0,    99,   100,   102,   101,   624,
1421         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1422 <       0,     0,   580,   594,   590,   582,   583,   584,   585,   586,
1423 <     581,   587,   588,   589,   591,   592,   593,     0,     0,     0,
1424 <     411,     0,     0,   409,   410,     0,   480,     0,     0,     0,
1422 >       0,     0,     0,   611,   623,   613,   614,   615,   616,   612,
1423 >     617,   618,   619,   620,   621,   622,     0,     0,     0,   446,
1424 >       0,     0,   444,   445,     0,   509,     0,     0,     0,     0,
1425         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1426         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1427 <       0,     0,     0,     0,     0,     0,   551,     0,   527,     0,
1427 >       0,     0,     0,   581,     0,   556,     0,     0,     0,     0,
1428         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1429 <       0,     0,     0,     0,     0,     0,     0,   430,   478,   472,
1430 <     473,   474,   475,   476,   471,   441,   431,   432,   466,   433,
1431 <     434,   435,   436,   437,   438,   439,   440,   468,   442,   443,
1432 <     477,   445,   450,   446,   448,   447,   461,   462,   449,   451,
1433 <     452,   453,   454,   455,   444,   457,   458,   459,   479,   469,
1434 <     470,   467,   460,   456,   464,   465,   463,     0,     0,     0,
1435 <       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1436 <       0,    42,    43,    44,     0,     0,   619,     0,     0,     0,
1437 <       0,     0,     0,     0,   612,   613,   614,   617,   615,   616,
1644 <     618,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1645 <       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1646 <      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1647 <      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1648 <     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1429 >       0,     0,     0,     0,     0,     0,   459,   506,   508,   500,
1430 >     501,   502,   503,   504,   499,   470,   460,   461,   462,   463,
1431 >     464,   465,   466,   467,   468,   469,   496,   471,   472,   505,
1432 >     474,   479,   480,   475,   477,   476,   490,   491,   478,   481,
1433 >     482,   483,   484,   473,   486,   487,   488,   507,   497,   498,
1434 >     495,   489,   485,   493,   494,   492,     0,     0,     0,     0,
1435 >       0,     0,     0,    45,    46,    47,     0,     0,     0,   648,
1436 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   639,
1437 >     640,   641,   642,   643,   646,   644,   645,   647,     0,     0,
1438         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1439 <       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1440 <       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
1441 <     202,   204,   205,   206,   207,   208,   209,   210,   211,   200,
1442 <     201,   203,     0,     0,     0,     0,     0,   372,     0,     0,
1443 <       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
1444 <     352,   353,   354,   356,   355,   358,   362,   359,   360,   361,
1445 <     357,   404,     0,     0,     0,   401,   402,   403,     0,     0,
1446 <     408,   425,     0,     0,   415,   424,     0,   421,   422,   423,
1439 >       0,     0,     0,     0,     0,     0,     0,    53,    68,    69,
1440 >      67,    64,    63,    70,    54,    66,    57,    58,    59,    55,
1441 >      65,    60,    61,    62,    56,     0,     0,     0,     0,   118,
1442 >     119,   120,     0,   337,     0,     0,   335,   336,     0,   103,
1443 >       0,     0,     0,     0,    98,     0,     0,     0,     0,     0,
1444 >       0,     0,     0,     0,     0,     0,     0,     0,   610,     0,
1445 >       0,     0,     0,   258,     0,     0,     0,     0,     0,     0,
1446 >       0,     0,     0,     0,     0,     0,     0,   225,   226,   229,
1447 >     231,   232,   233,   234,   235,   236,   237,   238,   227,   228,
1448 >     230,   239,   240,   241,     0,     0,     0,     0,     0,     0,
1449 >       0,   413,     0,     0,     0,     0,     0,     0,     0,     0,
1450 >     388,   389,   390,   391,   392,   393,   394,   396,   395,   398,
1451 >     402,   399,   400,   401,   397,   439,     0,     0,     0,   436,
1452 >     437,   438,     0,     0,   443,   454,     0,     0,     0,   451,
1453 >     452,   453,     0,     0,     0,     0,     0,     0,     0,     0,
1454         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1455         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1456         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1457         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1458 +       0,     0,   458,     0,     0,     0,   305,     0,     0,     0,
1459 +       0,     0,     0,   291,   292,   293,   294,   299,   295,   296,
1460 +     297,   298,   430,     0,     0,     0,   427,   428,   429,     0,
1461 +       0,     0,   266,     0,   276,     0,   274,   275,   277,   278,
1462 +      48,     0,     0,     0,    44,     0,     0,     0,     0,   110,
1463 +     111,   112,     0,     0,     0,   195,     0,     0,     0,     0,
1464 +       0,   170,     0,     0,   150,   151,   152,   153,   156,   157,
1465 +     158,   159,   155,   154,   160,     0,     0,     0,     0,     0,
1466 +     325,   326,   327,   328,     0,     0,     0,     0,     0,     0,
1467 +       0,     0,     0,   638,    71,     0,     0,     0,     0,     0,
1468         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469 <     429,     0,     0,     0,   267,     0,     0,     0,     0,     0,
1470 <       0,   253,   254,   255,   256,   261,   257,   258,   259,   260,
1471 <     395,     0,   385,     0,   394,     0,   391,   392,   393,     0,
1472 <     228,     0,     0,     0,   238,     0,   236,   237,   239,   240,
1473 <     105,     0,     0,   101,     0,    45,     0,     0,     0,    41,
1668 <       0,     0,     0,   172,     0,     0,     0,   148,     0,     0,
1669 <     132,   133,   134,   135,   138,   139,   137,   136,   140,     0,
1670 <       0,     0,     0,     0,   286,   287,   288,   289,     0,     0,
1671 <       0,     0,     0,     0,     0,   611,    66,     0,     0,     0,
1469 >       0,     0,     0,    52,     0,     0,   371,     0,   366,   367,
1470 >     368,   121,     0,     0,   117,     0,     0,     0,   334,     0,
1471 >       0,   349,     0,     0,   342,   343,   344,   345,     0,     0,
1472 >       0,    97,     0,     0,     0,     0,    27,     0,     0,     0,
1473 >       0,     0,     0,     0,     0,   609,   242,     0,     0,     0,
1474         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1475 <       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1674 <     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1675 <       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1676 <      26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1677 <       0,     0,   578,   212,     0,     0,     0,     0,     0,     0,
1678 <       0,     0,     0,     0,     0,     0,     0,     0,   197,   363,
1475 >       0,     0,     0,     0,   224,   403,     0,     0,     0,     0,
1476         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1477 <       0,     0,     0,     0,   348,     0,     0,     0,   400,     0,
1478 <     407,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1477 >       0,   387,     0,     0,     0,   435,     0,   442,     0,     0,
1478 >       0,   450,     0,     0,     0,     0,     0,     0,     0,     0,
1479         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1480         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1481         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1482         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1483 <       0,     0,     0,     0,     0,     0,     0,   428,   262,     0,
1484 <       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1485 <       0,     0,     0,   390,   241,     0,     0,     0,     0,     0,
1486 <     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1487 <       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1488 <       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1489 <     610,     0,     0,     0,     0,     0,     0,     0,     0,    71,
1490 <      72,     0,    70,    75,    76,     0,    74,     0,     0,     0,
1491 <       0,     0,    48,   307,     0,     0,     0,     0,   302,   330,
1492 <       0,     0,     0,   326,     0,   294,    99,    98,    97,   605,
1493 <     604,   596,    26,    26,    26,    26,    26,    28,    27,   598,
1494 <     599,   603,   601,   600,   606,   607,   608,   609,   602,   597,
1483 >       0,     0,     0,   457,   300,     0,     0,     0,     0,     0,
1484 >       0,     0,     0,     0,   290,     0,     0,     0,   426,   279,
1485 >       0,     0,     0,     0,     0,   273,     0,     0,    43,   113,
1486 >       0,     0,     0,   109,   161,     0,     0,     0,     0,     0,
1487 >       0,     0,     0,     0,     0,     0,   149,   329,     0,     0,
1488 >       0,     0,   324,     0,     0,     0,     0,     0,     0,     0,
1489 >       0,   637,     0,     0,     0,     0,     0,     0,     0,     0,
1490 >       0,     0,     0,     0,     0,    76,    77,     0,    75,    80,
1491 >      81,     0,    79,     0,     0,    51,   369,     0,     0,     0,
1492 >     365,     0,   116,     0,     0,   333,   346,     0,     0,     0,
1493 >       0,   341,   106,   105,   104,   632,   631,   625,   635,    27,
1494 >      27,    27,    27,    27,    27,    27,    29,    28,   636,   626,
1495 >     627,   630,   629,   628,   633,   634,     0,     0,     0,     0,
1496         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1497 <       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1498 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   347,
1499 <       0,     0,   399,   412,     0,     0,     0,   414,   493,   497,
1500 <     511,   577,   525,   491,   519,   522,   492,   483,   482,   484,
1501 <     485,   486,   500,   489,   490,   501,   488,   496,   495,   494,
1502 <     520,   481,   518,   575,   576,   515,   512,   562,   555,   572,
1503 <     573,   556,   557,   558,   559,   567,   560,   570,   574,   563,
1504 <     568,   564,   569,   561,   566,   565,   571,     0,   554,   517,
1505 <     537,   531,   548,   549,   532,   533,   534,   535,   543,   536,
1506 <     546,   550,   539,   544,   540,   545,   538,   542,   541,   547,
1507 <       0,   530,   510,   513,   524,   487,   514,   503,   508,   509,
1508 <     506,   507,   504,   505,   499,   498,   523,   526,   516,   521,
1509 <     502,     0,     0,     0,     0,     0,     0,     0,     0,   251,
1510 <       0,     0,     0,   384,     0,     0,     0,   246,   242,   245,
1511 <     227,   106,     0,     0,   118,     0,     0,   110,   111,   113,
1512 <     112,    46,    47,     0,     0,     0,     0,     0,     0,     0,
1513 <       0,   130,     0,     0,     0,   284,   620,   624,   622,   625,
1514 <     621,   623,    83,    89,    81,    85,    84,    78,    77,    79,
1515 <      67,     0,    68,     0,    82,    80,    88,    86,    87,     0,
1516 <       0,     0,   301,     0,     0,   325,   299,    29,    30,    31,
1517 <      32,    33,   223,   224,   216,   218,   220,   219,   217,   213,
1518 <     225,   215,   214,    34,    34,    34,    36,    35,   221,   222,
1519 <     368,   370,   371,   381,   378,   376,   377,     0,   375,   365,
1520 <     379,   380,   364,   369,   367,   382,   366,   405,   406,   426,
1521 <     427,   419,     0,   418,   552,     0,   528,     0,   265,   266,
1522 <     275,   272,   277,   274,   273,   279,   276,   278,   271,     0,
1523 <     270,   264,   282,   281,   280,   263,   397,   389,     0,   388,
1524 <     396,   233,   234,   232,     0,   231,   249,   248,     0,     0,
1525 <       0,   114,     0,     0,     0,     0,   109,   147,   145,   187,
1526 <     184,   183,   176,   178,   194,   188,   191,   186,   177,   192,
1527 <     180,   189,   193,   181,   190,   185,   179,   182,     0,   175,
1528 <     142,   144,   146,   158,   152,   169,   170,   153,   154,   155,
1529 <     156,   164,   157,   167,   171,   160,   165,   161,   166,   159,
1530 <     163,   162,   168,     0,   151,   143,   292,   293,   291,    69,
1531 <      73,   308,   314,   320,   323,   316,   322,   317,   321,   319,
1532 <     315,   318,     0,   313,   309,   331,   336,   342,   345,   338,
1533 <     344,   339,   343,   341,   337,   340,     0,   335,    37,    38,
1534 <      39,   373,     0,   416,     0,   553,   529,   268,     0,   386,
1535 <       0,   229,     0,   247,   244,   243,     0,     0,     0,     0,
1536 <     108,   173,     0,   149,     0,   311,     0,   333,     0,   374,
1537 <     417,   269,   387,   230,   115,   124,   127,   126,   123,   128,
1538 <     125,   122,     0,   121,   117,   116,   174,   150,   312,   334,
1539 <     119,     0,   120
1497 >      37,     0,     0,   223,     0,     0,     0,     0,     0,     0,
1498 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   386,
1499 >       0,     0,   434,   447,     0,     0,   449,   522,   526,   541,
1500 >     511,   608,   554,   548,   551,   521,   513,   512,   515,   516,
1501 >     514,   529,   519,   520,   530,   518,   525,   524,   523,   549,
1502 >     510,   606,   607,   545,   591,   585,   602,   586,   587,   588,
1503 >     596,   605,   589,   599,   603,   592,   604,   597,   593,   598,
1504 >     590,   601,   595,   594,   600,     0,   584,   547,   565,   560,
1505 >     577,   561,   562,   563,   571,   580,   564,   574,   578,   567,
1506 >     579,   572,   568,   573,   566,   576,   570,   569,   575,     0,
1507 >     559,   542,   540,   543,   553,   544,   532,   538,   539,   536,
1508 >     537,   533,   534,   535,   552,   555,   517,   546,   528,   527,
1509 >     550,   531,     0,     0,     0,     0,     0,     0,     0,     0,
1510 >     289,     0,     0,   425,     0,     0,     0,   284,   280,   283,
1511 >     265,    49,    50,     0,     0,   108,     0,     0,     0,     0,
1512 >       0,     0,     0,     0,     0,     0,   148,     0,     0,     0,
1513 >     323,   650,   649,   655,   653,   656,   651,   652,   654,    88,
1514 >      96,    87,    94,    95,    86,    90,    89,    83,    82,    84,
1515 >      93,    85,    72,     0,    73,     0,    91,    92,     0,     0,
1516 >     364,   122,     0,     0,     0,   134,     0,   126,   127,   129,
1517 >     128,   338,     0,     0,     0,   340,    30,    31,    32,    33,
1518 >      34,    35,    36,   253,   254,   246,   263,   262,     0,   261,
1519 >     248,   250,   257,   249,   247,   256,   243,   255,   245,   244,
1520 >      37,    37,    37,    39,    38,   251,   252,   408,   411,   412,
1521 >     422,   419,   405,   420,   417,   418,     0,   416,   421,   404,
1522 >     410,   407,   409,   423,   406,   440,   441,   455,   456,   582,
1523 >       0,   557,     0,   303,   304,   313,   310,   315,   311,   312,
1524 >     318,   314,   316,   309,   317,     0,   308,   302,   321,   320,
1525 >     319,   301,   432,   431,   287,   286,   271,   272,   270,     0,
1526 >     269,     0,     0,     0,   114,   115,   169,   165,   214,   202,
1527 >     211,   210,   200,   205,   221,   213,   219,   204,   207,   216,
1528 >     218,   215,   212,   220,   208,   217,   206,   209,     0,   198,
1529 >     162,   164,   166,   167,   168,   179,   174,   191,   175,   176,
1530 >     177,   185,   194,   178,   188,   192,   181,   193,   186,   182,
1531 >     187,   180,   190,   184,   183,   189,     0,   173,   163,   332,
1532 >     330,   331,    74,    78,   370,   375,   381,   384,   377,   383,
1533 >     378,   382,   380,   376,   379,     0,   374,   130,     0,     0,
1534 >       0,     0,   125,   347,   353,   359,   362,   355,   361,   356,
1535 >     360,   358,   354,   357,     0,   352,   348,   259,     0,    40,
1536 >      41,    42,   414,     0,   583,   558,   306,     0,   267,     0,
1537 >     285,   282,   281,     0,     0,     0,   196,     0,   171,     0,
1538 >     372,     0,     0,     0,     0,     0,   124,   350,     0,   260,
1539 >     415,   307,   268,   201,   199,   203,   197,   172,   373,   131,
1540 >     133,   132,   140,   145,   144,   139,   142,   146,   143,   138,
1541 >     141,     0,   137,   351,   135,     0,   136
1542 > };
1543 >
1544 >  /* YYPGOTO[NTERM-NUM].  */
1545 > static const yytype_int16 yypgoto[] =
1546 > {
1547 >    -755,  -755,  -755,  -298,  -307,  -754,  -621,  -755,  -755,   942,
1548 >    -755,  -755,  -755,  -755,   845,  -755,  -755,  -755,    72,  -755,
1549 >      77,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1550 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  1015,  -755,
1551 >    -755,  -755,  -755,  -755,  -755,   620,  -755,  -755,  -755,  -755,
1552 >     939,  -755,  -755,  -755,  -755,    93,  -755,  -755,  -755,  -755,
1553 >    -755,  -170,  -755,  -755,  -755,   622,  -755,  -755,  -755,  -755,
1554 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -119,  -755,  -755,
1555 >    -755,  -114,  -755,  -755,  -755,   803,  -755,  -755,  -755,  -755,
1556 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1557 >    -755,  -755,  -755,  -755,   -92,  -755,  -755,  -755,  -755,  -755,
1558 >     -98,  -755,   657,  -755,  -755,  -755,    38,  -755,  -755,  -755,
1559 >    -755,  -755,   681,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1560 >     -87,  -755,  -755,  -755,  -755,  -755,  -755,   616,  -755,  -755,
1561 >    -755,  -755,  -755,   941,  -755,  -755,  -755,  -755,   571,  -755,
1562 >    -755,  -755,  -755,  -755,  -100,  -755,  -755,  -755,   608,  -755,
1563 >    -755,  -755,  -755,   -94,  -755,  -755,  -755,   805,  -755,  -755,
1564 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -57,
1565 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   702,  -755,
1566 >    -755,  -755,  -755,  -755,   801,  -755,  -755,  -755,  -755,  1067,
1567 >    -755,  -755,  -755,  -755,   786,  -755,  -755,  -755,  -755,  1014,
1568 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1569 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1570 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1571 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1572 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,    78,  -755,  -755,
1573 >    -755,    83,  -755,  -755,  -755,  -755,  -755,  1089,  -755,  -755,
1574 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1575 >    -755,  -755,   947,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1576 >    -755
1577   };
1578  
1579 < /* YYDEFGOTO[NTERM-NUM].  */
1579 >  /* YYDEFGOTO[NTERM-NUM].  */
1580   static const yytype_int16 yydefgoto[] =
1581   {
1582 <      -1,     1,    24,   777,   778,  1016,  1017,    25,   230,   231,
1583 <     232,   233,    26,   267,   268,   269,   270,   741,   742,   745,
1584 <     746,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1585 <     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1586 <      28,   222,   223,   224,   225,   226,   946,   947,   948,   949,
1587 <     950,  1083,  1212,  1213,    29,    60,   499,   500,   501,   502,
1588 <     503,   504,   505,   506,   507,   714,  1133,  1134,   508,   710,
1589 <    1108,  1109,    30,    49,   327,   328,   329,   330,   331,   332,
1590 <     333,   334,   335,   336,   337,   338,   339,   340,   341,    31,
1591 <      57,   474,   695,  1074,  1075,   475,   476,   477,  1080,   938,
1592 <     939,   478,   479,    32,    55,   450,   451,   452,   453,   454,
1593 <     455,   456,   681,  1059,  1060,   457,   458,   459,    33,    61,
1594 <     513,   514,   515,   516,   517,    34,   288,   289,   290,    35,
1595 <      64,   548,   549,   550,   551,   552,   755,  1152,  1153,    36,
1596 <      65,   556,   557,   558,   559,   761,  1166,  1167,    37,    50,
1597 <     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1598 <     604,  1027,  1028,   366,   367,   368,   369,   370,    38,    56,
1599 <     464,   690,  1068,  1069,   465,   466,   467,   468,    39,    51,
1600 <     374,   375,   376,   377,    40,   112,   113,   114,    41,    53,
1601 <     385,   623,  1042,  1043,   386,   387,   388,   389,    42,   166,
1582 >      -1,     1,    25,   816,   817,  1073,  1074,    26,   222,   223,
1583 >     224,   225,    27,   266,   267,   268,   269,   777,   778,   781,
1584 >     782,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1585 >     279,   280,   281,   282,   283,   284,    28,    74,    75,    76,
1586 >      77,    78,    29,    61,   498,   499,   500,   501,    30,   288,
1587 >     289,   290,   291,   292,  1036,  1037,  1038,  1039,  1040,  1210,
1588 >    1281,  1282,    31,    62,   513,   514,   515,   516,   517,   518,
1589 >     519,   520,   521,   522,   523,   743,  1186,  1187,   524,   737,
1590 >    1158,  1159,    32,    51,   336,   337,   338,   339,   340,   341,
1591 >     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1592 >     352,   353,   610,  1058,  1059,    33,    59,   484,   722,  1129,
1593 >    1130,   485,   486,   487,  1133,   978,   979,   488,   489,    34,
1594 >      57,   462,   463,   464,   465,   466,   467,   468,   707,  1115,
1595 >    1116,   469,   470,   471,    35,    63,   529,   530,   531,   532,
1596 >     533,    36,   295,   296,   297,    37,    69,   583,   584,   585,
1597 >     586,   587,   798,  1224,  1225,    38,    66,   567,   568,   569,
1598 >     570,   788,  1205,  1206,    39,    52,   369,   370,   371,   372,
1599 >     373,   374,   375,   376,   377,   378,   379,   632,  1086,  1087,
1600 >     380,   381,   382,   383,   384,    40,    58,   475,   476,   477,
1601 >     478,    41,    53,   388,   389,   390,   391,    42,   111,   112,
1602 >     113,    43,    55,   398,   399,   400,   401,    44,   165,   166,
1603       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1604       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1605       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1606       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1607 <     207,   208,   209,   210,   211,   212,   421,   900,   901,   213,
1608 <     419,   877,   878,   214,   215,   216,    43,    91,    92,    93,
1609 <      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1610 <     104,   105,   106,    44,   243,   244,   245,   246,   247,   248,
1611 <     249,   250
1776 < };
1777 <
1778 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1779 <   STATE-NUM.  */
1780 < #define YYPACT_NINF -745
1781 < static const yytype_int16 yypact[] =
1782 < {
1783 <    -745,   615,  -745,  -209,  -208,  -192,  -745,  -745,  -745,  -190,
1784 <    -745,  -183,  -745,  -745,  -745,  -169,  -167,  -745,  -745,  -144,
1785 <    -137,  -745,  -745,  -132,  -745,  -745,  -745,  -745,  -745,  -745,
1786 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1787 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   292,   784,  -111,
1788 <    -102,   -93,    22,   -90,   389,   -80,   -74,   -72,    50,    15,
1789 <     -65,   -60,   299,   388,   -54,   -34,    18,  -176,   -58,   -32,
1790 <     -22,     3,  -745,  -745,  -745,  -745,  -745,   -15,    -9,    26,
1791 <      38,    67,    69,    75,    80,    82,    88,    90,    93,   100,
1792 <     107,   195,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1793 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   569,   505,    13,
1794 <    -745,   115,    12,  -745,  -745,   258,  -745,   117,   122,   129,
1795 <     131,   140,   141,   144,   145,   146,   154,   155,   156,   159,
1796 <     161,   165,   166,   168,   170,   174,   175,   176,   177,   180,
1797 <     190,   194,   197,   199,   203,   204,  -745,   205,  -745,   206,
1798 <     209,   211,   212,   215,   219,   221,   224,   225,   229,   230,
1799 <     233,   234,   236,   237,   239,   240,    36,  -745,  -745,  -745,
1800 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1801 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1802 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1803 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1804 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   343,    60,   284,
1805 <    -157,   241,    43,  -745,  -745,  -745,    66,   113,   242,   245,
1806 <      99,  -745,  -745,  -745,   348,    62,  -745,   249,   253,   264,
1807 <     266,   267,   271,    16,  -745,  -745,  -745,  -745,  -745,  -745,
1808 <    -745,   268,   273,   274,   280,   281,   285,   287,   290,   294,
1809 <     295,   296,   297,   306,   307,   308,   309,    74,  -745,  -745,
1810 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1811 <    -745,  -745,  -745,  -745,   220,   277,  -745,   310,    20,  -745,
1812 <    -745,  -745,   252,   370,   384,   302,  -745,   410,   430,   371,
1813 <     432,   432,   433,   434,   436,   379,   390,   453,   432,   395,
1814 <     396,   342,  -745,   345,   349,   350,   352,   354,   355,   357,
1815 <     360,   361,   362,   363,   365,   366,   369,   152,  -745,  -745,
1816 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1817 <    -745,  -745,   346,   372,   381,   385,   386,  -745,   392,   393,
1818 <     397,   400,   401,   405,   407,   408,   270,  -745,  -745,  -745,
1819 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1820 <    -745,  -745,   409,   413,    51,  -745,  -745,  -745,   445,   351,
1821 <    -745,  -745,   414,   417,  -745,  -745,     8,  -745,  -745,  -745,
1822 <     428,   432,   432,   502,   446,   447,   508,   495,   454,   432,
1823 <     461,   432,   528,   536,   537,   480,   485,   493,   432,   556,
1824 <     557,   432,   562,   563,   548,   567,   568,   512,   513,   456,
1825 <     519,   459,   432,   432,   521,   522,   523,   524,    14,    54,
1826 <     530,   532,   432,   432,   570,   432,   533,   535,   538,   474,
1827 <    -745,   481,   479,   483,  -745,   484,   488,   492,   498,   501,
1828 <     128,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1829 <    -745,   503,  -745,   506,  -745,    19,  -745,  -745,  -745,   514,
1830 <    -745,   515,   518,   520,  -745,   116,  -745,  -745,  -745,  -745,
1831 <    -745,   539,   516,  -745,   496,  -745,   602,   612,   526,  -745,
1832 <     527,   531,   534,  -745,   540,   544,   545,  -745,   553,   183,
1833 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   541,
1834 <     560,   561,   573,    11,  -745,  -745,  -745,  -745,   572,   575,
1835 <     621,   584,   585,   432,   542,  -745,  -745,   629,   586,   630,
1836 <     632,   636,   637,   663,   670,   112,   196,   684,   691,   674,
1837 <     696,   701,   605,  -745,   619,   617,  -745,   622,    59,  -745,
1838 <    -745,  -745,  -745,   627,   626,  -745,   110,  -745,  -745,  -745,
1839 <     719,   633,  -745,   635,   638,   639,  -745,   641,   642,   646,
1840 <     265,   647,   648,   649,   650,   651,   652,   653,   654,   655,
1841 <     657,   658,  -745,  -745,   771,   774,   432,   775,   776,   777,
1842 <     778,   761,   782,   783,   432,   785,   785,   669,  -745,  -745,
1843 <     768,   164,   769,   728,   671,   772,   773,   779,   780,   792,
1844 <     781,   786,   787,   680,  -745,   788,   789,   681,  -745,   685,
1845 <    -745,   790,   791,   683,   687,  -745,   695,   697,   698,   699,
1846 <     700,   702,   703,   704,   705,   706,   707,   708,   709,   710,
1847 <     711,   712,   713,   714,   715,   716,   717,   718,   720,   721,
1848 <     722,   723,   724,   725,   726,   600,   727,   628,   729,   730,
1849 <     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1850 <     741,   742,   743,   744,   745,   746,   747,  -745,  -745,   798,
1851 <     803,   748,   816,   843,   846,   847,   849,   753,  -745,   851,
1852 <     752,   853,   757,  -745,  -745,   755,   856,   857,   876,   762,
1853 <    -745,   763,  -745,   187,   764,   765,  -745,  -745,   863,   822,
1854 <     766,   865,   867,   868,   770,   869,   793,  -745,  -745,   871,
1855 <     872,   873,   794,  -745,   795,   796,   797,   799,   800,   801,
1856 <    -745,   802,   804,   805,   806,   807,   808,   809,   810,  -745,
1857 <    -745,  -196,  -745,  -745,  -745,  -179,  -745,   811,   812,   813,
1858 <     814,   815,  -745,  -745,   874,   817,   875,   818,  -745,  -745,
1859 <     877,   819,   821,  -745,   823,  -745,  -745,  -745,  -745,  -745,
1860 <    -745,  -745,   432,   432,   432,   432,   432,  -745,  -745,  -745,
1861 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1862 <     824,   825,   826,   827,   828,   829,   830,   831,   832,   833,
1863 <     834,    79,   835,   836,  -745,   837,   838,   839,   840,   841,
1864 <      -1,   842,   844,   845,   848,   850,   852,   854,   855,  -745,
1865 <     858,   859,  -745,  -745,   860,   861,   878,  -745,  -745,  -745,
1866 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1867 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1868 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1869 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1870 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -178,  -745,  -745,
1871 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1872 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1873 <    -173,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1874 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1875 <    -745,   862,   864,   693,   866,   870,   879,   880,   881,  -745,
1876 <     882,   883,   884,  -745,   -36,   885,   886,   894,   887,  -745,
1877 <    -745,  -745,   888,   889,  -745,   890,    86,  -745,  -745,  -745,
1878 <    -745,  -745,  -745,   895,   896,   517,   897,   898,   899,   656,
1879 <     900,  -745,   901,   902,   903,  -745,  -745,  -745,  -745,  -745,
1880 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1881 <    -745,   112,  -745,   196,  -745,  -745,  -745,  -745,  -745,   904,
1882 <     464,   905,  -745,   906,   529,  -745,  -745,  -745,  -745,  -745,
1883 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1884 <    -745,  -745,  -745,   785,   785,   785,  -745,  -745,  -745,  -745,
1885 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -168,  -745,  -745,
1886 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1887 <    -745,  -745,  -160,  -745,  -745,   600,  -745,   628,  -745,  -745,
1888 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -159,
1889 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   -57,  -745,
1890 <    -745,  -745,  -745,  -745,   -38,  -745,  -745,  -745,   907,   876,
1891 <     908,  -745,   913,   891,   -88,   909,  -745,  -745,  -745,  -745,
1892 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1893 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    -7,  -745,
1894 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1895 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1896 <    -745,  -745,  -745,    63,  -745,  -745,  -745,  -745,  -745,  -745,
1897 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1898 <    -745,  -745,    94,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1899 <    -745,  -745,  -745,  -745,  -745,  -745,   101,  -745,  -745,  -745,
1900 <    -745,  -745,    -1,  -745,   878,  -745,  -745,  -745,   693,  -745,
1901 <     883,  -745,   -36,  -745,  -745,  -745,   910,   403,   911,   912,
1902 <    -745,  -745,   517,  -745,   656,  -745,   464,  -745,   529,  -745,
1903 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1904 <    -745,  -745,   104,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1905 <    -745,   403,  -745
1607 >     207,   208,   209,   210,   211,   431,   939,   940,   212,   429,
1608 >     915,   916,   213,   214,   215,    45,    92,    93,    94,    95,
1609 >      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1610 >      46,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1611 >     247
1612   };
1613  
1614 < /* YYPGOTO[NTERM-NUM].  */
1615 < static const yytype_int16 yypgoto[] =
1616 < {
1911 <    -745,  -745,  -745,  -744,  -298,  -659,  -595,  -745,  -745,   767,
1912 <    -745,  -745,  -745,  -745,   750,  -745,  -745,  -745,    17,  -745,
1913 <      10,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1914 <    -745,  -745,  -745,  -745,  -745,  -745,   924,  -745,  -745,  -745,
1915 <    -745,  -745,   914,  -745,  -745,  -745,  -745,    53,  -745,  -745,
1916 <    -745,  -745,  -745,  -225,  -745,  -745,  -745,   504,  -745,  -745,
1917 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -193,  -745,  -745,
1918 <    -745,  -188,  -745,  -745,  -745,   675,  -745,  -745,  -745,  -745,
1919 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1920 <    -745,  -745,  -745,  -745,  -170,  -745,   558,  -745,  -745,  -745,
1921 <     -48,  -745,  -745,  -745,  -745,  -745,   610,  -745,  -745,  -745,
1922 <    -745,  -745,  -745,  -745,  -117,  -745,  -745,  -745,  -745,  -745,
1923 <    -745,   550,  -745,  -745,  -745,  -745,  -745,   892,  -745,  -745,
1924 <    -745,  -745,   543,  -745,  -745,  -745,  -745,  -745,  -131,  -745,
1925 <    -745,  -745,   511,  -745,  -745,  -745,  -745,  -128,  -745,  -745,
1926 <    -745,   820,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1927 <    -745,  -745,  -101,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1928 <    -745,  -745,  -745,  -103,  -745,   614,  -745,  -745,  -745,  -745,
1929 <    -745,   754,  -745,  -745,  -745,  -745,   969,  -745,  -745,  -745,
1930 <    -745,  -745,  -745,   -92,  -745,   749,  -745,  -745,  -745,  -745,
1931 <     917,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1932 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1933 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1934 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1935 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    39,  -745,
1936 <    -745,  -745,    40,  -745,  -745,  -745,  -745,  -745,   996,  -745,
1937 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1938 <    -745,  -745,  -745,  -745,  -745,   915,  -745,  -745,  -745,  -745,
1939 <    -745,  -745
1940 < };
1941 <
1942 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1943 <   positive, shift that token.  If negative, reduce the rule which
1944 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1945 < #define YYTABLE_NINF -108
1614 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1615 >     positive, shift that token.  If negative, reduce the rule whose
1616 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1617   static const yytype_int16 yytable[] =
1618   {
1619 <     802,   803,   571,   572,    67,    45,    46,  1025,    47,   381,
1620 <     579,   801,   509,   110,   371,  1071,   227,   236,   980,   286,
1621 <     460,   286,   981,   110,    48,   510,    52,    68,   997,   998,
1622 <     999,  1000,  1001,    54,    69,   982,  1044,   116,   291,   983,
1623 <    1045,  1046,   117,   118,   220,  1047,  1171,    58,   119,    59,
1624 <    1172,   220,   371,   237,  1173,  1177,   120,   480,  1174,  1178,
1625 <     544,   460,   121,   509,   122,   123,   124,   238,   239,   240,
1626 <     241,   125,    62,   111,   372,   251,   510,   126,   127,    63,
1627 <     128,   129,   130,   111,    66,   242,   131,   942,  1013,  1014,
1628 <    1015,   132,    70,   627,   628,   133,   134,   382,   252,   135,
1629 <     227,   635,   228,   637,   511,   107,  1188,   287,   136,   287,
1630 <     644,   553,   372,   647,   108,   137,   138,   469,   139,   140,
1631 <     141,   142,   143,   109,   658,   659,   115,   383,   229,   441,
1632 <     512,   253,   373,   144,   670,   671,   217,   673,   461,   145,
1633 <     146,   147,   218,   148,   219,   442,   149,   150,   545,  1072,
1634 <     151,   234,   470,   313,  1073,   511,   235,  1179,   384,   292,
1635 <     443,  1180,   284,   254,   444,   255,   256,   314,   315,   462,
1636 <     373,   316,   471,   664,   665,   943,  1181,   472,   801,   461,
1637 <    1182,   512,   285,   152,   490,   293,   228,   153,   942,  1026,
1638 <     154,   155,   156,   157,   158,   294,    76,   159,   160,   554,
1639 <     491,   257,   297,   258,   259,   260,   261,  1191,   298,   546,
1640 <     462,  1192,   229,   666,   667,   492,    77,    78,   295,   493,
1641 <     262,   544,    79,   624,   463,   729,   722,   379,   317,   318,
1642 <     319,   524,   473,   320,   692,   561,   944,   161,   162,   163,
1643 <     445,   321,   164,   299,   263,   739,   740,   165,   446,   447,
1644 <     221,   439,   322,   323,   264,   300,  -107,   221,   482,   381,
1645 <     555,    80,    81,  -107,   547,   463,   617,   324,    82,    83,
1646 <      84,   342,   494,   343,   757,   344,   943,  1193,   553,   484,
1647 <     448,  1194,   265,   266,   301,   469,   302,   345,   792,   542,
1648 <      85,    86,   303,    67,   325,   495,   800,   304,   945,   305,
1649 <     236,  1085,   346,    87,    88,   306,   347,   307,  1195,   545,
1650 <     308,   496,  1196,    89,   488,  1197,    68,   309,  1220,  1198,
1651 <     470,    90,  1221,    69,   310,   762,   348,   485,   349,   743,
1652 <     744,   699,   378,   449,   390,   326,   237,   944,   350,   391,
1653 <     471,   806,   807,   687,   441,   472,   392,   382,   393,   490,
1654 <     238,   239,   240,   241,  1168,  1169,  1170,   394,   395,   351,
1655 <     442,   396,   397,   398,   570,   491,   554,   597,   242,   563,
1656 <     546,   399,   400,   401,   497,   443,   402,   383,   403,   444,
1657 <     492,    70,   404,   405,   493,   406,   352,   407,   498,   251,
1658 <     116,   408,   409,   410,   411,   117,   118,   412,   716,   945,
1659 <     473,   119,   772,   773,   774,   775,   776,   413,   384,   120,
1660 <     311,   414,   252,   353,   415,   121,   416,   122,   123,   124,
1661 <     417,   418,   420,   422,   125,   547,   423,   555,   424,   425,
1662 <     126,   127,   426,   128,   129,   130,   427,   494,   428,   131,
1663 <     354,   429,   430,  1205,   132,   253,   431,   432,   133,   134,
1664 <     433,   434,   135,   435,   436,   445,   437,   438,   481,   486,
1665 <     495,   136,   487,   446,   447,  1206,   518,  1207,   137,   138,
1666 <     519,   139,   140,   141,   142,   143,   496,   254,   355,   255,
1667 <     256,   520,   526,   521,   522,   613,   144,   564,   523,  1189,
1668 <     527,   528,   145,   146,   147,   448,   148,   529,   530,   149,
1669 <     150,   565,   531,   151,   532,  1208,   342,   533,   343,   567,
1670 <     344,   534,   535,   536,   537,   257,   566,   258,   259,   260,
1671 <     261,  1089,   345,   538,   539,   540,   541,   560,  1142,   568,
1672 <     569,   570,   573,   574,   262,   575,   152,   346,   576,   497,
1673 <     153,   347,  1090,   154,   155,   156,   157,   158,   449,   577,
1674 <     159,   160,   578,   498,   580,   581,   582,  1091,   263,   583,
1675 <     599,   348,   619,   349,  1092,   620,   584,   585,   264,   586,
1676 <     313,   587,   588,   350,   589,  1209,  1210,   590,   591,   592,
1677 <     593,  1093,   594,   595,   314,   315,   596,   626,   316,   600,
1678 <     161,   162,   163,  1156,   351,   164,   265,   266,   601,  1143,
1679 <     165,   629,   602,   603,  1094,   630,   631,   632,  1211,   605,
1680 <     606,  1095,   633,   634,   607,     2,     3,   608,   609,     4,
1681 <     636,   352,   610,  1096,   611,   612,   615,   638,  1144,     5,
1682 <     616,   621,     6,     7,   622,   639,   640,  1145,     8,   641,
1683 <    1097,  1098,  1099,  1146,   642,   317,   318,   319,   353,     9,
1684 <     320,   857,   643,    10,    11,   645,   646,  1147,   321,  1148,
1685 <    1149,   648,   649,    12,  1157,   650,   651,   652,  1150,   322,
1686 <     323,   653,   654,   655,  1151,   354,   657,    13,   656,   880,
1687 <     660,   661,   662,   663,   324,    14,    15,   672,   677,   668,
1688 <    1100,   669,   674,  1158,   675,   678,   679,   676,   701,  1101,
1689 <     680,   682,  1159,    16,  1102,   683,  1050,  1113,  1160,   684,
1690 <    1103,   325,   703,   355,  1104,   685,  1105,    17,   686,   704,
1691 <     689,  1106,  1161,   691,  1162,  1163,  1051,  1107,   694,   705,
1692 <     702,   724,   696,  1164,   725,   697,  1052,   698,   726,  1165,
1693 <     706,   707,  1053,   727,   728,   732,   731,   733,   708,   734,
1694 <      18,   709,   326,   735,   736,   718,   730,   711,  1054,    19,
1695 <      20,   712,   713,    21,    22,   858,   859,   860,   861,   862,
1696 <     715,   863,   864,   749,   865,   866,   867,   719,   720,   868,
1697 <     737,   869,   870,  1055,   871,    76,   872,   738,   873,   874,
1698 <     721,  1056,   875,   881,   882,   883,   884,   885,   876,   886,
1699 <     887,   747,   888,   889,   890,    77,    78,   891,   748,   892,
1700 <     893,    79,   894,   750,   895,    23,   896,   897,   751,   752,
1701 <     898,  1114,  1115,  1116,  1117,  1118,   899,  1119,  1120,  1057,
1702 <    1121,  1122,  1123,   753,   754,  1124,   764,  1125,  1126,   756,
1703 <    1127,   759,  1128,   760,  1129,  1130,  1058,   765,  1131,   766,
1704 <      80,    81,   767,   768,  1132,   769,   770,    82,    83,    84,
1705 <     771,   779,   780,   781,   782,   783,   784,   785,   786,   787,
1706 <     790,   788,   789,   791,   793,   794,   795,   796,   797,    85,
1707 <      86,   798,   799,   804,   801,   805,   808,   809,   810,   811,
1708 <     812,   815,    87,    88,   819,   822,   813,   814,   816,   823,
1709 <     826,   827,    89,   817,   818,   820,   821,   824,   825,   828,
1710 <      90,   829,   830,   831,   832,   921,   833,   834,   835,   836,
1711 <     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
1712 <     847,   848,   849,   924,   850,   851,   852,   853,   854,   855,
1713 <     856,   879,   925,   902,   903,   904,   905,   906,   907,   908,
1714 <     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
1715 <     919,   920,   922,   926,   927,   923,   928,   929,   930,   931,
1716 <     932,   933,   934,   935,   936,   937,   940,   941,   951,   952,
1717 <     953,   954,   956,   955,   957,   958,   960,   959,   962,   963,
1718 <     964,   989,   991,  1140,   993,   296,  1222,   489,  1139,  1086,
1719 <    1041,  1217,   598,   717,  1216,  1067,  1183,   961,   965,   966,
1720 <     967,   968,  1203,   969,   970,   971,   972,   543,   973,   974,
1721 <     975,   976,   977,   978,   979,   984,   985,   986,   987,   988,
1722 <    1186,  1184,   992,   700,   990,   995,   994,   996,  1002,  1003,
1723 <    1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1018,
1724 <    1019,  1020,  1021,  1022,  1023,  1024,  1029,  1078,  1030,  1031,
1725 <     688,  1201,  1032,   723,  1033,  1218,  1034,   763,  1035,  1036,
1726 <    1219,  1199,  1037,  1038,  1039,  1040,  1048,  1202,  1049,   693,
1727 <    1061,   380,  1200,   440,  1062,  1175,  1176,   312,     0,     0,
1728 <       0,   758,     0,  1063,  1064,  1065,  1066,     0,  1070,  1076,
1729 <    1077,     0,  1081,     0,     0,  1079,  1082,  1084,  1187,  1087,
1730 <    1088,  1110,  1111,  1112,  1135,  1136,  1137,  1138,  1141,  1154,
1731 <    1155,     0,  1185,  1190,  1204,  1214,  1215,     0,   618,     0,
1732 <       0,     0,     0,     0,     0,   625,   483,     0,     0,     0,
1619 >     841,   842,   597,   598,   599,   564,    49,   840,    70,   472,
1620 >     248,   109,   525,  1084,    79,   502,   229,  1056,  1022,   495,
1621 >     286,    50,  1023,   495,   293,   219,   479,  1032,   579,    47,
1622 >      48,   503,    71,  1126,   249,    80,    81,   395,  1024,    72,
1623 >     286,    82,  1025,    54,   230,    56,   526,   504,   525,   395,
1624 >      60,   472,   231,  1099,   293,  1101,  1227,  1100,  1032,  1102,
1625 >    1228,    64,   385,   579,   232,   233,   250,   234,   235,   236,
1626 >     385,   110,  1232,   251,   564,    65,  1233,   505,    83,    84,
1627 >     219,   480,   526,    67,    85,    86,   481,   527,   482,   237,
1628 >    1057,    87,    88,    89,   496,   252,   653,   654,   496,   253,
1629 >     775,   776,   565,  1253,   661,    73,    68,   254,   665,   115,
1630 >     255,   256,   506,   670,   116,   117,   673,    90,    91,   220,
1631 >     118,   294,   386,   527,  1033,   580,   683,   684,   119,   120,
1632 >     386,   109,   507,   473,   396,   121,   528,   696,   122,   123,
1633 >     699,   700,   257,   221,   124,   106,   396,   483,   508,   125,
1634 >     126,   294,   127,   128,   129,  1033,   130,   779,   780,   258,
1635 >     580,   397,   259,   131,   453,   509,   510,   132,   133,  1127,
1636 >     107,   565,   528,   397,   220,   473,   134,  1236,  1238,  1128,
1637 >     454,  1237,  1239,   108,   114,   135,   387,   260,   497,  -123,
1638 >     216,   110,   497,   136,   387,   137,   455,   138,   221,   139,
1639 >    1085,   140,   141,   217,  1246,   261,   262,   263,  1247,  -123,
1640 >     218,   226,  1248,   299,   142,   511,  1249,  1034,   227,   143,
1641 >     144,   145,   566,   146,   147,   148,   456,  1250,   149,   300,
1642 >     474,  1251,   264,   265,   760,   303,   512,   562,   393,   751,
1643 >     287,   317,   745,   542,  1035,   581,   732,   573,  1034,   582,
1644 >     228,   577,   493,   724,   150,   800,   490,  1257,  1105,   319,
1645 >     287,  1258,   151,   152,   153,   154,   155,   156,   688,   285,
1646 >     298,   689,   474,   320,   321,  1035,   650,   322,   717,  1106,
1647 >     581,   457,  1284,    70,   582,  1211,  1285,   544,  1107,   458,
1648 >     459,   566,   571,   479,   301,   157,   302,   644,  1070,  1071,
1649 >    1072,   789,   828,   845,   846,   690,   832,    71,   691,   835,
1650 >     460,   305,   306,   839,    72,  1108,  1229,  1230,  1231,   158,
1651 >     159,   323,   160,   161,   162,   575,   307,   354,   163,   355,
1652 >     308,   356,   309,   164,   310,   311,   451,  1272,   588,   324,
1653 >     325,   326,   327,   357,  1109,  1110,   328,   312,   480,   313,
1654 >     329,   314,  1111,   481,   453,   482,   330,   315,   316,   358,
1655 >     592,   392,   402,   403,  1273,   404,  1274,   331,   332,   405,
1656 >     454,   406,   407,   408,   409,   596,   410,  1112,   411,   333,
1657 >      73,   412,   359,   413,   360,   461,   455,   414,   415,   361,
1658 >     416,   713,   417,  1113,   418,   419,   420,   840,   421,   362,
1659 >     422,   334,   809,   810,   811,   812,   813,   814,   815,   248,
1660 >     423,  1275,   424,   425,   483,   115,   456,   426,   427,   428,
1661 >     116,   117,   430,   432,   363,   433,   118,   434,  1276,   435,
1662 >     436,   437,   438,   249,   119,   120,   439,   440,   441,   442,
1663 >     335,   121,   443,   444,   122,   123,   445,   446,   364,   447,
1664 >     124,   448,   449,   450,  1114,   125,   126,   491,   127,   128,
1665 >     129,   492,   130,  1277,  1278,   250,   534,   535,   365,   131,
1666 >     536,   457,   251,   132,   133,   589,   537,   366,   538,   458,
1667 >     459,   539,   134,   540,   541,   545,   623,   546,   590,   547,
1668 >     548,   135,   549,   550,   252,   551,   552,   591,   253,   136,
1669 >     460,   137,   553,   138,   229,   139,   254,   140,   141,   255,
1670 >     256,  1046,  1047,  1048,  1049,  1050,  1051,  1052,   554,  1279,
1671 >     142,   555,   367,  1280,   556,   143,   144,   145,  1138,   146,
1672 >     147,   148,   230,   557,   149,   558,   559,   560,   561,   572,
1673 >     231,   257,  1139,   576,   593,   594,   595,   502,   596,   368,
1674 >    1140,   600,   232,   233,   640,   234,   235,   236,   258,   601,
1675 >     150,   259,   602,   503,  1141,   603,   604,   605,   151,   152,
1676 >     153,   154,   155,   156,   606,   461,   607,   237,   354,   504,
1677 >     355,   608,   356,   646,   609,   625,   260,   611,  1254,   612,
1678 >     613,  1142,   614,  1143,   357,   656,   615,   616,   617,   618,
1679 >     619,   157,   620,   621,   261,   262,   263,   622,   626,   505,
1680 >     358,   627,   628,   629,   630,   631,   633,   634,   635,  1144,
1681 >     636,   637,   638,   639,   642,   158,   159,   643,   160,   161,
1682 >     162,   264,   265,   359,   163,   360,   647,   648,   652,   164,
1683 >     361,   649,   655,   657,   506,   658,   659,   660,   663,   662,
1684 >     362,   664,  1145,   666,  1146,   667,   668,   669,   671,   672,
1685 >     674,   675,   676,   677,   507,   678,   680,   682,   685,   686,
1686 >     695,   679,   681,  1147,   687,   363,   692,   693,   694,   697,
1687 >     508,   698,   701,   702,   726,   727,   756,   753,   703,   704,
1688 >     762,  1148,   764,   705,   765,   706,  1149,   509,   510,   364,
1689 >    1150,  1195,   719,   766,   708,  1151,   709,   319,  1152,   894,
1690 >     710,   711,   712,  1153,   715,   716,     2,     3,   720,   365,
1691 >       4,   320,   321,   721,   723,   322,   728,  1154,   366,   729,
1692 >       5,   730,  1155,     6,     7,   731,   734,   735,   736,   754,
1693 >       8,   738,   739,  1156,   740,   741,   742,   511,   744,   747,
1694 >    1157,     9,   918,   767,    10,    11,   748,   749,   750,   755,
1695 >     761,   768,   769,  1196,   770,   771,   757,   758,   512,   323,
1696 >     759,   772,   773,   367,   763,   774,   783,   784,    12,   794,
1697 >     791,   826,   827,    13,   830,   785,   786,   324,   325,   326,
1698 >     327,    14,  1197,   831,   328,  1165,   787,   793,   329,  1198,
1699 >     368,   792,   795,   796,   330,   802,   833,   834,  1199,   797,
1700 >     799,   803,    15,    16,   804,   331,   332,   805,   806,   807,
1701 >     808,   895,   896,   897,   818,   898,   899,   333,   900,   901,
1702 >      17,   902,   819,   903,   820,  1200,   904,  1201,  1202,   905,
1703 >     906,   907,   821,   908,   822,   823,   824,    18,   909,   334,
1704 >     825,  1203,   910,   911,   912,   829,  1214,   836,  1204,   837,
1705 >      19,    20,   913,   838,   919,   920,   921,   914,   922,   923,
1706 >     840,   924,   925,   843,   926,   844,   927,   847,   848,   928,
1707 >      21,   849,   929,   930,   931,   851,   932,   850,   335,   852,
1708 >     853,   933,   854,    22,   855,   934,   935,   936,   856,   857,
1709 >     858,   860,    23,   861,   859,   937,    24,  1166,  1167,  1168,
1710 >     938,  1169,  1170,   862,  1171,  1172,   863,  1173,  1215,  1174,
1711 >     864,   865,  1175,   866,    79,  1176,  1177,  1178,   867,  1179,
1712 >     962,   868,   869,   965,  1180,   870,   871,   872,  1181,  1182,
1713 >    1183,   873,   874,   964,   875,    80,    81,  1216,  1184,   876,
1714 >     877,    82,   878,  1185,  1217,   879,   880,   881,   882,   883,
1715 >     884,   966,   885,  1218,   886,   887,   888,   889,   890,   891,
1716 >     892,   893,   917,   963,   941,   942,   943,   944,   967,   968,
1717 >     945,   969,   971,   946,   947,   972,   948,   949,    83,    84,
1718 >    1219,   974,  1220,  1221,    85,    86,   950,   951,   975,   952,
1719 >     953,    87,    88,    89,   976,   977,  1222,   983,   954,   955,
1720 >     956,   984,   957,  1223,   986,   958,   959,   960,   961,   970,
1721 >     973,   980,   981,   982,   987,   989,   985,    90,    91,   990,
1722 >     988,   991,   992,   993,   994,   995,   996,   997,   998,   999,
1723 >    1000,  1028,  1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,
1724 >    1042,  1009,  1010,  1011,  1012,  1013,  1014,  1015,  1016,  1017,
1725 >    1018,  1019,  1020,  1021,  1026,  1027,  1044,  1030,  1031,  1029,
1726 >    1041,  1045,  1043,  1053,  1054,  1055,  1060,  1061,  1062,  1063,
1727 >    1240,  1064,  1252,  1263,  1065,  1264,  1265,  1066,  1067,   304,
1728 >    1068,  1069,  1075,  1076,  1077,  1192,  1078,  1079,  1080,  1081,
1729 >    1082,  1083,  1193,  1088,  1089,  1090,  1091,  1092,  1093,  1094,
1730 >    1095,   563,  1096,  1097,  1098,  1286,  1103,  1104,   733,  1117,
1731 >    1118,  1119,  1120,  1121,  1131,  1122,  1123,  1124,  1125,  1212,
1732 >    1267,  1134,  1135,  1266,  1132,   746,  1259,  1136,  1137,   624,
1733 >    1160,  1262,   725,   714,  1161,   752,  1162,  1163,  1164,  1188,
1734 >    1261,  1189,  1190,  1191,   801,  1194,  1207,  1268,  1283,  1213,
1735 >    1208,  1209,  1226,  1242,   494,  1243,  1244,  1256,  1255,  1245,
1736 >    1241,  1269,  1270,  1271,   641,   790,  1260,   718,   394,   452,
1737 >    1235,   318,     0,  1234,   651,   543,     0,     0,     0,   645,
1738 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1739         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2063 –       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
1740         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1741 <       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
1742 <     562
1741 >       0,     0,     0,     0,     0,     0,     0,   574,     0,     0,
1742 >       0,     0,     0,     0,     0,     0,   578
1743   };
1744  
2069 – #define yypact_value_is_default(Yystate) \
2070 –  (!!((Yystate) == (-745)))
2071 –
2072 – #define yytable_value_is_error(Yytable_value) \
2073 –  YYID (0)
2074 –
1745   static const yytype_int16 yycheck[] =
1746   {
1747 <     595,   596,   300,   301,     1,   214,   215,     8,   216,     1,
1748 <     308,    99,     1,     1,     1,    51,     1,     1,   214,     1,
1749 <       1,     1,   218,     1,   216,    14,   216,    24,   772,   773,
1750 <     774,   775,   776,   216,    31,   214,   214,     1,   214,   218,
1751 <     218,   214,     6,     7,     1,   218,   214,   216,    12,   216,
1752 <     218,     1,     1,    37,   214,   214,    20,   214,   218,   218,
1753 <       1,     1,    26,     1,    28,    29,    30,    51,    52,    53,
1754 <      54,    35,   216,    61,    61,     1,    14,    41,    42,   216,
1755 <      44,    45,    46,    61,   216,    69,    50,     1,     9,    10,
1756 <      11,    55,    89,   391,   392,    59,    60,    89,    24,    63,
1757 <       1,   399,    87,   401,    93,   216,   194,    89,    72,    89,
1758 <     408,     1,    61,   411,   216,    79,    80,     1,    82,    83,
1759 <      84,    85,    86,   216,   422,   423,   216,   119,   113,     1,
1760 <     119,    57,   119,    97,   432,   433,   216,   435,   119,   103,
1761 <     104,   105,   216,   107,   216,    17,   110,   111,    89,   185,
1762 <     114,   216,    36,     1,   190,    93,   216,   214,   150,   217,
1763 <      32,   218,   216,    89,    36,    91,    92,    15,    16,   150,
1764 <     119,    19,    56,   159,   160,    89,   214,    61,    99,   119,
1765 <     218,   119,   216,   147,     1,   217,    87,   151,     1,   190,
1766 <     154,   155,   156,   157,   158,   217,     1,   161,   162,    89,
1767 <      17,   127,   217,   129,   130,   131,   132,   214,   217,   150,
1768 <     150,   218,   113,   159,   160,    32,    21,    22,   215,    36,
1769 <     146,     1,    27,   215,   205,   523,   215,   215,    76,    77,
1770 <      78,   215,   116,    81,   215,   215,   150,   201,   202,   203,
1771 <     112,    89,   206,   217,   170,   133,   134,   211,   120,   121,
1772 <     207,   215,   100,   101,   180,   217,   213,   207,   215,     1,
1773 <     150,    66,    67,   213,   205,   205,   215,   115,    73,    74,
1774 <      75,     1,    89,     3,   215,     5,    89,   214,     1,   213,
1775 <     152,   218,   208,   209,   217,     1,   217,    17,   586,   215,
1776 <      95,    96,   217,     1,   142,   112,   594,   217,   212,   217,
1777 <       1,   215,    32,   108,   109,   217,    36,   217,   214,    89,
1778 <     217,   128,   218,   118,   215,   214,    24,   217,   214,   218,
1779 <      36,   126,   218,    31,   217,   215,    56,   214,    58,   133,
1780 <     134,   215,   217,   205,   217,   183,    37,   150,    68,   217,
1781 <      56,   177,   178,   215,     1,    61,   217,    89,   217,     1,
1782 <      51,    52,    53,    54,  1013,  1014,  1015,   217,   217,    89,
1783 <      17,   217,   217,   217,    99,    17,    89,   215,    69,   117,
1784 <     150,   217,   217,   217,   191,    32,   217,   119,   217,    36,
1785 <      32,    89,   217,   217,    36,   217,   116,   217,   205,     1,
1786 <       1,   217,   217,   217,   217,     6,     7,   217,   215,   212,
1787 <     116,    12,   137,   138,   139,   140,   141,   217,   150,    20,
1788 <     215,   217,    24,   143,   217,    26,   217,    28,    29,    30,
1789 <     217,   217,   217,   217,    35,   205,   217,   150,   217,   217,
1790 <      41,    42,   217,    44,    45,    46,   217,    89,   217,    50,
1791 <     170,   217,   217,    40,    55,    57,   217,   217,    59,    60,
1792 <     217,   217,    63,   217,   217,   112,   217,   217,   217,   217,
1793 <     112,    72,   217,   120,   121,    62,   217,    64,    79,    80,
1794 <     217,    82,    83,    84,    85,    86,   128,    89,   208,    91,
1795 <      92,   217,   214,   217,   217,   215,    97,   117,   217,  1084,
1796 <     217,   217,   103,   104,   105,   152,   107,   217,   217,   110,
1797 <     111,   117,   217,   114,   217,   102,     1,   217,     3,    99,
1798 <       5,   217,   217,   217,   217,   127,   214,   129,   130,   131,
1799 <     132,     4,    17,   217,   217,   217,   217,   217,    64,    99,
1800 <     159,    99,    99,    99,   146,    99,   147,    32,   159,   191,
1801 <     151,    36,    25,   154,   155,   156,   157,   158,   205,   159,
1802 <     161,   162,    99,   205,   159,   159,   214,    40,   170,   214,
1803 <     214,    56,   117,    58,    47,   214,   217,   217,   180,   217,
1804 <       1,   217,   217,    68,   217,   172,   173,   217,   217,   217,
1805 <     217,    64,   217,   217,    15,    16,   217,   159,    19,   217,
1806 <     201,   202,   203,    64,    89,   206,   208,   209,   217,   135,
1807 <     211,    99,   217,   217,    87,   159,   159,    99,   205,   217,
1808 <     217,    94,   117,   159,   217,     0,     1,   217,   217,     4,
1809 <     159,   116,   217,   106,   217,   217,   217,    99,   164,    14,
1810 <     217,   217,    17,    18,   217,    99,    99,   173,    23,   159,
1811 <     123,   124,   125,   179,   159,    76,    77,    78,   143,    34,
1812 <      81,    51,   159,    38,    39,    99,    99,   193,    89,   195,
1813 <     196,    99,    99,    48,   135,   117,    99,    99,   204,   100,
1814 <     101,   159,   159,   217,   210,   170,   217,    62,   159,    51,
1815 <     159,   159,   159,   159,   115,    70,    71,   117,   214,   159,
1816 <     173,   159,   159,   164,   159,   214,   217,   159,   159,   182,
1817 <     217,   217,   173,    88,   187,   217,    13,    51,   179,   217,
1818 <     193,   142,   216,   208,   197,   217,   199,   102,   217,   117,
1819 <     217,   204,   193,   217,   195,   196,    33,   210,   214,   117,
1820 <     214,   159,   217,   204,   159,   217,    43,   217,   117,   210,
1821 <     214,   214,    49,   159,   159,   159,   117,   117,   217,   117,
1822 <     135,   217,   183,   117,   117,   214,   214,   217,    65,   144,
1823 <     145,   217,   217,   148,   149,   165,   166,   167,   168,   169,
1824 <     217,   171,   172,    99,   174,   175,   176,   217,   217,   179,
1825 <     117,   181,   182,    90,   184,     1,   186,   117,   188,   189,
1826 <     217,    98,   192,   165,   166,   167,   168,   169,   198,   171,
1827 <     172,   117,   174,   175,   176,    21,    22,   179,   117,   181,
1828 <     182,    27,   184,   117,   186,   200,   188,   189,   117,   214,
1829 <     192,   165,   166,   167,   168,   169,   198,   171,   172,   136,
1830 <     174,   175,   176,   214,   217,   179,   117,   181,   182,   217,
1831 <     184,   214,   186,   217,   188,   189,   153,   214,   192,   214,
1832 <      66,    67,   214,   214,   198,   214,   214,    73,    74,    75,
1833 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1834 <      99,   214,   214,    99,    99,    99,    99,    99,   117,    95,
1835 <      96,    99,    99,   214,    99,   117,   117,   159,   217,   117,
1836 <     117,    99,   108,   109,   214,   214,   117,   117,   117,   214,
1837 <     217,   214,   118,   117,   117,   117,   117,   117,   117,   214,
1838 <     126,   214,   214,   214,   214,   117,   214,   214,   214,   214,
1839 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1840 <     214,   214,   214,   117,   214,   214,   214,   214,   214,   214,
1841 <     214,   214,    99,   214,   214,   214,   214,   214,   214,   214,
1842 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1843 <     214,   214,   159,   117,   117,   217,   117,   214,   117,   217,
1844 <     117,   214,   217,   117,   117,    99,   214,   214,   214,   214,
1845 <     117,   159,   117,   217,   117,   117,   117,   217,   117,   117,
1846 <     117,   117,   117,   983,   117,    71,  1221,   230,   981,   946,
1847 <     122,  1194,   327,   499,  1192,   122,    99,   214,   214,   214,
1848 <     214,   214,  1182,   214,   214,   214,   214,   267,   214,   214,
1849 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1850 <     117,  1079,   214,   475,   217,   214,   217,   214,   214,   214,
1851 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1852 <     214,   214,   214,   214,   214,   214,   214,   163,   214,   214,
1853 <     450,  1178,   214,   513,   214,  1196,   214,   556,   214,   214,
1854 <    1198,  1172,   214,   214,   214,   214,   214,  1180,   214,   465,
1855 <     214,   112,  1174,   166,   214,  1045,  1047,    91,    -1,    -1,
1856 <      -1,   548,    -1,   214,   214,   214,   214,    -1,   214,   214,
1857 <     214,    -1,   214,    -1,    -1,   218,   217,   217,   217,   214,
1858 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1859 <     214,    -1,   214,   214,   214,   214,   214,    -1,   374,    -1,
1860 <      -1,    -1,    -1,    -1,    -1,   386,   222,    -1,    -1,    -1,
1747 >     621,   622,   309,   310,   311,     1,   229,   108,     1,     1,
1748 >       1,     1,     1,     8,     1,     1,     1,    51,   227,     1,
1749 >       1,   229,   231,     1,     1,     1,     1,     1,     1,   227,
1750 >     228,    17,    25,    49,    25,    22,    23,     1,   227,    32,
1751 >       1,    28,   231,   229,    29,   229,    35,    33,     1,     1,
1752 >     229,     1,    37,   227,     1,   227,   227,   231,     1,   231,
1753 >     231,   229,     1,     1,    49,    50,    57,    52,    53,    54,
1754 >       1,    61,   227,    64,     1,   229,   231,    63,    65,    66,
1755 >       1,    56,    35,   229,    71,    72,    61,    76,    63,    74,
1756 >     124,    78,    79,    80,    76,    86,   403,   404,    76,    90,
1757 >     199,   200,    98,   204,   411,    98,   229,    98,   415,     1,
1758 >     101,   102,    98,   420,     6,     7,   423,   104,   105,    95,
1759 >      12,    98,    61,    76,    98,    98,   433,   434,    20,    21,
1760 >      61,     1,   118,   125,    98,    27,   125,   444,    30,    31,
1761 >     447,   448,   133,   119,    36,   229,    98,   122,   134,    41,
1762 >      42,    98,    44,    45,    46,    98,    48,   199,   200,   150,
1763 >      98,   125,   153,    55,     1,   151,   152,    59,    60,   185,
1764 >     229,    98,   125,   125,    95,   125,    68,   227,   227,   195,
1765 >      17,   231,   231,   229,   229,    77,   125,   178,   170,   170,
1766 >     229,    61,   170,    85,   125,    87,    33,    89,   119,    91,
1767 >     195,    93,    94,   229,   227,   196,   197,   198,   231,   170,
1768 >     229,   229,   227,   227,   106,   201,   231,   191,   229,   111,
1769 >     112,   113,   218,   115,   116,   117,    63,   227,   120,   230,
1770 >     222,   231,   223,   224,   541,   228,   222,   228,   228,   228,
1771 >     221,   228,   228,   228,   218,   218,   228,   228,   191,   222,
1772 >     229,   228,   228,   228,   146,   228,   227,   227,    13,     1,
1773 >     221,   231,   154,   155,   156,   157,   158,   159,   210,   229,
1774 >     229,   213,   222,    15,    16,   218,   228,    19,   228,    34,
1775 >     218,   118,   227,     1,   222,   228,   231,   227,    43,   126,
1776 >     127,   218,   227,     1,   230,   187,   230,   228,     9,    10,
1777 >      11,   228,   609,   174,   175,   210,   613,    25,   213,   616,
1778 >     147,   230,   230,   620,    32,    70,  1070,  1071,  1072,   211,
1779 >     212,    63,   214,   215,   216,   170,   230,     1,   220,     3,
1780 >     230,     5,   230,   225,   230,   230,   228,    40,   123,    81,
1781 >      82,    83,    84,    17,    99,   100,    88,   230,    56,   230,
1782 >      92,   230,   107,    61,     1,    63,    98,   230,   230,    33,
1783 >     108,   230,   230,   230,    67,   230,    69,   109,   110,   230,
1784 >      17,   230,   230,   230,   230,   108,   230,   132,   230,   121,
1785 >      98,   230,    56,   230,    58,   222,    33,   230,   230,    63,
1786 >     230,   228,   230,   148,   230,   230,   230,   108,   230,    73,
1787 >     230,   143,   135,   136,   137,   138,   139,   140,   141,     1,
1788 >     230,   114,   230,   230,   122,     1,    63,   230,   230,   230,
1789 >       6,     7,   230,   230,    98,   230,    12,   230,   131,   230,
1790 >     230,   230,   230,    25,    20,    21,   230,   230,   230,   230,
1791 >     182,    27,   230,   230,    30,    31,   230,   230,   122,   230,
1792 >      36,   230,   230,   230,   209,    41,    42,   230,    44,    45,
1793 >      46,   230,    48,   166,   167,    57,   230,   230,   142,    55,
1794 >     230,   118,    64,    59,    60,   123,   230,   151,   230,   126,
1795 >     127,   230,    68,   230,   230,   230,   228,   230,   123,   230,
1796 >     230,    77,   230,   230,    86,   230,   230,   227,    90,    85,
1797 >     147,    87,   230,    89,     1,    91,    98,    93,    94,   101,
1798 >     102,   809,   810,   811,   812,   813,   814,   815,   230,   222,
1799 >     106,   230,   196,   226,   230,   111,   112,   113,     4,   115,
1800 >     116,   117,    29,   230,   120,   230,   230,   230,   230,   230,
1801 >      37,   133,    18,   230,   108,   210,   108,     1,   108,   223,
1802 >      26,   108,    49,    50,   228,    52,    53,    54,   150,   108,
1803 >     146,   153,   108,    17,    40,   210,   210,   227,   154,   155,
1804 >     156,   157,   158,   159,   227,   222,   230,    74,     1,    33,
1805 >       3,   230,     5,   123,   230,   227,   178,   230,  1209,   230,
1806 >     230,    67,   230,    69,    17,   108,   230,   230,   230,   230,
1807 >     230,   187,   230,   230,   196,   197,   198,   230,   230,    63,
1808 >      33,   230,   230,   230,   230,   230,   230,   230,   230,    95,
1809 >     230,   230,   230,   230,   230,   211,   212,   230,   214,   215,
1810 >     216,   223,   224,    56,   220,    58,   227,   230,   210,   225,
1811 >      63,   230,   210,   210,    98,   108,   123,   210,   108,   210,
1812 >      73,   108,   128,   108,   130,   210,   210,   210,   108,   108,
1813 >     108,   108,   108,   108,   118,   210,   210,   210,   210,   210,
1814 >     123,   230,   230,   149,   210,    98,   210,   210,   210,   210,
1815 >     134,   210,   210,   210,   123,   123,   123,   210,   227,   227,
1816 >     123,   167,   123,   230,   108,   230,   172,   151,   152,   122,
1817 >     176,    69,   227,   108,   230,   181,   230,     1,   184,    49,
1818 >     230,   230,   230,   189,   230,   230,     0,     1,   230,   142,
1819 >       4,    15,    16,   230,   230,    19,   227,   203,   151,   227,
1820 >      14,   230,   208,    17,    18,   230,   227,   230,   230,   210,
1821 >      24,   230,   230,   219,   230,   230,   230,   201,   230,   227,
1822 >     226,    35,    49,   123,    38,    39,   230,   230,   230,   210,
1823 >     227,   123,   123,   131,   123,   123,   210,   210,   222,    63,
1824 >     210,   123,   108,   196,   210,   123,   123,   123,    62,   123,
1825 >     210,   108,   108,    67,   108,   227,   227,    81,    82,    83,
1826 >      84,    75,   160,   108,    88,    49,   230,   229,    92,   167,
1827 >     223,   227,   227,   227,    98,   227,   108,   108,   176,   230,
1828 >     230,   227,    96,    97,   227,   109,   110,   227,   227,   227,
1829 >     227,   161,   162,   163,   227,   165,   166,   121,   168,   169,
1830 >     114,   171,   227,   173,   227,   203,   176,   205,   206,   179,
1831 >     180,   181,   227,   183,   227,   227,   227,   131,   188,   143,
1832 >     227,   219,   192,   193,   194,   230,    69,   123,   226,   108,
1833 >     144,   145,   202,   108,   161,   162,   163,   207,   165,   166,
1834 >     108,   168,   169,   227,   171,   123,   173,   123,   210,   176,
1835 >     164,   123,   179,   180,   181,   230,   183,   123,   182,   123,
1836 >     123,   188,   108,   177,   123,   192,   193,   194,   123,   123,
1837 >     123,   123,   186,   123,   227,   202,   190,   161,   162,   163,
1838 >     207,   165,   166,   227,   168,   169,   227,   171,   131,   173,
1839 >     123,   123,   176,   227,     1,   179,   180,   181,   227,   183,
1840 >     123,   227,   227,   123,   188,   227,   227,   227,   192,   193,
1841 >     194,   227,   227,   230,   227,    22,    23,   160,   202,   227,
1842 >     227,    28,   227,   207,   167,   227,   227,   227,   227,   227,
1843 >     227,   108,   227,   176,   227,   227,   227,   227,   227,   227,
1844 >     227,   227,   227,   210,   227,   227,   227,   227,   123,   123,
1845 >     227,   123,   123,   227,   227,   123,   227,   227,    65,    66,
1846 >     203,   123,   205,   206,    71,    72,   227,   227,   123,   227,
1847 >     227,    78,    79,    80,   230,   108,   219,   123,   227,   227,
1848 >     227,   123,   227,   226,   123,   227,   227,   227,   227,   227,
1849 >     227,   227,   227,   227,   210,   123,   227,   104,   105,   123,
1850 >     230,   123,   123,   210,   230,   123,   227,   123,   123,   123,
1851 >     227,   123,   227,   227,   227,   227,   227,   227,   227,   227,
1852 >     123,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1853 >     227,   227,   227,   227,   227,   227,   123,   227,   227,   230,
1854 >     227,   227,   230,   227,   227,   227,   227,   227,   227,   227,
1855 >     108,   227,   123,   129,   227,   129,   129,   227,   227,    74,
1856 >     227,   227,   227,   227,   227,  1023,   227,   227,   227,   227,
1857 >     227,   227,  1025,   227,   227,   227,   227,   227,   227,   227,
1858 >     227,   266,   227,   227,   227,  1285,   227,   227,   498,   227,
1859 >     227,   227,   227,   227,   217,   227,   227,   227,   227,  1036,
1860 >    1249,   227,   227,  1247,   231,   513,  1228,   227,   227,   336,
1861 >     227,  1239,   485,   462,   227,   529,   227,   227,   227,   227,
1862 >    1237,   227,   227,   227,   583,   227,   227,  1251,  1258,   227,
1863 >     230,   230,   227,   227,   222,   232,   232,   227,   230,   232,
1864 >    1132,   227,   227,   227,   369,   567,  1233,   475,   111,   165,
1865 >    1102,    92,    -1,  1100,   398,   238,    -1,    -1,    -1,   388,
1866        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2192 –      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    -1,
1867        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1868 <      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
1869 <     288
1868 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1869 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,
1870 >      -1,    -1,    -1,    -1,    -1,    -1,   295
1871   };
1872  
1873 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1874 <   symbol of state STATE-NUM.  */
1873 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1874 >     symbol of state STATE-NUM.  */
1875   static const yytype_uint16 yystos[] =
1876   {
1877 <       0,   220,     0,     1,     4,    14,    17,    18,    23,    34,
1878 <      38,    39,    48,    62,    70,    71,    88,   102,   135,   144,
1879 <     145,   148,   149,   200,   221,   226,   231,   253,   259,   273,
1880 <     291,   308,   322,   337,   344,   348,   358,   367,   387,   397,
1881 <     403,   407,   417,   475,   492,   214,   215,   216,   216,   292,
1882 <     368,   398,   216,   408,   216,   323,   388,   309,   216,   216,
1883 <     274,   338,   216,   216,   349,   359,   216,     1,    24,    31,
1884 <      89,   254,   255,   256,   257,   258,     1,    21,    22,    27,
1885 <      66,    67,    73,    74,    75,    95,    96,   108,   109,   118,
1886 <     126,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1887 <     485,   486,   487,   488,   489,   490,   491,   216,   216,   216,
1888 <       1,    61,   404,   405,   406,   216,     1,     6,     7,    12,
1889 <      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
1890 <      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
1891 <      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
1892 <     111,   114,   147,   151,   154,   155,   156,   157,   158,   161,
1893 <     162,   201,   202,   203,   206,   211,   418,   419,   420,   421,
1894 <     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
1895 <     432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
1896 <     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
1897 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1898 <     462,   463,   464,   468,   472,   473,   474,   216,   216,   216,
1899 <       1,   207,   260,   261,   262,   263,   264,     1,    87,   113,
1900 <     227,   228,   229,   230,   216,   216,     1,    37,    51,    52,
1901 <      53,    54,    69,   493,   494,   495,   496,   497,   498,   499,
1902 <     500,     1,    24,    57,    89,    91,    92,   127,   129,   130,
1903 <     131,   132,   146,   170,   180,   208,   209,   232,   233,   234,
1904 <     235,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1905 <     249,   250,   251,   252,   216,   216,     1,    89,   345,   346,
1906 <     347,   214,   217,   217,   217,   215,   255,   217,   217,   217,
1907 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1908 <     217,   215,   477,     1,    15,    16,    19,    76,    77,    78,
1909 <      81,    89,   100,   101,   115,   142,   183,   293,   294,   295,
1910 <     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1911 <     306,   307,     1,     3,     5,    17,    32,    36,    56,    58,
1912 <      68,    89,   116,   143,   170,   208,   369,   370,   371,   372,
1913 <     373,   374,   375,   376,   377,   378,   382,   383,   384,   385,
1914 <     386,     1,    61,   119,   399,   400,   401,   402,   217,   215,
1915 <     405,     1,    89,   119,   150,   409,   413,   414,   415,   416,
1916 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1917 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1918 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   469,
1919 <     217,   465,   217,   217,   217,   217,   217,   217,   217,   217,
1920 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   215,
1921 <     419,     1,    17,    32,    36,   112,   120,   121,   152,   205,
1922 <     324,   325,   326,   327,   328,   329,   330,   334,   335,   336,
1923 <       1,   119,   150,   205,   389,   393,   394,   395,   396,     1,
1924 <      36,    56,    61,   116,   310,   314,   315,   316,   320,   321,
1925 <     214,   217,   215,   261,   213,   214,   217,   217,   215,   228,
1926 <       1,    17,    32,    36,    89,   112,   128,   191,   205,   275,
1927 <     276,   277,   278,   279,   280,   281,   282,   283,   287,     1,
1928 <      14,    93,   119,   339,   340,   341,   342,   343,   217,   217,
1929 <     217,   217,   217,   217,   215,   494,   214,   217,   217,   217,
1930 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1931 <     217,   217,   215,   233,     1,    89,   150,   205,   350,   351,
1932 <     352,   353,   354,     1,    89,   150,   360,   361,   362,   363,
1933 <     217,   215,   346,   117,   117,   117,   214,    99,    99,   159,
1934 <      99,   223,   223,    99,    99,    99,   159,   159,    99,   223,
1935 <     159,   159,   214,   214,   217,   217,   217,   217,   217,   217,
1936 <     217,   217,   217,   217,   217,   217,   217,   215,   294,   214,
1937 <     217,   217,   217,   217,   379,   217,   217,   217,   217,   217,
1938 <     217,   217,   217,   215,   370,   217,   217,   215,   400,   117,
1939 <     214,   217,   217,   410,   215,   414,   159,   223,   223,    99,
1940 <     159,   159,    99,   117,   159,   223,   159,   223,    99,    99,
1941 <      99,   159,   159,   159,   223,    99,    99,   223,    99,    99,
1942 <     117,    99,    99,   159,   159,   217,   159,   217,   223,   223,
1943 <     159,   159,   159,   159,   159,   160,   159,   160,   159,   159,
1944 <     223,   223,   117,   223,   159,   159,   159,   214,   214,   217,
1945 <     217,   331,   217,   217,   217,   217,   217,   215,   325,   217,
1946 <     390,   217,   215,   394,   214,   311,   217,   217,   217,   215,
1947 <     315,   159,   214,   216,   117,   117,   214,   214,   217,   217,
1948 <     288,   217,   217,   217,   284,   217,   215,   276,   214,   217,
1949 <     217,   217,   215,   340,   159,   159,   117,   159,   159,   223,
1950 <     214,   117,   159,   117,   117,   117,   117,   117,   117,   133,
1951 <     134,   236,   237,   133,   134,   238,   239,   117,   117,    99,
1952 <     117,   117,   214,   214,   217,   355,   217,   215,   351,   214,
1953 <     217,   364,   215,   361,   117,   214,   214,   214,   214,   214,
1954 <     214,   214,   137,   138,   139,   140,   141,   222,   223,   214,
1955 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1956 <      99,    99,   223,    99,    99,    99,    99,   117,    99,    99,
1957 <     223,    99,   225,   225,   214,   117,   177,   178,   117,   159,
1958 <     217,   117,   117,   117,   117,    99,   117,   117,   117,   214,
1959 <     117,   117,   214,   214,   117,   117,   217,   214,   214,   214,
1960 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1961 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1962 <     214,   214,   214,   214,   214,   214,   214,    51,   165,   166,
1963 <     167,   168,   169,   171,   172,   174,   175,   176,   179,   181,
1964 <     182,   184,   186,   188,   189,   192,   198,   470,   471,   214,
1965 <      51,   165,   166,   167,   168,   169,   171,   172,   174,   175,
1966 <     176,   179,   181,   182,   184,   186,   188,   189,   192,   198,
1967 <     466,   467,   214,   214,   214,   214,   214,   214,   214,   214,
1968 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1969 <     214,   117,   159,   217,   117,    99,   117,   117,   117,   214,
1970 <     117,   217,   117,   214,   217,   117,   117,    99,   318,   319,
1971 <     214,   214,     1,    89,   150,   212,   265,   266,   267,   268,
1972 <     269,   214,   214,   117,   159,   217,   117,   117,   117,   217,
1973 <     117,   214,   117,   117,   117,   214,   214,   214,   214,   214,
1974 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1975 <     214,   218,   214,   218,   214,   214,   214,   214,   214,   117,
1976 <     217,   117,   214,   117,   217,   214,   214,   222,   222,   222,
1977 <     222,   222,   214,   214,   214,   214,   214,   214,   214,   214,
1978 <     214,   214,   214,     9,    10,    11,   224,   225,   214,   214,
1979 <     214,   214,   214,   214,   214,     8,   190,   380,   381,   214,
1980 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1981 <     214,   122,   411,   412,   214,   218,   214,   218,   214,   214,
1982 <      13,    33,    43,    49,    65,    90,    98,   136,   153,   332,
1983 <     333,   214,   214,   214,   214,   214,   214,   122,   391,   392,
1984 <     214,    51,   185,   190,   312,   313,   214,   214,   163,   218,
1985 <     317,   214,   217,   270,   217,   215,   266,   214,   214,     4,
1986 <      25,    40,    47,    64,    87,    94,   106,   123,   124,   125,
1987 <     173,   182,   187,   193,   197,   199,   204,   210,   289,   290,
1988 <     214,   214,   214,    51,   165,   166,   167,   168,   169,   171,
1989 <     172,   174,   175,   176,   179,   181,   182,   184,   186,   188,
1990 <     189,   192,   198,   285,   286,   214,   214,   214,   214,   237,
1991 <     239,   214,    64,   135,   164,   173,   179,   193,   195,   196,
1992 <     204,   210,   356,   357,   214,   214,    64,   135,   164,   173,
1993 <     179,   193,   195,   196,   204,   210,   365,   366,   224,   224,
1994 <     224,   214,   218,   214,   218,   471,   467,   214,   218,   214,
1995 <     218,   214,   218,    99,   319,   214,   117,   217,   194,   225,
1996 <     214,   214,   218,   214,   218,   214,   218,   214,   218,   381,
1997 <     412,   333,   392,   313,   214,    40,    62,    64,   102,   172,
1998 <     173,   205,   271,   272,   214,   214,   290,   286,   357,   366,
1999 <     214,   218,   272
1877 >       0,   234,     0,     1,     4,    14,    17,    18,    24,    35,
1878 >      38,    39,    62,    67,    75,    96,    97,   114,   131,   144,
1879 >     145,   164,   177,   186,   190,   235,   240,   245,   269,   275,
1880 >     281,   295,   315,   338,   352,   367,   374,   378,   388,   397,
1881 >     418,   424,   430,   434,   440,   498,   513,   227,   228,   229,
1882 >     229,   316,   398,   425,   229,   435,   229,   353,   419,   339,
1883 >     229,   276,   296,   368,   229,   229,   389,   229,   229,   379,
1884 >       1,    25,    32,    98,   270,   271,   272,   273,   274,     1,
1885 >      22,    23,    28,    65,    66,    71,    72,    78,    79,    80,
1886 >     104,   105,   499,   500,   501,   502,   503,   504,   505,   506,
1887 >     507,   508,   509,   510,   511,   512,   229,   229,   229,     1,
1888 >      61,   431,   432,   433,   229,     1,     6,     7,    12,    20,
1889 >      21,    27,    30,    31,    36,    41,    42,    44,    45,    46,
1890 >      48,    55,    59,    60,    68,    77,    85,    87,    89,    91,
1891 >      93,    94,   106,   111,   112,   113,   115,   116,   117,   120,
1892 >     146,   154,   155,   156,   157,   158,   159,   187,   211,   212,
1893 >     214,   215,   216,   220,   225,   441,   442,   443,   444,   445,
1894 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1895 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1896 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1897 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
1898 >     486,   487,   491,   495,   496,   497,   229,   229,   229,     1,
1899 >      95,   119,   241,   242,   243,   244,   229,   229,   229,     1,
1900 >      29,    37,    49,    50,    52,    53,    54,    74,   514,   515,
1901 >     516,   517,   518,   519,   520,   521,   522,   523,     1,    25,
1902 >      57,    64,    86,    90,    98,   101,   102,   133,   150,   153,
1903 >     178,   196,   197,   198,   223,   224,   246,   247,   248,   249,
1904 >     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1905 >     264,   265,   266,   267,   268,   229,     1,   221,   282,   283,
1906 >     284,   285,   286,     1,    98,   375,   376,   377,   229,   227,
1907 >     230,   230,   230,   228,   271,   230,   230,   230,   230,   230,
1908 >     230,   230,   230,   230,   230,   230,   230,   228,   500,     1,
1909 >      15,    16,    19,    63,    81,    82,    83,    84,    88,    92,
1910 >      98,   109,   110,   121,   143,   182,   317,   318,   319,   320,
1911 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1912 >     331,   332,   333,   334,     1,     3,     5,    17,    33,    56,
1913 >      58,    63,    73,    98,   122,   142,   151,   196,   223,   399,
1914 >     400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
1915 >     413,   414,   415,   416,   417,     1,    61,   125,   426,   427,
1916 >     428,   429,   230,   228,   432,     1,    98,   125,   436,   437,
1917 >     438,   439,   230,   230,   230,   230,   230,   230,   230,   230,
1918 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1919 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   492,
1920 >     230,   488,   230,   230,   230,   230,   230,   230,   230,   230,
1921 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1922 >     230,   228,   442,     1,    17,    33,    63,   118,   126,   127,
1923 >     147,   222,   354,   355,   356,   357,   358,   359,   360,   364,
1924 >     365,   366,     1,   125,   222,   420,   421,   422,   423,     1,
1925 >      56,    61,    63,   122,   340,   344,   345,   346,   350,   351,
1926 >     227,   230,   230,   228,   242,     1,    76,   170,   277,   278,
1927 >     279,   280,     1,    17,    33,    63,    98,   118,   134,   151,
1928 >     152,   201,   222,   297,   298,   299,   300,   301,   302,   303,
1929 >     304,   305,   306,   307,   311,     1,    35,    76,   125,   369,
1930 >     370,   371,   372,   373,   230,   230,   230,   230,   230,   230,
1931 >     230,   230,   228,   515,   227,   230,   230,   230,   230,   230,
1932 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1933 >     230,   230,   228,   247,     1,    98,   218,   390,   391,   392,
1934 >     393,   227,   230,   228,   283,   170,   230,   228,   376,     1,
1935 >      98,   218,   222,   380,   381,   382,   383,   384,   123,   123,
1936 >     123,   227,   108,   108,   210,   108,   108,   237,   237,   237,
1937 >     108,   108,   108,   210,   210,   227,   227,   230,   230,   230,
1938 >     335,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1939 >     230,   230,   230,   228,   318,   227,   230,   230,   230,   230,
1940 >     230,   230,   410,   230,   230,   230,   230,   230,   230,   230,
1941 >     228,   400,   230,   230,   228,   427,   123,   227,   230,   230,
1942 >     228,   437,   210,   237,   237,   210,   108,   210,   108,   123,
1943 >     210,   237,   210,   108,   108,   237,   108,   210,   210,   210,
1944 >     237,   108,   108,   237,   108,   108,   108,   108,   210,   230,
1945 >     210,   230,   210,   237,   237,   210,   210,   210,   210,   213,
1946 >     210,   213,   210,   210,   210,   123,   237,   210,   210,   237,
1947 >     237,   210,   210,   227,   227,   230,   230,   361,   230,   230,
1948 >     230,   230,   230,   228,   355,   230,   230,   228,   421,   227,
1949 >     230,   230,   341,   230,   228,   345,   123,   123,   227,   227,
1950 >     230,   230,   228,   278,   227,   230,   230,   312,   230,   230,
1951 >     230,   230,   230,   308,   230,   228,   298,   227,   230,   230,
1952 >     230,   228,   370,   210,   210,   210,   123,   210,   210,   210,
1953 >     237,   227,   123,   210,   123,   108,   108,   123,   123,   123,
1954 >     123,   123,   123,   108,   123,   199,   200,   250,   251,   199,
1955 >     200,   252,   253,   123,   123,   227,   227,   230,   394,   228,
1956 >     391,   210,   227,   229,   123,   227,   227,   230,   385,   230,
1957 >     228,   381,   227,   227,   227,   227,   227,   227,   227,   135,
1958 >     136,   137,   138,   139,   140,   141,   236,   237,   227,   227,
1959 >     227,   227,   227,   227,   227,   227,   108,   108,   237,   230,
1960 >     108,   108,   237,   108,   108,   237,   123,   108,   108,   237,
1961 >     108,   239,   239,   227,   123,   174,   175,   123,   210,   123,
1962 >     123,   230,   123,   123,   108,   123,   123,   123,   123,   227,
1963 >     123,   123,   227,   227,   123,   123,   227,   227,   227,   227,
1964 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1965 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1966 >     227,   227,   227,   227,    49,   161,   162,   163,   165,   166,
1967 >     168,   169,   171,   173,   176,   179,   180,   181,   183,   188,
1968 >     192,   193,   194,   202,   207,   493,   494,   227,    49,   161,
1969 >     162,   163,   165,   166,   168,   169,   171,   173,   176,   179,
1970 >     180,   181,   183,   188,   192,   193,   194,   202,   207,   489,
1971 >     490,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1972 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1973 >     227,   227,   123,   210,   230,   123,   108,   123,   123,   123,
1974 >     227,   123,   123,   227,   123,   123,   230,   108,   348,   349,
1975 >     227,   227,   227,   123,   123,   227,   123,   210,   230,   123,
1976 >     123,   123,   123,   210,   230,   123,   227,   123,   123,   123,
1977 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1978 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1979 >     227,   227,   227,   231,   227,   231,   227,   227,   123,   230,
1980 >     227,   227,     1,    98,   191,   218,   287,   288,   289,   290,
1981 >     291,   227,   123,   230,   123,   227,   236,   236,   236,   236,
1982 >     236,   236,   236,   227,   227,   227,    51,   124,   336,   337,
1983 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1984 >       9,    10,    11,   238,   239,   227,   227,   227,   227,   227,
1985 >     227,   227,   227,   227,     8,   195,   411,   412,   227,   227,
1986 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1987 >     231,   227,   231,   227,   227,    13,    34,    43,    70,    99,
1988 >     100,   107,   132,   148,   209,   362,   363,   227,   227,   227,
1989 >     227,   227,   227,   227,   227,   227,    49,   185,   195,   342,
1990 >     343,   217,   231,   347,   227,   227,   227,   227,     4,    18,
1991 >      26,    40,    67,    69,    95,   128,   130,   149,   167,   172,
1992 >     176,   181,   184,   189,   203,   208,   219,   226,   313,   314,
1993 >     227,   227,   227,   227,   227,    49,   161,   162,   163,   165,
1994 >     166,   168,   169,   171,   173,   176,   179,   180,   181,   183,
1995 >     188,   192,   193,   194,   202,   207,   309,   310,   227,   227,
1996 >     227,   227,   251,   253,   227,    69,   131,   160,   167,   176,
1997 >     203,   205,   206,   219,   226,   395,   396,   227,   230,   230,
1998 >     292,   228,   288,   227,    69,   131,   160,   167,   176,   203,
1999 >     205,   206,   219,   226,   386,   387,   227,   227,   231,   238,
2000 >     238,   238,   227,   231,   494,   490,   227,   231,   227,   231,
2001 >     108,   349,   227,   232,   232,   232,   227,   231,   227,   231,
2002 >     227,   231,   123,   204,   239,   230,   227,   227,   231,   337,
2003 >     412,   363,   343,   129,   129,   129,   314,   310,   396,   227,
2004 >     227,   227,    40,    67,    69,   114,   131,   166,   167,   222,
2005 >     226,   293,   294,   387,   227,   231,   294
2006   };
2007  
2008 < #define yyerrok         (yyerrstatus = 0)
2009 < #define yyclearin       (yychar = YYEMPTY)
2010 < #define YYEMPTY         (-2)
2011 < #define YYEOF           0
2012 <
2013 < #define YYACCEPT        goto yyacceptlab
2014 < #define YYABORT         goto yyabortlab
2015 < #define YYERROR         goto yyerrorlab
2016 <
2017 <
2018 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2019 <   to ease the transition to the new meaning of YYERROR, for GCC.
2020 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2021 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2022 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2023 <   discussed.  */
2024 <
2025 < #define YYFAIL          goto yyerrlab
2026 < #if defined YYFAIL
2027 <  /* This is here to suppress warnings from the GCC cpp's
2028 <     -Wunused-macros.  Normally we don't worry about that warning, but
2029 <     some users do, and we want to make it easy for users to remove
2030 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2031 < #endif
2008 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2009 > static const yytype_uint16 yyr1[] =
2010 > {
2011 >       0,   233,   234,   234,   235,   235,   235,   235,   235,   235,
2012 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2013 >     235,   235,   235,   235,   235,   235,   235,   236,   236,   237,
2014 >     237,   237,   237,   237,   237,   237,   237,   238,   238,   239,
2015 >     239,   239,   239,   240,   241,   241,   242,   242,   242,   243,
2016 >     244,   245,   246,   246,   247,   247,   247,   247,   247,   247,
2017 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
2018 >     247,   247,   248,   249,   250,   250,   251,   251,   252,   252,
2019 >     253,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2020 >     262,   263,   264,   265,   266,   267,   268,   269,   270,   270,
2021 >     271,   271,   271,   271,   272,   273,   274,   276,   275,   277,
2022 >     277,   278,   278,   278,   279,   280,   281,   282,   282,   283,
2023 >     283,   283,   284,   286,   285,   287,   287,   288,   288,   288,
2024 >     288,   289,   290,   290,   292,   291,   293,   293,   294,   294,
2025 >     294,   294,   294,   294,   294,   294,   294,   296,   295,   297,
2026 >     297,   298,   298,   298,   298,   298,   298,   298,   298,   298,
2027 >     298,   298,   299,   300,   301,   302,   303,   304,   305,   306,
2028 >     308,   307,   309,   309,   310,   310,   310,   310,   310,   310,
2029 >     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
2030 >     310,   310,   310,   310,   310,   312,   311,   313,   313,   314,
2031 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2032 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2033 >     314,   314,   316,   315,   317,   317,   318,   318,   318,   318,
2034 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2035 >     318,   318,   318,   319,   320,   321,   322,   323,   324,   325,
2036 >     326,   327,   328,   329,   330,   331,   332,   333,   335,   334,
2037 >     336,   336,   337,   337,   339,   338,   341,   340,   342,   342,
2038 >     343,   343,   343,   344,   344,   345,   345,   345,   345,   345,
2039 >     347,   346,   348,   348,   349,   349,   350,   351,   353,   352,
2040 >     354,   354,   355,   355,   355,   355,   355,   355,   355,   355,
2041 >     355,   356,   357,   358,   359,   361,   360,   362,   362,   363,
2042 >     363,   363,   363,   363,   363,   363,   363,   363,   363,   364,
2043 >     365,   366,   368,   367,   369,   369,   370,   370,   370,   370,
2044 >     371,   372,   373,   374,   375,   375,   376,   376,   377,   379,
2045 >     378,   380,   380,   381,   381,   381,   381,   382,   383,   385,
2046 >     384,   386,   386,   387,   387,   387,   387,   387,   387,   387,
2047 >     387,   387,   387,   389,   388,   390,   390,   391,   391,   391,
2048 >     392,   394,   393,   395,   395,   396,   396,   396,   396,   396,
2049 >     396,   396,   396,   396,   396,   398,   397,   399,   399,   400,
2050 >     400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
2051 >     400,   400,   400,   400,   401,   402,   403,   404,   405,   406,
2052 >     407,   408,   408,   410,   409,   411,   411,   412,   412,   413,
2053 >     414,   415,   416,   417,   419,   418,   420,   420,   421,   421,
2054 >     421,   422,   423,   425,   424,   426,   426,   427,   427,   427,
2055 >     428,   429,   430,   431,   431,   432,   432,   433,   435,   434,
2056 >     436,   436,   437,   437,   437,   438,   439,   440,   441,   441,
2057 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2058 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2059 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2060 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2061 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
2062 >     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
2063 >     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
2064 >     463,   464,   465,   466,   467,   468,   469,   469,   470,   470,
2065 >     471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
2066 >     481,   482,   483,   484,   485,   486,   488,   487,   489,   489,
2067 >     490,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2068 >     490,   490,   490,   490,   490,   490,   490,   490,   490,   490,
2069 >     490,   492,   491,   493,   493,   494,   494,   494,   494,   494,
2070 >     494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
2071 >     494,   494,   494,   494,   494,   494,   495,   496,   497,   498,
2072 >     499,   499,   500,   500,   500,   500,   500,   500,   500,   500,
2073 >     500,   500,   500,   500,   500,   501,   502,   503,   504,   505,
2074 >     506,   507,   508,   509,   510,   511,   512,   513,   514,   514,
2075 >     515,   515,   515,   515,   515,   515,   515,   515,   515,   516,
2076 >     517,   518,   519,   520,   521,   522,   523
2077 > };
2078 >
2079 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2080 > static const yytype_uint8 yyr2[] =
2081 > {
2082 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2083 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2084 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
2085 >       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
2086 >       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2087 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2088 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2089 >       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
2090 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2091 >       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
2092 >       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
2093 >       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
2094 >       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
2095 >       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2096 >       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2097 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2098 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2099 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2100 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2101 >       1,     1,     1,     1,     1,     0,     5,     3,     1,     3,
2102 >       1,     3,     1,     3,     1,     1,     1,     1,     1,     1,
2103 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2104 >       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2105 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2106 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2107 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2108 >       3,     1,     1,     1,     0,     6,     0,     5,     3,     1,
2109 >       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
2110 >       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
2111 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2112 >       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2113 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2114 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2115 >       4,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2116 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     0,
2117 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2118 >       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
2119 >       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2120 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2121 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2122 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2123 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     4,
2124 >       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
2125 >       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2126 >       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
2127 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2128 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2129 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2130 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2131 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2132 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2133 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2134 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2135 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2136 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2137 >       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
2138 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2139 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2140 >       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2141 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2142 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     5,
2143 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2144 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
2145 >       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
2146 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2147 >       4,     4,     4,     4,     4,     4,     4
2148 > };
2149 >
2150 >
2151 > #define yyerrok         (yyerrstatus = 0)
2152 > #define yyclearin       (yychar = YYEMPTY)
2153 > #define YYEMPTY         (-2)
2154 > #define YYEOF           0
2155 >
2156 > #define YYACCEPT        goto yyacceptlab
2157 > #define YYABORT         goto yyabortlab
2158 > #define YYERROR         goto yyerrorlab
2159 >
2160  
2161   #define YYRECOVERING()  (!!yyerrstatus)
2162  
# Line 2364 | Line 2173 | do
2173    else                                                          \
2174      {                                                           \
2175        yyerror (YY_("syntax error: cannot back up")); \
2176 <      YYERROR;                                                  \
2177 <    }                                                           \
2178 < while (YYID (0))
2370 <
2176 >      YYERROR;                                                  \
2177 >    }                                                           \
2178 > while (0)
2179  
2180 < #define YYTERROR        1
2181 < #define YYERRCODE       256
2180 > /* Error token number */
2181 > #define YYTERROR        1
2182 > #define YYERRCODE       256
2183  
2375 – /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2376 –   If N is 0, then set CURRENT to the empty location which ends
2377 –   the previous symbol: RHS[0] (always defined).  */
2184  
2379 – #ifndef YYLLOC_DEFAULT
2380 – # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2381 –    do                                                                  \
2382 –      if (YYID (N))                                                     \
2383 –        {                                                               \
2384 –          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2385 –          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2386 –          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2387 –          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2388 –        }                                                               \
2389 –      else                                                              \
2390 –        {                                                               \
2391 –          (Current).first_line   = (Current).last_line   =              \
2392 –            YYRHSLOC (Rhs, 0).last_line;                                \
2393 –          (Current).first_column = (Current).last_column =              \
2394 –            YYRHSLOC (Rhs, 0).last_column;                              \
2395 –        }                                                               \
2396 –    while (YYID (0))
2397 – #endif
2185  
2186 < #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2186 > /* Enable debugging if requested.  */
2187 > #if YYDEBUG
2188  
2189 + # ifndef YYFPRINTF
2190 + #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2191 + #  define YYFPRINTF fprintf
2192 + # endif
2193  
2194 + # define YYDPRINTF(Args)                        \
2195 + do {                                            \
2196 +  if (yydebug)                                  \
2197 +    YYFPRINTF Args;                             \
2198 + } while (0)
2199  
2200   /* This macro is provided for backward compatibility. */
2404 –
2201   #ifndef YY_LOCATION_PRINT
2202   # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2203   #endif
2204  
2205  
2206 < /* YYLEX -- calling `yylex' with the right arguments.  */
2206 > # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2207 > do {                                                                      \
2208 >  if (yydebug)                                                            \
2209 >    {                                                                     \
2210 >      YYFPRINTF (stderr, "%s ", Title);                                   \
2211 >      yy_symbol_print (stderr,                                            \
2212 >                  Type, Value); \
2213 >      YYFPRINTF (stderr, "\n");                                           \
2214 >    }                                                                     \
2215 > } while (0)
2216  
2412 – #ifdef YYLEX_PARAM
2413 – # define YYLEX yylex (YYLEX_PARAM)
2414 – #else
2415 – # define YYLEX yylex ()
2416 – #endif
2217  
2218 < /* Enable debugging if requested.  */
2219 < #if YYDEBUG
2218 > /*----------------------------------------.
2219 > | Print this symbol's value on YYOUTPUT.  |
2220 > `----------------------------------------*/
2221  
2421 – # ifndef YYFPRINTF
2422 – #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2423 – #  define YYFPRINTF fprintf
2424 – # endif
2425 –
2426 – # define YYDPRINTF(Args)                        \
2427 – do {                                            \
2428 –  if (yydebug)                                  \
2429 –    YYFPRINTF Args;                             \
2430 – } while (YYID (0))
2431 –
2432 – # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2433 – do {                                                                      \
2434 –  if (yydebug)                                                            \
2435 –    {                                                                     \
2436 –      YYFPRINTF (stderr, "%s ", Title);                                   \
2437 –      yy_symbol_print (stderr,                                            \
2438 –                  Type, Value); \
2439 –      YYFPRINTF (stderr, "\n");                                           \
2440 –    }                                                                     \
2441 – } while (YYID (0))
2442 –
2443 –
2444 – /*--------------------------------.
2445 – | Print this symbol on YYOUTPUT.  |
2446 – `--------------------------------*/
2447 –
2448 – /*ARGSUSED*/
2449 – #if (defined __STDC__ || defined __C99__FUNC__ \
2450 –     || defined __cplusplus || defined _MSC_VER)
2222   static void
2223   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2453 – #else
2454 – static void
2455 – yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2456 –    FILE *yyoutput;
2457 –    int yytype;
2458 –    YYSTYPE const * const yyvaluep;
2459 – #endif
2224   {
2225    FILE *yyo = yyoutput;
2226    YYUSE (yyo);
# Line 2465 | Line 2229 | yy_symbol_value_print (yyoutput, yytype,
2229   # ifdef YYPRINT
2230    if (yytype < YYNTOKENS)
2231      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2468 – # else
2469 –  YYUSE (yyoutput);
2232   # endif
2233 <  switch (yytype)
2472 <    {
2473 <      default:
2474 <        break;
2475 <    }
2233 >  YYUSE (yytype);
2234   }
2235  
2236  
# Line 2480 | Line 2238 | yy_symbol_value_print (yyoutput, yytype,
2238   | Print this symbol on YYOUTPUT.  |
2239   `--------------------------------*/
2240  
2483 – #if (defined __STDC__ || defined __C99__FUNC__ \
2484 –     || defined __cplusplus || defined _MSC_VER)
2241   static void
2242   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2487 – #else
2488 – static void
2489 – yy_symbol_print (yyoutput, yytype, yyvaluep)
2490 –    FILE *yyoutput;
2491 –    int yytype;
2492 –    YYSTYPE const * const yyvaluep;
2493 – #endif
2243   {
2244 <  if (yytype < YYNTOKENS)
2245 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2497 <  else
2498 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2244 >  YYFPRINTF (yyoutput, "%s %s (",
2245 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2246  
2247    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2248    YYFPRINTF (yyoutput, ")");
# Line 2506 | Line 2253 | yy_symbol_print (yyoutput, yytype, yyval
2253   | TOP (included).                                                   |
2254   `------------------------------------------------------------------*/
2255  
2509 – #if (defined __STDC__ || defined __C99__FUNC__ \
2510 –     || defined __cplusplus || defined _MSC_VER)
2256   static void
2257   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2513 – #else
2514 – static void
2515 – yy_stack_print (yybottom, yytop)
2516 –    yytype_int16 *yybottom;
2517 –    yytype_int16 *yytop;
2518 – #endif
2258   {
2259    YYFPRINTF (stderr, "Stack now");
2260    for (; yybottom <= yytop; yybottom++)
# Line 2526 | Line 2265 | yy_stack_print (yybottom, yytop)
2265    YYFPRINTF (stderr, "\n");
2266   }
2267  
2268 < # define YY_STACK_PRINT(Bottom, Top)                            \
2269 < do {                                                            \
2270 <  if (yydebug)                                                  \
2271 <    yy_stack_print ((Bottom), (Top));                           \
2272 < } while (YYID (0))
2268 > # define YY_STACK_PRINT(Bottom, Top)                            \
2269 > do {                                                            \
2270 >  if (yydebug)                                                  \
2271 >    yy_stack_print ((Bottom), (Top));                           \
2272 > } while (0)
2273  
2274  
2275   /*------------------------------------------------.
2276   | Report that the YYRULE is going to be reduced.  |
2277   `------------------------------------------------*/
2278  
2540 – #if (defined __STDC__ || defined __C99__FUNC__ \
2541 –     || defined __cplusplus || defined _MSC_VER)
2279   static void
2280 < yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2544 < #else
2545 < static void
2546 < yy_reduce_print (yyvsp, yyrule)
2547 <    YYSTYPE *yyvsp;
2548 <    int yyrule;
2549 < #endif
2280 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2281   {
2282 +  unsigned long int yylno = yyrline[yyrule];
2283    int yynrhs = yyr2[yyrule];
2284    int yyi;
2553 –  unsigned long int yylno = yyrline[yyrule];
2285    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2286 <             yyrule - 1, yylno);
2286 >             yyrule - 1, yylno);
2287    /* The symbols being reduced.  */
2288    for (yyi = 0; yyi < yynrhs; yyi++)
2289      {
2290        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2291 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2292 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2293 <                                       );
2291 >      yy_symbol_print (stderr,
2292 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2293 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2294 >                                              );
2295        YYFPRINTF (stderr, "\n");
2296      }
2297   }
2298  
2299 < # define YY_REDUCE_PRINT(Rule)          \
2300 < do {                                    \
2301 <  if (yydebug)                          \
2302 <    yy_reduce_print (yyvsp, Rule); \
2303 < } while (YYID (0))
2299 > # define YY_REDUCE_PRINT(Rule)          \
2300 > do {                                    \
2301 >  if (yydebug)                          \
2302 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2303 > } while (0)
2304  
2305   /* Nonzero means print parse trace.  It is left uninitialized so that
2306     multiple parsers can coexist.  */
# Line 2582 | Line 2314 | int yydebug;
2314  
2315  
2316   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2317 < #ifndef YYINITDEPTH
2317 > #ifndef YYINITDEPTH
2318   # define YYINITDEPTH 200
2319   #endif
2320  
# Line 2605 | Line 2337 | int yydebug;
2337   #   define yystrlen strlen
2338   #  else
2339   /* Return the length of YYSTR.  */
2608 – #if (defined __STDC__ || defined __C99__FUNC__ \
2609 –     || defined __cplusplus || defined _MSC_VER)
2340   static YYSIZE_T
2341   yystrlen (const char *yystr)
2612 – #else
2613 – static YYSIZE_T
2614 – yystrlen (yystr)
2615 –    const char *yystr;
2616 – #endif
2342   {
2343    YYSIZE_T yylen;
2344    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2629 | Line 2354 | yystrlen (yystr)
2354   #  else
2355   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2356     YYDEST.  */
2632 – #if (defined __STDC__ || defined __C99__FUNC__ \
2633 –     || defined __cplusplus || defined _MSC_VER)
2357   static char *
2358   yystpcpy (char *yydest, const char *yysrc)
2636 – #else
2637 – static char *
2638 – yystpcpy (yydest, yysrc)
2639 –    char *yydest;
2640 –    const char *yysrc;
2641 – #endif
2359   {
2360    char *yyd = yydest;
2361    const char *yys = yysrc;
# Line 2668 | Line 2385 | yytnamerr (char *yyres, const char *yyst
2385        char const *yyp = yystr;
2386  
2387        for (;;)
2388 <        switch (*++yyp)
2389 <          {
2390 <          case '\'':
2391 <          case ',':
2392 <            goto do_not_strip_quotes;
2393 <
2394 <          case '\\':
2395 <            if (*++yyp != '\\')
2396 <              goto do_not_strip_quotes;
2397 <            /* Fall through.  */
2398 <          default:
2399 <            if (yyres)
2400 <              yyres[yyn] = *yyp;
2401 <            yyn++;
2402 <            break;
2403 <
2404 <          case '"':
2405 <            if (yyres)
2406 <              yyres[yyn] = '\0';
2407 <            return yyn;
2408 <          }
2388 >        switch (*++yyp)
2389 >          {
2390 >          case '\'':
2391 >          case ',':
2392 >            goto do_not_strip_quotes;
2393 >
2394 >          case '\\':
2395 >            if (*++yyp != '\\')
2396 >              goto do_not_strip_quotes;
2397 >            /* Fall through.  */
2398 >          default:
2399 >            if (yyres)
2400 >              yyres[yyn] = *yyp;
2401 >            yyn++;
2402 >            break;
2403 >
2404 >          case '"':
2405 >            if (yyres)
2406 >              yyres[yyn] = '\0';
2407 >            return yyn;
2408 >          }
2409      do_not_strip_quotes: ;
2410      }
2411  
# Line 2711 | Line 2428 | static int
2428   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2429                  yytype_int16 *yyssp, int yytoken)
2430   {
2431 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2431 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2432    YYSIZE_T yysize = yysize0;
2716 –  YYSIZE_T yysize1;
2433    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2434    /* Internationalized format string. */
2435 <  const char *yyformat = YY_NULL;
2435 >  const char *yyformat = YY_NULLPTR;
2436    /* Arguments of yyformat. */
2437    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2438    /* Number of reported tokens (one for the "unexpected", one per
# Line 2724 | Line 2440 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2440    int yycount = 0;
2441  
2442    /* There are many possibilities here to consider:
2727 –     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2728 –       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2729 –       for details.  YYERROR is fine as it does not invoke this
2730 –       function.
2443       - If this state is a consistent state with a default action, then
2444         the only way this function was invoked is if the default action
2445         is an error action.  In that case, don't check for expected
# Line 2776 | Line 2488 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2488                      break;
2489                    }
2490                  yyarg[yycount++] = yytname[yyx];
2491 <                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2492 <                if (! (yysize <= yysize1
2493 <                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2494 <                  return 2;
2495 <                yysize = yysize1;
2491 >                {
2492 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2493 >                  if (! (yysize <= yysize1
2494 >                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2495 >                    return 2;
2496 >                  yysize = yysize1;
2497 >                }
2498                }
2499          }
2500      }
# Line 2800 | Line 2514 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2514   # undef YYCASE_
2515      }
2516  
2517 <  yysize1 = yysize + yystrlen (yyformat);
2518 <  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2519 <    return 2;
2520 <  yysize = yysize1;
2517 >  {
2518 >    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
2519 >    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2520 >      return 2;
2521 >    yysize = yysize1;
2522 >  }
2523  
2524    if (*yymsg_alloc < yysize)
2525      {
# Line 2840 | Line 2556 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2556   | Release the memory associated to this symbol.  |
2557   `-----------------------------------------------*/
2558  
2843 – /*ARGSUSED*/
2844 – #if (defined __STDC__ || defined __C99__FUNC__ \
2845 –     || defined __cplusplus || defined _MSC_VER)
2559   static void
2560   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2848 – #else
2849 – static void
2850 – yydestruct (yymsg, yytype, yyvaluep)
2851 –    const char *yymsg;
2852 –    int yytype;
2853 –    YYSTYPE *yyvaluep;
2854 – #endif
2561   {
2562    YYUSE (yyvaluep);
2857 –
2563    if (!yymsg)
2564      yymsg = "Deleting";
2565    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2566  
2567 <  switch (yytype)
2568 <    {
2569 <
2865 <      default:
2866 <        break;
2867 <    }
2567 >  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2568 >  YYUSE (yytype);
2569 >  YY_IGNORE_MAYBE_UNINITIALIZED_END
2570   }
2571  
2572  
# Line 2873 | Line 2575 | yydestruct (yymsg, yytype, yyvaluep)
2575   /* The lookahead symbol.  */
2576   int yychar;
2577  
2876 –
2877 – #ifndef YYLVAL_INITIALIZE
2878 – # define YYLVAL_INITIALIZE()
2879 – #endif
2880 – #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2881 – # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2882 – # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2883 – #endif
2884 –
2578   /* The semantic value of the lookahead symbol.  */
2579   YYSTYPE yylval;
2887 –
2580   /* Number of syntax errors so far.  */
2581   int yynerrs;
2582  
# Line 2893 | Line 2585 | int yynerrs;
2585   | yyparse.  |
2586   `----------*/
2587  
2896 – #ifdef YYPARSE_PARAM
2897 – #if (defined __STDC__ || defined __C99__FUNC__ \
2898 –     || defined __cplusplus || defined _MSC_VER)
2899 – int
2900 – yyparse (void *YYPARSE_PARAM)
2901 – #else
2902 – int
2903 – yyparse (YYPARSE_PARAM)
2904 –    void *YYPARSE_PARAM;
2905 – #endif
2906 – #else /* ! YYPARSE_PARAM */
2907 – #if (defined __STDC__ || defined __C99__FUNC__ \
2908 –     || defined __cplusplus || defined _MSC_VER)
2588   int
2589   yyparse (void)
2911 – #else
2912 – int
2913 – yyparse ()
2914 –
2915 – #endif
2916 – #endif
2590   {
2591      int yystate;
2592      /* Number of tokens to shift before error messages enabled.  */
2593      int yyerrstatus;
2594  
2595      /* The stacks and their tools:
2596 <       `yyss': related to states.
2597 <       `yyvs': related to semantic values.
2596 >       'yyss': related to states.
2597 >       'yyvs': related to semantic values.
2598  
2599         Refer to the stacks through separate pointers, to allow yyoverflow
2600         to reallocate them elsewhere.  */
# Line 2959 | Line 2632 | yyparse ()
2632       Keep to zero when no symbol should be popped.  */
2633    int yylen = 0;
2634  
2635 <  yyss = yyssa;
2636 <  yyvs = yyvsa;
2635 >  yyssp = yyss = yyssa;
2636 >  yyvsp = yyvs = yyvsa;
2637    yystacksize = YYINITDEPTH;
2638  
2639    YYDPRINTF ((stderr, "Starting parse\n"));
# Line 2969 | Line 2642 | yyparse ()
2642    yyerrstatus = 0;
2643    yynerrs = 0;
2644    yychar = YYEMPTY; /* Cause a token to be read.  */
2972 –
2973 –  /* Initialize stack pointers.
2974 –     Waste one element of value and location stack
2975 –     so that they stay on the same level as the state stack.
2976 –     The wasted elements are never initialized.  */
2977 –  yyssp = yyss;
2978 –  yyvsp = yyvs;
2979 –
2980 –  YYLVAL_INITIALIZE ();
2645    goto yysetstate;
2646  
2647   /*------------------------------------------------------------.
# Line 2998 | Line 2662 | yyparse ()
2662  
2663   #ifdef yyoverflow
2664        {
2665 <        /* Give user a chance to reallocate the stack.  Use copies of
2666 <           these so that the &'s don't force the real ones into
2667 <           memory.  */
2668 <        YYSTYPE *yyvs1 = yyvs;
2669 <        yytype_int16 *yyss1 = yyss;
2670 <
2671 <        /* Each stack pointer address is followed by the size of the
2672 <           data in use in that stack, in bytes.  This used to be a
2673 <           conditional around just the two extra args, but that might
2674 <           be undefined if yyoverflow is a macro.  */
2675 <        yyoverflow (YY_("memory exhausted"),
2676 <                    &yyss1, yysize * sizeof (*yyssp),
2677 <                    &yyvs1, yysize * sizeof (*yyvsp),
2678 <                    &yystacksize);
2665 >        /* Give user a chance to reallocate the stack.  Use copies of
2666 >           these so that the &'s don't force the real ones into
2667 >           memory.  */
2668 >        YYSTYPE *yyvs1 = yyvs;
2669 >        yytype_int16 *yyss1 = yyss;
2670 >
2671 >        /* Each stack pointer address is followed by the size of the
2672 >           data in use in that stack, in bytes.  This used to be a
2673 >           conditional around just the two extra args, but that might
2674 >           be undefined if yyoverflow is a macro.  */
2675 >        yyoverflow (YY_("memory exhausted"),
2676 >                    &yyss1, yysize * sizeof (*yyssp),
2677 >                    &yyvs1, yysize * sizeof (*yyvsp),
2678 >                    &yystacksize);
2679  
2680 <        yyss = yyss1;
2681 <        yyvs = yyvs1;
2680 >        yyss = yyss1;
2681 >        yyvs = yyvs1;
2682        }
2683   #else /* no yyoverflow */
2684   # ifndef YYSTACK_RELOCATE
# Line 3022 | Line 2686 | yyparse ()
2686   # else
2687        /* Extend the stack our own way.  */
2688        if (YYMAXDEPTH <= yystacksize)
2689 <        goto yyexhaustedlab;
2689 >        goto yyexhaustedlab;
2690        yystacksize *= 2;
2691        if (YYMAXDEPTH < yystacksize)
2692 <        yystacksize = YYMAXDEPTH;
2692 >        yystacksize = YYMAXDEPTH;
2693  
2694        {
2695 <        yytype_int16 *yyss1 = yyss;
2696 <        union yyalloc *yyptr =
2697 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2698 <        if (! yyptr)
2699 <          goto yyexhaustedlab;
2700 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2701 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2695 >        yytype_int16 *yyss1 = yyss;
2696 >        union yyalloc *yyptr =
2697 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2698 >        if (! yyptr)
2699 >          goto yyexhaustedlab;
2700 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2701 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2702   #  undef YYSTACK_RELOCATE
2703 <        if (yyss1 != yyssa)
2704 <          YYSTACK_FREE (yyss1);
2703 >        if (yyss1 != yyssa)
2704 >          YYSTACK_FREE (yyss1);
2705        }
2706   # endif
2707   #endif /* no yyoverflow */
# Line 3046 | Line 2710 | yyparse ()
2710        yyvsp = yyvs + yysize - 1;
2711  
2712        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2713 <                  (unsigned long int) yystacksize));
2713 >                  (unsigned long int) yystacksize));
2714  
2715        if (yyss + yystacksize - 1 <= yyssp)
2716 <        YYABORT;
2716 >        YYABORT;
2717      }
2718  
2719    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3078 | Line 2742 | yybackup:
2742    if (yychar == YYEMPTY)
2743      {
2744        YYDPRINTF ((stderr, "Reading a token: "));
2745 <      yychar = YYLEX;
2745 >      yychar = yylex ();
2746      }
2747  
2748    if (yychar <= YYEOF)
# Line 3143 | Line 2807 | yyreduce:
2807    yylen = yyr2[yyn];
2808  
2809    /* If YYLEN is nonzero, implement the default value of the action:
2810 <     `$$ = $1'.
2810 >     '$$ = $1'.
2811  
2812       Otherwise, the following line sets YYVAL to garbage.
2813       This behavior is undocumented and Bison
# Line 3156 | Line 2820 | yyreduce:
2820    YY_REDUCE_PRINT (yyn);
2821    switch (yyn)
2822      {
2823 <        case 26:
2824 < /* Line 1813 of yacc.c  */
3161 < #line 383 "conf_parser.y"
2823 >        case 27:
2824 > #line 400 "conf_parser.y" /* yacc.c:1646  */
2825      { (yyval.number) = 0; }
2826 <    break;
3164 <
3165 <  case 28:
3166 < /* Line 1813 of yacc.c  */
3167 < #line 385 "conf_parser.y"
3168 <    {
3169 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3170 <                }
2826 > #line 2827 "conf_parser.c" /* yacc.c:1646  */
2827      break;
2828  
2829    case 29:
2830 < /* Line 1813 of yacc.c  */
3175 < #line 389 "conf_parser.y"
2830 > #line 402 "conf_parser.y" /* yacc.c:1646  */
2831      {
2832 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
2832 >                        (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number);
2833                  }
2834 + #line 2835 "conf_parser.c" /* yacc.c:1646  */
2835      break;
2836  
2837    case 30:
2838 < /* Line 1813 of yacc.c  */
3183 < #line 393 "conf_parser.y"
2838 > #line 406 "conf_parser.y" /* yacc.c:1646  */
2839      {
2840 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
2840 >                        (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number);
2841                  }
2842 + #line 2843 "conf_parser.c" /* yacc.c:1646  */
2843      break;
2844  
2845    case 31:
2846 < /* Line 1813 of yacc.c  */
3191 < #line 397 "conf_parser.y"
2846 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2847      {
2848 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
2848 >                        (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number);
2849                  }
2850 + #line 2851 "conf_parser.c" /* yacc.c:1646  */
2851      break;
2852  
2853    case 32:
2854 < /* Line 1813 of yacc.c  */
3199 < #line 401 "conf_parser.y"
2854 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2855      {
2856 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
2856 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number);
2857                  }
2858 + #line 2859 "conf_parser.c" /* yacc.c:1646  */
2859      break;
2860  
2861    case 33:
2862 < /* Line 1813 of yacc.c  */
3207 < #line 405 "conf_parser.y"
2862 > #line 418 "conf_parser.y" /* yacc.c:1646  */
2863      {
2864 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
2864 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number);
2865                  }
2866 + #line 2867 "conf_parser.c" /* yacc.c:1646  */
2867      break;
2868  
2869    case 34:
2870 < /* Line 1813 of yacc.c  */
2871 < #line 410 "conf_parser.y"
2872 <    { (yyval.number) = 0; }
2870 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2871 >    {
2872 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number);
2873 >                }
2874 > #line 2875 "conf_parser.c" /* yacc.c:1646  */
2875 >    break;
2876 >
2877 >  case 35:
2878 > #line 426 "conf_parser.y" /* yacc.c:1646  */
2879 >    {
2880 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number);
2881 >                }
2882 > #line 2883 "conf_parser.c" /* yacc.c:1646  */
2883      break;
2884  
2885    case 36:
2886 < /* Line 1813 of yacc.c  */
2887 < #line 411 "conf_parser.y"
2888 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2886 > #line 430 "conf_parser.y" /* yacc.c:1646  */
2887 >    {
2888 >                        (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number);
2889 >                }
2890 > #line 2891 "conf_parser.c" /* yacc.c:1646  */
2891      break;
2892  
2893    case 37:
2894 < /* Line 1813 of yacc.c  */
2895 < #line 412 "conf_parser.y"
2896 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2894 > #line 435 "conf_parser.y" /* yacc.c:1646  */
2895 >    { (yyval.number) = 0; }
2896 > #line 2897 "conf_parser.c" /* yacc.c:1646  */
2897 >    break;
2898 >
2899 >  case 39:
2900 > #line 436 "conf_parser.y" /* yacc.c:1646  */
2901 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2902 > #line 2903 "conf_parser.c" /* yacc.c:1646  */
2903      break;
2904  
2905 <  case 38:
2906 < /* Line 1813 of yacc.c  */
2907 < #line 413 "conf_parser.y"
2908 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2905 >  case 40:
2906 > #line 437 "conf_parser.y" /* yacc.c:1646  */
2907 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2908 > #line 2909 "conf_parser.c" /* yacc.c:1646  */
2909      break;
2910  
2911 <  case 39:
2912 < /* Line 1813 of yacc.c  */
2913 < #line 414 "conf_parser.y"
2914 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2911 >  case 41:
2912 > #line 438 "conf_parser.y" /* yacc.c:1646  */
2913 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2914 > #line 2915 "conf_parser.c" /* yacc.c:1646  */
2915      break;
2916  
2917 <  case 46:
2918 < /* Line 1813 of yacc.c  */
2919 < #line 428 "conf_parser.y"
2917 >  case 42:
2918 > #line 439 "conf_parser.y" /* yacc.c:1646  */
2919 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2920 > #line 2921 "conf_parser.c" /* yacc.c:1646  */
2921 >    break;
2922 >
2923 >  case 49:
2924 > #line 453 "conf_parser.y" /* yacc.c:1646  */
2925      {
2926    if (conf_parser_ctx.pass == 2)
2927      add_conf_module(libio_basename(yylval.string));
2928   }
2929 + #line 2930 "conf_parser.c" /* yacc.c:1646  */
2930      break;
2931  
2932 <  case 47:
2933 < /* Line 1813 of yacc.c  */
3254 < #line 434 "conf_parser.y"
2932 >  case 50:
2933 > #line 459 "conf_parser.y" /* yacc.c:1646  */
2934      {
2935    if (conf_parser_ctx.pass == 2)
2936      mod_add_path(yylval.string);
2937   }
2938 + #line 2939 "conf_parser.c" /* yacc.c:1646  */
2939      break;
2940  
2941 <  case 71:
2942 < /* Line 1813 of yacc.c  */
3263 < #line 459 "conf_parser.y"
2941 >  case 76:
2942 > #line 485 "conf_parser.y" /* yacc.c:1646  */
2943      {
2944   #ifdef HAVE_LIBCRYPTO
2945    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2946      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2947   #endif
2948   }
2949 + #line 2950 "conf_parser.c" /* yacc.c:1646  */
2950      break;
2951  
2952 <  case 72:
2953 < /* Line 1813 of yacc.c  */
3274 < #line 465 "conf_parser.y"
2952 >  case 77:
2953 > #line 491 "conf_parser.y" /* yacc.c:1646  */
2954      {
2955   #ifdef HAVE_LIBCRYPTO
2956    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2957      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2958   #endif
2959   }
2960 + #line 2961 "conf_parser.c" /* yacc.c:1646  */
2961      break;
2962  
2963 <  case 75:
2964 < /* Line 1813 of yacc.c  */
3285 < #line 474 "conf_parser.y"
2963 >  case 80:
2964 > #line 500 "conf_parser.y" /* yacc.c:1646  */
2965      {
2966   #ifdef HAVE_LIBCRYPTO
2967    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2968      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2969   #endif
2970   }
2971 + #line 2972 "conf_parser.c" /* yacc.c:1646  */
2972      break;
2973  
2974 <  case 76:
2975 < /* Line 1813 of yacc.c  */
3296 < #line 480 "conf_parser.y"
2974 >  case 81:
2975 > #line 506 "conf_parser.y" /* yacc.c:1646  */
2976      {
2977   #ifdef HAVE_LIBCRYPTO
2978    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2979      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2980   #endif
2981   }
2982 + #line 2983 "conf_parser.c" /* yacc.c:1646  */
2983      break;
2984  
2985 <  case 77:
2986 < /* Line 1813 of yacc.c  */
3307 < #line 488 "conf_parser.y"
2985 >  case 82:
2986 > #line 514 "conf_parser.y" /* yacc.c:1646  */
2987      {
2988   #ifdef HAVE_LIBCRYPTO
2989    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2990    {
2991      if (!ServerInfo.rsa_private_key_file)
2992      {
2993 <      yyerror("No rsa_private_key_file specified, SSL disabled");
2993 >      conf_error_report("No rsa_private_key_file specified, SSL disabled");
2994        break;
2995      }
2996  
# Line 3320 | Line 2999 | yyreduce:
2999          SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3000                                       SSL_FILETYPE_PEM) <= 0)
3001      {
3002 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3002 >      report_crypto_errors();
3003 >      conf_error_report("Could not open/read certificate file");
3004        break;
3005      }
3006  
# Line 3329 | Line 3009 | yyreduce:
3009          SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3010                                      SSL_FILETYPE_PEM) <= 0)
3011      {
3012 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3012 >      report_crypto_errors();
3013 >      conf_error_report("Could not read RSA private key");
3014        break;
3015      }
3016  
3017      if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3018          !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3019      {
3020 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3020 >      report_crypto_errors();
3021 >      conf_error_report("Could not read RSA private key");
3022        break;
3023      }
3024    }
3025   #endif
3026   }
3027 + #line 3028 "conf_parser.c" /* yacc.c:1646  */
3028      break;
3029  
3030 <  case 78:
3031 < /* Line 1813 of yacc.c  */
3349 < #line 527 "conf_parser.y"
3030 >  case 83:
3031 > #line 556 "conf_parser.y" /* yacc.c:1646  */
3032      {
3033   #ifdef HAVE_LIBCRYPTO
3034 <  if (conf_parser_ctx.pass == 1)
3353 <  {
3354 <    BIO *file;
3034 >  BIO *file = NULL;
3035  
3036 <    if (ServerInfo.rsa_private_key)
3037 <    {
3358 <      RSA_free(ServerInfo.rsa_private_key);
3359 <      ServerInfo.rsa_private_key = NULL;
3360 <    }
3036 >  if (conf_parser_ctx.pass != 1)
3037 >    break;
3038  
3039 <    if (ServerInfo.rsa_private_key_file)
3040 <    {
3041 <      MyFree(ServerInfo.rsa_private_key_file);
3042 <      ServerInfo.rsa_private_key_file = NULL;
3043 <    }
3039 >  if (ServerInfo.rsa_private_key)
3040 >  {
3041 >    RSA_free(ServerInfo.rsa_private_key);
3042 >    ServerInfo.rsa_private_key = NULL;
3043 >  }
3044  
3045 <    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3045 >  if (ServerInfo.rsa_private_key_file)
3046 >  {
3047 >    MyFree(ServerInfo.rsa_private_key_file);
3048 >    ServerInfo.rsa_private_key_file = NULL;
3049 >  }
3050  
3051 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3371 <    {
3372 <      yyerror("File open failed, ignoring");
3373 <      break;
3374 <    }
3051 >  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3052  
3053 <    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3053 >  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3054 >  {
3055 >    conf_error_report("File open failed, ignoring");
3056 >    break;
3057 >  }
3058  
3059 <    BIO_set_close(file, BIO_CLOSE);
3379 <    BIO_free(file);
3059 >  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3060  
3061 <    if (ServerInfo.rsa_private_key == NULL)
3062 <    {
3383 <      yyerror("Couldn't extract key, ignoring");
3384 <      break;
3385 <    }
3061 >  BIO_set_close(file, BIO_CLOSE);
3062 >  BIO_free(file);
3063  
3064 <    if (!RSA_check_key(ServerInfo.rsa_private_key))
3065 <    {
3066 <      RSA_free(ServerInfo.rsa_private_key);
3067 <      ServerInfo.rsa_private_key = NULL;
3064 >  if (ServerInfo.rsa_private_key == NULL)
3065 >  {
3066 >    conf_error_report("Couldn't extract key, ignoring");
3067 >    break;
3068 >  }
3069  
3070 <      yyerror("Invalid key, ignoring");
3071 <      break;
3072 <    }
3070 >  if (!RSA_check_key(ServerInfo.rsa_private_key))
3071 >  {
3072 >    RSA_free(ServerInfo.rsa_private_key);
3073 >    ServerInfo.rsa_private_key = NULL;
3074  
3075 <    /* require 2048 bit (256 byte) key */
3076 <    if (RSA_size(ServerInfo.rsa_private_key) != 256)
3077 <    {
3399 <      RSA_free(ServerInfo.rsa_private_key);
3400 <      ServerInfo.rsa_private_key = NULL;
3075 >    conf_error_report("Invalid key, ignoring");
3076 >    break;
3077 >  }
3078  
3079 <      yyerror("Not a 2048 bit key, ignoring");
3080 <    }
3079 >  /* require 2048 bit (256 byte) key */
3080 >  if (RSA_size(ServerInfo.rsa_private_key) != 256)
3081 >  {
3082 >    RSA_free(ServerInfo.rsa_private_key);
3083 >    ServerInfo.rsa_private_key = NULL;
3084 >
3085 >    conf_error_report("Not a 2048 bit key, ignoring");
3086    }
3087   #endif
3088   }
3089 + #line 3090 "conf_parser.c" /* yacc.c:1646  */
3090      break;
3091  
3092 <  case 79:
3093 < /* Line 1813 of yacc.c  */
3411 < #line 586 "conf_parser.y"
3092 >  case 84:
3093 > #line 615 "conf_parser.y" /* yacc.c:1646  */
3094      {
3095   /* TBD - XXX: error reporting */
3096   #ifdef HAVE_LIBCRYPTO
# Line 3425 | Line 3107 | yyreduce:
3107        if (dh)
3108        {
3109          if (DH_size(dh) < 128)
3110 <          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3110 >          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3111          else
3112            SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3113  
# Line 3435 | Line 3117 | yyreduce:
3117    }
3118   #endif
3119   }
3120 + #line 3121 "conf_parser.c" /* yacc.c:1646  */
3121      break;
3122  
3123 <  case 80:
3124 < /* Line 1813 of yacc.c  */
3442 < #line 614 "conf_parser.y"
3123 >  case 85:
3124 > #line 643 "conf_parser.y" /* yacc.c:1646  */
3125      {
3126   #ifdef HAVE_LIBCRYPTO
3127    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3128      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3129   #endif
3130   }
3131 + #line 3132 "conf_parser.c" /* yacc.c:1646  */
3132      break;
3133  
3134 <  case 81:
3135 < /* Line 1813 of yacc.c  */
3453 < #line 622 "conf_parser.y"
3134 >  case 86:
3135 > #line 651 "conf_parser.y" /* yacc.c:1646  */
3136      {
3137    /* this isn't rehashable */
3138    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3459 | Line 3141 | yyreduce:
3141        ServerInfo.name = xstrdup(yylval.string);
3142      else
3143      {
3144 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3144 >      conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3145        exit(0);
3146      }
3147    }
3148   }
3149 + #line 3150 "conf_parser.c" /* yacc.c:1646  */
3150      break;
3151  
3152 <  case 82:
3153 < /* Line 1813 of yacc.c  */
3471 < #line 637 "conf_parser.y"
3152 >  case 87:
3153 > #line 666 "conf_parser.y" /* yacc.c:1646  */
3154      {
3155    /* this isn't rehashable */
3156    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3477 | Line 3159 | yyreduce:
3159        ServerInfo.sid = xstrdup(yylval.string);
3160      else
3161      {
3162 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3162 >      conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3163        exit(0);
3164      }
3165    }
3166   }
3167 + #line 3168 "conf_parser.c" /* yacc.c:1646  */
3168      break;
3169  
3170 <  case 83:
3171 < /* Line 1813 of yacc.c  */
3489 < #line 652 "conf_parser.y"
3170 >  case 88:
3171 > #line 681 "conf_parser.y" /* yacc.c:1646  */
3172      {
3173    if (conf_parser_ctx.pass == 2)
3174    {
# Line 3494 | Line 3176 | yyreduce:
3176      ServerInfo.description = xstrdup(yylval.string);
3177    }
3178   }
3179 + #line 3180 "conf_parser.c" /* yacc.c:1646  */
3180      break;
3181  
3182 <  case 84:
3183 < /* Line 1813 of yacc.c  */
3501 < #line 661 "conf_parser.y"
3182 >  case 89:
3183 > #line 690 "conf_parser.y" /* yacc.c:1646  */
3184      {
3185    if (conf_parser_ctx.pass == 2)
3186    {
# Line 3511 | Line 3193 | yyreduce:
3193      ServerInfo.network_name = xstrdup(yylval.string);
3194    }
3195   }
3196 + #line 3197 "conf_parser.c" /* yacc.c:1646  */
3197      break;
3198  
3199 <  case 85:
3200 < /* Line 1813 of yacc.c  */
3518 < #line 675 "conf_parser.y"
3199 >  case 90:
3200 > #line 704 "conf_parser.y" /* yacc.c:1646  */
3201      {
3202 <  if (conf_parser_ctx.pass == 2)
3203 <  {
3204 <    MyFree(ServerInfo.network_desc);
3205 <    ServerInfo.network_desc = xstrdup(yylval.string);
3206 <  }
3202 >  if (conf_parser_ctx.pass != 2)
3203 >    break;
3204 >
3205 >  MyFree(ServerInfo.network_desc);
3206 >  ServerInfo.network_desc = xstrdup(yylval.string);
3207   }
3208 + #line 3209 "conf_parser.c" /* yacc.c:1646  */
3209      break;
3210  
3211 <  case 86:
3212 < /* Line 1813 of yacc.c  */
3530 < #line 684 "conf_parser.y"
3211 >  case 91:
3212 > #line 713 "conf_parser.y" /* yacc.c:1646  */
3213      {
3214    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3215    {
# Line 3554 | Line 3236 | yyreduce:
3236      }
3237    }
3238   }
3239 + #line 3240 "conf_parser.c" /* yacc.c:1646  */
3240      break;
3241  
3242 <  case 87:
3243 < /* Line 1813 of yacc.c  */
3561 < #line 712 "conf_parser.y"
3242 >  case 92:
3243 > #line 741 "conf_parser.y" /* yacc.c:1646  */
3244      {
3245   #ifdef IPV6
3246    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3587 | Line 3269 | yyreduce:
3269    }
3270   #endif
3271   }
3272 + #line 3273 "conf_parser.c" /* yacc.c:1646  */
3273      break;
3274  
3275 <  case 88:
3276 < /* Line 1813 of yacc.c  */
3594 < #line 742 "conf_parser.y"
3275 >  case 93:
3276 > #line 771 "conf_parser.y" /* yacc.c:1646  */
3277      {
3278 <  if (conf_parser_ctx.pass == 2)
3278 >  if (conf_parser_ctx.pass != 2)
3279 >    break;
3280 >
3281 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3282 >  {
3283 >    char buf[IRCD_BUFSIZE];
3284 >
3285 >    snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3286 >    conf_error_report(buf);
3287 >    ServerInfo.max_clients = MAXCLIENTS_MIN;
3288 >  }
3289 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3290    {
3291 <    recalc_fdlimit(NULL);
3291 >    char buf[IRCD_BUFSIZE];
3292 >
3293 >    snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3294 >    conf_error_report(buf);
3295 >    ServerInfo.max_clients = MAXCLIENTS_MAX;
3296 >  }
3297 >  else
3298 >    ServerInfo.max_clients = (yyvsp[-1].number);
3299 > }
3300 > #line 3301 "conf_parser.c" /* yacc.c:1646  */
3301 >    break;
3302  
3303 <    if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3303 >  case 94:
3304 > #line 796 "conf_parser.y" /* yacc.c:1646  */
3305      {
3306 <      char buf[IRCD_BUFSIZE];
3307 <      ircsprintf(buf, "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3308 <      yyerror(buf);
3309 <    }
3310 <    else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3306 >  if (conf_parser_ctx.pass != 2)
3307 >    break;
3308 >
3309 >  if ((yyvsp[-1].number) < 9)
3310 >  {
3311 >    conf_error_report("max_nick_length too low, setting to 9");
3312 >    ServerInfo.max_nick_length = 9;
3313 >  }
3314 >  else if ((yyvsp[-1].number) > NICKLEN)
3315 >  {
3316 >    char buf[IRCD_BUFSIZE];
3317 >
3318 >    snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3319 >    conf_error_report(buf);
3320 >    ServerInfo.max_nick_length = NICKLEN;
3321 >  }
3322 >  else
3323 >    ServerInfo.max_nick_length = (yyvsp[-1].number);
3324 > }
3325 > #line 3326 "conf_parser.c" /* yacc.c:1646  */
3326 >    break;
3327 >
3328 >  case 95:
3329 > #line 818 "conf_parser.y" /* yacc.c:1646  */
3330      {
3331 <      char buf[IRCD_BUFSIZE];
3332 <      ircsprintf(buf, "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3333 <      yyerror(buf);
3334 <    }
3335 <    else
3336 <      ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3331 >  if (conf_parser_ctx.pass != 2)
3332 >    break;
3333 >
3334 >  if ((yyvsp[-1].number) < 80)
3335 >  {
3336 >    conf_error_report("max_topic_length too low, setting to 80");
3337 >    ServerInfo.max_topic_length = 80;
3338 >  }
3339 >  else if ((yyvsp[-1].number) > TOPICLEN)
3340 >  {
3341 >    char buf[IRCD_BUFSIZE];
3342 >
3343 >    snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3344 >    conf_error_report(buf);
3345 >    ServerInfo.max_topic_length = TOPICLEN;
3346    }
3347 +  else
3348 +    ServerInfo.max_topic_length = (yyvsp[-1].number);
3349   }
3350 + #line 3351 "conf_parser.c" /* yacc.c:1646  */
3351      break;
3352  
3353 <  case 89:
3354 < /* Line 1813 of yacc.c  */
3620 < #line 765 "conf_parser.y"
3353 >  case 96:
3354 > #line 840 "conf_parser.y" /* yacc.c:1646  */
3355      {
3356    if (conf_parser_ctx.pass == 2)
3357      ServerInfo.hub = yylval.number;
3358   }
3359 + #line 3360 "conf_parser.c" /* yacc.c:1646  */
3360 +    break;
3361 +
3362 +  case 104:
3363 + #line 855 "conf_parser.y" /* yacc.c:1646  */
3364 +    {
3365 +  if (conf_parser_ctx.pass != 2)
3366 +    break;
3367 +
3368 +  MyFree(AdminInfo.name);
3369 +  AdminInfo.name = xstrdup(yylval.string);
3370 + }
3371 + #line 3372 "conf_parser.c" /* yacc.c:1646  */
3372      break;
3373  
3374 <  case 97:
3375 < /* Line 1813 of yacc.c  */
3376 < #line 780 "conf_parser.y"
3374 >  case 105:
3375 > #line 864 "conf_parser.y" /* yacc.c:1646  */
3376 >    {
3377 >  if (conf_parser_ctx.pass != 2)
3378 >    break;
3379 >
3380 >  MyFree(AdminInfo.email);
3381 >  AdminInfo.email = xstrdup(yylval.string);
3382 > }
3383 > #line 3384 "conf_parser.c" /* yacc.c:1646  */
3384 >    break;
3385 >
3386 >  case 106:
3387 > #line 873 "conf_parser.y" /* yacc.c:1646  */
3388 >    {
3389 >  if (conf_parser_ctx.pass != 2)
3390 >    break;
3391 >
3392 >  MyFree(AdminInfo.description);
3393 >  AdminInfo.description = xstrdup(yylval.string);
3394 > }
3395 > #line 3396 "conf_parser.c" /* yacc.c:1646  */
3396 >    break;
3397 >
3398 >  case 107:
3399 > #line 885 "conf_parser.y" /* yacc.c:1646  */
3400      {
3401    if (conf_parser_ctx.pass == 2)
3402 <  {
3403 <    MyFree(AdminInfo.name);
3404 <    AdminInfo.name = xstrdup(yylval.string);
3405 <  }
3402 >    reset_block_state();
3403 > }
3404 > #line 3405 "conf_parser.c" /* yacc.c:1646  */
3405 >    break;
3406 >
3407 >  case 108:
3408 > #line 889 "conf_parser.y" /* yacc.c:1646  */
3409 >    {
3410 >  dlink_node *ptr = NULL;
3411 >
3412 >  if (conf_parser_ctx.pass != 2)
3413 >    break;
3414 >
3415 >  if (!block_state.file.buf[0])
3416 >    break;
3417 >
3418 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3419 >    motd_add(ptr->data, block_state.file.buf);
3420   }
3421 + #line 3422 "conf_parser.c" /* yacc.c:1646  */
3422      break;
3423  
3424 <  case 98:
3425 < /* Line 1813 of yacc.c  */
3641 < #line 789 "conf_parser.y"
3424 >  case 114:
3425 > #line 906 "conf_parser.y" /* yacc.c:1646  */
3426      {
3427    if (conf_parser_ctx.pass == 2)
3428 <  {
3645 <    MyFree(AdminInfo.email);
3646 <    AdminInfo.email = xstrdup(yylval.string);
3647 <  }
3428 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3429   }
3430 + #line 3431 "conf_parser.c" /* yacc.c:1646  */
3431      break;
3432  
3433 <  case 99:
3434 < /* Line 1813 of yacc.c  */
3653 < #line 798 "conf_parser.y"
3433 >  case 115:
3434 > #line 912 "conf_parser.y" /* yacc.c:1646  */
3435      {
3436    if (conf_parser_ctx.pass == 2)
3437 <  {
3657 <    MyFree(AdminInfo.description);
3658 <    AdminInfo.description = xstrdup(yylval.string);
3659 <  }
3437 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3438   }
3439 + #line 3440 "conf_parser.c" /* yacc.c:1646  */
3440      break;
3441  
3442 <  case 106:
3443 < /* Line 1813 of yacc.c  */
3665 < #line 816 "conf_parser.y"
3442 >  case 122:
3443 > #line 927 "conf_parser.y" /* yacc.c:1646  */
3444      {
3445    if (conf_parser_ctx.pass == 2)
3446      ConfigLoggingEntry.use_logging = yylval.number;
3447   }
3448 + #line 3449 "conf_parser.c" /* yacc.c:1646  */
3449      break;
3450  
3451 <  case 107:
3452 < /* Line 1813 of yacc.c  */
3674 < #line 822 "conf_parser.y"
3451 >  case 123:
3452 > #line 933 "conf_parser.y" /* yacc.c:1646  */
3453      {
3454    if (conf_parser_ctx.pass == 2)
3455      reset_block_state();
3456   }
3457 + #line 3458 "conf_parser.c" /* yacc.c:1646  */
3458      break;
3459  
3460 <  case 108:
3461 < /* Line 1813 of yacc.c  */
3683 < #line 826 "conf_parser.y"
3460 >  case 124:
3461 > #line 937 "conf_parser.y" /* yacc.c:1646  */
3462      {
3463    if (conf_parser_ctx.pass != 2)
3464      break;
3465  
3466    if (block_state.type.value && block_state.file.buf[0])
3467 <    log_add_file(block_state.type.value, block_state.size.value,
3467 >    log_set_file(block_state.type.value, block_state.size.value,
3468                   block_state.file.buf);
3469   }
3470 + #line 3471 "conf_parser.c" /* yacc.c:1646  */
3471      break;
3472  
3473 <  case 115:
3474 < /* Line 1813 of yacc.c  */
3696 < #line 842 "conf_parser.y"
3473 >  case 131:
3474 > #line 953 "conf_parser.y" /* yacc.c:1646  */
3475      {
3476    if (conf_parser_ctx.pass != 2)
3477      break;
3478  
3479    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3480   }
3481 + #line 3482 "conf_parser.c" /* yacc.c:1646  */
3482      break;
3483  
3484 <  case 116:
3485 < /* Line 1813 of yacc.c  */
3707 < #line 850 "conf_parser.y"
3484 >  case 132:
3485 > #line 961 "conf_parser.y" /* yacc.c:1646  */
3486      {
3487 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3487 >  block_state.size.value = (yyvsp[-1].number);
3488   }
3489 + #line 3490 "conf_parser.c" /* yacc.c:1646  */
3490      break;
3491  
3492 <  case 117:
3493 < /* Line 1813 of yacc.c  */
3715 < #line 853 "conf_parser.y"
3492 >  case 133:
3493 > #line 964 "conf_parser.y" /* yacc.c:1646  */
3494      {
3495    block_state.size.value = 0;
3496   }
3497 + #line 3498 "conf_parser.c" /* yacc.c:1646  */
3498      break;
3499  
3500 <  case 118:
3501 < /* Line 1813 of yacc.c  */
3723 < #line 858 "conf_parser.y"
3500 >  case 134:
3501 > #line 969 "conf_parser.y" /* yacc.c:1646  */
3502      {
3503    if (conf_parser_ctx.pass == 2)
3504      block_state.type.value = 0;
3505   }
3506 + #line 3507 "conf_parser.c" /* yacc.c:1646  */
3507      break;
3508  
3509 <  case 122:
3510 < /* Line 1813 of yacc.c  */
3732 < #line 865 "conf_parser.y"
3509 >  case 138:
3510 > #line 976 "conf_parser.y" /* yacc.c:1646  */
3511      {
3512    if (conf_parser_ctx.pass == 2)
3513      block_state.type.value = LOG_TYPE_USER;
3514   }
3515 + #line 3516 "conf_parser.c" /* yacc.c:1646  */
3516      break;
3517  
3518 <  case 123:
3519 < /* Line 1813 of yacc.c  */
3741 < #line 869 "conf_parser.y"
3518 >  case 139:
3519 > #line 980 "conf_parser.y" /* yacc.c:1646  */
3520      {
3521    if (conf_parser_ctx.pass == 2)
3522      block_state.type.value = LOG_TYPE_OPER;
3523   }
3524 + #line 3525 "conf_parser.c" /* yacc.c:1646  */
3525      break;
3526  
3527 <  case 124:
3528 < /* Line 1813 of yacc.c  */
3750 < #line 873 "conf_parser.y"
3527 >  case 140:
3528 > #line 984 "conf_parser.y" /* yacc.c:1646  */
3529      {
3530    if (conf_parser_ctx.pass == 2)
3531      block_state.type.value = LOG_TYPE_GLINE;
3532   }
3533 + #line 3534 "conf_parser.c" /* yacc.c:1646  */
3534      break;
3535  
3536 <  case 125:
3537 < /* Line 1813 of yacc.c  */
3538 < #line 877 "conf_parser.y"
3536 >  case 141:
3537 > #line 988 "conf_parser.y" /* yacc.c:1646  */
3538 >    {
3539 >  if (conf_parser_ctx.pass == 2)
3540 >    block_state.type.value = LOG_TYPE_XLINE;
3541 > }
3542 > #line 3543 "conf_parser.c" /* yacc.c:1646  */
3543 >    break;
3544 >
3545 >  case 142:
3546 > #line 992 "conf_parser.y" /* yacc.c:1646  */
3547 >    {
3548 >  if (conf_parser_ctx.pass == 2)
3549 >    block_state.type.value = LOG_TYPE_RESV;
3550 > }
3551 > #line 3552 "conf_parser.c" /* yacc.c:1646  */
3552 >    break;
3553 >
3554 >  case 143:
3555 > #line 996 "conf_parser.y" /* yacc.c:1646  */
3556      {
3557    if (conf_parser_ctx.pass == 2)
3558      block_state.type.value = LOG_TYPE_DLINE;
3559   }
3560 + #line 3561 "conf_parser.c" /* yacc.c:1646  */
3561      break;
3562  
3563 <  case 126:
3564 < /* Line 1813 of yacc.c  */
3768 < #line 881 "conf_parser.y"
3563 >  case 144:
3564 > #line 1000 "conf_parser.y" /* yacc.c:1646  */
3565      {
3566    if (conf_parser_ctx.pass == 2)
3567      block_state.type.value = LOG_TYPE_KLINE;
3568   }
3569 + #line 3570 "conf_parser.c" /* yacc.c:1646  */
3570      break;
3571  
3572 <  case 127:
3573 < /* Line 1813 of yacc.c  */
3777 < #line 885 "conf_parser.y"
3572 >  case 145:
3573 > #line 1004 "conf_parser.y" /* yacc.c:1646  */
3574      {
3575    if (conf_parser_ctx.pass == 2)
3576      block_state.type.value = LOG_TYPE_KILL;
3577   }
3578 + #line 3579 "conf_parser.c" /* yacc.c:1646  */
3579      break;
3580  
3581 <  case 128:
3582 < /* Line 1813 of yacc.c  */
3786 < #line 889 "conf_parser.y"
3581 >  case 146:
3582 > #line 1008 "conf_parser.y" /* yacc.c:1646  */
3583      {
3584    if (conf_parser_ctx.pass == 2)
3585      block_state.type.value = LOG_TYPE_DEBUG;
3586   }
3587 + #line 3588 "conf_parser.c" /* yacc.c:1646  */
3588      break;
3589  
3590 <  case 129:
3591 < /* Line 1813 of yacc.c  */
3795 < #line 899 "conf_parser.y"
3590 >  case 147:
3591 > #line 1018 "conf_parser.y" /* yacc.c:1646  */
3592      {
3593    if (conf_parser_ctx.pass != 2)
3594      break;
# Line 3800 | Line 3596 | yyreduce:
3596    reset_block_state();
3597    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3598   }
3599 + #line 3600 "conf_parser.c" /* yacc.c:1646  */
3600      break;
3601  
3602 <  case 130:
3603 < /* Line 1813 of yacc.c  */
3807 < #line 906 "conf_parser.y"
3602 >  case 148:
3603 > #line 1025 "conf_parser.y" /* yacc.c:1646  */
3604      {
3605    dlink_node *ptr = NULL;
3606  
# Line 3814 | Line 3610 | yyreduce:
3610    if (!block_state.name.buf[0])
3611      break;
3612   #ifdef HAVE_LIBCRYPTO
3613 <  if (!(block_state.file.buf[0] ||
3614 <        block_state.rpass.buf[0]))
3613 >  if (!block_state.file.buf[0] &&
3614 >      !block_state.rpass.buf[0])
3615      break;
3616   #else
3617    if (!block_state.rpass.buf[0])
# Line 3836 | Line 3632 | yyreduce:
3632      nuh.hostsize = sizeof(block_state.host.buf);
3633      split_nuh(&nuh);
3634  
3635 <    conf        = conf_make(CONF_OPER);
3636 <    conf->user  = xstrdup(block_state.user.buf);
3637 <    conf->host  = xstrdup(block_state.host.buf);
3635 >    conf         = conf_make(CONF_OPER);
3636 >    conf->name   = xstrdup(block_state.name.buf);
3637 >    conf->user   = xstrdup(block_state.user.buf);
3638 >    conf->host   = xstrdup(block_state.host.buf);
3639 >
3640 >    if (block_state.cert.buf[0])
3641 >      conf->certfp = xstrdup(block_state.cert.buf);
3642  
3643      if (block_state.rpass.buf[0])
3644        conf->passwd = xstrdup(block_state.rpass.buf);
# Line 3858 | Line 3658 | yyreduce:
3658  
3659        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3660        {
3661 <        yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
3661 >        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3662          break;
3663        }
3664  
3665        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3666 <      {
3867 <        yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3868 <        break;
3869 <      }
3666 >        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3667  
3668        conf->rsa_public_key = pkey;
3669        BIO_set_close(file, BIO_CLOSE);
# Line 3875 | Line 3672 | yyreduce:
3672   #endif /* HAVE_LIBCRYPTO */
3673    }
3674   }
3675 + #line 3676 "conf_parser.c" /* yacc.c:1646  */
3676      break;
3677  
3678 <  case 142:
3679 < /* Line 1813 of yacc.c  */
3882 < #line 983 "conf_parser.y"
3678 >  case 162:
3679 > #line 1105 "conf_parser.y" /* yacc.c:1646  */
3680      {
3681    if (conf_parser_ctx.pass == 2)
3682      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3683   }
3684 + #line 3685 "conf_parser.c" /* yacc.c:1646  */
3685      break;
3686  
3687 <  case 143:
3688 < /* Line 1813 of yacc.c  */
3891 < #line 989 "conf_parser.y"
3687 >  case 163:
3688 > #line 1111 "conf_parser.y" /* yacc.c:1646  */
3689      {
3690    if (conf_parser_ctx.pass == 2)
3691      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3692   }
3693 + #line 3694 "conf_parser.c" /* yacc.c:1646  */
3694      break;
3695  
3696 <  case 144:
3697 < /* Line 1813 of yacc.c  */
3900 < #line 995 "conf_parser.y"
3696 >  case 164:
3697 > #line 1117 "conf_parser.y" /* yacc.c:1646  */
3698      {
3699    if (conf_parser_ctx.pass == 2)
3700      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3701   }
3702 + #line 3703 "conf_parser.c" /* yacc.c:1646  */
3703      break;
3704  
3705 <  case 145:
3706 < /* Line 1813 of yacc.c  */
3909 < #line 1001 "conf_parser.y"
3705 >  case 165:
3706 > #line 1123 "conf_parser.y" /* yacc.c:1646  */
3707      {
3708 <  if (conf_parser_ctx.pass == 2)
3709 <  {
3710 <    if (yylval.number)
3711 <      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3712 <    else
3713 <      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3714 <  }
3708 >  if (conf_parser_ctx.pass != 2)
3709 >    break;
3710 >
3711 >  if (yylval.number)
3712 >    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3713 >  else
3714 >    block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3715   }
3716 + #line 3717 "conf_parser.c" /* yacc.c:1646  */
3717      break;
3718  
3719 <  case 146:
3720 < /* Line 1813 of yacc.c  */
3923 < #line 1012 "conf_parser.y"
3719 >  case 166:
3720 > #line 1134 "conf_parser.y" /* yacc.c:1646  */
3721      {
3722    if (conf_parser_ctx.pass == 2)
3723      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3724   }
3725 + #line 3726 "conf_parser.c" /* yacc.c:1646  */
3726      break;
3727  
3728 <  case 147:
3729 < /* Line 1813 of yacc.c  */
3932 < #line 1018 "conf_parser.y"
3728 >  case 167:
3729 > #line 1140 "conf_parser.y" /* yacc.c:1646  */
3730      {
3731    if (conf_parser_ctx.pass == 2)
3732 <    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3732 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3733   }
3734 + #line 3735 "conf_parser.c" /* yacc.c:1646  */
3735      break;
3736  
3737 <  case 148:
3738 < /* Line 1813 of yacc.c  */
3739 < #line 1024 "conf_parser.y"
3737 >  case 168:
3738 > #line 1146 "conf_parser.y" /* yacc.c:1646  */
3739 >    {
3740 >  if (conf_parser_ctx.pass != 2)
3741 >    break;
3742 >
3743 >  if (yylval.number)
3744 >    block_state.flags.value |= CONF_FLAGS_SSL;
3745 >  else
3746 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3747 > }
3748 > #line 3749 "conf_parser.c" /* yacc.c:1646  */
3749 >    break;
3750 >
3751 >  case 169:
3752 > #line 1157 "conf_parser.y" /* yacc.c:1646  */
3753      {
3754    if (conf_parser_ctx.pass == 2)
3755 <    block_state.modes.value = 0;
3755 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3756   }
3757 + #line 3758 "conf_parser.c" /* yacc.c:1646  */
3758      break;
3759  
3760 <  case 152:
3761 < /* Line 1813 of yacc.c  */
3950 < #line 1031 "conf_parser.y"
3760 >  case 170:
3761 > #line 1163 "conf_parser.y" /* yacc.c:1646  */
3762      {
3763    if (conf_parser_ctx.pass == 2)
3764 <    block_state.modes.value |= UMODE_BOTS;
3764 >    block_state.modes.value = 0;
3765   }
3766 + #line 3767 "conf_parser.c" /* yacc.c:1646  */
3767      break;
3768  
3769 <  case 153:
3770 < /* Line 1813 of yacc.c  */
3959 < #line 1035 "conf_parser.y"
3769 >  case 174:
3770 > #line 1170 "conf_parser.y" /* yacc.c:1646  */
3771      {
3772    if (conf_parser_ctx.pass == 2)
3773 <    block_state.modes.value |= UMODE_CCONN;
3773 >    block_state.modes.value |= UMODE_BOTS;
3774   }
3775 + #line 3776 "conf_parser.c" /* yacc.c:1646  */
3776      break;
3777  
3778 <  case 154:
3779 < /* Line 1813 of yacc.c  */
3968 < #line 1039 "conf_parser.y"
3778 >  case 175:
3779 > #line 1174 "conf_parser.y" /* yacc.c:1646  */
3780      {
3781    if (conf_parser_ctx.pass == 2)
3782 <    block_state.modes.value |= UMODE_CCONN_FULL;
3782 >    block_state.modes.value |= UMODE_CCONN;
3783   }
3784 + #line 3785 "conf_parser.c" /* yacc.c:1646  */
3785      break;
3786  
3787 <  case 155:
3788 < /* Line 1813 of yacc.c  */
3977 < #line 1043 "conf_parser.y"
3787 >  case 176:
3788 > #line 1178 "conf_parser.y" /* yacc.c:1646  */
3789      {
3790    if (conf_parser_ctx.pass == 2)
3791      block_state.modes.value |= UMODE_DEAF;
3792   }
3793 + #line 3794 "conf_parser.c" /* yacc.c:1646  */
3794      break;
3795  
3796 <  case 156:
3797 < /* Line 1813 of yacc.c  */
3986 < #line 1047 "conf_parser.y"
3796 >  case 177:
3797 > #line 1182 "conf_parser.y" /* yacc.c:1646  */
3798      {
3799    if (conf_parser_ctx.pass == 2)
3800      block_state.modes.value |= UMODE_DEBUG;
3801   }
3802 + #line 3803 "conf_parser.c" /* yacc.c:1646  */
3803      break;
3804  
3805 <  case 157:
3806 < /* Line 1813 of yacc.c  */
3995 < #line 1051 "conf_parser.y"
3805 >  case 178:
3806 > #line 1186 "conf_parser.y" /* yacc.c:1646  */
3807      {
3808    if (conf_parser_ctx.pass == 2)
3809      block_state.modes.value |= UMODE_FULL;
3810   }
3811 + #line 3812 "conf_parser.c" /* yacc.c:1646  */
3812      break;
3813  
3814 <  case 158:
3815 < /* Line 1813 of yacc.c  */
4004 < #line 1055 "conf_parser.y"
3814 >  case 179:
3815 > #line 1190 "conf_parser.y" /* yacc.c:1646  */
3816      {
3817    if (conf_parser_ctx.pass == 2)
3818      block_state.modes.value |= UMODE_HIDDEN;
3819   }
3820 + #line 3821 "conf_parser.c" /* yacc.c:1646  */
3821      break;
3822  
3823 <  case 159:
3824 < /* Line 1813 of yacc.c  */
4013 < #line 1059 "conf_parser.y"
3823 >  case 180:
3824 > #line 1194 "conf_parser.y" /* yacc.c:1646  */
3825      {
3826    if (conf_parser_ctx.pass == 2)
3827      block_state.modes.value |= UMODE_SKILL;
3828   }
3829 + #line 3830 "conf_parser.c" /* yacc.c:1646  */
3830      break;
3831  
3832 <  case 160:
3833 < /* Line 1813 of yacc.c  */
4022 < #line 1063 "conf_parser.y"
3832 >  case 181:
3833 > #line 1198 "conf_parser.y" /* yacc.c:1646  */
3834      {
3835    if (conf_parser_ctx.pass == 2)
3836      block_state.modes.value |= UMODE_NCHANGE;
3837   }
3838 + #line 3839 "conf_parser.c" /* yacc.c:1646  */
3839      break;
3840  
3841 <  case 161:
3842 < /* Line 1813 of yacc.c  */
4031 < #line 1067 "conf_parser.y"
3841 >  case 182:
3842 > #line 1202 "conf_parser.y" /* yacc.c:1646  */
3843      {
3844    if (conf_parser_ctx.pass == 2)
3845      block_state.modes.value |= UMODE_REJ;
3846   }
3847 + #line 3848 "conf_parser.c" /* yacc.c:1646  */
3848      break;
3849  
3850 <  case 162:
3851 < /* Line 1813 of yacc.c  */
4040 < #line 1071 "conf_parser.y"
3850 >  case 183:
3851 > #line 1206 "conf_parser.y" /* yacc.c:1646  */
3852      {
3853    if (conf_parser_ctx.pass == 2)
3854      block_state.modes.value |= UMODE_UNAUTH;
3855   }
3856 + #line 3857 "conf_parser.c" /* yacc.c:1646  */
3857      break;
3858  
3859 <  case 163:
3860 < /* Line 1813 of yacc.c  */
4049 < #line 1075 "conf_parser.y"
3859 >  case 184:
3860 > #line 1210 "conf_parser.y" /* yacc.c:1646  */
3861      {
3862    if (conf_parser_ctx.pass == 2)
3863      block_state.modes.value |= UMODE_SPY;
3864   }
3865 + #line 3866 "conf_parser.c" /* yacc.c:1646  */
3866      break;
3867  
3868 <  case 164:
3869 < /* Line 1813 of yacc.c  */
4058 < #line 1079 "conf_parser.y"
3868 >  case 185:
3869 > #line 1214 "conf_parser.y" /* yacc.c:1646  */
3870      {
3871    if (conf_parser_ctx.pass == 2)
3872      block_state.modes.value |= UMODE_EXTERNAL;
3873   }
3874 + #line 3875 "conf_parser.c" /* yacc.c:1646  */
3875      break;
3876  
3877 <  case 165:
3878 < /* Line 1813 of yacc.c  */
4067 < #line 1083 "conf_parser.y"
3877 >  case 186:
3878 > #line 1218 "conf_parser.y" /* yacc.c:1646  */
3879      {
3880    if (conf_parser_ctx.pass == 2)
3881      block_state.modes.value |= UMODE_OPERWALL;
3882   }
3883 + #line 3884 "conf_parser.c" /* yacc.c:1646  */
3884      break;
3885  
3886 <  case 166:
3887 < /* Line 1813 of yacc.c  */
4076 < #line 1087 "conf_parser.y"
3886 >  case 187:
3887 > #line 1222 "conf_parser.y" /* yacc.c:1646  */
3888      {
3889    if (conf_parser_ctx.pass == 2)
3890      block_state.modes.value |= UMODE_SERVNOTICE;
3891   }
3892 + #line 3893 "conf_parser.c" /* yacc.c:1646  */
3893      break;
3894  
3895 <  case 167:
3896 < /* Line 1813 of yacc.c  */
4085 < #line 1091 "conf_parser.y"
3895 >  case 188:
3896 > #line 1226 "conf_parser.y" /* yacc.c:1646  */
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899      block_state.modes.value |= UMODE_INVISIBLE;
3900   }
3901 + #line 3902 "conf_parser.c" /* yacc.c:1646  */
3902      break;
3903  
3904 <  case 168:
3905 < /* Line 1813 of yacc.c  */
4094 < #line 1095 "conf_parser.y"
3904 >  case 189:
3905 > #line 1230 "conf_parser.y" /* yacc.c:1646  */
3906      {
3907    if (conf_parser_ctx.pass == 2)
3908      block_state.modes.value |= UMODE_WALLOP;
3909   }
3910 + #line 3911 "conf_parser.c" /* yacc.c:1646  */
3911      break;
3912  
3913 <  case 169:
3914 < /* Line 1813 of yacc.c  */
4103 < #line 1099 "conf_parser.y"
3913 >  case 190:
3914 > #line 1234 "conf_parser.y" /* yacc.c:1646  */
3915      {
3916    if (conf_parser_ctx.pass == 2)
3917      block_state.modes.value |= UMODE_SOFTCALLERID;
3918   }
3919 + #line 3920 "conf_parser.c" /* yacc.c:1646  */
3920      break;
3921  
3922 <  case 170:
3923 < /* Line 1813 of yacc.c  */
4112 < #line 1103 "conf_parser.y"
3922 >  case 191:
3923 > #line 1238 "conf_parser.y" /* yacc.c:1646  */
3924      {
3925    if (conf_parser_ctx.pass == 2)
3926      block_state.modes.value |= UMODE_CALLERID;
3927   }
3928 + #line 3929 "conf_parser.c" /* yacc.c:1646  */
3929      break;
3930  
3931 <  case 171:
3932 < /* Line 1813 of yacc.c  */
4121 < #line 1107 "conf_parser.y"
3931 >  case 192:
3932 > #line 1242 "conf_parser.y" /* yacc.c:1646  */
3933      {
3934    if (conf_parser_ctx.pass == 2)
3935      block_state.modes.value |= UMODE_LOCOPS;
3936   }
3937 + #line 3938 "conf_parser.c" /* yacc.c:1646  */
3938      break;
3939  
3940 <  case 172:
3941 < /* Line 1813 of yacc.c  */
3942 < #line 1113 "conf_parser.y"
3940 >  case 193:
3941 > #line 1246 "conf_parser.y" /* yacc.c:1646  */
3942 >    {
3943 >  if (conf_parser_ctx.pass == 2)
3944 >    block_state.modes.value |= UMODE_REGONLY;
3945 > }
3946 > #line 3947 "conf_parser.c" /* yacc.c:1646  */
3947 >    break;
3948 >
3949 >  case 194:
3950 > #line 1250 "conf_parser.y" /* yacc.c:1646  */
3951 >    {
3952 >  if (conf_parser_ctx.pass == 2)
3953 >    block_state.modes.value |= UMODE_FARCONNECT;
3954 > }
3955 > #line 3956 "conf_parser.c" /* yacc.c:1646  */
3956 >    break;
3957 >
3958 >  case 195:
3959 > #line 1256 "conf_parser.y" /* yacc.c:1646  */
3960      {
3961    if (conf_parser_ctx.pass == 2)
3962      block_state.port.value = 0;
3963   }
3964 + #line 3965 "conf_parser.c" /* yacc.c:1646  */
3965      break;
3966  
3967 <  case 176:
3968 < /* Line 1813 of yacc.c  */
4139 < #line 1120 "conf_parser.y"
3967 >  case 199:
3968 > #line 1263 "conf_parser.y" /* yacc.c:1646  */
3969      {
3970    if (conf_parser_ctx.pass == 2)
3971 <    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
3971 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
3972   }
3973 + #line 3974 "conf_parser.c" /* yacc.c:1646  */
3974      break;
3975  
3976 <  case 177:
3977 < /* Line 1813 of yacc.c  */
4148 < #line 1124 "conf_parser.y"
3976 >  case 200:
3977 > #line 1267 "conf_parser.y" /* yacc.c:1646  */
3978      {
3979    if (conf_parser_ctx.pass == 2)
3980 <    block_state.port.value |= OPER_FLAG_REMOTE;
3980 >    block_state.port.value |= OPER_FLAG_KILL;
3981   }
3982 + #line 3983 "conf_parser.c" /* yacc.c:1646  */
3983      break;
3984  
3985 <  case 178:
3986 < /* Line 1813 of yacc.c  */
3987 < #line 1128 "conf_parser.y"
3985 >  case 201:
3986 > #line 1271 "conf_parser.y" /* yacc.c:1646  */
3987 >    {
3988 >  if (conf_parser_ctx.pass == 2)
3989 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
3990 > }
3991 > #line 3992 "conf_parser.c" /* yacc.c:1646  */
3992 >    break;
3993 >
3994 >  case 202:
3995 > #line 1275 "conf_parser.y" /* yacc.c:1646  */
3996 >    {
3997 >  if (conf_parser_ctx.pass == 2)
3998 >    block_state.port.value |= OPER_FLAG_CONNECT;
3999 > }
4000 > #line 4001 "conf_parser.c" /* yacc.c:1646  */
4001 >    break;
4002 >
4003 >  case 203:
4004 > #line 1279 "conf_parser.y" /* yacc.c:1646  */
4005 >    {
4006 >  if (conf_parser_ctx.pass == 2)
4007 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4008 > }
4009 > #line 4010 "conf_parser.c" /* yacc.c:1646  */
4010 >    break;
4011 >
4012 >  case 204:
4013 > #line 1283 "conf_parser.y" /* yacc.c:1646  */
4014 >    {
4015 >  if (conf_parser_ctx.pass == 2)
4016 >    block_state.port.value |= OPER_FLAG_SQUIT;
4017 > }
4018 > #line 4019 "conf_parser.c" /* yacc.c:1646  */
4019 >    break;
4020 >
4021 >  case 205:
4022 > #line 1287 "conf_parser.y" /* yacc.c:1646  */
4023      {
4024    if (conf_parser_ctx.pass == 2)
4025      block_state.port.value |= OPER_FLAG_K;
4026   }
4027 + #line 4028 "conf_parser.c" /* yacc.c:1646  */
4028      break;
4029  
4030 <  case 179:
4031 < /* Line 1813 of yacc.c  */
4166 < #line 1132 "conf_parser.y"
4030 >  case 206:
4031 > #line 1291 "conf_parser.y" /* yacc.c:1646  */
4032      {
4033    if (conf_parser_ctx.pass == 2)
4034      block_state.port.value |= OPER_FLAG_UNKLINE;
4035   }
4036 + #line 4037 "conf_parser.c" /* yacc.c:1646  */
4037      break;
4038  
4039 <  case 180:
4040 < /* Line 1813 of yacc.c  */
4175 < #line 1136 "conf_parser.y"
4039 >  case 207:
4040 > #line 1295 "conf_parser.y" /* yacc.c:1646  */
4041      {
4042    if (conf_parser_ctx.pass == 2)
4043      block_state.port.value |= OPER_FLAG_DLINE;
4044   }
4045 + #line 4046 "conf_parser.c" /* yacc.c:1646  */
4046      break;
4047  
4048 <  case 181:
4049 < /* Line 1813 of yacc.c  */
4184 < #line 1140 "conf_parser.y"
4048 >  case 208:
4049 > #line 1299 "conf_parser.y" /* yacc.c:1646  */
4050      {
4051    if (conf_parser_ctx.pass == 2)
4052      block_state.port.value |= OPER_FLAG_UNDLINE;
4053   }
4054 + #line 4055 "conf_parser.c" /* yacc.c:1646  */
4055      break;
4056  
4057 <  case 182:
4058 < /* Line 1813 of yacc.c  */
4193 < #line 1144 "conf_parser.y"
4057 >  case 209:
4058 > #line 1303 "conf_parser.y" /* yacc.c:1646  */
4059      {
4060    if (conf_parser_ctx.pass == 2)
4061      block_state.port.value |= OPER_FLAG_X;
4062   }
4063 + #line 4064 "conf_parser.c" /* yacc.c:1646  */
4064      break;
4065  
4066 <  case 183:
4067 < /* Line 1813 of yacc.c  */
4202 < #line 1148 "conf_parser.y"
4066 >  case 210:
4067 > #line 1307 "conf_parser.y" /* yacc.c:1646  */
4068      {
4069    if (conf_parser_ctx.pass == 2)
4070      block_state.port.value |= OPER_FLAG_GLINE;
4071   }
4072 + #line 4073 "conf_parser.c" /* yacc.c:1646  */
4073      break;
4074  
4075 <  case 184:
4076 < /* Line 1813 of yacc.c  */
4211 < #line 1152 "conf_parser.y"
4075 >  case 211:
4076 > #line 1311 "conf_parser.y" /* yacc.c:1646  */
4077      {
4078    if (conf_parser_ctx.pass == 2)
4079      block_state.port.value |= OPER_FLAG_DIE;
4080   }
4081 + #line 4082 "conf_parser.c" /* yacc.c:1646  */
4082      break;
4083  
4084 <  case 185:
4085 < /* Line 1813 of yacc.c  */
4220 < #line 1156 "conf_parser.y"
4084 >  case 212:
4085 > #line 1315 "conf_parser.y" /* yacc.c:1646  */
4086      {
4087    if (conf_parser_ctx.pass == 2)
4088      block_state.port.value |= OPER_FLAG_RESTART;
4089   }
4090 + #line 4091 "conf_parser.c" /* yacc.c:1646  */
4091      break;
4092  
4093 <  case 186:
4094 < /* Line 1813 of yacc.c  */
4229 < #line 1160 "conf_parser.y"
4093 >  case 213:
4094 > #line 1319 "conf_parser.y" /* yacc.c:1646  */
4095      {
4096    if (conf_parser_ctx.pass == 2)
4097      block_state.port.value |= OPER_FLAG_REHASH;
4098   }
4099 + #line 4100 "conf_parser.c" /* yacc.c:1646  */
4100      break;
4101  
4102 <  case 187:
4103 < /* Line 1813 of yacc.c  */
4238 < #line 1164 "conf_parser.y"
4102 >  case 214:
4103 > #line 1323 "conf_parser.y" /* yacc.c:1646  */
4104      {
4105    if (conf_parser_ctx.pass == 2)
4106      block_state.port.value |= OPER_FLAG_ADMIN;
4107   }
4108 + #line 4109 "conf_parser.c" /* yacc.c:1646  */
4109      break;
4110  
4111 <  case 188:
4112 < /* Line 1813 of yacc.c  */
4247 < #line 1168 "conf_parser.y"
4111 >  case 215:
4112 > #line 1327 "conf_parser.y" /* yacc.c:1646  */
4113      {
4114    if (conf_parser_ctx.pass == 2)
4115 <    block_state.port.value |= OPER_FLAG_N;
4115 >    block_state.port.value |= OPER_FLAG_OPERWALL;
4116   }
4117 + #line 4118 "conf_parser.c" /* yacc.c:1646  */
4118      break;
4119  
4120 <  case 189:
4121 < /* Line 1813 of yacc.c  */
4256 < #line 1172 "conf_parser.y"
4120 >  case 216:
4121 > #line 1331 "conf_parser.y" /* yacc.c:1646  */
4122      {
4123    if (conf_parser_ctx.pass == 2)
4124 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4124 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4125   }
4126 + #line 4127 "conf_parser.c" /* yacc.c:1646  */
4127      break;
4128  
4129 <  case 190:
4130 < /* Line 1813 of yacc.c  */
4265 < #line 1176 "conf_parser.y"
4129 >  case 217:
4130 > #line 1335 "conf_parser.y" /* yacc.c:1646  */
4131      {
4132    if (conf_parser_ctx.pass == 2)
4133 <    block_state.port.value |= OPER_FLAG_GLOBOPS;
4133 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4134   }
4135 + #line 4136 "conf_parser.c" /* yacc.c:1646  */
4136      break;
4137  
4138 <  case 191:
4139 < /* Line 1813 of yacc.c  */
4274 < #line 1180 "conf_parser.y"
4138 >  case 218:
4139 > #line 1339 "conf_parser.y" /* yacc.c:1646  */
4140      {
4141    if (conf_parser_ctx.pass == 2)
4142 <    block_state.port.value |= OPER_FLAG_OPER_SPY;
4142 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4143   }
4144 + #line 4145 "conf_parser.c" /* yacc.c:1646  */
4145      break;
4146  
4147 <  case 192:
4148 < /* Line 1813 of yacc.c  */
4283 < #line 1184 "conf_parser.y"
4147 >  case 219:
4148 > #line 1343 "conf_parser.y" /* yacc.c:1646  */
4149      {
4150    if (conf_parser_ctx.pass == 2)
4151      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4152   }
4153 + #line 4154 "conf_parser.c" /* yacc.c:1646  */
4154      break;
4155  
4156 <  case 193:
4157 < /* Line 1813 of yacc.c  */
4292 < #line 1188 "conf_parser.y"
4156 >  case 220:
4157 > #line 1347 "conf_parser.y" /* yacc.c:1646  */
4158      {
4159    if (conf_parser_ctx.pass == 2)
4160      block_state.port.value |= OPER_FLAG_SET;
4161   }
4162 + #line 4163 "conf_parser.c" /* yacc.c:1646  */
4163      break;
4164  
4165 <  case 194:
4166 < /* Line 1813 of yacc.c  */
4301 < #line 1192 "conf_parser.y"
4165 >  case 221:
4166 > #line 1351 "conf_parser.y" /* yacc.c:1646  */
4167      {
4168    if (conf_parser_ctx.pass == 2)
4169      block_state.port.value |= OPER_FLAG_MODULE;
4170   }
4171 + #line 4172 "conf_parser.c" /* yacc.c:1646  */
4172      break;
4173  
4174 <  case 195:
4175 < /* Line 1813 of yacc.c  */
4310 < #line 1202 "conf_parser.y"
4174 >  case 222:
4175 > #line 1361 "conf_parser.y" /* yacc.c:1646  */
4176      {
4177 <  if (conf_parser_ctx.pass == 1)
4178 <    reset_block_state();
4177 >  if (conf_parser_ctx.pass != 1)
4178 >    break;
4179 >
4180 >  reset_block_state();
4181 >
4182 >  block_state.ping_freq.value = DEFAULT_PINGFREQUENCY;
4183 >  block_state.con_freq.value  = DEFAULT_CONNECTFREQUENCY;
4184 >  block_state.max_total.value = MAXIMUM_LINKS_DEFAULT;
4185 >  block_state.max_sendq.value = DEFAULT_SENDQ;
4186 >  block_state.max_recvq.value = DEFAULT_RECVQ;
4187   }
4188 + #line 4189 "conf_parser.c" /* yacc.c:1646  */
4189      break;
4190  
4191 <  case 196:
4192 < /* Line 1813 of yacc.c  */
4319 < #line 1206 "conf_parser.y"
4191 >  case 223:
4192 > #line 1373 "conf_parser.y" /* yacc.c:1646  */
4193      {
4194    struct ClassItem *class = NULL;
4195  
# Line 4342 | Line 4215 | yyreduce:
4215    class->max_sendq = block_state.max_sendq.value;
4216    class->max_recvq = block_state.max_recvq.value;
4217  
4218 +  if (block_state.min_idle.value > block_state.max_idle.value)
4219 +  {
4220 +    block_state.min_idle.value = 0;
4221 +    block_state.max_idle.value = 0;
4222 +    block_state.flags.value &= ~CLASS_FLAGS_FAKE_IDLE;
4223 +  }
4224 +
4225 +  class->flags = block_state.flags.value;
4226 +  class->min_idle = block_state.min_idle.value;
4227 +  class->max_idle = block_state.max_idle.value;
4228 +
4229    if (class->number_per_cidr && block_state.number_per_cidr.value)
4230      if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4231          (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
# Line 4353 | Line 4237 | yyreduce:
4237    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4238    class->number_per_cidr = block_state.number_per_cidr.value;
4239   }
4240 + #line 4241 "conf_parser.c" /* yacc.c:1646  */
4241      break;
4242  
4243 <  case 213:
4244 < /* Line 1813 of yacc.c  */
4360 < #line 1258 "conf_parser.y"
4243 >  case 243:
4244 > #line 1439 "conf_parser.y" /* yacc.c:1646  */
4245      {
4246    if (conf_parser_ctx.pass == 1)
4247      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4248   }
4249 + #line 4250 "conf_parser.c" /* yacc.c:1646  */
4250      break;
4251  
4252 <  case 214:
4253 < /* Line 1813 of yacc.c  */
4369 < #line 1264 "conf_parser.y"
4252 >  case 244:
4253 > #line 1445 "conf_parser.y" /* yacc.c:1646  */
4254      {
4255    if (conf_parser_ctx.pass == 1)
4256 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4256 >    block_state.ping_freq.value = (yyvsp[-1].number);
4257   }
4258 + #line 4259 "conf_parser.c" /* yacc.c:1646  */
4259      break;
4260  
4261 <  case 215:
4262 < /* Line 1813 of yacc.c  */
4378 < #line 1270 "conf_parser.y"
4261 >  case 245:
4262 > #line 1451 "conf_parser.y" /* yacc.c:1646  */
4263      {
4264    if (conf_parser_ctx.pass == 1)
4265 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4265 >    block_state.max_perip.value = (yyvsp[-1].number);
4266   }
4267 + #line 4268 "conf_parser.c" /* yacc.c:1646  */
4268      break;
4269  
4270 <  case 216:
4271 < /* Line 1813 of yacc.c  */
4387 < #line 1276 "conf_parser.y"
4270 >  case 246:
4271 > #line 1457 "conf_parser.y" /* yacc.c:1646  */
4272      {
4273    if (conf_parser_ctx.pass == 1)
4274 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4274 >    block_state.con_freq.value = (yyvsp[-1].number);
4275   }
4276 + #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277      break;
4278  
4279 <  case 217:
4280 < /* Line 1813 of yacc.c  */
4396 < #line 1282 "conf_parser.y"
4279 >  case 247:
4280 > #line 1463 "conf_parser.y" /* yacc.c:1646  */
4281      {
4282    if (conf_parser_ctx.pass == 1)
4283 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4283 >    block_state.max_total.value = (yyvsp[-1].number);
4284   }
4285 + #line 4286 "conf_parser.c" /* yacc.c:1646  */
4286      break;
4287  
4288 <  case 218:
4289 < /* Line 1813 of yacc.c  */
4405 < #line 1288 "conf_parser.y"
4288 >  case 248:
4289 > #line 1469 "conf_parser.y" /* yacc.c:1646  */
4290      {
4291    if (conf_parser_ctx.pass == 1)
4292 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4292 >    block_state.max_global.value = (yyvsp[-1].number);
4293   }
4294 + #line 4295 "conf_parser.c" /* yacc.c:1646  */
4295      break;
4296  
4297 <  case 219:
4298 < /* Line 1813 of yacc.c  */
4414 < #line 1294 "conf_parser.y"
4297 >  case 249:
4298 > #line 1475 "conf_parser.y" /* yacc.c:1646  */
4299      {
4300    if (conf_parser_ctx.pass == 1)
4301 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4301 >    block_state.max_local.value = (yyvsp[-1].number);
4302   }
4303 + #line 4304 "conf_parser.c" /* yacc.c:1646  */
4304      break;
4305  
4306 <  case 220:
4307 < /* Line 1813 of yacc.c  */
4423 < #line 1300 "conf_parser.y"
4306 >  case 250:
4307 > #line 1481 "conf_parser.y" /* yacc.c:1646  */
4308      {
4309    if (conf_parser_ctx.pass == 1)
4310 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4310 >    block_state.max_ident.value = (yyvsp[-1].number);
4311   }
4312 + #line 4313 "conf_parser.c" /* yacc.c:1646  */
4313      break;
4314  
4315 <  case 221:
4316 < /* Line 1813 of yacc.c  */
4432 < #line 1306 "conf_parser.y"
4315 >  case 251:
4316 > #line 1487 "conf_parser.y" /* yacc.c:1646  */
4317      {
4318    if (conf_parser_ctx.pass == 1)
4319 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4319 >    block_state.max_sendq.value = (yyvsp[-1].number);
4320   }
4321 + #line 4322 "conf_parser.c" /* yacc.c:1646  */
4322      break;
4323  
4324 <  case 222:
4325 < /* Line 1813 of yacc.c  */
4441 < #line 1312 "conf_parser.y"
4324 >  case 252:
4325 > #line 1493 "conf_parser.y" /* yacc.c:1646  */
4326      {
4327    if (conf_parser_ctx.pass == 1)
4328 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4329 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4328 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4329 >      block_state.max_recvq.value = (yyvsp[-1].number);
4330   }
4331 + #line 4332 "conf_parser.c" /* yacc.c:1646  */
4332      break;
4333  
4334 <  case 223:
4335 < /* Line 1813 of yacc.c  */
4451 < #line 1319 "conf_parser.y"
4334 >  case 253:
4335 > #line 1500 "conf_parser.y" /* yacc.c:1646  */
4336      {
4337    if (conf_parser_ctx.pass == 1)
4338 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4338 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4339   }
4340 + #line 4341 "conf_parser.c" /* yacc.c:1646  */
4341      break;
4342  
4343 <  case 224:
4344 < /* Line 1813 of yacc.c  */
4460 < #line 1325 "conf_parser.y"
4343 >  case 254:
4344 > #line 1506 "conf_parser.y" /* yacc.c:1646  */
4345      {
4346    if (conf_parser_ctx.pass == 1)
4347 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4347 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4348   }
4349 + #line 4350 "conf_parser.c" /* yacc.c:1646  */
4350      break;
4351  
4352 <  case 225:
4353 < /* Line 1813 of yacc.c  */
4469 < #line 1331 "conf_parser.y"
4352 >  case 255:
4353 > #line 1512 "conf_parser.y" /* yacc.c:1646  */
4354      {
4355    if (conf_parser_ctx.pass == 1)
4356 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4356 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4357   }
4358 + #line 4359 "conf_parser.c" /* yacc.c:1646  */
4359      break;
4360  
4361 <  case 226:
4362 < /* Line 1813 of yacc.c  */
4363 < #line 1340 "conf_parser.y"
4361 >  case 256:
4362 > #line 1518 "conf_parser.y" /* yacc.c:1646  */
4363 >    {
4364 >  if (conf_parser_ctx.pass != 1)
4365 >    break;
4366 >
4367 >  block_state.min_idle.value = (yyvsp[-1].number);
4368 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4369 > }
4370 > #line 4371 "conf_parser.c" /* yacc.c:1646  */
4371 >    break;
4372 >
4373 >  case 257:
4374 > #line 1527 "conf_parser.y" /* yacc.c:1646  */
4375 >    {
4376 >  if (conf_parser_ctx.pass != 1)
4377 >    break;
4378 >
4379 >  block_state.max_idle.value = (yyvsp[-1].number);
4380 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4381 > }
4382 > #line 4383 "conf_parser.c" /* yacc.c:1646  */
4383 >    break;
4384 >
4385 >  case 258:
4386 > #line 1536 "conf_parser.y" /* yacc.c:1646  */
4387 >    {
4388 >  if (conf_parser_ctx.pass == 1)
4389 >    block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4390 > }
4391 > #line 4392 "conf_parser.c" /* yacc.c:1646  */
4392 >    break;
4393 >
4394 >  case 262:
4395 > #line 1543 "conf_parser.y" /* yacc.c:1646  */
4396 >    {
4397 >  if (conf_parser_ctx.pass == 1)
4398 >    block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4399 > }
4400 > #line 4401 "conf_parser.c" /* yacc.c:1646  */
4401 >    break;
4402 >
4403 >  case 263:
4404 > #line 1547 "conf_parser.y" /* yacc.c:1646  */
4405 >    {
4406 >  if (conf_parser_ctx.pass == 1)
4407 >    block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4408 > }
4409 > #line 4410 "conf_parser.c" /* yacc.c:1646  */
4410 >    break;
4411 >
4412 >  case 264:
4413 > #line 1557 "conf_parser.y" /* yacc.c:1646  */
4414      {
4415    if (conf_parser_ctx.pass == 2)
4416      reset_block_state();
4417   }
4418 + #line 4419 "conf_parser.c" /* yacc.c:1646  */
4419      break;
4420  
4421 <  case 228:
4422 < /* Line 1813 of yacc.c  */
4487 < #line 1346 "conf_parser.y"
4421 >  case 266:
4422 > #line 1563 "conf_parser.y" /* yacc.c:1646  */
4423      {
4424    block_state.flags.value = 0;
4425   }
4426 + #line 4427 "conf_parser.c" /* yacc.c:1646  */
4427      break;
4428  
4429 <  case 232:
4430 < /* Line 1813 of yacc.c  */
4495 < #line 1352 "conf_parser.y"
4429 >  case 270:
4430 > #line 1569 "conf_parser.y" /* yacc.c:1646  */
4431      {
4432    if (conf_parser_ctx.pass == 2)
4433      block_state.flags.value |= LISTENER_SSL;
4434   }
4435 + #line 4436 "conf_parser.c" /* yacc.c:1646  */
4436      break;
4437  
4438 <  case 233:
4439 < /* Line 1813 of yacc.c  */
4504 < #line 1356 "conf_parser.y"
4438 >  case 271:
4439 > #line 1573 "conf_parser.y" /* yacc.c:1646  */
4440      {
4441    if (conf_parser_ctx.pass == 2)
4442      block_state.flags.value |= LISTENER_HIDDEN;
4443   }
4444 + #line 4445 "conf_parser.c" /* yacc.c:1646  */
4445      break;
4446  
4447 <  case 234:
4448 < /* Line 1813 of yacc.c  */
4513 < #line 1360 "conf_parser.y"
4447 >  case 272:
4448 > #line 1577 "conf_parser.y" /* yacc.c:1646  */
4449      {
4450    if (conf_parser_ctx.pass == 2)
4451     block_state.flags.value |= LISTENER_SERVER;
4452   }
4453 + #line 4454 "conf_parser.c" /* yacc.c:1646  */
4454      break;
4455  
4456 <  case 242:
4457 < /* Line 1813 of yacc.c  */
4522 < #line 1368 "conf_parser.y"
4456 >  case 280:
4457 > #line 1585 "conf_parser.y" /* yacc.c:1646  */
4458      { block_state.flags.value = 0; }
4459 + #line 4460 "conf_parser.c" /* yacc.c:1646  */
4460      break;
4461  
4462 <  case 246:
4463 < /* Line 1813 of yacc.c  */
4528 < #line 1373 "conf_parser.y"
4462 >  case 284:
4463 > #line 1590 "conf_parser.y" /* yacc.c:1646  */
4464      {
4465    if (conf_parser_ctx.pass == 2)
4466    {
# Line 4534 | Line 4469 | yyreduce:
4469        if (!ServerInfo.server_ctx)
4470   #endif
4471        {
4472 <        yyerror("SSL not available - port closed");
4472 >        conf_error_report("SSL not available - port closed");
4473          break;
4474        }
4475 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4475 >    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4476    }
4477   }
4478 + #line 4479 "conf_parser.c" /* yacc.c:1646  */
4479      break;
4480  
4481 <  case 247:
4482 < /* Line 1813 of yacc.c  */
4547 < #line 1387 "conf_parser.y"
4481 >  case 285:
4482 > #line 1604 "conf_parser.y" /* yacc.c:1646  */
4483      {
4484    if (conf_parser_ctx.pass == 2)
4485    {
# Line 4555 | Line 4490 | yyreduce:
4490        if (!ServerInfo.server_ctx)
4491   #endif
4492        {
4493 <        yyerror("SSL not available - port closed");
4493 >        conf_error_report("SSL not available - port closed");
4494          break;
4495        }
4496  
4497 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4497 >    for (i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4498        add_listener(i, block_state.addr.buf, block_state.flags.value);
4499    }
4500   }
4501 + #line 4502 "conf_parser.c" /* yacc.c:1646  */
4502      break;
4503  
4504 <  case 248:
4505 < /* Line 1813 of yacc.c  */
4570 < #line 1407 "conf_parser.y"
4504 >  case 286:
4505 > #line 1624 "conf_parser.y" /* yacc.c:1646  */
4506      {
4507    if (conf_parser_ctx.pass == 2)
4508      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4509   }
4510 + #line 4511 "conf_parser.c" /* yacc.c:1646  */
4511      break;
4512  
4513 <  case 249:
4514 < /* Line 1813 of yacc.c  */
4579 < #line 1413 "conf_parser.y"
4513 >  case 287:
4514 > #line 1630 "conf_parser.y" /* yacc.c:1646  */
4515      {
4516    if (conf_parser_ctx.pass == 2)
4517      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4518   }
4519 + #line 4520 "conf_parser.c" /* yacc.c:1646  */
4520      break;
4521  
4522 <  case 250:
4523 < /* Line 1813 of yacc.c  */
4588 < #line 1422 "conf_parser.y"
4522 >  case 288:
4523 > #line 1639 "conf_parser.y" /* yacc.c:1646  */
4524      {
4525    if (conf_parser_ctx.pass == 2)
4526      reset_block_state();
4527   }
4528 + #line 4529 "conf_parser.c" /* yacc.c:1646  */
4529      break;
4530  
4531 <  case 251:
4532 < /* Line 1813 of yacc.c  */
4597 < #line 1426 "conf_parser.y"
4531 >  case 289:
4532 > #line 1643 "conf_parser.y" /* yacc.c:1646  */
4533      {
4534    dlink_node *ptr = NULL;
4535  
# Line 4616 | Line 4551 | yyreduce:
4551      split_nuh(&nuh);
4552  
4553      conf        = conf_make(CONF_CLIENT);
4554 <    conf->user  = xstrdup(collapse(block_state.user.buf));
4555 <    conf->host  = xstrdup(collapse(block_state.host.buf));
4554 >    conf->user  = xstrdup(block_state.user.buf);
4555 >    conf->host  = xstrdup(block_state.host.buf);
4556  
4557      if (block_state.rpass.buf[0])
4558        conf->passwd = xstrdup(block_state.rpass.buf);
4559      if (block_state.name.buf[0])
4560 <      conf->passwd = xstrdup(block_state.name.buf);
4560 >      conf->name = xstrdup(block_state.name.buf);
4561  
4562      conf->flags = block_state.flags.value;
4563      conf->port  = block_state.port.value;
# Line 4631 | Line 4566 | yyreduce:
4566      add_conf_by_address(CONF_CLIENT, conf);
4567    }
4568   }
4569 + #line 4570 "conf_parser.c" /* yacc.c:1646  */
4570      break;
4571  
4572 <  case 263:
4573 < /* Line 1813 of yacc.c  */
4638 < #line 1469 "conf_parser.y"
4572 >  case 301:
4573 > #line 1686 "conf_parser.y" /* yacc.c:1646  */
4574      {
4575    if (conf_parser_ctx.pass == 2)
4576      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4577   }
4578 + #line 4579 "conf_parser.c" /* yacc.c:1646  */
4579      break;
4580  
4581 <  case 264:
4582 < /* Line 1813 of yacc.c  */
4647 < #line 1475 "conf_parser.y"
4581 >  case 302:
4582 > #line 1692 "conf_parser.y" /* yacc.c:1646  */
4583      {
4584    if (conf_parser_ctx.pass == 2)
4585      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4586   }
4587 + #line 4588 "conf_parser.c" /* yacc.c:1646  */
4588      break;
4589  
4590 <  case 265:
4591 < /* Line 1813 of yacc.c  */
4656 < #line 1481 "conf_parser.y"
4590 >  case 303:
4591 > #line 1698 "conf_parser.y" /* yacc.c:1646  */
4592      {
4593    if (conf_parser_ctx.pass == 2)
4594      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4595   }
4596 + #line 4597 "conf_parser.c" /* yacc.c:1646  */
4597      break;
4598  
4599 <  case 266:
4600 < /* Line 1813 of yacc.c  */
4665 < #line 1487 "conf_parser.y"
4599 >  case 304:
4600 > #line 1704 "conf_parser.y" /* yacc.c:1646  */
4601      {
4602    if (conf_parser_ctx.pass == 2)
4603    {
# Line 4672 | Line 4607 | yyreduce:
4607        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4608    }
4609   }
4610 + #line 4611 "conf_parser.c" /* yacc.c:1646  */
4611      break;
4612  
4613 <  case 267:
4614 < /* Line 1813 of yacc.c  */
4679 < #line 1498 "conf_parser.y"
4613 >  case 305:
4614 > #line 1715 "conf_parser.y" /* yacc.c:1646  */
4615      {
4616    if (conf_parser_ctx.pass == 2)
4617 <    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4617 >    block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4618   }
4619 + #line 4620 "conf_parser.c" /* yacc.c:1646  */
4620      break;
4621  
4622 <  case 271:
4623 < /* Line 1813 of yacc.c  */
4688 < #line 1505 "conf_parser.y"
4622 >  case 309:
4623 > #line 1722 "conf_parser.y" /* yacc.c:1646  */
4624      {
4625    if (conf_parser_ctx.pass == 2)
4626      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4627   }
4628 + #line 4629 "conf_parser.c" /* yacc.c:1646  */
4629      break;
4630  
4631 <  case 272:
4632 < /* Line 1813 of yacc.c  */
4697 < #line 1509 "conf_parser.y"
4631 >  case 310:
4632 > #line 1726 "conf_parser.y" /* yacc.c:1646  */
4633      {
4634    if (conf_parser_ctx.pass == 2)
4635      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4636   }
4637 + #line 4638 "conf_parser.c" /* yacc.c:1646  */
4638      break;
4639  
4640 <  case 273:
4641 < /* Line 1813 of yacc.c  */
4706 < #line 1513 "conf_parser.y"
4640 >  case 311:
4641 > #line 1730 "conf_parser.y" /* yacc.c:1646  */
4642      {
4643    if (conf_parser_ctx.pass == 2)
4644      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4645   }
4646 + #line 4647 "conf_parser.c" /* yacc.c:1646  */
4647      break;
4648  
4649 <  case 274:
4650 < /* Line 1813 of yacc.c  */
4715 < #line 1517 "conf_parser.y"
4649 >  case 312:
4650 > #line 1734 "conf_parser.y" /* yacc.c:1646  */
4651      {
4652    if (conf_parser_ctx.pass == 2)
4653      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4654   }
4655 + #line 4656 "conf_parser.c" /* yacc.c:1646  */
4656      break;
4657  
4658 <  case 275:
4659 < /* Line 1813 of yacc.c  */
4724 < #line 1521 "conf_parser.y"
4658 >  case 313:
4659 > #line 1738 "conf_parser.y" /* yacc.c:1646  */
4660      {
4661    if (conf_parser_ctx.pass == 2)
4662      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4663   }
4664 + #line 4665 "conf_parser.c" /* yacc.c:1646  */
4665      break;
4666  
4667 <  case 276:
4668 < /* Line 1813 of yacc.c  */
4733 < #line 1525 "conf_parser.y"
4667 >  case 314:
4668 > #line 1742 "conf_parser.y" /* yacc.c:1646  */
4669      {
4670    if (conf_parser_ctx.pass == 2)
4671      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4672   }
4673 + #line 4674 "conf_parser.c" /* yacc.c:1646  */
4674      break;
4675  
4676 <  case 277:
4677 < /* Line 1813 of yacc.c  */
4742 < #line 1529 "conf_parser.y"
4676 >  case 315:
4677 > #line 1746 "conf_parser.y" /* yacc.c:1646  */
4678      {
4679    if (conf_parser_ctx.pass == 2)
4680      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4681   }
4682 + #line 4683 "conf_parser.c" /* yacc.c:1646  */
4683      break;
4684  
4685 <  case 278:
4686 < /* Line 1813 of yacc.c  */
4751 < #line 1533 "conf_parser.y"
4685 >  case 316:
4686 > #line 1750 "conf_parser.y" /* yacc.c:1646  */
4687      {
4688    if (conf_parser_ctx.pass == 2)
4689      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4690   }
4691 + #line 4692 "conf_parser.c" /* yacc.c:1646  */
4692 +    break;
4693 +
4694 +  case 317:
4695 + #line 1754 "conf_parser.y" /* yacc.c:1646  */
4696 +    {
4697 +  if (conf_parser_ctx.pass == 2)
4698 +    block_state.flags.value |= CONF_FLAGS_WEBIRC;
4699 + }
4700 + #line 4701 "conf_parser.c" /* yacc.c:1646  */
4701      break;
4702  
4703 <  case 279:
4704 < /* Line 1813 of yacc.c  */
4760 < #line 1537 "conf_parser.y"
4703 >  case 318:
4704 > #line 1758 "conf_parser.y" /* yacc.c:1646  */
4705      {
4706    if (conf_parser_ctx.pass == 2)
4707      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4708   }
4709 + #line 4710 "conf_parser.c" /* yacc.c:1646  */
4710      break;
4711  
4712 <  case 280:
4713 < /* Line 1813 of yacc.c  */
4769 < #line 1543 "conf_parser.y"
4712 >  case 319:
4713 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4714      {
4715    if (conf_parser_ctx.pass != 2)
4716      break;
# Line 4779 | Line 4723 | yyreduce:
4723    else
4724      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4725   }
4726 + #line 4727 "conf_parser.c" /* yacc.c:1646  */
4727      break;
4728  
4729 <  case 281:
4730 < /* Line 1813 of yacc.c  */
4786 < #line 1557 "conf_parser.y"
4729 >  case 320:
4730 > #line 1778 "conf_parser.y" /* yacc.c:1646  */
4731      {
4732    if (conf_parser_ctx.pass != 2)
4733      break;
# Line 4791 | Line 4735 | yyreduce:
4735    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4736    block_state.flags.value |= CONF_FLAGS_REDIR;
4737   }
4738 + #line 4739 "conf_parser.c" /* yacc.c:1646  */
4739      break;
4740  
4741 <  case 282:
4742 < /* Line 1813 of yacc.c  */
4798 < #line 1566 "conf_parser.y"
4741 >  case 321:
4742 > #line 1787 "conf_parser.y" /* yacc.c:1646  */
4743      {
4744    if (conf_parser_ctx.pass != 2)
4745      break;
4746  
4747    block_state.flags.value |= CONF_FLAGS_REDIR;
4748 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4748 >  block_state.port.value = (yyvsp[-1].number);
4749   }
4750 + #line 4751 "conf_parser.c" /* yacc.c:1646  */
4751      break;
4752  
4753 <  case 283:
4754 < /* Line 1813 of yacc.c  */
4810 < #line 1579 "conf_parser.y"
4753 >  case 322:
4754 > #line 1800 "conf_parser.y" /* yacc.c:1646  */
4755      {
4756    if (conf_parser_ctx.pass != 2)
4757      break;
# Line 4815 | Line 4759 | yyreduce:
4759    reset_block_state();
4760    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4761   }
4762 + #line 4763 "conf_parser.c" /* yacc.c:1646  */
4763      break;
4764  
4765 <  case 291:
4766 < /* Line 1813 of yacc.c  */
4822 < #line 1591 "conf_parser.y"
4765 >  case 323:
4766 > #line 1807 "conf_parser.y" /* yacc.c:1646  */
4767      {
4768 <  if (conf_parser_ctx.pass == 2)
4769 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4768 >  if (conf_parser_ctx.pass != 2)
4769 >    break;
4770 >
4771 >  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4772   }
4773 + #line 4774 "conf_parser.c" /* yacc.c:1646  */
4774      break;
4775  
4776 <  case 292:
4777 < /* Line 1813 of yacc.c  */
4831 < #line 1597 "conf_parser.y"
4776 >  case 330:
4777 > #line 1818 "conf_parser.y" /* yacc.c:1646  */
4778      {
4779 <  if (conf_parser_ctx.pass != 2)
4779 >  if (conf_parser_ctx.pass == 2)
4780 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4781 > }
4782 > #line 4783 "conf_parser.c" /* yacc.c:1646  */
4783      break;
4784  
4785 <  if (IsChanPrefix(*yylval.string))
4786 <    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
4785 >  case 331:
4786 > #line 1824 "conf_parser.y" /* yacc.c:1646  */
4787 >    {
4788 >  if (conf_parser_ctx.pass == 2)
4789 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4790   }
4791 + #line 4792 "conf_parser.c" /* yacc.c:1646  */
4792      break;
4793  
4794 <  case 293:
4795 < /* Line 1813 of yacc.c  */
4843 < #line 1606 "conf_parser.y"
4794 >  case 332:
4795 > #line 1830 "conf_parser.y" /* yacc.c:1646  */
4796      {
4797    if (conf_parser_ctx.pass == 2)
4798 <    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
4798 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4799   }
4800 + #line 4801 "conf_parser.c" /* yacc.c:1646  */
4801      break;
4802  
4803 <  case 299:
4804 < /* Line 1813 of yacc.c  */
4852 < #line 1620 "conf_parser.y"
4803 >  case 338:
4804 > #line 1845 "conf_parser.y" /* yacc.c:1646  */
4805      {
4806 <  if (conf_parser_ctx.pass == 2)
4806 >  if (conf_parser_ctx.pass != 2)
4807 >    break;
4808 >
4809 >  if (valid_servname(yylval.string))
4810    {
4811 <    if (valid_servname(yylval.string))
4812 <    {
4858 <      struct MaskItem *conf = conf_make(CONF_SERVICE);
4859 <      conf->name = xstrdup(yylval.string);
4860 <    }
4811 >    struct MaskItem *conf = conf_make(CONF_SERVICE);
4812 >    conf->name = xstrdup(yylval.string);
4813    }
4814   }
4815 + #line 4816 "conf_parser.c" /* yacc.c:1646  */
4816      break;
4817  
4818 <  case 300:
4819 < /* Line 1813 of yacc.c  */
4867 < #line 1635 "conf_parser.y"
4818 >  case 339:
4819 > #line 1860 "conf_parser.y" /* yacc.c:1646  */
4820      {
4821    if (conf_parser_ctx.pass != 2)
4822      break;
# Line 4876 | Line 4828 | yyreduce:
4828    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4829    block_state.flags.value = SHARED_ALL;
4830   }
4831 + #line 4832 "conf_parser.c" /* yacc.c:1646  */
4832      break;
4833  
4834 <  case 301:
4835 < /* Line 1813 of yacc.c  */
4883 < #line 1646 "conf_parser.y"
4834 >  case 340:
4835 > #line 1871 "conf_parser.y" /* yacc.c:1646  */
4836      {
4837    struct MaskItem *conf = NULL;
4838  
# Line 4891 | Line 4843 | yyreduce:
4843    conf->flags = block_state.flags.value;
4844    conf->name = xstrdup(block_state.name.buf);
4845    conf->user = xstrdup(block_state.user.buf);
4846 <  conf->user = xstrdup(block_state.host.buf);
4846 >  conf->host = xstrdup(block_state.host.buf);
4847   }
4848 + #line 4849 "conf_parser.c" /* yacc.c:1646  */
4849      break;
4850  
4851 <  case 308:
4852 < /* Line 1813 of yacc.c  */
4900 < #line 1663 "conf_parser.y"
4851 >  case 347:
4852 > #line 1888 "conf_parser.y" /* yacc.c:1646  */
4853      {
4854    if (conf_parser_ctx.pass == 2)
4855      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4856   }
4857 + #line 4858 "conf_parser.c" /* yacc.c:1646  */
4858      break;
4859  
4860 <  case 309:
4861 < /* Line 1813 of yacc.c  */
4909 < #line 1669 "conf_parser.y"
4860 >  case 348:
4861 > #line 1894 "conf_parser.y" /* yacc.c:1646  */
4862      {
4863    if (conf_parser_ctx.pass == 2)
4864    {
# Line 4924 | Line 4876 | yyreduce:
4876      split_nuh(&nuh);
4877    }
4878   }
4879 + #line 4880 "conf_parser.c" /* yacc.c:1646  */
4880      break;
4881  
4882 <  case 310:
4883 < /* Line 1813 of yacc.c  */
4931 < #line 1688 "conf_parser.y"
4882 >  case 349:
4883 > #line 1913 "conf_parser.y" /* yacc.c:1646  */
4884      {
4885    if (conf_parser_ctx.pass == 2)
4886      block_state.flags.value = 0;
4887   }
4888 + #line 4889 "conf_parser.c" /* yacc.c:1646  */
4889      break;
4890  
4891 <  case 314:
4892 < /* Line 1813 of yacc.c  */
4940 < #line 1695 "conf_parser.y"
4891 >  case 353:
4892 > #line 1920 "conf_parser.y" /* yacc.c:1646  */
4893      {
4894    if (conf_parser_ctx.pass == 2)
4895      block_state.flags.value |= SHARED_KLINE;
4896   }
4897 + #line 4898 "conf_parser.c" /* yacc.c:1646  */
4898      break;
4899  
4900 <  case 315:
4901 < /* Line 1813 of yacc.c  */
4949 < #line 1699 "conf_parser.y"
4900 >  case 354:
4901 > #line 1924 "conf_parser.y" /* yacc.c:1646  */
4902      {
4903    if (conf_parser_ctx.pass == 2)
4904      block_state.flags.value |= SHARED_UNKLINE;
4905   }
4906 + #line 4907 "conf_parser.c" /* yacc.c:1646  */
4907      break;
4908  
4909 <  case 316:
4910 < /* Line 1813 of yacc.c  */
4958 < #line 1703 "conf_parser.y"
4909 >  case 355:
4910 > #line 1928 "conf_parser.y" /* yacc.c:1646  */
4911      {
4912    if (conf_parser_ctx.pass == 2)
4913      block_state.flags.value |= SHARED_DLINE;
4914   }
4915 + #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;
4917  
4918 <  case 317:
4919 < /* Line 1813 of yacc.c  */
4967 < #line 1707 "conf_parser.y"
4918 >  case 356:
4919 > #line 1932 "conf_parser.y" /* yacc.c:1646  */
4920      {
4921    if (conf_parser_ctx.pass == 2)
4922      block_state.flags.value |= SHARED_UNDLINE;
4923   }
4924 + #line 4925 "conf_parser.c" /* yacc.c:1646  */
4925      break;
4926  
4927 <  case 318:
4928 < /* Line 1813 of yacc.c  */
4976 < #line 1711 "conf_parser.y"
4927 >  case 357:
4928 > #line 1936 "conf_parser.y" /* yacc.c:1646  */
4929      {
4930    if (conf_parser_ctx.pass == 2)
4931      block_state.flags.value |= SHARED_XLINE;
4932   }
4933 + #line 4934 "conf_parser.c" /* yacc.c:1646  */
4934      break;
4935  
4936 <  case 319:
4937 < /* Line 1813 of yacc.c  */
4985 < #line 1715 "conf_parser.y"
4936 >  case 358:
4937 > #line 1940 "conf_parser.y" /* yacc.c:1646  */
4938      {
4939    if (conf_parser_ctx.pass == 2)
4940      block_state.flags.value |= SHARED_UNXLINE;
4941   }
4942 + #line 4943 "conf_parser.c" /* yacc.c:1646  */
4943      break;
4944  
4945 <  case 320:
4946 < /* Line 1813 of yacc.c  */
4994 < #line 1719 "conf_parser.y"
4945 >  case 359:
4946 > #line 1944 "conf_parser.y" /* yacc.c:1646  */
4947      {
4948    if (conf_parser_ctx.pass == 2)
4949      block_state.flags.value |= SHARED_RESV;
4950   }
4951 + #line 4952 "conf_parser.c" /* yacc.c:1646  */
4952      break;
4953  
4954 <  case 321:
4955 < /* Line 1813 of yacc.c  */
5003 < #line 1723 "conf_parser.y"
4954 >  case 360:
4955 > #line 1948 "conf_parser.y" /* yacc.c:1646  */
4956      {
4957    if (conf_parser_ctx.pass == 2)
4958      block_state.flags.value |= SHARED_UNRESV;
4959   }
4960 + #line 4961 "conf_parser.c" /* yacc.c:1646  */
4961      break;
4962  
4963 <  case 322:
4964 < /* Line 1813 of yacc.c  */
5012 < #line 1727 "conf_parser.y"
4963 >  case 361:
4964 > #line 1952 "conf_parser.y" /* yacc.c:1646  */
4965      {
4966    if (conf_parser_ctx.pass == 2)
4967      block_state.flags.value |= SHARED_LOCOPS;
4968   }
4969 + #line 4970 "conf_parser.c" /* yacc.c:1646  */
4970      break;
4971  
4972 <  case 323:
4973 < /* Line 1813 of yacc.c  */
5021 < #line 1731 "conf_parser.y"
4972 >  case 362:
4973 > #line 1956 "conf_parser.y" /* yacc.c:1646  */
4974      {
4975    if (conf_parser_ctx.pass == 2)
4976      block_state.flags.value = SHARED_ALL;
4977   }
4978 + #line 4979 "conf_parser.c" /* yacc.c:1646  */
4979      break;
4980  
4981 <  case 324:
4982 < /* Line 1813 of yacc.c  */
5030 < #line 1740 "conf_parser.y"
4981 >  case 363:
4982 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
4983      {
4984    if (conf_parser_ctx.pass != 2)
4985      break;
# Line 5037 | Line 4989 | yyreduce:
4989    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
4990    block_state.flags.value = SHARED_ALL;
4991   }
4992 + #line 4993 "conf_parser.c" /* yacc.c:1646  */
4993      break;
4994  
4995 <  case 325:
4996 < /* Line 1813 of yacc.c  */
5044 < #line 1749 "conf_parser.y"
4995 >  case 364:
4996 > #line 1974 "conf_parser.y" /* yacc.c:1646  */
4997      {
4998    struct MaskItem *conf = NULL;
4999  
# Line 5052 | Line 5004 | yyreduce:
5004    conf->flags = block_state.flags.value;
5005    conf->name = xstrdup(block_state.name.buf);
5006   }
5007 + #line 5008 "conf_parser.c" /* yacc.c:1646  */
5008      break;
5009  
5010 <  case 331:
5011 < /* Line 1813 of yacc.c  */
5059 < #line 1764 "conf_parser.y"
5010 >  case 370:
5011 > #line 1989 "conf_parser.y" /* yacc.c:1646  */
5012      {
5013    if (conf_parser_ctx.pass == 2)
5014      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5015   }
5016 + #line 5017 "conf_parser.c" /* yacc.c:1646  */
5017      break;
5018  
5019 <  case 332:
5020 < /* Line 1813 of yacc.c  */
5068 < #line 1770 "conf_parser.y"
5019 >  case 371:
5020 > #line 1995 "conf_parser.y" /* yacc.c:1646  */
5021      {
5022    if (conf_parser_ctx.pass == 2)
5023      block_state.flags.value = 0;
5024   }
5025 + #line 5026 "conf_parser.c" /* yacc.c:1646  */
5026      break;
5027  
5028 <  case 336:
5029 < /* Line 1813 of yacc.c  */
5077 < #line 1777 "conf_parser.y"
5028 >  case 375:
5029 > #line 2002 "conf_parser.y" /* yacc.c:1646  */
5030      {
5031    if (conf_parser_ctx.pass == 2)
5032      block_state.flags.value |= SHARED_KLINE;
5033   }
5034 + #line 5035 "conf_parser.c" /* yacc.c:1646  */
5035      break;
5036  
5037 <  case 337:
5038 < /* Line 1813 of yacc.c  */
5086 < #line 1781 "conf_parser.y"
5037 >  case 376:
5038 > #line 2006 "conf_parser.y" /* yacc.c:1646  */
5039      {
5040    if (conf_parser_ctx.pass == 2)
5041      block_state.flags.value |= SHARED_UNKLINE;
5042   }
5043 + #line 5044 "conf_parser.c" /* yacc.c:1646  */
5044      break;
5045  
5046 <  case 338:
5047 < /* Line 1813 of yacc.c  */
5095 < #line 1785 "conf_parser.y"
5046 >  case 377:
5047 > #line 2010 "conf_parser.y" /* yacc.c:1646  */
5048      {
5049    if (conf_parser_ctx.pass == 2)
5050      block_state.flags.value |= SHARED_DLINE;
5051   }
5052 + #line 5053 "conf_parser.c" /* yacc.c:1646  */
5053      break;
5054  
5055 <  case 339:
5056 < /* Line 1813 of yacc.c  */
5104 < #line 1789 "conf_parser.y"
5055 >  case 378:
5056 > #line 2014 "conf_parser.y" /* yacc.c:1646  */
5057      {
5058    if (conf_parser_ctx.pass == 2)
5059      block_state.flags.value |= SHARED_UNDLINE;
5060   }
5061 + #line 5062 "conf_parser.c" /* yacc.c:1646  */
5062      break;
5063  
5064 <  case 340:
5065 < /* Line 1813 of yacc.c  */
5113 < #line 1793 "conf_parser.y"
5064 >  case 379:
5065 > #line 2018 "conf_parser.y" /* yacc.c:1646  */
5066      {
5067    if (conf_parser_ctx.pass == 2)
5068      block_state.flags.value |= SHARED_XLINE;
5069   }
5070 + #line 5071 "conf_parser.c" /* yacc.c:1646  */
5071      break;
5072  
5073 <  case 341:
5074 < /* Line 1813 of yacc.c  */
5122 < #line 1797 "conf_parser.y"
5073 >  case 380:
5074 > #line 2022 "conf_parser.y" /* yacc.c:1646  */
5075      {
5076    if (conf_parser_ctx.pass == 2)
5077      block_state.flags.value |= SHARED_UNXLINE;
5078   }
5079 + #line 5080 "conf_parser.c" /* yacc.c:1646  */
5080      break;
5081  
5082 <  case 342:
5083 < /* Line 1813 of yacc.c  */
5131 < #line 1801 "conf_parser.y"
5082 >  case 381:
5083 > #line 2026 "conf_parser.y" /* yacc.c:1646  */
5084      {
5085    if (conf_parser_ctx.pass == 2)
5086      block_state.flags.value |= SHARED_RESV;
5087   }
5088 + #line 5089 "conf_parser.c" /* yacc.c:1646  */
5089      break;
5090  
5091 <  case 343:
5092 < /* Line 1813 of yacc.c  */
5140 < #line 1805 "conf_parser.y"
5091 >  case 382:
5092 > #line 2030 "conf_parser.y" /* yacc.c:1646  */
5093      {
5094    if (conf_parser_ctx.pass == 2)
5095      block_state.flags.value |= SHARED_UNRESV;
5096   }
5097 + #line 5098 "conf_parser.c" /* yacc.c:1646  */
5098      break;
5099  
5100 <  case 344:
5101 < /* Line 1813 of yacc.c  */
5149 < #line 1809 "conf_parser.y"
5100 >  case 383:
5101 > #line 2034 "conf_parser.y" /* yacc.c:1646  */
5102      {
5103    if (conf_parser_ctx.pass == 2)
5104      block_state.flags.value |= SHARED_LOCOPS;
5105   }
5106 + #line 5107 "conf_parser.c" /* yacc.c:1646  */
5107      break;
5108  
5109 <  case 345:
5110 < /* Line 1813 of yacc.c  */
5158 < #line 1813 "conf_parser.y"
5109 >  case 384:
5110 > #line 2038 "conf_parser.y" /* yacc.c:1646  */
5111      {
5112    if (conf_parser_ctx.pass == 2)
5113      block_state.flags.value = SHARED_ALL;
5114   }
5115 + #line 5116 "conf_parser.c" /* yacc.c:1646  */
5116      break;
5117  
5118 <  case 346:
5119 < /* Line 1813 of yacc.c  */
5167 < #line 1822 "conf_parser.y"
5118 >  case 385:
5119 > #line 2047 "conf_parser.y" /* yacc.c:1646  */
5120      {
5121  
5122    if (conf_parser_ctx.pass != 2)
5123      break;
5124  
5125    reset_block_state();
5126 +  block_state.aftype.value = AF_INET;
5127    block_state.port.value = PORTNUM;
5128   }
5129 + #line 5130 "conf_parser.c" /* yacc.c:1646  */
5130      break;
5131  
5132 <  case 347:
5133 < /* Line 1813 of yacc.c  */
5180 < #line 1830 "conf_parser.y"
5132 >  case 386:
5133 > #line 2056 "conf_parser.y" /* yacc.c:1646  */
5134      {
5135    struct MaskItem *conf = NULL;
5136    struct addrinfo hints, *res;
# Line 5189 | Line 5142 | yyreduce:
5142        !block_state.host.buf[0])
5143      break;
5144  
5145 <  if (!(block_state.rpass.buf[0] ||
5146 <        block_state.spass.buf[0]))
5145 >  if (!block_state.rpass.buf[0] ||
5146 >      !block_state.spass.buf[0])
5147      break;
5148  
5149    if (has_wildcards(block_state.name.buf) ||
# Line 5205 | Line 5158 | yyreduce:
5158    conf->name = xstrdup(block_state.name.buf);
5159    conf->passwd = xstrdup(block_state.rpass.buf);
5160    conf->spasswd = xstrdup(block_state.spass.buf);
5161 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5161 >
5162 >  if (block_state.cert.buf[0])
5163 >    conf->certfp = xstrdup(block_state.cert.buf);
5164 >
5165 >  if (block_state.ciph.buf[0])
5166 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5167  
5168    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5169    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5234 | Line 5192 | yyreduce:
5192    conf_add_class_to_conf(conf, block_state.class.buf);
5193    lookup_confhost(conf);
5194   }
5195 + #line 5196 "conf_parser.c" /* yacc.c:1646  */
5196      break;
5197  
5198 <  case 364:
5199 < /* Line 1813 of yacc.c  */
5241 < #line 1896 "conf_parser.y"
5198 >  case 404:
5199 > #line 2128 "conf_parser.y" /* yacc.c:1646  */
5200      {
5201    if (conf_parser_ctx.pass == 2)
5202      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5203   }
5204 + #line 5205 "conf_parser.c" /* yacc.c:1646  */
5205      break;
5206  
5207 <  case 365:
5208 < /* Line 1813 of yacc.c  */
5250 < #line 1902 "conf_parser.y"
5207 >  case 405:
5208 > #line 2134 "conf_parser.y" /* yacc.c:1646  */
5209      {
5210    if (conf_parser_ctx.pass == 2)
5211      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5212   }
5213 + #line 5214 "conf_parser.c" /* yacc.c:1646  */
5214      break;
5215  
5216 <  case 366:
5217 < /* Line 1813 of yacc.c  */
5259 < #line 1908 "conf_parser.y"
5216 >  case 406:
5217 > #line 2140 "conf_parser.y" /* yacc.c:1646  */
5218      {
5219    if (conf_parser_ctx.pass == 2)
5220      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5221   }
5222 + #line 5223 "conf_parser.c" /* yacc.c:1646  */
5223      break;
5224  
5225 <  case 367:
5226 < /* Line 1813 of yacc.c  */
5268 < #line 1914 "conf_parser.y"
5225 >  case 407:
5226 > #line 2146 "conf_parser.y" /* yacc.c:1646  */
5227      {
5228    if (conf_parser_ctx.pass != 2)
5229      break;
5230  
5231 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5232 <    yyerror("Server passwords cannot begin with a colon");
5233 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5234 <    yyerror("Server passwords cannot contain spaces");
5231 >  if ((yyvsp[-1].string)[0] == ':')
5232 >    conf_error_report("Server passwords cannot begin with a colon");
5233 >  else if (strchr((yyvsp[-1].string), ' ') != NULL)
5234 >    conf_error_report("Server passwords cannot contain spaces");
5235    else
5236      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5237   }
5238 + #line 5239 "conf_parser.c" /* yacc.c:1646  */
5239      break;
5240  
5241 <  case 368:
5242 < /* Line 1813 of yacc.c  */
5284 < #line 1927 "conf_parser.y"
5241 >  case 408:
5242 > #line 2159 "conf_parser.y" /* yacc.c:1646  */
5243      {
5244    if (conf_parser_ctx.pass != 2)
5245      break;
5246  
5247 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5248 <    yyerror("Server passwords cannot begin with a colon");
5249 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5250 <    yyerror("Server passwords cannot contain spaces");
5247 >  if ((yyvsp[-1].string)[0] == ':')
5248 >    conf_error_report("Server passwords cannot begin with a colon");
5249 >  else if (strchr((yyvsp[-1].string), ' ') != NULL)
5250 >    conf_error_report("Server passwords cannot contain spaces");
5251    else
5252      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5253   }
5254 + #line 5255 "conf_parser.c" /* yacc.c:1646  */
5255      break;
5256  
5257 <  case 369:
5258 < /* Line 1813 of yacc.c  */
5300 < #line 1940 "conf_parser.y"
5257 >  case 409:
5258 > #line 2172 "conf_parser.y" /* yacc.c:1646  */
5259      {
5260    if (conf_parser_ctx.pass == 2)
5261 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5261 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5262   }
5263 + #line 5264 "conf_parser.c" /* yacc.c:1646  */
5264      break;
5265  
5266 <  case 370:
5267 < /* Line 1813 of yacc.c  */
5268 < #line 1946 "conf_parser.y"
5266 >  case 410:
5267 > #line 2178 "conf_parser.y" /* yacc.c:1646  */
5268 >    {
5269 >  if (conf_parser_ctx.pass == 2)
5270 >    block_state.port.value = (yyvsp[-1].number);
5271 > }
5272 > #line 5273 "conf_parser.c" /* yacc.c:1646  */
5273 >    break;
5274 >
5275 >  case 411:
5276 > #line 2184 "conf_parser.y" /* yacc.c:1646  */
5277      {
5278    if (conf_parser_ctx.pass == 2)
5279      block_state.aftype.value = AF_INET;
5280   }
5281 + #line 5282 "conf_parser.c" /* yacc.c:1646  */
5282      break;
5283  
5284 <  case 371:
5285 < /* Line 1813 of yacc.c  */
5318 < #line 1950 "conf_parser.y"
5284 >  case 412:
5285 > #line 2188 "conf_parser.y" /* yacc.c:1646  */
5286      {
5287   #ifdef IPV6
5288    if (conf_parser_ctx.pass == 2)
5289      block_state.aftype.value = AF_INET6;
5290   #endif
5291   }
5292 + #line 5293 "conf_parser.c" /* yacc.c:1646  */
5293      break;
5294  
5295 <  case 372:
5296 < /* Line 1813 of yacc.c  */
5329 < #line 1958 "conf_parser.y"
5295 >  case 413:
5296 > #line 2196 "conf_parser.y" /* yacc.c:1646  */
5297      {
5298    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5299   }
5300 + #line 5301 "conf_parser.c" /* yacc.c:1646  */
5301      break;
5302  
5303 <  case 376:
5304 < /* Line 1813 of yacc.c  */
5337 < #line 1964 "conf_parser.y"
5303 >  case 417:
5304 > #line 2202 "conf_parser.y" /* yacc.c:1646  */
5305      {
5306    if (conf_parser_ctx.pass == 2)
5307      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5308   }
5309 + #line 5310 "conf_parser.c" /* yacc.c:1646  */
5310      break;
5311  
5312 <  case 377:
5313 < /* Line 1813 of yacc.c  */
5346 < #line 1968 "conf_parser.y"
5312 >  case 418:
5313 > #line 2206 "conf_parser.y" /* yacc.c:1646  */
5314      {
5315    if (conf_parser_ctx.pass == 2)
5316      block_state.flags.value |= CONF_FLAGS_SSL;
5317   }
5318 + #line 5319 "conf_parser.c" /* yacc.c:1646  */
5319      break;
5320  
5321 <  case 378:
5322 < /* Line 1813 of yacc.c  */
5355 < #line 1974 "conf_parser.y"
5321 >  case 419:
5322 > #line 2212 "conf_parser.y" /* yacc.c:1646  */
5323      {
5324    if (conf_parser_ctx.pass == 2)
5325    {
# Line 5362 | Line 5329 | yyreduce:
5329        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5330    }
5331   }
5332 + #line 5333 "conf_parser.c" /* yacc.c:1646  */
5333      break;
5334  
5335 <  case 379:
5336 < /* Line 1813 of yacc.c  */
5369 < #line 1985 "conf_parser.y"
5335 >  case 420:
5336 > #line 2223 "conf_parser.y" /* yacc.c:1646  */
5337      {
5338    if (conf_parser_ctx.pass == 2)
5339      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5340   }
5341 + #line 5342 "conf_parser.c" /* yacc.c:1646  */
5342      break;
5343  
5344 <  case 380:
5345 < /* Line 1813 of yacc.c  */
5378 < #line 1991 "conf_parser.y"
5344 >  case 421:
5345 > #line 2229 "conf_parser.y" /* yacc.c:1646  */
5346      {
5347    if (conf_parser_ctx.pass == 2)
5348      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5349   }
5350 + #line 5351 "conf_parser.c" /* yacc.c:1646  */
5351      break;
5352  
5353 <  case 381:
5354 < /* Line 1813 of yacc.c  */
5387 < #line 1997 "conf_parser.y"
5353 >  case 422:
5354 > #line 2235 "conf_parser.y" /* yacc.c:1646  */
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5358   }
5359 + #line 5360 "conf_parser.c" /* yacc.c:1646  */
5360      break;
5361  
5362 <  case 382:
5363 < /* Line 1813 of yacc.c  */
5396 < #line 2003 "conf_parser.y"
5362 >  case 423:
5363 > #line 2241 "conf_parser.y" /* yacc.c:1646  */
5364      {
5365   #ifdef HAVE_LIBCRYPTO
5366    if (conf_parser_ctx.pass == 2)
5367      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5368   #else
5369    if (conf_parser_ctx.pass == 2)
5370 <    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5370 >    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5371   #endif
5372   }
5373 + #line 5374 "conf_parser.c" /* yacc.c:1646  */
5374      break;
5375  
5376 <  case 383:
5377 < /* Line 1813 of yacc.c  */
5410 < #line 2018 "conf_parser.y"
5376 >  case 424:
5377 > #line 2256 "conf_parser.y" /* yacc.c:1646  */
5378      {
5379    if (conf_parser_ctx.pass == 2)
5380      reset_block_state();
5381   }
5382 + #line 5383 "conf_parser.c" /* yacc.c:1646  */
5383      break;
5384  
5385 <  case 384:
5386 < /* Line 1813 of yacc.c  */
5419 < #line 2022 "conf_parser.y"
5385 >  case 425:
5386 > #line 2260 "conf_parser.y" /* yacc.c:1646  */
5387      {
5388    struct MaskItem *conf = NULL;
5389  
# Line 5427 | Line 5394 | yyreduce:
5394        !block_state.host.buf[0])
5395      break;
5396  
5397 +  conf = conf_make(CONF_KLINE);
5398 +  conf->user = xstrdup(block_state.user.buf);
5399 +  conf->host = xstrdup(block_state.host.buf);
5400  
5401 <  if (block_state.port.value == 1)
5402 <  {
5433 < #ifdef HAVE_LIBPCRE
5434 <    void *exp_user = NULL;
5435 <    void *exp_host = NULL;
5436 <    const char *errptr = NULL;
5437 <
5438 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5439 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5440 <    {
5441 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5442 <           errptr);
5443 <      break;
5444 <    }
5445 <
5446 <    conf = conf_make(CONF_RKLINE);
5447 <    conf->regexuser = exp_user;
5448 <    conf->regexhost = exp_host;
5449 <
5450 <    conf->user = xstrdup(block_state.user.buf);
5451 <    conf->host = xstrdup(block_state.host.buf);
5452 <
5453 <    if (block_state.rpass.buf[0])
5454 <      conf->reason = xstrdup(block_state.rpass.buf);
5455 <    else
5456 <      conf->reason = xstrdup(CONF_NOREASON);
5457 < #else
5458 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5459 <    break;
5460 < #endif
5461 <  }
5401 >  if (block_state.rpass.buf[0])
5402 >    conf->reason = xstrdup(block_state.rpass.buf);
5403    else
5404 <  {
5405 <    conf = conf_make(CONF_KLINE);
5465 <
5466 <    conf->user = xstrdup(block_state.user.buf);
5467 <    conf->host = xstrdup(block_state.host.buf);
5468 <
5469 <    if (block_state.rpass.buf[0])
5470 <      conf->reason = xstrdup(block_state.rpass.buf);
5471 <    else
5472 <      conf->reason = xstrdup(CONF_NOREASON);
5473 <    add_conf_by_address(CONF_KLINE, conf);
5474 <  }
5475 < }
5476 <    break;
5477 <
5478 <  case 385:
5479 < /* Line 1813 of yacc.c  */
5480 < #line 2080 "conf_parser.y"
5481 <    {
5482 <  if (conf_parser_ctx.pass == 2)
5483 <    block_state.port.value = 0;
5484 < }
5485 <    break;
5486 <
5487 <  case 389:
5488 < /* Line 1813 of yacc.c  */
5489 < #line 2087 "conf_parser.y"
5490 <    {
5491 <  if (conf_parser_ctx.pass == 2)
5492 <    block_state.port.value = 1;
5404 >    conf->reason = xstrdup(CONF_NOREASON);
5405 >  add_conf_by_address(CONF_KLINE, conf);
5406   }
5407 + #line 5408 "conf_parser.c" /* yacc.c:1646  */
5408      break;
5409  
5410 <  case 396:
5411 < /* Line 1813 of yacc.c  */
5498 < #line 2096 "conf_parser.y"
5410 >  case 431:
5411 > #line 2285 "conf_parser.y" /* yacc.c:1646  */
5412      {
5413  
5414    if (conf_parser_ctx.pass == 2)
# Line 5514 | Line 5427 | yyreduce:
5427      split_nuh(&nuh);
5428    }
5429   }
5430 + #line 5431 "conf_parser.c" /* yacc.c:1646  */
5431      break;
5432  
5433 <  case 397:
5434 < /* Line 1813 of yacc.c  */
5521 < #line 2116 "conf_parser.y"
5433 >  case 432:
5434 > #line 2305 "conf_parser.y" /* yacc.c:1646  */
5435      {
5436    if (conf_parser_ctx.pass == 2)
5437      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5438   }
5439 + #line 5440 "conf_parser.c" /* yacc.c:1646  */
5440      break;
5441  
5442 <  case 398:
5443 < /* Line 1813 of yacc.c  */
5530 < #line 2125 "conf_parser.y"
5442 >  case 433:
5443 > #line 2314 "conf_parser.y" /* yacc.c:1646  */
5444      {
5445    if (conf_parser_ctx.pass == 2)
5446      reset_block_state();
5447   }
5448 + #line 5449 "conf_parser.c" /* yacc.c:1646  */
5449      break;
5450  
5451 <  case 399:
5452 < /* Line 1813 of yacc.c  */
5539 < #line 2129 "conf_parser.y"
5451 >  case 434:
5452 > #line 2318 "conf_parser.y" /* yacc.c:1646  */
5453      {
5454    struct MaskItem *conf = NULL;
5455  
# Line 5558 | Line 5471 | yyreduce:
5471      add_conf_by_address(CONF_DLINE, conf);
5472    }
5473   }
5474 + #line 5475 "conf_parser.c" /* yacc.c:1646  */
5475      break;
5476  
5477 <  case 405:
5478 < /* Line 1813 of yacc.c  */
5565 < #line 2155 "conf_parser.y"
5477 >  case 440:
5478 > #line 2344 "conf_parser.y" /* yacc.c:1646  */
5479      {
5480    if (conf_parser_ctx.pass == 2)
5481      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5482   }
5483 + #line 5484 "conf_parser.c" /* yacc.c:1646  */
5484      break;
5485  
5486 <  case 406:
5487 < /* Line 1813 of yacc.c  */
5574 < #line 2161 "conf_parser.y"
5486 >  case 441:
5487 > #line 2350 "conf_parser.y" /* yacc.c:1646  */
5488      {
5489    if (conf_parser_ctx.pass == 2)
5490      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5491   }
5492 + #line 5493 "conf_parser.c" /* yacc.c:1646  */
5493      break;
5494  
5495 <  case 412:
5496 < /* Line 1813 of yacc.c  */
5583 < #line 2175 "conf_parser.y"
5495 >  case 447:
5496 > #line 2364 "conf_parser.y" /* yacc.c:1646  */
5497      {
5498    if (conf_parser_ctx.pass == 2)
5499    {
# Line 5593 | Line 5506 | yyreduce:
5506      }
5507    }
5508   }
5509 + #line 5510 "conf_parser.c" /* yacc.c:1646  */
5510      break;
5511  
5512 <  case 413:
5513 < /* Line 1813 of yacc.c  */
5600 < #line 2192 "conf_parser.y"
5512 >  case 448:
5513 > #line 2381 "conf_parser.y" /* yacc.c:1646  */
5514      {
5515    if (conf_parser_ctx.pass == 2)
5516      reset_block_state();
5517   }
5518 + #line 5519 "conf_parser.c" /* yacc.c:1646  */
5519      break;
5520  
5521 <  case 414:
5522 < /* Line 1813 of yacc.c  */
5609 < #line 2196 "conf_parser.y"
5521 >  case 449:
5522 > #line 2385 "conf_parser.y" /* yacc.c:1646  */
5523      {
5524    struct MaskItem *conf = NULL;
5525  
# Line 5616 | Line 5529 | yyreduce:
5529    if (!block_state.name.buf[0])
5530      break;
5531  
5532 <  if (block_state.port.value == 1)
5620 <  {
5621 < #ifdef HAVE_LIBPCRE
5622 <    void *exp_p = NULL;
5623 <    const char *errptr = NULL;
5624 <
5625 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5626 <    {
5627 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5628 <           errptr);
5629 <      break;
5630 <    }
5631 <
5632 <    conf = conf_make(CONF_RXLINE);
5633 <    conf->regexuser = exp_p;
5634 < #else
5635 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5636 <    break;
5637 < #endif
5638 <  }
5639 <  else
5640 <    conf = conf_make(CONF_XLINE);
5641 <
5532 >  conf = conf_make(CONF_XLINE);
5533    conf->name = xstrdup(block_state.name.buf);
5534  
5535    if (block_state.rpass.buf[0])
# Line 5646 | Line 5537 | yyreduce:
5537    else
5538      conf->reason = xstrdup(CONF_NOREASON);
5539   }
5540 + #line 5541 "conf_parser.c" /* yacc.c:1646  */
5541      break;
5542  
5543 <  case 415:
5544 < /* Line 1813 of yacc.c  */
5653 < #line 2237 "conf_parser.y"
5543 >  case 455:
5544 > #line 2407 "conf_parser.y" /* yacc.c:1646  */
5545      {
5546    if (conf_parser_ctx.pass == 2)
5547 <    block_state.port.value = 0;
5547 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5548   }
5549 + #line 5550 "conf_parser.c" /* yacc.c:1646  */
5550      break;
5551  
5552 <  case 419:
5553 < /* Line 1813 of yacc.c  */
5662 < #line 2244 "conf_parser.y"
5552 >  case 456:
5553 > #line 2413 "conf_parser.y" /* yacc.c:1646  */
5554      {
5555    if (conf_parser_ctx.pass == 2)
5556 <    block_state.port.value = 1;
5556 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5557   }
5558 + #line 5559 "conf_parser.c" /* yacc.c:1646  */
5559      break;
5560  
5561 <  case 426:
5562 < /* Line 1813 of yacc.c  */
5671 < #line 2253 "conf_parser.y"
5561 >  case 510:
5562 > #line 2458 "conf_parser.y" /* yacc.c:1646  */
5563      {
5564 <  if (conf_parser_ctx.pass == 2)
5674 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5564 >  ConfigFileEntry.max_watch = (yyvsp[-1].number);
5565   }
5566 + #line 5567 "conf_parser.c" /* yacc.c:1646  */
5567      break;
5568  
5569 <  case 427:
5570 < /* Line 1813 of yacc.c  */
5680 < #line 2259 "conf_parser.y"
5569 >  case 511:
5570 > #line 2463 "conf_parser.y" /* yacc.c:1646  */
5571      {
5572    if (conf_parser_ctx.pass == 2)
5573 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5573 >    ConfigFileEntry.cycle_on_host_change = yylval.number;
5574   }
5575 + #line 5576 "conf_parser.c" /* yacc.c:1646  */
5576      break;
5577  
5578 <  case 481:
5579 < /* Line 1813 of yacc.c  */
5689 < #line 2304 "conf_parser.y"
5690 <    {
5691 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5692 < }
5693 <    break;
5694 <
5695 <  case 482:
5696 < /* Line 1813 of yacc.c  */
5697 < #line 2309 "conf_parser.y"
5578 >  case 512:
5579 > #line 2469 "conf_parser.y" /* yacc.c:1646  */
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582      ConfigFileEntry.glines = yylval.number;
5583   }
5584 + #line 5585 "conf_parser.c" /* yacc.c:1646  */
5585      break;
5586  
5587 <  case 483:
5588 < /* Line 1813 of yacc.c  */
5706 < #line 2315 "conf_parser.y"
5587 >  case 513:
5588 > #line 2475 "conf_parser.y" /* yacc.c:1646  */
5589      {
5590    if (conf_parser_ctx.pass == 2)
5591 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5591 >    ConfigFileEntry.gline_time = (yyvsp[-1].number);
5592   }
5593 + #line 5594 "conf_parser.c" /* yacc.c:1646  */
5594      break;
5595  
5596 <  case 484:
5597 < /* Line 1813 of yacc.c  */
5715 < #line 2321 "conf_parser.y"
5596 >  case 514:
5597 > #line 2481 "conf_parser.y" /* yacc.c:1646  */
5598      {
5599    if (conf_parser_ctx.pass == 2)
5600 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5600 >    ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5601   }
5602 + #line 5603 "conf_parser.c" /* yacc.c:1646  */
5603      break;
5604  
5605 <  case 485:
5606 < /* Line 1813 of yacc.c  */
5724 < #line 2327 "conf_parser.y"
5605 >  case 515:
5606 > #line 2487 "conf_parser.y" /* yacc.c:1646  */
5607      {
5608 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5608 >  ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5609   }
5610 + #line 5611 "conf_parser.c" /* yacc.c:1646  */
5611      break;
5612  
5613 <  case 486:
5614 < /* Line 1813 of yacc.c  */
5732 < #line 2332 "conf_parser.y"
5613 >  case 516:
5614 > #line 2492 "conf_parser.y" /* yacc.c:1646  */
5615      {
5616 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5616 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5617   }
5618 + #line 5619 "conf_parser.c" /* yacc.c:1646  */
5619      break;
5620  
5621 <  case 487:
5622 < /* Line 1813 of yacc.c  */
5740 < #line 2337 "conf_parser.y"
5621 >  case 517:
5622 > #line 2497 "conf_parser.y" /* yacc.c:1646  */
5623      {
5624    ConfigFileEntry.tkline_expire_notices = yylval.number;
5625   }
5626 + #line 5627 "conf_parser.c" /* yacc.c:1646  */
5627      break;
5628  
5629 <  case 488:
5630 < /* Line 1813 of yacc.c  */
5748 < #line 2342 "conf_parser.y"
5629 >  case 518:
5630 > #line 2502 "conf_parser.y" /* yacc.c:1646  */
5631      {
5632 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5632 >  ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5633   }
5634 + #line 5635 "conf_parser.c" /* yacc.c:1646  */
5635      break;
5636  
5637 <  case 489:
5638 < /* Line 1813 of yacc.c  */
5756 < #line 2347 "conf_parser.y"
5637 >  case 519:
5638 > #line 2507 "conf_parser.y" /* yacc.c:1646  */
5639      {
5640    ConfigFileEntry.hide_spoof_ips = yylval.number;
5641   }
5642 + #line 5643 "conf_parser.c" /* yacc.c:1646  */
5643      break;
5644  
5645 <  case 490:
5646 < /* Line 1813 of yacc.c  */
5764 < #line 2352 "conf_parser.y"
5645 >  case 520:
5646 > #line 2512 "conf_parser.y" /* yacc.c:1646  */
5647      {
5648    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5649   }
5650 + #line 5651 "conf_parser.c" /* yacc.c:1646  */
5651      break;
5652  
5653 <  case 491:
5654 < /* Line 1813 of yacc.c  */
5772 < #line 2357 "conf_parser.y"
5773 <    {
5774 <  ConfigFileEntry.disable_remote = yylval.number;
5775 < }
5776 <    break;
5777 <
5778 <  case 492:
5779 < /* Line 1813 of yacc.c  */
5780 < #line 2362 "conf_parser.y"
5653 >  case 521:
5654 > #line 2517 "conf_parser.y" /* yacc.c:1646  */
5655      {
5656    ConfigFileEntry.failed_oper_notice = yylval.number;
5657   }
5658 + #line 5659 "conf_parser.c" /* yacc.c:1646  */
5659      break;
5660  
5661 <  case 493:
5662 < /* Line 1813 of yacc.c  */
5788 < #line 2367 "conf_parser.y"
5661 >  case 522:
5662 > #line 2522 "conf_parser.y" /* yacc.c:1646  */
5663      {
5664    ConfigFileEntry.anti_nick_flood = yylval.number;
5665   }
5666 + #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667      break;
5668  
5669 <  case 494:
5670 < /* Line 1813 of yacc.c  */
5796 < #line 2372 "conf_parser.y"
5669 >  case 523:
5670 > #line 2527 "conf_parser.y" /* yacc.c:1646  */
5671      {
5672 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5672 >  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5673   }
5674 + #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677 <  case 495:
5678 < /* Line 1813 of yacc.c  */
5804 < #line 2377 "conf_parser.y"
5677 >  case 524:
5678 > #line 2532 "conf_parser.y" /* yacc.c:1646  */
5679      {
5680 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5680 >  ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5681   }
5682 + #line 5683 "conf_parser.c" /* yacc.c:1646  */
5683      break;
5684  
5685 <  case 496:
5686 < /* Line 1813 of yacc.c  */
5812 < #line 2382 "conf_parser.y"
5685 >  case 525:
5686 > #line 2537 "conf_parser.y" /* yacc.c:1646  */
5687      {
5688 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5688 >  ConfigFileEntry.max_accept = (yyvsp[-1].number);
5689   }
5690 + #line 5691 "conf_parser.c" /* yacc.c:1646  */
5691      break;
5692  
5693 <  case 497:
5694 < /* Line 1813 of yacc.c  */
5820 < #line 2387 "conf_parser.y"
5693 >  case 526:
5694 > #line 2542 "conf_parser.y" /* yacc.c:1646  */
5695      {
5696 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5696 >  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5697   }
5698 + #line 5699 "conf_parser.c" /* yacc.c:1646  */
5699      break;
5700  
5701 <  case 498:
5702 < /* Line 1813 of yacc.c  */
5828 < #line 2392 "conf_parser.y"
5701 >  case 527:
5702 > #line 2547 "conf_parser.y" /* yacc.c:1646  */
5703      {
5704 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5704 >  ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5705   }
5706 + #line 5707 "conf_parser.c" /* yacc.c:1646  */
5707      break;
5708  
5709 <  case 499:
5710 < /* Line 1813 of yacc.c  */
5836 < #line 2397 "conf_parser.y"
5709 >  case 528:
5710 > #line 2552 "conf_parser.y" /* yacc.c:1646  */
5711      {
5712    if (conf_parser_ctx.pass == 2)
5713 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5713 >    ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5714   }
5715 + #line 5716 "conf_parser.c" /* yacc.c:1646  */
5716      break;
5717  
5718 <  case 500:
5719 < /* Line 1813 of yacc.c  */
5845 < #line 2403 "conf_parser.y"
5718 >  case 529:
5719 > #line 2558 "conf_parser.y" /* yacc.c:1646  */
5720      {
5721 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5721 >  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5722    {
5723      ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5724      ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
# Line 5852 | Line 5726 | yyreduce:
5726      exit(0);
5727    }
5728   }
5729 + #line 5730 "conf_parser.c" /* yacc.c:1646  */
5730      break;
5731  
5732 <  case 501:
5733 < /* Line 1813 of yacc.c  */
5859 < #line 2414 "conf_parser.y"
5732 >  case 530:
5733 > #line 2569 "conf_parser.y" /* yacc.c:1646  */
5734      {
5735    ConfigFileEntry.invisible_on_connect = yylval.number;
5736   }
5737 + #line 5738 "conf_parser.c" /* yacc.c:1646  */
5738      break;
5739  
5740 <  case 502:
5741 < /* Line 1813 of yacc.c  */
5867 < #line 2419 "conf_parser.y"
5740 >  case 531:
5741 > #line 2574 "conf_parser.y" /* yacc.c:1646  */
5742      {
5743    ConfigFileEntry.warn_no_nline = yylval.number;
5744   }
5745 + #line 5746 "conf_parser.c" /* yacc.c:1646  */
5746      break;
5747  
5748 <  case 503:
5749 < /* Line 1813 of yacc.c  */
5875 < #line 2424 "conf_parser.y"
5748 >  case 532:
5749 > #line 2579 "conf_parser.y" /* yacc.c:1646  */
5750      {
5751    ConfigFileEntry.stats_e_disabled = yylval.number;
5752   }
5753 + #line 5754 "conf_parser.c" /* yacc.c:1646  */
5754      break;
5755  
5756 <  case 504:
5757 < /* Line 1813 of yacc.c  */
5883 < #line 2429 "conf_parser.y"
5756 >  case 533:
5757 > #line 2584 "conf_parser.y" /* yacc.c:1646  */
5758      {
5759    ConfigFileEntry.stats_o_oper_only = yylval.number;
5760   }
5761 + #line 5762 "conf_parser.c" /* yacc.c:1646  */
5762      break;
5763  
5764 <  case 505:
5765 < /* Line 1813 of yacc.c  */
5891 < #line 2434 "conf_parser.y"
5764 >  case 534:
5765 > #line 2589 "conf_parser.y" /* yacc.c:1646  */
5766      {
5767    ConfigFileEntry.stats_P_oper_only = yylval.number;
5768   }
5769 + #line 5770 "conf_parser.c" /* yacc.c:1646  */
5770 +    break;
5771 +
5772 +  case 535:
5773 + #line 2594 "conf_parser.y" /* yacc.c:1646  */
5774 +    {
5775 +  ConfigFileEntry.stats_u_oper_only = yylval.number;
5776 + }
5777 + #line 5778 "conf_parser.c" /* yacc.c:1646  */
5778      break;
5779  
5780 <  case 506:
5781 < /* Line 1813 of yacc.c  */
5899 < #line 2439 "conf_parser.y"
5780 >  case 536:
5781 > #line 2599 "conf_parser.y" /* yacc.c:1646  */
5782      {
5783    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5784   }
5785 + #line 5786 "conf_parser.c" /* yacc.c:1646  */
5786      break;
5787  
5788 <  case 507:
5789 < /* Line 1813 of yacc.c  */
5907 < #line 2442 "conf_parser.y"
5788 >  case 537:
5789 > #line 2602 "conf_parser.y" /* yacc.c:1646  */
5790      {
5791    ConfigFileEntry.stats_k_oper_only = 1;
5792   }
5793 + #line 5794 "conf_parser.c" /* yacc.c:1646  */
5794      break;
5795  
5796 <  case 508:
5797 < /* Line 1813 of yacc.c  */
5915 < #line 2447 "conf_parser.y"
5796 >  case 538:
5797 > #line 2607 "conf_parser.y" /* yacc.c:1646  */
5798      {
5799    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5800   }
5801 + #line 5802 "conf_parser.c" /* yacc.c:1646  */
5802      break;
5803  
5804 <  case 509:
5805 < /* Line 1813 of yacc.c  */
5923 < #line 2450 "conf_parser.y"
5804 >  case 539:
5805 > #line 2610 "conf_parser.y" /* yacc.c:1646  */
5806      {
5807    ConfigFileEntry.stats_i_oper_only = 1;
5808   }
5809 + #line 5810 "conf_parser.c" /* yacc.c:1646  */
5810      break;
5811  
5812 <  case 510:
5813 < /* Line 1813 of yacc.c  */
5931 < #line 2455 "conf_parser.y"
5812 >  case 540:
5813 > #line 2615 "conf_parser.y" /* yacc.c:1646  */
5814      {
5815 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5815 >  ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5816   }
5817 + #line 5818 "conf_parser.c" /* yacc.c:1646  */
5818      break;
5819  
5820 <  case 511:
5821 < /* Line 1813 of yacc.c  */
5939 < #line 2460 "conf_parser.y"
5820 >  case 541:
5821 > #line 2620 "conf_parser.y" /* yacc.c:1646  */
5822      {
5823 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5823 >  ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5824   }
5825 + #line 5826 "conf_parser.c" /* yacc.c:1646  */
5826      break;
5827  
5828 <  case 512:
5829 < /* Line 1813 of yacc.c  */
5947 < #line 2465 "conf_parser.y"
5828 >  case 542:
5829 > #line 2625 "conf_parser.y" /* yacc.c:1646  */
5830      {
5831    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5832   }
5833 + #line 5834 "conf_parser.c" /* yacc.c:1646  */
5834      break;
5835  
5836 <  case 513:
5837 < /* Line 1813 of yacc.c  */
5955 < #line 2470 "conf_parser.y"
5836 >  case 543:
5837 > #line 2630 "conf_parser.y" /* yacc.c:1646  */
5838      {
5839 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5839 >  ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5840   }
5841 + #line 5842 "conf_parser.c" /* yacc.c:1646  */
5842      break;
5843  
5844 <  case 514:
5845 < /* Line 1813 of yacc.c  */
5963 < #line 2475 "conf_parser.y"
5844 >  case 544:
5845 > #line 2635 "conf_parser.y" /* yacc.c:1646  */
5846      {
5847    ConfigFileEntry.short_motd = yylval.number;
5848   }
5849 + #line 5850 "conf_parser.c" /* yacc.c:1646  */
5850      break;
5851  
5852 <  case 515:
5853 < /* Line 1813 of yacc.c  */
5971 < #line 2480 "conf_parser.y"
5852 >  case 545:
5853 > #line 2640 "conf_parser.y" /* yacc.c:1646  */
5854      {
5855    ConfigFileEntry.no_oper_flood = yylval.number;
5856   }
5857 + #line 5858 "conf_parser.c" /* yacc.c:1646  */
5858      break;
5859  
5860 <  case 516:
5861 < /* Line 1813 of yacc.c  */
5979 < #line 2485 "conf_parser.y"
5860 >  case 546:
5861 > #line 2645 "conf_parser.y" /* yacc.c:1646  */
5862      {
5863    ConfigFileEntry.true_no_oper_flood = yylval.number;
5864   }
5865 + #line 5866 "conf_parser.c" /* yacc.c:1646  */
5866      break;
5867  
5868 <  case 517:
5869 < /* Line 1813 of yacc.c  */
5987 < #line 2490 "conf_parser.y"
5868 >  case 547:
5869 > #line 2650 "conf_parser.y" /* yacc.c:1646  */
5870      {
5871    ConfigFileEntry.oper_pass_resv = yylval.number;
5872   }
5873 + #line 5874 "conf_parser.c" /* yacc.c:1646  */
5874      break;
5875  
5876 <  case 518:
5877 < /* Line 1813 of yacc.c  */
5995 < #line 2495 "conf_parser.y"
5996 <    {
5997 <  if (conf_parser_ctx.pass == 2)
5998 <  {
5999 <    if (strlen(yylval.string) > LOCALE_LENGTH-2)
6000 <      yylval.string[LOCALE_LENGTH-1] = '\0';
6001 <
6002 <    set_locale(yylval.string);
6003 <  }
6004 < }
6005 <    break;
6006 <
6007 <  case 519:
6008 < /* Line 1813 of yacc.c  */
6009 < #line 2506 "conf_parser.y"
5876 >  case 548:
5877 > #line 2655 "conf_parser.y" /* yacc.c:1646  */
5878      {
5879 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5879 >  ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5880   }
5881 + #line 5882 "conf_parser.c" /* yacc.c:1646  */
5882      break;
5883  
5884 <  case 520:
5885 < /* Line 1813 of yacc.c  */
6017 < #line 2511 "conf_parser.y"
5884 >  case 549:
5885 > #line 2660 "conf_parser.y" /* yacc.c:1646  */
5886      {
5887 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5887 >  ConfigFileEntry.max_targets = (yyvsp[-1].number);
5888   }
5889 + #line 5890 "conf_parser.c" /* yacc.c:1646  */
5890      break;
5891  
5892 <  case 521:
5893 < /* Line 1813 of yacc.c  */
6025 < #line 2516 "conf_parser.y"
5892 >  case 550:
5893 > #line 2665 "conf_parser.y" /* yacc.c:1646  */
5894      {
5895    ConfigFileEntry.use_egd = yylval.number;
5896   }
5897 + #line 5898 "conf_parser.c" /* yacc.c:1646  */
5898      break;
5899  
5900 <  case 522:
5901 < /* Line 1813 of yacc.c  */
6033 < #line 2521 "conf_parser.y"
5900 >  case 551:
5901 > #line 2670 "conf_parser.y" /* yacc.c:1646  */
5902      {
5903    if (conf_parser_ctx.pass == 2)
5904    {
# Line 6038 | Line 5906 | yyreduce:
5906      ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
5907    }
5908   }
5909 + #line 5910 "conf_parser.c" /* yacc.c:1646  */
5910      break;
5911  
5912 <  case 523:
5913 < /* Line 1813 of yacc.c  */
6045 < #line 2530 "conf_parser.y"
5912 >  case 552:
5913 > #line 2679 "conf_parser.y" /* yacc.c:1646  */
5914      {
5915    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
5916    {
# Line 6050 | Line 5918 | yyreduce:
5918      ConfigFileEntry.service_name = xstrdup(yylval.string);
5919    }
5920   }
5921 + #line 5922 "conf_parser.c" /* yacc.c:1646  */
5922      break;
5923  
5924 <  case 524:
5925 < /* Line 1813 of yacc.c  */
6057 < #line 2539 "conf_parser.y"
5924 >  case 553:
5925 > #line 2688 "conf_parser.y" /* yacc.c:1646  */
5926      {
5927    ConfigFileEntry.ping_cookie = yylval.number;
5928   }
5929 + #line 5930 "conf_parser.c" /* yacc.c:1646  */
5930      break;
5931  
5932 <  case 525:
5933 < /* Line 1813 of yacc.c  */
6065 < #line 2544 "conf_parser.y"
5932 >  case 554:
5933 > #line 2693 "conf_parser.y" /* yacc.c:1646  */
5934      {
5935    ConfigFileEntry.disable_auth = yylval.number;
5936   }
5937 + #line 5938 "conf_parser.c" /* yacc.c:1646  */
5938      break;
5939  
5940 <  case 526:
5941 < /* Line 1813 of yacc.c  */
6073 < #line 2549 "conf_parser.y"
5940 >  case 555:
5941 > #line 2698 "conf_parser.y" /* yacc.c:1646  */
5942      {
5943    ConfigFileEntry.throttle_time = yylval.number;
5944   }
5945 + #line 5946 "conf_parser.c" /* yacc.c:1646  */
5946      break;
5947  
5948 <  case 527:
5949 < /* Line 1813 of yacc.c  */
6081 < #line 2554 "conf_parser.y"
5948 >  case 556:
5949 > #line 2703 "conf_parser.y" /* yacc.c:1646  */
5950      {
5951    ConfigFileEntry.oper_umodes = 0;
5952   }
5953 + #line 5954 "conf_parser.c" /* yacc.c:1646  */
5954      break;
5955  
5956 <  case 531:
5957 < /* Line 1813 of yacc.c  */
6089 < #line 2560 "conf_parser.y"
5956 >  case 560:
5957 > #line 2709 "conf_parser.y" /* yacc.c:1646  */
5958      {
5959    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5960   }
5961 + #line 5962 "conf_parser.c" /* yacc.c:1646  */
5962      break;
5963  
5964 <  case 532:
5965 < /* Line 1813 of yacc.c  */
6097 < #line 2563 "conf_parser.y"
5964 >  case 561:
5965 > #line 2712 "conf_parser.y" /* yacc.c:1646  */
5966      {
5967    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5968   }
5969 + #line 5970 "conf_parser.c" /* yacc.c:1646  */
5970      break;
5971  
5972 <  case 533:
5973 < /* Line 1813 of yacc.c  */
6105 < #line 2566 "conf_parser.y"
6106 <    {
6107 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6108 < }
6109 <    break;
6110 <
6111 <  case 534:
6112 < /* Line 1813 of yacc.c  */
6113 < #line 2569 "conf_parser.y"
5972 >  case 562:
5973 > #line 2715 "conf_parser.y" /* yacc.c:1646  */
5974      {
5975    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
5976   }
5977 + #line 5978 "conf_parser.c" /* yacc.c:1646  */
5978      break;
5979  
5980 <  case 535:
5981 < /* Line 1813 of yacc.c  */
6121 < #line 2572 "conf_parser.y"
5980 >  case 563:
5981 > #line 2718 "conf_parser.y" /* yacc.c:1646  */
5982      {
5983    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
5984   }
5985 + #line 5986 "conf_parser.c" /* yacc.c:1646  */
5986      break;
5987  
5988 <  case 536:
5989 < /* Line 1813 of yacc.c  */
6129 < #line 2575 "conf_parser.y"
5988 >  case 564:
5989 > #line 2721 "conf_parser.y" /* yacc.c:1646  */
5990      {
5991    ConfigFileEntry.oper_umodes |= UMODE_FULL;
5992   }
5993 + #line 5994 "conf_parser.c" /* yacc.c:1646  */
5994      break;
5995  
5996 <  case 537:
5997 < /* Line 1813 of yacc.c  */
6137 < #line 2578 "conf_parser.y"
5996 >  case 565:
5997 > #line 2724 "conf_parser.y" /* yacc.c:1646  */
5998      {
5999    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6000   }
6001 + #line 6002 "conf_parser.c" /* yacc.c:1646  */
6002      break;
6003  
6004 <  case 538:
6005 < /* Line 1813 of yacc.c  */
6145 < #line 2581 "conf_parser.y"
6004 >  case 566:
6005 > #line 2727 "conf_parser.y" /* yacc.c:1646  */
6006      {
6007    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6008   }
6009 + #line 6010 "conf_parser.c" /* yacc.c:1646  */
6010      break;
6011  
6012 <  case 539:
6013 < /* Line 1813 of yacc.c  */
6153 < #line 2584 "conf_parser.y"
6012 >  case 567:
6013 > #line 2730 "conf_parser.y" /* yacc.c:1646  */
6014      {
6015    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6016   }
6017 + #line 6018 "conf_parser.c" /* yacc.c:1646  */
6018      break;
6019  
6020 <  case 540:
6021 < /* Line 1813 of yacc.c  */
6161 < #line 2587 "conf_parser.y"
6020 >  case 568:
6021 > #line 2733 "conf_parser.y" /* yacc.c:1646  */
6022      {
6023    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6024   }
6025 + #line 6026 "conf_parser.c" /* yacc.c:1646  */
6026      break;
6027  
6028 <  case 541:
6029 < /* Line 1813 of yacc.c  */
6169 < #line 2590 "conf_parser.y"
6028 >  case 569:
6029 > #line 2736 "conf_parser.y" /* yacc.c:1646  */
6030      {
6031    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6032   }
6033 + #line 6034 "conf_parser.c" /* yacc.c:1646  */
6034      break;
6035  
6036 <  case 542:
6037 < /* Line 1813 of yacc.c  */
6177 < #line 2593 "conf_parser.y"
6036 >  case 570:
6037 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
6038      {
6039    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6040   }
6041 + #line 6042 "conf_parser.c" /* yacc.c:1646  */
6042      break;
6043  
6044 <  case 543:
6045 < /* Line 1813 of yacc.c  */
6185 < #line 2596 "conf_parser.y"
6044 >  case 571:
6045 > #line 2742 "conf_parser.y" /* yacc.c:1646  */
6046      {
6047    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6048   }
6049 + #line 6050 "conf_parser.c" /* yacc.c:1646  */
6050      break;
6051  
6052 <  case 544:
6053 < /* Line 1813 of yacc.c  */
6193 < #line 2599 "conf_parser.y"
6052 >  case 572:
6053 > #line 2745 "conf_parser.y" /* yacc.c:1646  */
6054      {
6055    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6056   }
6057 + #line 6058 "conf_parser.c" /* yacc.c:1646  */
6058      break;
6059  
6060 <  case 545:
6061 < /* Line 1813 of yacc.c  */
6201 < #line 2602 "conf_parser.y"
6060 >  case 573:
6061 > #line 2748 "conf_parser.y" /* yacc.c:1646  */
6062      {
6063    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6064   }
6065 + #line 6066 "conf_parser.c" /* yacc.c:1646  */
6066      break;
6067  
6068 <  case 546:
6069 < /* Line 1813 of yacc.c  */
6209 < #line 2605 "conf_parser.y"
6068 >  case 574:
6069 > #line 2751 "conf_parser.y" /* yacc.c:1646  */
6070      {
6071    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6072   }
6073 + #line 6074 "conf_parser.c" /* yacc.c:1646  */
6074      break;
6075  
6076 <  case 547:
6077 < /* Line 1813 of yacc.c  */
6217 < #line 2608 "conf_parser.y"
6076 >  case 575:
6077 > #line 2754 "conf_parser.y" /* yacc.c:1646  */
6078      {
6079    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6080   }
6081 + #line 6082 "conf_parser.c" /* yacc.c:1646  */
6082      break;
6083  
6084 <  case 548:
6085 < /* Line 1813 of yacc.c  */
6225 < #line 2611 "conf_parser.y"
6084 >  case 576:
6085 > #line 2757 "conf_parser.y" /* yacc.c:1646  */
6086      {
6087    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6088   }
6089 + #line 6090 "conf_parser.c" /* yacc.c:1646  */
6090      break;
6091  
6092 <  case 549:
6093 < /* Line 1813 of yacc.c  */
6233 < #line 2614 "conf_parser.y"
6092 >  case 577:
6093 > #line 2760 "conf_parser.y" /* yacc.c:1646  */
6094      {
6095    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6096   }
6097 + #line 6098 "conf_parser.c" /* yacc.c:1646  */
6098      break;
6099  
6100 <  case 550:
6101 < /* Line 1813 of yacc.c  */
6241 < #line 2617 "conf_parser.y"
6100 >  case 578:
6101 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
6102      {
6103    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6104   }
6105 + #line 6106 "conf_parser.c" /* yacc.c:1646  */
6106      break;
6107  
6108 <  case 551:
6109 < /* Line 1813 of yacc.c  */
6249 < #line 2622 "conf_parser.y"
6108 >  case 579:
6109 > #line 2766 "conf_parser.y" /* yacc.c:1646  */
6110      {
6111 <  ConfigFileEntry.oper_only_umodes = 0;
6111 >  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6112   }
6113 + #line 6114 "conf_parser.c" /* yacc.c:1646  */
6114      break;
6115  
6116 <  case 555:
6117 < /* Line 1813 of yacc.c  */
6257 < #line 2628 "conf_parser.y"
6116 >  case 580:
6117 > #line 2769 "conf_parser.y" /* yacc.c:1646  */
6118      {
6119 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6119 >  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6120   }
6121 + #line 6122 "conf_parser.c" /* yacc.c:1646  */
6122      break;
6123  
6124 <  case 556:
6125 < /* Line 1813 of yacc.c  */
6265 < #line 2631 "conf_parser.y"
6124 >  case 581:
6125 > #line 2774 "conf_parser.y" /* yacc.c:1646  */
6126      {
6127 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6127 >  ConfigFileEntry.oper_only_umodes = 0;
6128   }
6129 + #line 6130 "conf_parser.c" /* yacc.c:1646  */
6130      break;
6131  
6132 <  case 557:
6133 < /* Line 1813 of yacc.c  */
6273 < #line 2634 "conf_parser.y"
6132 >  case 585:
6133 > #line 2780 "conf_parser.y" /* yacc.c:1646  */
6134      {
6135 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6135 >  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6136   }
6137 + #line 6138 "conf_parser.c" /* yacc.c:1646  */
6138      break;
6139  
6140 <  case 558:
6141 < /* Line 1813 of yacc.c  */
6142 < #line 2637 "conf_parser.y"
6140 >  case 586:
6141 > #line 2783 "conf_parser.y" /* yacc.c:1646  */
6142 >    {
6143 >  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6144 > }
6145 > #line 6146 "conf_parser.c" /* yacc.c:1646  */
6146 >    break;
6147 >
6148 >  case 587:
6149 > #line 2786 "conf_parser.y" /* yacc.c:1646  */
6150      {
6151    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6152   }
6153 + #line 6154 "conf_parser.c" /* yacc.c:1646  */
6154      break;
6155  
6156 <  case 559:
6157 < /* Line 1813 of yacc.c  */
6289 < #line 2640 "conf_parser.y"
6156 >  case 588:
6157 > #line 2789 "conf_parser.y" /* yacc.c:1646  */
6158      {
6159    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6160   }
6161 + #line 6162 "conf_parser.c" /* yacc.c:1646  */
6162      break;
6163  
6164 <  case 560:
6165 < /* Line 1813 of yacc.c  */
6297 < #line 2643 "conf_parser.y"
6164 >  case 589:
6165 > #line 2792 "conf_parser.y" /* yacc.c:1646  */
6166      {
6167    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6168   }
6169 + #line 6170 "conf_parser.c" /* yacc.c:1646  */
6170      break;
6171  
6172 <  case 561:
6173 < /* Line 1813 of yacc.c  */
6305 < #line 2646 "conf_parser.y"
6172 >  case 590:
6173 > #line 2795 "conf_parser.y" /* yacc.c:1646  */
6174      {
6175    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6176   }
6177 + #line 6178 "conf_parser.c" /* yacc.c:1646  */
6178      break;
6179  
6180 <  case 562:
6181 < /* Line 1813 of yacc.c  */
6313 < #line 2649 "conf_parser.y"
6180 >  case 591:
6181 > #line 2798 "conf_parser.y" /* yacc.c:1646  */
6182      {
6183    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6184   }
6185 + #line 6186 "conf_parser.c" /* yacc.c:1646  */
6186      break;
6187  
6188 <  case 563:
6189 < /* Line 1813 of yacc.c  */
6321 < #line 2652 "conf_parser.y"
6188 >  case 592:
6189 > #line 2801 "conf_parser.y" /* yacc.c:1646  */
6190      {
6191    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6192   }
6193 + #line 6194 "conf_parser.c" /* yacc.c:1646  */
6194      break;
6195  
6196 <  case 564:
6197 < /* Line 1813 of yacc.c  */
6329 < #line 2655 "conf_parser.y"
6196 >  case 593:
6197 > #line 2804 "conf_parser.y" /* yacc.c:1646  */
6198      {
6199    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6200   }
6201 + #line 6202 "conf_parser.c" /* yacc.c:1646  */
6202      break;
6203  
6204 <  case 565:
6205 < /* Line 1813 of yacc.c  */
6337 < #line 2658 "conf_parser.y"
6204 >  case 594:
6205 > #line 2807 "conf_parser.y" /* yacc.c:1646  */
6206      {
6207    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6208   }
6209 + #line 6210 "conf_parser.c" /* yacc.c:1646  */
6210      break;
6211  
6212 <  case 566:
6213 < /* Line 1813 of yacc.c  */
6345 < #line 2661 "conf_parser.y"
6212 >  case 595:
6213 > #line 2810 "conf_parser.y" /* yacc.c:1646  */
6214      {
6215    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6216   }
6217 + #line 6218 "conf_parser.c" /* yacc.c:1646  */
6218      break;
6219  
6220 <  case 567:
6221 < /* Line 1813 of yacc.c  */
6353 < #line 2664 "conf_parser.y"
6220 >  case 596:
6221 > #line 2813 "conf_parser.y" /* yacc.c:1646  */
6222      {
6223    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6224   }
6225 + #line 6226 "conf_parser.c" /* yacc.c:1646  */
6226      break;
6227  
6228 <  case 568:
6229 < /* Line 1813 of yacc.c  */
6361 < #line 2667 "conf_parser.y"
6228 >  case 597:
6229 > #line 2816 "conf_parser.y" /* yacc.c:1646  */
6230      {
6231    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6232   }
6233 + #line 6234 "conf_parser.c" /* yacc.c:1646  */
6234      break;
6235  
6236 <  case 569:
6237 < /* Line 1813 of yacc.c  */
6369 < #line 2670 "conf_parser.y"
6236 >  case 598:
6237 > #line 2819 "conf_parser.y" /* yacc.c:1646  */
6238      {
6239    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6240   }
6241 + #line 6242 "conf_parser.c" /* yacc.c:1646  */
6242      break;
6243  
6244 <  case 570:
6245 < /* Line 1813 of yacc.c  */
6377 < #line 2673 "conf_parser.y"
6244 >  case 599:
6245 > #line 2822 "conf_parser.y" /* yacc.c:1646  */
6246      {
6247    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6248   }
6249 + #line 6250 "conf_parser.c" /* yacc.c:1646  */
6250      break;
6251  
6252 <  case 571:
6253 < /* Line 1813 of yacc.c  */
6385 < #line 2676 "conf_parser.y"
6252 >  case 600:
6253 > #line 2825 "conf_parser.y" /* yacc.c:1646  */
6254      {
6255    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6256   }
6257 + #line 6258 "conf_parser.c" /* yacc.c:1646  */
6258      break;
6259  
6260 <  case 572:
6261 < /* Line 1813 of yacc.c  */
6393 < #line 2679 "conf_parser.y"
6260 >  case 601:
6261 > #line 2828 "conf_parser.y" /* yacc.c:1646  */
6262      {
6263    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6264   }
6265 + #line 6266 "conf_parser.c" /* yacc.c:1646  */
6266      break;
6267  
6268 <  case 573:
6269 < /* Line 1813 of yacc.c  */
6401 < #line 2682 "conf_parser.y"
6268 >  case 602:
6269 > #line 2831 "conf_parser.y" /* yacc.c:1646  */
6270      {
6271    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6272   }
6273 + #line 6274 "conf_parser.c" /* yacc.c:1646  */
6274      break;
6275  
6276 <  case 574:
6277 < /* Line 1813 of yacc.c  */
6409 < #line 2685 "conf_parser.y"
6276 >  case 603:
6277 > #line 2834 "conf_parser.y" /* yacc.c:1646  */
6278      {
6279    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6280   }
6281 + #line 6282 "conf_parser.c" /* yacc.c:1646  */
6282      break;
6283  
6284 <  case 575:
6285 < /* Line 1813 of yacc.c  */
6417 < #line 2690 "conf_parser.y"
6284 >  case 604:
6285 > #line 2837 "conf_parser.y" /* yacc.c:1646  */
6286      {
6287 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6287 >  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6288   }
6289 + #line 6290 "conf_parser.c" /* yacc.c:1646  */
6290      break;
6291  
6292 <  case 576:
6293 < /* Line 1813 of yacc.c  */
6425 < #line 2695 "conf_parser.y"
6292 >  case 605:
6293 > #line 2840 "conf_parser.y" /* yacc.c:1646  */
6294      {
6295 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6295 >  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6296   }
6297 + #line 6298 "conf_parser.c" /* yacc.c:1646  */
6298      break;
6299  
6300 <  case 577:
6301 < /* Line 1813 of yacc.c  */
6433 < #line 2700 "conf_parser.y"
6300 >  case 606:
6301 > #line 2845 "conf_parser.y" /* yacc.c:1646  */
6302      {
6303 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6303 >  ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6304   }
6305 + #line 6306 "conf_parser.c" /* yacc.c:1646  */
6306      break;
6307  
6308 <  case 596:
6309 < /* Line 1813 of yacc.c  */
6441 < #line 2723 "conf_parser.y"
6308 >  case 607:
6309 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6310      {
6311 <  ConfigChannel.disable_fake_channels = yylval.number;
6311 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6312   }
6313 + #line 6314 "conf_parser.c" /* yacc.c:1646  */
6314      break;
6315  
6316 <  case 597:
6317 < /* Line 1813 of yacc.c  */
6449 < #line 2728 "conf_parser.y"
6316 >  case 608:
6317 > #line 2855 "conf_parser.y" /* yacc.c:1646  */
6318      {
6319 <  ConfigChannel.restrict_channels = yylval.number;
6319 >  ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6320   }
6321 + #line 6322 "conf_parser.c" /* yacc.c:1646  */
6322      break;
6323  
6324 <  case 598:
6325 < /* Line 1813 of yacc.c  */
6457 < #line 2733 "conf_parser.y"
6324 >  case 625:
6325 > #line 2878 "conf_parser.y" /* yacc.c:1646  */
6326      {
6327 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6327 >  ConfigChannel.disable_fake_channels = yylval.number;
6328   }
6329 + #line 6330 "conf_parser.c" /* yacc.c:1646  */
6330      break;
6331  
6332 <  case 599:
6333 < /* Line 1813 of yacc.c  */
6465 < #line 2738 "conf_parser.y"
6332 >  case 626:
6333 > #line 2883 "conf_parser.y" /* yacc.c:1646  */
6334      {
6335 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6335 >  ConfigChannel.knock_delay = (yyvsp[-1].number);
6336   }
6337 + #line 6338 "conf_parser.c" /* yacc.c:1646  */
6338      break;
6339  
6340 <  case 600:
6341 < /* Line 1813 of yacc.c  */
6473 < #line 2743 "conf_parser.y"
6340 >  case 627:
6341 > #line 2888 "conf_parser.y" /* yacc.c:1646  */
6342      {
6343 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6343 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6344   }
6345 + #line 6346 "conf_parser.c" /* yacc.c:1646  */
6346      break;
6347  
6348 <  case 601:
6349 < /* Line 1813 of yacc.c  */
6481 < #line 2748 "conf_parser.y"
6348 >  case 628:
6349 > #line 2893 "conf_parser.y" /* yacc.c:1646  */
6350      {
6351 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6351 >  ConfigChannel.max_chans_per_user = (yyvsp[-1].number);
6352   }
6353 + #line 6354 "conf_parser.c" /* yacc.c:1646  */
6354      break;
6355  
6356 <  case 602:
6357 < /* Line 1813 of yacc.c  */
6489 < #line 2753 "conf_parser.y"
6356 >  case 629:
6357 > #line 2898 "conf_parser.y" /* yacc.c:1646  */
6358      {
6359 <  ConfigChannel.quiet_on_ban = yylval.number;
6359 >  ConfigChannel.max_chans_per_oper = (yyvsp[-1].number);
6360   }
6361 + #line 6362 "conf_parser.c" /* yacc.c:1646  */
6362      break;
6363  
6364 <  case 603:
6365 < /* Line 1813 of yacc.c  */
6497 < #line 2758 "conf_parser.y"
6364 >  case 630:
6365 > #line 2903 "conf_parser.y" /* yacc.c:1646  */
6366      {
6367 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6367 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6368   }
6369 + #line 6370 "conf_parser.c" /* yacc.c:1646  */
6370      break;
6371  
6372 <  case 604:
6373 < /* Line 1813 of yacc.c  */
6505 < #line 2763 "conf_parser.y"
6372 >  case 631:
6373 > #line 2908 "conf_parser.y" /* yacc.c:1646  */
6374      {
6375 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6375 >  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6376   }
6377 + #line 6378 "conf_parser.c" /* yacc.c:1646  */
6378      break;
6379  
6380 <  case 605:
6381 < /* Line 1813 of yacc.c  */
6513 < #line 2768 "conf_parser.y"
6380 >  case 632:
6381 > #line 2913 "conf_parser.y" /* yacc.c:1646  */
6382      {
6383 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6383 >  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6384   }
6385 + #line 6386 "conf_parser.c" /* yacc.c:1646  */
6386      break;
6387  
6388 <  case 606:
6389 < /* Line 1813 of yacc.c  */
6521 < #line 2773 "conf_parser.y"
6388 >  case 633:
6389 > #line 2918 "conf_parser.y" /* yacc.c:1646  */
6390      {
6391    ConfigChannel.no_create_on_split = yylval.number;
6392   }
6393 + #line 6394 "conf_parser.c" /* yacc.c:1646  */
6394      break;
6395  
6396 <  case 607:
6397 < /* Line 1813 of yacc.c  */
6529 < #line 2778 "conf_parser.y"
6396 >  case 634:
6397 > #line 2923 "conf_parser.y" /* yacc.c:1646  */
6398      {
6399    ConfigChannel.no_join_on_split = yylval.number;
6400   }
6401 + #line 6402 "conf_parser.c" /* yacc.c:1646  */
6402      break;
6403  
6404 <  case 608:
6405 < /* Line 1813 of yacc.c  */
6537 < #line 2783 "conf_parser.y"
6404 >  case 635:
6405 > #line 2928 "conf_parser.y" /* yacc.c:1646  */
6406      {
6407    GlobalSetOptions.joinfloodcount = yylval.number;
6408   }
6409 + #line 6410 "conf_parser.c" /* yacc.c:1646  */
6410      break;
6411  
6412 <  case 609:
6413 < /* Line 1813 of yacc.c  */
6545 < #line 2788 "conf_parser.y"
6412 >  case 636:
6413 > #line 2933 "conf_parser.y" /* yacc.c:1646  */
6414      {
6415    GlobalSetOptions.joinfloodtime = yylval.number;
6416   }
6417 + #line 6418 "conf_parser.c" /* yacc.c:1646  */
6418      break;
6419  
6420 <  case 620:
6421 < /* Line 1813 of yacc.c  */
6553 < #line 2806 "conf_parser.y"
6420 >  case 649:
6421 > #line 2953 "conf_parser.y" /* yacc.c:1646  */
6422      {
6423    if (conf_parser_ctx.pass == 2)
6424      ConfigServerHide.flatten_links = yylval.number;
6425   }
6426 + #line 6427 "conf_parser.c" /* yacc.c:1646  */
6427      break;
6428  
6429 <  case 621:
6430 < /* Line 1813 of yacc.c  */
6431 < #line 2812 "conf_parser.y"
6429 >  case 650:
6430 > #line 2959 "conf_parser.y" /* yacc.c:1646  */
6431 >    {
6432 >  if (conf_parser_ctx.pass == 2)
6433 >    ConfigServerHide.disable_remote_commands = yylval.number;
6434 > }
6435 > #line 6436 "conf_parser.c" /* yacc.c:1646  */
6436 >    break;
6437 >
6438 >  case 651:
6439 > #line 2965 "conf_parser.y" /* yacc.c:1646  */
6440      {
6441    if (conf_parser_ctx.pass == 2)
6442      ConfigServerHide.hide_servers = yylval.number;
6443   }
6444 + #line 6445 "conf_parser.c" /* yacc.c:1646  */
6445 +    break;
6446 +
6447 +  case 652:
6448 + #line 2971 "conf_parser.y" /* yacc.c:1646  */
6449 +    {
6450 +  if (conf_parser_ctx.pass == 2)
6451 +    ConfigServerHide.hide_services = yylval.number;
6452 + }
6453 + #line 6454 "conf_parser.c" /* yacc.c:1646  */
6454      break;
6455  
6456 <  case 622:
6457 < /* Line 1813 of yacc.c  */
6571 < #line 2818 "conf_parser.y"
6456 >  case 653:
6457 > #line 2977 "conf_parser.y" /* yacc.c:1646  */
6458      {
6459    if (conf_parser_ctx.pass == 2)
6460    {
# Line 6576 | Line 6462 | yyreduce:
6462      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6463    }
6464   }
6465 + #line 6466 "conf_parser.c" /* yacc.c:1646  */
6466      break;
6467  
6468 <  case 623:
6469 < /* Line 1813 of yacc.c  */
6583 < #line 2827 "conf_parser.y"
6468 >  case 654:
6469 > #line 2986 "conf_parser.y" /* yacc.c:1646  */
6470      {
6471    if (conf_parser_ctx.pass == 2)
6472    {
6473 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6473 >    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6474      {
6475 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6475 >      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[-1].number));
6476        ConfigServerHide.links_disabled = 0;
6477      }
6478  
6479 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6479 >    ConfigServerHide.links_delay = (yyvsp[-1].number);
6480    }
6481   }
6482 + #line 6483 "conf_parser.c" /* yacc.c:1646  */
6483      break;
6484  
6485 <  case 624:
6486 < /* Line 1813 of yacc.c  */
6600 < #line 2841 "conf_parser.y"
6485 >  case 655:
6486 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6487      {
6488    if (conf_parser_ctx.pass == 2)
6489      ConfigServerHide.hidden = yylval.number;
6490   }
6491 + #line 6492 "conf_parser.c" /* yacc.c:1646  */
6492      break;
6493  
6494 <  case 625:
6495 < /* Line 1813 of yacc.c  */
6609 < #line 2847 "conf_parser.y"
6494 >  case 656:
6495 > #line 3006 "conf_parser.y" /* yacc.c:1646  */
6496      {
6497    if (conf_parser_ctx.pass == 2)
6498      ConfigServerHide.hide_server_ips = yylval.number;
6499   }
6500 + #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501      break;
6502  
6503  
6504 < /* Line 1813 of yacc.c  */
6618 < #line 6619 "conf_parser.c"
6504 > #line 6505 "conf_parser.c" /* yacc.c:1646  */
6505        default: break;
6506      }
6507    /* User semantic actions sometimes alter yychar, and that requires
# Line 6637 | Line 6523 | yyreduce:
6523  
6524    *++yyvsp = yyval;
6525  
6526 <  /* Now `shift' the result of the reduction.  Determine what state
6526 >  /* Now 'shift' the result of the reduction.  Determine what state
6527       that goes to, based on the state we popped back to and the rule
6528       number reduced by.  */
6529  
# Line 6652 | Line 6538 | yyreduce:
6538    goto yynewstate;
6539  
6540  
6541 < /*------------------------------------.
6542 < | yyerrlab -- here on detecting error |
6543 < `------------------------------------*/
6541 > /*--------------------------------------.
6542 > | yyerrlab -- here on detecting error.  |
6543 > `--------------------------------------*/
6544   yyerrlab:
6545    /* Make sure we have latest lookahead translation.  See comments at
6546       user semantic actions for why this is necessary.  */
# Line 6705 | Line 6591 | yyerrlab:
6591    if (yyerrstatus == 3)
6592      {
6593        /* If just tried and failed to reuse lookahead token after an
6594 <         error, discard it.  */
6594 >         error, discard it.  */
6595  
6596        if (yychar <= YYEOF)
6597 <        {
6598 <          /* Return failure if at end of input.  */
6599 <          if (yychar == YYEOF)
6600 <            YYABORT;
6601 <        }
6597 >        {
6598 >          /* Return failure if at end of input.  */
6599 >          if (yychar == YYEOF)
6600 >            YYABORT;
6601 >        }
6602        else
6603 <        {
6604 <          yydestruct ("Error: discarding",
6605 <                      yytoken, &yylval);
6606 <          yychar = YYEMPTY;
6607 <        }
6603 >        {
6604 >          yydestruct ("Error: discarding",
6605 >                      yytoken, &yylval);
6606 >          yychar = YYEMPTY;
6607 >        }
6608      }
6609  
6610    /* Else will try to reuse lookahead token after shifting the error
# Line 6737 | Line 6623 | yyerrorlab:
6623    if (/*CONSTCOND*/ 0)
6624       goto yyerrorlab;
6625  
6626 <  /* Do not reclaim the symbols of the rule which action triggered
6626 >  /* Do not reclaim the symbols of the rule whose action triggered
6627       this YYERROR.  */
6628    YYPOPSTACK (yylen);
6629    yylen = 0;
# Line 6750 | Line 6636 | yyerrorlab:
6636   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6637   `-------------------------------------------------------------*/
6638   yyerrlab1:
6639 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6639 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6640  
6641    for (;;)
6642      {
6643        yyn = yypact[yystate];
6644        if (!yypact_value_is_default (yyn))
6645 <        {
6646 <          yyn += YYTERROR;
6647 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6648 <            {
6649 <              yyn = yytable[yyn];
6650 <              if (0 < yyn)
6651 <                break;
6652 <            }
6653 <        }
6645 >        {
6646 >          yyn += YYTERROR;
6647 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6648 >            {
6649 >              yyn = yytable[yyn];
6650 >              if (0 < yyn)
6651 >                break;
6652 >            }
6653 >        }
6654  
6655        /* Pop the current state because it cannot handle the error token.  */
6656        if (yyssp == yyss)
6657 <        YYABORT;
6657 >        YYABORT;
6658  
6659  
6660        yydestruct ("Error: popping",
6661 <                  yystos[yystate], yyvsp);
6661 >                  yystos[yystate], yyvsp);
6662        YYPOPSTACK (1);
6663        yystate = *yyssp;
6664        YY_STACK_PRINT (yyss, yyssp);
# Line 6823 | Line 6709 | yyreturn:
6709        yydestruct ("Cleanup: discarding lookahead",
6710                    yytoken, &yylval);
6711      }
6712 <  /* Do not reclaim the symbols of the rule which action triggered
6712 >  /* Do not reclaim the symbols of the rule whose action triggered
6713       this YYABORT or YYACCEPT.  */
6714    YYPOPSTACK (yylen);
6715    YY_STACK_PRINT (yyss, yyssp);
6716    while (yyssp != yyss)
6717      {
6718        yydestruct ("Cleanup: popping",
6719 <                  yystos[*yyssp], yyvsp);
6719 >                  yystos[*yyssp], yyvsp);
6720        YYPOPSTACK (1);
6721      }
6722   #ifndef yyoverflow
# Line 6841 | Line 6727 | yyreturn:
6727    if (yymsg != yymsgbuf)
6728      YYSTACK_FREE (yymsg);
6729   #endif
6730 <  /* Make sure YYID is used.  */
6845 <  return YYID (yyresult);
6730 >  return yyresult;
6731   }
6847 –
6848 –

Comparing ircd-hybrid/trunk/src/conf_parser.c (property svn:keywords):
Revision 1648 by michael, Sat Nov 10 17:34:09 2012 UTC vs.
Revision 2570 by michael, Mon Nov 18 19:14:02 2013 UTC

# Line 0 | Line 1
1 + Id Revision

Diff Legend

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