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 1904 by michael, Sat Apr 27 21:16:22 2013 UTC vs.
Revision 3762 by michael, Sun Jun 1 19:35:16 2014 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
1 > /* A Bison parser, made by GNU Bison 3.0.2.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4 <  
5 <      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 <  
4 >
5 >   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 >
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11 <  
11 >
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16 <  
16 >
17     You should have received a copy of the GNU General Public License
18     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19  
# Line 26 | Line 26
26     special exception, which will cause the skeleton and the resulting
27     Bison output files to be licensed under the GNU General Public
28     License without this special exception.
29 <  
29 >
30     This special exception was added by the Free Software Foundation in
31     version 2.2 of Bison.  */
32  
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7.12-4996"
47 > #define YYBISON_VERSION "3.0.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < /* Line 371 of yacc.c  */
66 < #line 25 "conf_parser.y"
65 > #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68   #define YY_NO_UNPUT
# Line 82 | Line 81
81   #include "irc_string.h"
82   #include "memory.h"
83   #include "modules.h"
84 < #include "s_serv.h"
84 > #include "server.h"
85   #include "hostmask.h"
86   #include "send.h"
87   #include "listener.h"
88   #include "resv.h"
89   #include "numeric.h"
90 < #include "s_user.h"
90 > #include "user.h"
91 > #include "motd.h"
92  
93   #ifdef HAVE_LIBCRYPTO
94   #include <openssl/rsa.h>
# Line 103 | Line 103 | int yylex(void);
103  
104   static struct
105   {
106 <  struct {
106 >  struct
107 >  {
108      dlink_list list;
109    } mask,
110      leaf,
111      hub;
112  
113 <  struct {
113 >  struct
114 >  {
115      char buf[IRCD_BUFSIZE];
116    } name,
117      user,
# Line 118 | Line 120 | static struct
120      bind,
121      file,
122      ciph,
123 +    cert,
124      rpass,
125      spass,
126      class;
127  
128 <  struct {
128 >  struct
129 >  {
130      unsigned int value;
131    } flags,
132      modes,
# Line 176 | Line 180 | reset_block_state(void)
180   }
181  
182  
183 < /* Line 371 of yacc.c  */
180 < #line 181 "conf_parser.c"
183 > #line 184 "conf_parser.c" /* yacc.c:339  */
184  
185 < # ifndef YY_NULL
185 > # ifndef YY_NULLPTR
186   #  if defined __cplusplus && 201103L <= __cplusplus
187 < #   define YY_NULL nullptr
187 > #   define YY_NULLPTR nullptr
188   #  else
189 < #   define YY_NULL 0
189 > #   define YY_NULLPTR 0
190   #  endif
191   # endif
192  
# Line 199 | Line 202 | reset_block_state(void)
202     by #include "y.tab.h".  */
203   #ifndef YY_YY_CONF_PARSER_H_INCLUDED
204   # define YY_YY_CONF_PARSER_H_INCLUDED
205 < /* Enabling traces.  */
205 > /* Debug traces.  */
206   #ifndef YYDEBUG
207   # define YYDEBUG 0
208   #endif
# Line 207 | Line 210 | reset_block_state(void)
210   extern int yydebug;
211   #endif
212  
213 < /* Tokens.  */
213 > /* Token type.  */
214   #ifndef YYTOKENTYPE
215   # define YYTOKENTYPE
216 <   /* Put the tokens into the symbol table, so that GDB and other debuggers
217 <      know about them.  */
218 <   enum yytokentype {
219 <     ACCEPT_PASSWORD = 258,
220 <     ADMIN = 259,
221 <     AFTYPE = 260,
222 <     ANTI_NICK_FLOOD = 261,
223 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
224 <     AUTOCONN = 263,
225 <     BYTES = 264,
226 <     KBYTES = 265,
227 <     MBYTES = 266,
228 <     CALLER_ID_WAIT = 267,
229 <     CAN_FLOOD = 268,
230 <     CHANNEL = 269,
231 <     CIDR_BITLEN_IPV4 = 270,
232 <     CIDR_BITLEN_IPV6 = 271,
233 <     CLASS = 272,
234 <     CONNECT = 273,
235 <     CONNECTFREQ = 274,
236 <     DEFAULT_FLOODCOUNT = 275,
237 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
238 <     DEFAULT_SPLIT_USER_COUNT = 277,
239 <     DENY = 278,
240 <     DESCRIPTION = 279,
241 <     DIE = 280,
242 <     DISABLE_AUTH = 281,
243 <     DISABLE_FAKE_CHANNELS = 282,
244 <     DISABLE_REMOTE_COMMANDS = 283,
245 <     DOTS_IN_IDENT = 284,
246 <     EGDPOOL_PATH = 285,
247 <     EMAIL = 286,
248 <     ENCRYPTED = 287,
249 <     EXCEED_LIMIT = 288,
250 <     EXEMPT = 289,
251 <     FAILED_OPER_NOTICE = 290,
252 <     IRCD_FLAGS = 291,
253 <     FLATTEN_LINKS = 292,
254 <     GECOS = 293,
255 <     GENERAL = 294,
256 <     GLINE = 295,
257 <     GLINE_DURATION = 296,
258 <     GLINE_ENABLE = 297,
259 <     GLINE_EXEMPT = 298,
260 <     GLINE_REQUEST_DURATION = 299,
261 <     GLINE_MIN_CIDR = 300,
262 <     GLINE_MIN_CIDR6 = 301,
263 <     GLOBAL_KILL = 302,
264 <     IRCD_AUTH = 303,
265 <     NEED_IDENT = 304,
266 <     HAVENT_READ_CONF = 305,
267 <     HIDDEN = 306,
268 <     HIDDEN_NAME = 307,
269 <     HIDE_SERVER_IPS = 308,
270 <     HIDE_SERVERS = 309,
271 <     HIDE_SERVICES = 310,
272 <     HIDE_SPOOF_IPS = 311,
273 <     HOST = 312,
274 <     HUB = 313,
275 <     HUB_MASK = 314,
276 <     IGNORE_BOGUS_TS = 315,
277 <     INVISIBLE_ON_CONNECT = 316,
278 <     IP = 317,
279 <     KILL = 318,
280 <     KILL_CHASE_TIME_LIMIT = 319,
281 <     KLINE = 320,
282 <     KLINE_EXEMPT = 321,
283 <     KNOCK_DELAY = 322,
284 <     KNOCK_DELAY_CHANNEL = 323,
285 <     LEAF_MASK = 324,
286 <     LINKS_DELAY = 325,
287 <     LISTEN = 326,
288 <     T_LOG = 327,
289 <     MASK = 328,
290 <     MAX_ACCEPT = 329,
291 <     MAX_BANS = 330,
292 <     MAX_CHANS_PER_OPER = 331,
293 <     MAX_CHANS_PER_USER = 332,
294 <     MAX_GLOBAL = 333,
295 <     MAX_IDENT = 334,
296 <     MAX_LOCAL = 335,
297 <     MAX_NICK_CHANGES = 336,
298 <     MAX_NICK_LENGTH = 337,
299 <     MAX_NICK_TIME = 338,
300 <     MAX_NUMBER = 339,
301 <     MAX_TARGETS = 340,
302 <     MAX_TOPIC_LENGTH = 341,
303 <     MAX_WATCH = 342,
304 <     MIN_NONWILDCARD = 343,
305 <     MIN_NONWILDCARD_SIMPLE = 344,
306 <     MIN_IDLE = 345,
307 <     MAX_IDLE = 346,
308 <     RANDOM_IDLE = 347,
309 <     HIDE_IDLE_FROM_OPERS = 348,
310 <     MODULE = 349,
311 <     MODULES = 350,
312 <     NAME = 351,
313 <     NEED_PASSWORD = 352,
314 <     NETWORK_DESC = 353,
315 <     NETWORK_NAME = 354,
316 <     NICK = 355,
317 <     NO_CREATE_ON_SPLIT = 356,
318 <     NO_JOIN_ON_SPLIT = 357,
319 <     NO_OPER_FLOOD = 358,
320 <     NO_TILDE = 359,
321 <     NUMBER = 360,
322 <     NUMBER_PER_CIDR = 361,
323 <     NUMBER_PER_IP = 362,
324 <     OPERATOR = 363,
325 <     OPERS_BYPASS_CALLERID = 364,
326 <     OPER_ONLY_UMODES = 365,
327 <     OPER_PASS_RESV = 366,
328 <     OPER_SPY_T = 367,
329 <     OPER_UMODES = 368,
330 <     JOIN_FLOOD_COUNT = 369,
331 <     JOIN_FLOOD_TIME = 370,
332 <     PACE_WAIT = 371,
333 <     PACE_WAIT_SIMPLE = 372,
334 <     PASSWORD = 373,
335 <     PATH = 374,
336 <     PING_COOKIE = 375,
337 <     PING_TIME = 376,
338 <     PORT = 377,
339 <     QSTRING = 378,
340 <     QUIET_ON_BAN = 379,
341 <     REASON = 380,
342 <     REDIRPORT = 381,
343 <     REDIRSERV = 382,
344 <     REGEX_T = 383,
345 <     REHASH = 384,
346 <     REMOTE = 385,
347 <     REMOTEBAN = 386,
348 <     RSA_PRIVATE_KEY_FILE = 387,
349 <     RSA_PUBLIC_KEY_FILE = 388,
350 <     SSL_CERTIFICATE_FILE = 389,
351 <     SSL_DH_PARAM_FILE = 390,
352 <     T_SSL_CLIENT_METHOD = 391,
353 <     T_SSL_SERVER_METHOD = 392,
354 <     T_SSLV3 = 393,
355 <     T_TLSV1 = 394,
356 <     RESV = 395,
357 <     RESV_EXEMPT = 396,
358 <     SECONDS = 397,
359 <     MINUTES = 398,
360 <     HOURS = 399,
361 <     DAYS = 400,
362 <     WEEKS = 401,
363 <     MONTHS = 402,
364 <     YEARS = 403,
365 <     SENDQ = 404,
366 <     SEND_PASSWORD = 405,
367 <     SERVERHIDE = 406,
368 <     SERVERINFO = 407,
369 <     IRCD_SID = 408,
370 <     TKLINE_EXPIRE_NOTICES = 409,
371 <     T_SHARED = 410,
372 <     T_CLUSTER = 411,
373 <     TYPE = 412,
374 <     SHORT_MOTD = 413,
375 <     SPOOF = 414,
376 <     SPOOF_NOTICE = 415,
377 <     STATS_E_DISABLED = 416,
378 <     STATS_I_OPER_ONLY = 417,
379 <     STATS_K_OPER_ONLY = 418,
380 <     STATS_O_OPER_ONLY = 419,
381 <     STATS_P_OPER_ONLY = 420,
382 <     TBOOL = 421,
383 <     TMASKED = 422,
384 <     TS_MAX_DELTA = 423,
385 <     TS_WARN_DELTA = 424,
386 <     TWODOTS = 425,
387 <     T_ALL = 426,
388 <     T_BOTS = 427,
389 <     T_SOFTCALLERID = 428,
390 <     T_CALLERID = 429,
391 <     T_CCONN = 430,
392 <     T_CCONN_FULL = 431,
393 <     T_SSL_CIPHER_LIST = 432,
394 <     T_DEAF = 433,
395 <     T_DEBUG = 434,
396 <     T_DLINE = 435,
397 <     T_EXTERNAL = 436,
398 <     T_FULL = 437,
399 <     T_INVISIBLE = 438,
400 <     T_IPV4 = 439,
401 <     T_IPV6 = 440,
402 <     T_LOCOPS = 441,
403 <     T_MAX_CLIENTS = 442,
404 <     T_NCHANGE = 443,
405 <     T_NONONREG = 444,
406 <     T_OPERWALL = 445,
407 <     T_RECVQ = 446,
408 <     T_REJ = 447,
409 <     T_SERVER = 448,
410 <     T_SERVNOTICE = 449,
411 <     T_SET = 450,
412 <     T_SKILL = 451,
413 <     T_SPY = 452,
414 <     T_SSL = 453,
415 <     T_UMODES = 454,
416 <     T_UNAUTH = 455,
417 <     T_UNDLINE = 456,
418 <     T_UNLIMITED = 457,
419 <     T_UNRESV = 458,
420 <     T_UNXLINE = 459,
421 <     T_GLOBOPS = 460,
422 <     T_WALLOP = 461,
423 <     T_WEBIRC = 462,
424 <     T_RESTART = 463,
425 <     T_SERVICE = 464,
426 <     T_SERVICES_NAME = 465,
427 <     THROTTLE_TIME = 466,
428 <     TRUE_NO_OPER_FLOOD = 467,
429 <     UNKLINE = 468,
430 <     USER = 469,
431 <     USE_EGD = 470,
432 <     USE_LOGGING = 471,
433 <     VHOST = 472,
434 <     VHOST6 = 473,
435 <     XLINE = 474,
436 <     WARN_NO_NLINE = 475,
437 <     T_SIZE = 476,
438 <     T_FILE = 477
439 <   };
216 >  enum yytokentype
217 >  {
218 >    ACCEPT_PASSWORD = 258,
219 >    ADMIN = 259,
220 >    AFTYPE = 260,
221 >    ANTI_NICK_FLOOD = 261,
222 >    ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
223 >    AUTOCONN = 263,
224 >    BYTES = 264,
225 >    KBYTES = 265,
226 >    MBYTES = 266,
227 >    CALLER_ID_WAIT = 267,
228 >    CAN_FLOOD = 268,
229 >    CHANNEL = 269,
230 >    CIDR_BITLEN_IPV4 = 270,
231 >    CIDR_BITLEN_IPV6 = 271,
232 >    CLASS = 272,
233 >    CONNECT = 273,
234 >    CONNECTFREQ = 274,
235 >    CYCLE_ON_HOST_CHANGE = 275,
236 >    DEFAULT_FLOODCOUNT = 276,
237 >    DEFAULT_SPLIT_SERVER_COUNT = 277,
238 >    DEFAULT_SPLIT_USER_COUNT = 278,
239 >    DENY = 279,
240 >    DESCRIPTION = 280,
241 >    DIE = 281,
242 >    DISABLE_AUTH = 282,
243 >    DISABLE_FAKE_CHANNELS = 283,
244 >    DISABLE_REMOTE_COMMANDS = 284,
245 >    DOTS_IN_IDENT = 285,
246 >    EGDPOOL_PATH = 286,
247 >    EMAIL = 287,
248 >    ENCRYPTED = 288,
249 >    EXCEED_LIMIT = 289,
250 >    EXEMPT = 290,
251 >    FAILED_OPER_NOTICE = 291,
252 >    FLATTEN_LINKS = 292,
253 >    GECOS = 293,
254 >    GENERAL = 294,
255 >    GLINE = 295,
256 >    GLINE_DURATION = 296,
257 >    GLINE_ENABLE = 297,
258 >    GLINE_EXEMPT = 298,
259 >    GLINE_MIN_CIDR = 299,
260 >    GLINE_MIN_CIDR6 = 300,
261 >    GLINE_REQUEST_DURATION = 301,
262 >    GLOBAL_KILL = 302,
263 >    HAVENT_READ_CONF = 303,
264 >    HIDDEN = 304,
265 >    HIDDEN_NAME = 305,
266 >    HIDE_CHANS = 306,
267 >    HIDE_IDLE = 307,
268 >    HIDE_IDLE_FROM_OPERS = 308,
269 >    HIDE_SERVER_IPS = 309,
270 >    HIDE_SERVERS = 310,
271 >    HIDE_SERVICES = 311,
272 >    HIDE_SPOOF_IPS = 312,
273 >    HOST = 313,
274 >    HUB = 314,
275 >    HUB_MASK = 315,
276 >    IGNORE_BOGUS_TS = 316,
277 >    INVISIBLE_ON_CONNECT = 317,
278 >    INVITE_DELAY = 318,
279 >    INVITE_DELAY_CHANNEL = 319,
280 >    IP = 320,
281 >    IRCD_AUTH = 321,
282 >    IRCD_FLAGS = 322,
283 >    IRCD_SID = 323,
284 >    JOIN_FLOOD_COUNT = 324,
285 >    JOIN_FLOOD_TIME = 325,
286 >    KILL = 326,
287 >    KILL_CHASE_TIME_LIMIT = 327,
288 >    KLINE = 328,
289 >    KLINE_EXEMPT = 329,
290 >    KNOCK_DELAY = 330,
291 >    KNOCK_DELAY_CHANNEL = 331,
292 >    LEAF_MASK = 332,
293 >    LINKS_DELAY = 333,
294 >    LISTEN = 334,
295 >    MASK = 335,
296 >    MAX_ACCEPT = 336,
297 >    MAX_BANS = 337,
298 >    MAX_CHANS_PER_OPER = 338,
299 >    MAX_CHANS_PER_USER = 339,
300 >    MAX_GLOBAL = 340,
301 >    MAX_IDENT = 341,
302 >    MAX_IDLE = 342,
303 >    MAX_LOCAL = 343,
304 >    MAX_NICK_CHANGES = 344,
305 >    MAX_NICK_LENGTH = 345,
306 >    MAX_NICK_TIME = 346,
307 >    MAX_NUMBER = 347,
308 >    MAX_TARGETS = 348,
309 >    MAX_TOPIC_LENGTH = 349,
310 >    MAX_WATCH = 350,
311 >    MIN_IDLE = 351,
312 >    MIN_NONWILDCARD = 352,
313 >    MIN_NONWILDCARD_SIMPLE = 353,
314 >    MODULE = 354,
315 >    MODULES = 355,
316 >    MOTD = 356,
317 >    NAME = 357,
318 >    NEED_IDENT = 358,
319 >    NEED_PASSWORD = 359,
320 >    NETWORK_DESC = 360,
321 >    NETWORK_NAME = 361,
322 >    NICK = 362,
323 >    NO_CREATE_ON_SPLIT = 363,
324 >    NO_JOIN_ON_SPLIT = 364,
325 >    NO_OPER_FLOOD = 365,
326 >    NO_TILDE = 366,
327 >    NUMBER = 367,
328 >    NUMBER_PER_CIDR = 368,
329 >    NUMBER_PER_IP = 369,
330 >    OPER_ONLY_UMODES = 370,
331 >    OPER_PASS_RESV = 371,
332 >    OPER_UMODES = 372,
333 >    OPERATOR = 373,
334 >    OPERS_BYPASS_CALLERID = 374,
335 >    PACE_WAIT = 375,
336 >    PACE_WAIT_SIMPLE = 376,
337 >    PASSWORD = 377,
338 >    PATH = 378,
339 >    PING_COOKIE = 379,
340 >    PING_TIME = 380,
341 >    PORT = 381,
342 >    QSTRING = 382,
343 >    RANDOM_IDLE = 383,
344 >    REASON = 384,
345 >    REDIRPORT = 385,
346 >    REDIRSERV = 386,
347 >    REHASH = 387,
348 >    REMOTE = 388,
349 >    REMOTEBAN = 389,
350 >    RESV = 390,
351 >    RESV_EXEMPT = 391,
352 >    RSA_PRIVATE_KEY_FILE = 392,
353 >    RSA_PUBLIC_KEY_FILE = 393,
354 >    SECONDS = 394,
355 >    MINUTES = 395,
356 >    HOURS = 396,
357 >    DAYS = 397,
358 >    WEEKS = 398,
359 >    MONTHS = 399,
360 >    YEARS = 400,
361 >    SEND_PASSWORD = 401,
362 >    SENDQ = 402,
363 >    SERVERHIDE = 403,
364 >    SERVERINFO = 404,
365 >    SHORT_MOTD = 405,
366 >    SPOOF = 406,
367 >    SPOOF_NOTICE = 407,
368 >    SQUIT = 408,
369 >    SSL_CERTIFICATE_FILE = 409,
370 >    SSL_CERTIFICATE_FINGERPRINT = 410,
371 >    SSL_CONNECTION_REQUIRED = 411,
372 >    SSL_DH_PARAM_FILE = 412,
373 >    STATS_E_DISABLED = 413,
374 >    STATS_I_OPER_ONLY = 414,
375 >    STATS_K_OPER_ONLY = 415,
376 >    STATS_O_OPER_ONLY = 416,
377 >    STATS_P_OPER_ONLY = 417,
378 >    STATS_U_OPER_ONLY = 418,
379 >    T_ALL = 419,
380 >    T_BOTS = 420,
381 >    T_CALLERID = 421,
382 >    T_CCONN = 422,
383 >    T_CLUSTER = 423,
384 >    T_DEAF = 424,
385 >    T_DEBUG = 425,
386 >    T_DLINE = 426,
387 >    T_EXTERNAL = 427,
388 >    T_FARCONNECT = 428,
389 >    T_FILE = 429,
390 >    T_FULL = 430,
391 >    T_GLOBOPS = 431,
392 >    T_INVISIBLE = 432,
393 >    T_IPV4 = 433,
394 >    T_IPV6 = 434,
395 >    T_LOCOPS = 435,
396 >    T_LOG = 436,
397 >    T_MAX_CLIENTS = 437,
398 >    T_NCHANGE = 438,
399 >    T_NONONREG = 439,
400 >    T_OPERWALL = 440,
401 >    T_RECVQ = 441,
402 >    T_REJ = 442,
403 >    T_RESTART = 443,
404 >    T_SERVER = 444,
405 >    T_SERVICE = 445,
406 >    T_SERVICES_NAME = 446,
407 >    T_SERVNOTICE = 447,
408 >    T_SET = 448,
409 >    T_SHARED = 449,
410 >    T_SIZE = 450,
411 >    T_SKILL = 451,
412 >    T_SOFTCALLERID = 452,
413 >    T_SPY = 453,
414 >    T_SSL = 454,
415 >    T_SSL_CIPHER_LIST = 455,
416 >    T_SSL_CLIENT_METHOD = 456,
417 >    T_SSL_SERVER_METHOD = 457,
418 >    T_SSLV3 = 458,
419 >    T_TLSV1 = 459,
420 >    T_UMODES = 460,
421 >    T_UNAUTH = 461,
422 >    T_UNDLINE = 462,
423 >    T_UNLIMITED = 463,
424 >    T_UNRESV = 464,
425 >    T_UNXLINE = 465,
426 >    T_WALLOP = 466,
427 >    T_WALLOPS = 467,
428 >    T_WEBIRC = 468,
429 >    TBOOL = 469,
430 >    THROTTLE_TIME = 470,
431 >    TKLINE_EXPIRE_NOTICES = 471,
432 >    TMASKED = 472,
433 >    TRUE_NO_OPER_FLOOD = 473,
434 >    TS_MAX_DELTA = 474,
435 >    TS_WARN_DELTA = 475,
436 >    TWODOTS = 476,
437 >    TYPE = 477,
438 >    UNKLINE = 478,
439 >    USE_EGD = 479,
440 >    USE_LOGGING = 480,
441 >    USER = 481,
442 >    VHOST = 482,
443 >    VHOST6 = 483,
444 >    WARN_NO_CONNECT_BLOCK = 484,
445 >    XLINE = 485
446 >  };
447   #endif
448   /* Tokens.  */
449   #define ACCEPT_PASSWORD 258
# Line 453 | Line 463 | extern int yydebug;
463   #define CLASS 272
464   #define CONNECT 273
465   #define CONNECTFREQ 274
466 < #define DEFAULT_FLOODCOUNT 275
467 < #define DEFAULT_SPLIT_SERVER_COUNT 276
468 < #define DEFAULT_SPLIT_USER_COUNT 277
469 < #define DENY 278
470 < #define DESCRIPTION 279
471 < #define DIE 280
472 < #define DISABLE_AUTH 281
473 < #define DISABLE_FAKE_CHANNELS 282
474 < #define DISABLE_REMOTE_COMMANDS 283
475 < #define DOTS_IN_IDENT 284
476 < #define EGDPOOL_PATH 285
477 < #define EMAIL 286
478 < #define ENCRYPTED 287
479 < #define EXCEED_LIMIT 288
480 < #define EXEMPT 289
481 < #define FAILED_OPER_NOTICE 290
482 < #define IRCD_FLAGS 291
466 > #define CYCLE_ON_HOST_CHANGE 275
467 > #define DEFAULT_FLOODCOUNT 276
468 > #define DEFAULT_SPLIT_SERVER_COUNT 277
469 > #define DEFAULT_SPLIT_USER_COUNT 278
470 > #define DENY 279
471 > #define DESCRIPTION 280
472 > #define DIE 281
473 > #define DISABLE_AUTH 282
474 > #define DISABLE_FAKE_CHANNELS 283
475 > #define DISABLE_REMOTE_COMMANDS 284
476 > #define DOTS_IN_IDENT 285
477 > #define EGDPOOL_PATH 286
478 > #define EMAIL 287
479 > #define ENCRYPTED 288
480 > #define EXCEED_LIMIT 289
481 > #define EXEMPT 290
482 > #define FAILED_OPER_NOTICE 291
483   #define FLATTEN_LINKS 292
484   #define GECOS 293
485   #define GENERAL 294
# Line 477 | Line 487 | extern int yydebug;
487   #define GLINE_DURATION 296
488   #define GLINE_ENABLE 297
489   #define GLINE_EXEMPT 298
490 < #define GLINE_REQUEST_DURATION 299
491 < #define GLINE_MIN_CIDR 300
492 < #define GLINE_MIN_CIDR6 301
490 > #define GLINE_MIN_CIDR 299
491 > #define GLINE_MIN_CIDR6 300
492 > #define GLINE_REQUEST_DURATION 301
493   #define GLOBAL_KILL 302
494 < #define IRCD_AUTH 303
495 < #define NEED_IDENT 304
496 < #define HAVENT_READ_CONF 305
497 < #define HIDDEN 306
498 < #define HIDDEN_NAME 307
499 < #define HIDE_SERVER_IPS 308
500 < #define HIDE_SERVERS 309
501 < #define HIDE_SERVICES 310
502 < #define HIDE_SPOOF_IPS 311
503 < #define HOST 312
504 < #define HUB 313
505 < #define HUB_MASK 314
506 < #define IGNORE_BOGUS_TS 315
507 < #define INVISIBLE_ON_CONNECT 316
508 < #define IP 317
509 < #define KILL 318
510 < #define KILL_CHASE_TIME_LIMIT 319
511 < #define KLINE 320
512 < #define KLINE_EXEMPT 321
513 < #define KNOCK_DELAY 322
514 < #define KNOCK_DELAY_CHANNEL 323
515 < #define LEAF_MASK 324
516 < #define LINKS_DELAY 325
517 < #define LISTEN 326
518 < #define T_LOG 327
519 < #define MASK 328
520 < #define MAX_ACCEPT 329
521 < #define MAX_BANS 330
522 < #define MAX_CHANS_PER_OPER 331
523 < #define MAX_CHANS_PER_USER 332
524 < #define MAX_GLOBAL 333
525 < #define MAX_IDENT 334
526 < #define MAX_LOCAL 335
527 < #define MAX_NICK_CHANGES 336
528 < #define MAX_NICK_LENGTH 337
529 < #define MAX_NICK_TIME 338
530 < #define MAX_NUMBER 339
531 < #define MAX_TARGETS 340
532 < #define MAX_TOPIC_LENGTH 341
533 < #define MAX_WATCH 342
534 < #define MIN_NONWILDCARD 343
535 < #define MIN_NONWILDCARD_SIMPLE 344
536 < #define MIN_IDLE 345
537 < #define MAX_IDLE 346
538 < #define RANDOM_IDLE 347
539 < #define HIDE_IDLE_FROM_OPERS 348
540 < #define MODULE 349
541 < #define MODULES 350
542 < #define NAME 351
543 < #define NEED_PASSWORD 352
544 < #define NETWORK_DESC 353
545 < #define NETWORK_NAME 354
546 < #define NICK 355
547 < #define NO_CREATE_ON_SPLIT 356
548 < #define NO_JOIN_ON_SPLIT 357
549 < #define NO_OPER_FLOOD 358
550 < #define NO_TILDE 359
551 < #define NUMBER 360
552 < #define NUMBER_PER_CIDR 361
553 < #define NUMBER_PER_IP 362
554 < #define OPERATOR 363
555 < #define OPERS_BYPASS_CALLERID 364
556 < #define OPER_ONLY_UMODES 365
557 < #define OPER_PASS_RESV 366
558 < #define OPER_SPY_T 367
559 < #define OPER_UMODES 368
560 < #define JOIN_FLOOD_COUNT 369
561 < #define JOIN_FLOOD_TIME 370
562 < #define PACE_WAIT 371
563 < #define PACE_WAIT_SIMPLE 372
564 < #define PASSWORD 373
565 < #define PATH 374
566 < #define PING_COOKIE 375
567 < #define PING_TIME 376
568 < #define PORT 377
569 < #define QSTRING 378
570 < #define QUIET_ON_BAN 379
571 < #define REASON 380
572 < #define REDIRPORT 381
573 < #define REDIRSERV 382
574 < #define REGEX_T 383
575 < #define REHASH 384
576 < #define REMOTE 385
577 < #define REMOTEBAN 386
578 < #define RSA_PRIVATE_KEY_FILE 387
579 < #define RSA_PUBLIC_KEY_FILE 388
580 < #define SSL_CERTIFICATE_FILE 389
581 < #define SSL_DH_PARAM_FILE 390
582 < #define T_SSL_CLIENT_METHOD 391
583 < #define T_SSL_SERVER_METHOD 392
584 < #define T_SSLV3 393
585 < #define T_TLSV1 394
586 < #define RESV 395
587 < #define RESV_EXEMPT 396
588 < #define SECONDS 397
589 < #define MINUTES 398
590 < #define HOURS 399
591 < #define DAYS 400
592 < #define WEEKS 401
593 < #define MONTHS 402
594 < #define YEARS 403
595 < #define SENDQ 404
596 < #define SEND_PASSWORD 405
597 < #define SERVERHIDE 406
598 < #define SERVERINFO 407
599 < #define IRCD_SID 408
600 < #define TKLINE_EXPIRE_NOTICES 409
601 < #define T_SHARED 410
602 < #define T_CLUSTER 411
603 < #define TYPE 412
604 < #define SHORT_MOTD 413
605 < #define SPOOF 414
606 < #define SPOOF_NOTICE 415
607 < #define STATS_E_DISABLED 416
608 < #define STATS_I_OPER_ONLY 417
609 < #define STATS_K_OPER_ONLY 418
610 < #define STATS_O_OPER_ONLY 419
611 < #define STATS_P_OPER_ONLY 420
612 < #define TBOOL 421
613 < #define TMASKED 422
614 < #define TS_MAX_DELTA 423
615 < #define TS_WARN_DELTA 424
616 < #define TWODOTS 425
617 < #define T_ALL 426
618 < #define T_BOTS 427
619 < #define T_SOFTCALLERID 428
620 < #define T_CALLERID 429
621 < #define T_CCONN 430
622 < #define T_CCONN_FULL 431
623 < #define T_SSL_CIPHER_LIST 432
624 < #define T_DEAF 433
625 < #define T_DEBUG 434
626 < #define T_DLINE 435
627 < #define T_EXTERNAL 436
628 < #define T_FULL 437
629 < #define T_INVISIBLE 438
630 < #define T_IPV4 439
631 < #define T_IPV6 440
632 < #define T_LOCOPS 441
633 < #define T_MAX_CLIENTS 442
634 < #define T_NCHANGE 443
635 < #define T_NONONREG 444
636 < #define T_OPERWALL 445
637 < #define T_RECVQ 446
638 < #define T_REJ 447
639 < #define T_SERVER 448
640 < #define T_SERVNOTICE 449
641 < #define T_SET 450
494 > #define HAVENT_READ_CONF 303
495 > #define HIDDEN 304
496 > #define HIDDEN_NAME 305
497 > #define HIDE_CHANS 306
498 > #define HIDE_IDLE 307
499 > #define HIDE_IDLE_FROM_OPERS 308
500 > #define HIDE_SERVER_IPS 309
501 > #define HIDE_SERVERS 310
502 > #define HIDE_SERVICES 311
503 > #define HIDE_SPOOF_IPS 312
504 > #define HOST 313
505 > #define HUB 314
506 > #define HUB_MASK 315
507 > #define IGNORE_BOGUS_TS 316
508 > #define INVISIBLE_ON_CONNECT 317
509 > #define INVITE_DELAY 318
510 > #define INVITE_DELAY_CHANNEL 319
511 > #define IP 320
512 > #define IRCD_AUTH 321
513 > #define IRCD_FLAGS 322
514 > #define IRCD_SID 323
515 > #define JOIN_FLOOD_COUNT 324
516 > #define JOIN_FLOOD_TIME 325
517 > #define KILL 326
518 > #define KILL_CHASE_TIME_LIMIT 327
519 > #define KLINE 328
520 > #define KLINE_EXEMPT 329
521 > #define KNOCK_DELAY 330
522 > #define KNOCK_DELAY_CHANNEL 331
523 > #define LEAF_MASK 332
524 > #define LINKS_DELAY 333
525 > #define LISTEN 334
526 > #define MASK 335
527 > #define MAX_ACCEPT 336
528 > #define MAX_BANS 337
529 > #define MAX_CHANS_PER_OPER 338
530 > #define MAX_CHANS_PER_USER 339
531 > #define MAX_GLOBAL 340
532 > #define MAX_IDENT 341
533 > #define MAX_IDLE 342
534 > #define MAX_LOCAL 343
535 > #define MAX_NICK_CHANGES 344
536 > #define MAX_NICK_LENGTH 345
537 > #define MAX_NICK_TIME 346
538 > #define MAX_NUMBER 347
539 > #define MAX_TARGETS 348
540 > #define MAX_TOPIC_LENGTH 349
541 > #define MAX_WATCH 350
542 > #define MIN_IDLE 351
543 > #define MIN_NONWILDCARD 352
544 > #define MIN_NONWILDCARD_SIMPLE 353
545 > #define MODULE 354
546 > #define MODULES 355
547 > #define MOTD 356
548 > #define NAME 357
549 > #define NEED_IDENT 358
550 > #define NEED_PASSWORD 359
551 > #define NETWORK_DESC 360
552 > #define NETWORK_NAME 361
553 > #define NICK 362
554 > #define NO_CREATE_ON_SPLIT 363
555 > #define NO_JOIN_ON_SPLIT 364
556 > #define NO_OPER_FLOOD 365
557 > #define NO_TILDE 366
558 > #define NUMBER 367
559 > #define NUMBER_PER_CIDR 368
560 > #define NUMBER_PER_IP 369
561 > #define OPER_ONLY_UMODES 370
562 > #define OPER_PASS_RESV 371
563 > #define OPER_UMODES 372
564 > #define OPERATOR 373
565 > #define OPERS_BYPASS_CALLERID 374
566 > #define PACE_WAIT 375
567 > #define PACE_WAIT_SIMPLE 376
568 > #define PASSWORD 377
569 > #define PATH 378
570 > #define PING_COOKIE 379
571 > #define PING_TIME 380
572 > #define PORT 381
573 > #define QSTRING 382
574 > #define RANDOM_IDLE 383
575 > #define REASON 384
576 > #define REDIRPORT 385
577 > #define REDIRSERV 386
578 > #define REHASH 387
579 > #define REMOTE 388
580 > #define REMOTEBAN 389
581 > #define RESV 390
582 > #define RESV_EXEMPT 391
583 > #define RSA_PRIVATE_KEY_FILE 392
584 > #define RSA_PUBLIC_KEY_FILE 393
585 > #define SECONDS 394
586 > #define MINUTES 395
587 > #define HOURS 396
588 > #define DAYS 397
589 > #define WEEKS 398
590 > #define MONTHS 399
591 > #define YEARS 400
592 > #define SEND_PASSWORD 401
593 > #define SENDQ 402
594 > #define SERVERHIDE 403
595 > #define SERVERINFO 404
596 > #define SHORT_MOTD 405
597 > #define SPOOF 406
598 > #define SPOOF_NOTICE 407
599 > #define SQUIT 408
600 > #define SSL_CERTIFICATE_FILE 409
601 > #define SSL_CERTIFICATE_FINGERPRINT 410
602 > #define SSL_CONNECTION_REQUIRED 411
603 > #define SSL_DH_PARAM_FILE 412
604 > #define STATS_E_DISABLED 413
605 > #define STATS_I_OPER_ONLY 414
606 > #define STATS_K_OPER_ONLY 415
607 > #define STATS_O_OPER_ONLY 416
608 > #define STATS_P_OPER_ONLY 417
609 > #define STATS_U_OPER_ONLY 418
610 > #define T_ALL 419
611 > #define T_BOTS 420
612 > #define T_CALLERID 421
613 > #define T_CCONN 422
614 > #define T_CLUSTER 423
615 > #define T_DEAF 424
616 > #define T_DEBUG 425
617 > #define T_DLINE 426
618 > #define T_EXTERNAL 427
619 > #define T_FARCONNECT 428
620 > #define T_FILE 429
621 > #define T_FULL 430
622 > #define T_GLOBOPS 431
623 > #define T_INVISIBLE 432
624 > #define T_IPV4 433
625 > #define T_IPV6 434
626 > #define T_LOCOPS 435
627 > #define T_LOG 436
628 > #define T_MAX_CLIENTS 437
629 > #define T_NCHANGE 438
630 > #define T_NONONREG 439
631 > #define T_OPERWALL 440
632 > #define T_RECVQ 441
633 > #define T_REJ 442
634 > #define T_RESTART 443
635 > #define T_SERVER 444
636 > #define T_SERVICE 445
637 > #define T_SERVICES_NAME 446
638 > #define T_SERVNOTICE 447
639 > #define T_SET 448
640 > #define T_SHARED 449
641 > #define T_SIZE 450
642   #define T_SKILL 451
643 < #define T_SPY 452
644 < #define T_SSL 453
645 < #define T_UMODES 454
646 < #define T_UNAUTH 455
647 < #define T_UNDLINE 456
648 < #define T_UNLIMITED 457
649 < #define T_UNRESV 458
650 < #define T_UNXLINE 459
651 < #define T_GLOBOPS 460
652 < #define T_WALLOP 461
653 < #define T_WEBIRC 462
654 < #define T_RESTART 463
655 < #define T_SERVICE 464
656 < #define T_SERVICES_NAME 465
657 < #define THROTTLE_TIME 466
658 < #define TRUE_NO_OPER_FLOOD 467
659 < #define UNKLINE 468
660 < #define USER 469
661 < #define USE_EGD 470
662 < #define USE_LOGGING 471
663 < #define VHOST 472
664 < #define VHOST6 473
665 < #define XLINE 474
666 < #define WARN_NO_NLINE 475
667 < #define T_SIZE 476
668 < #define T_FILE 477
669 <
670 <
643 > #define T_SOFTCALLERID 452
644 > #define T_SPY 453
645 > #define T_SSL 454
646 > #define T_SSL_CIPHER_LIST 455
647 > #define T_SSL_CLIENT_METHOD 456
648 > #define T_SSL_SERVER_METHOD 457
649 > #define T_SSLV3 458
650 > #define T_TLSV1 459
651 > #define T_UMODES 460
652 > #define T_UNAUTH 461
653 > #define T_UNDLINE 462
654 > #define T_UNLIMITED 463
655 > #define T_UNRESV 464
656 > #define T_UNXLINE 465
657 > #define T_WALLOP 466
658 > #define T_WALLOPS 467
659 > #define T_WEBIRC 468
660 > #define TBOOL 469
661 > #define THROTTLE_TIME 470
662 > #define TKLINE_EXPIRE_NOTICES 471
663 > #define TMASKED 472
664 > #define TRUE_NO_OPER_FLOOD 473
665 > #define TS_MAX_DELTA 474
666 > #define TS_WARN_DELTA 475
667 > #define TWODOTS 476
668 > #define TYPE 477
669 > #define UNKLINE 478
670 > #define USE_EGD 479
671 > #define USE_LOGGING 480
672 > #define USER 481
673 > #define VHOST 482
674 > #define VHOST6 483
675 > #define WARN_NO_CONNECT_BLOCK 484
676 > #define XLINE 485
677  
678 + /* Value type.  */
679   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
680 < typedef union YYSTYPE
680 > typedef union YYSTYPE YYSTYPE;
681 > union YYSTYPE
682   {
683 < /* Line 387 of yacc.c  */
666 < #line 138 "conf_parser.y"
683 > #line 146 "conf_parser.y" /* yacc.c:355  */
684  
685    int number;
686    char *string;
687  
688 <
689 < /* Line 387 of yacc.c  */
673 < #line 674 "conf_parser.c"
674 < } YYSTYPE;
688 > #line 689 "conf_parser.c" /* yacc.c:355  */
689 > };
690   # define YYSTYPE_IS_TRIVIAL 1
676 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
691   # define YYSTYPE_IS_DECLARED 1
692   #endif
693  
694 +
695   extern YYSTYPE yylval;
696  
682 #ifdef YYPARSE_PARAM
683 #if defined __STDC__ || defined __cplusplus
684 int yyparse (void *YYPARSE_PARAM);
685 #else
686 int yyparse ();
687 #endif
688 #else /* ! YYPARSE_PARAM */
689 #if defined __STDC__ || defined __cplusplus
697   int yyparse (void);
691 #else
692 int yyparse ();
693 #endif
694 #endif /* ! YYPARSE_PARAM */
698  
699   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
700  
701   /* Copy the second part of user declarations.  */
702  
703 < /* Line 390 of yacc.c  */
701 < #line 702 "conf_parser.c"
703 > #line 704 "conf_parser.c" /* yacc.c:358  */
704  
705   #ifdef short
706   # undef short
# Line 712 | Line 714 | typedef unsigned char yytype_uint8;
714  
715   #ifdef YYTYPE_INT8
716   typedef YYTYPE_INT8 yytype_int8;
715 #elif (defined __STDC__ || defined __C99__FUNC__ \
716     || defined __cplusplus || defined _MSC_VER)
717 typedef signed char yytype_int8;
717   #else
718 < typedef short int yytype_int8;
718 > typedef signed char yytype_int8;
719   #endif
720  
721   #ifdef YYTYPE_UINT16
# Line 736 | Line 735 | typedef short int yytype_int16;
735   #  define YYSIZE_T __SIZE_TYPE__
736   # elif defined size_t
737   #  define YYSIZE_T size_t
738 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
740 <     || defined __cplusplus || defined _MSC_VER)
738 > # elif ! defined YYSIZE_T
739   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
740   #  define YYSIZE_T size_t
741   # else
# Line 759 | Line 757 | typedef short int yytype_int16;
757   # endif
758   #endif
759  
760 < #ifndef __attribute__
761 < /* This feature is available in gcc versions 2.5 and later.  */
762 < # if (! defined __GNUC__ || __GNUC__ < 2 \
763 <      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
764 < #  define __attribute__(Spec) /* empty */
760 > #ifndef YY_ATTRIBUTE
761 > # if (defined __GNUC__                                               \
762 >      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
763 >     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
764 > #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
765 > # else
766 > #  define YY_ATTRIBUTE(Spec) /* empty */
767 > # endif
768 > #endif
769 >
770 > #ifndef YY_ATTRIBUTE_PURE
771 > # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
772 > #endif
773 >
774 > #ifndef YY_ATTRIBUTE_UNUSED
775 > # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
776 > #endif
777 >
778 > #if !defined _Noreturn \
779 >     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
780 > # if defined _MSC_VER && 1200 <= _MSC_VER
781 > #  define _Noreturn __declspec (noreturn)
782 > # else
783 > #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
784   # endif
785   #endif
786  
# Line 774 | Line 791 | typedef short int yytype_int16;
791   # define YYUSE(E) /* empty */
792   #endif
793  
794 <
795 < /* Identity function, used to suppress warnings about constant conditions.  */
796 < #ifndef lint
797 < # define YYID(N) (N)
798 < #else
799 < #if (defined __STDC__ || defined __C99__FUNC__ \
800 <     || defined __cplusplus || defined _MSC_VER)
801 < static int
785 < YYID (int yyi)
794 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
795 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
796 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
797 >    _Pragma ("GCC diagnostic push") \
798 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
799 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
800 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
801 >    _Pragma ("GCC diagnostic pop")
802   #else
803 < static int
788 < YYID (yyi)
789 <    int yyi;
803 > # define YY_INITIAL_VALUE(Value) Value
804   #endif
805 < {
806 <  return yyi;
807 < }
805 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
806 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
807 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
808 > #endif
809 > #ifndef YY_INITIAL_VALUE
810 > # define YY_INITIAL_VALUE(Value) /* Nothing. */
811   #endif
812  
813 +
814   #if ! defined yyoverflow || YYERROR_VERBOSE
815  
816   /* The parser invokes alloca or malloc; define the necessary symbols.  */
# Line 810 | Line 828 | YYID (yyi)
828   #    define alloca _alloca
829   #   else
830   #    define YYSTACK_ALLOC alloca
831 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
814 <     || defined __cplusplus || defined _MSC_VER)
831 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
832   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
833        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
834   #     ifndef EXIT_SUCCESS
# Line 823 | Line 840 | YYID (yyi)
840   # endif
841  
842   # ifdef YYSTACK_ALLOC
843 <   /* Pacify GCC's `empty if-body' warning.  */
844 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
843 >   /* Pacify GCC's 'empty if-body' warning.  */
844 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
845   #  ifndef YYSTACK_ALLOC_MAXIMUM
846      /* The OS might guarantee only one guard page at the bottom of the stack,
847         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 840 | Line 857 | YYID (yyi)
857   #  endif
858   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
859         && ! ((defined YYMALLOC || defined malloc) \
860 <             && (defined YYFREE || defined free)))
860 >             && (defined YYFREE || defined free)))
861   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
862   #   ifndef EXIT_SUCCESS
863   #    define EXIT_SUCCESS 0
# Line 848 | Line 865 | YYID (yyi)
865   #  endif
866   #  ifndef YYMALLOC
867   #   define YYMALLOC malloc
868 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
852 <     || defined __cplusplus || defined _MSC_VER)
868 > #   if ! defined malloc && ! defined EXIT_SUCCESS
869   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
870   #   endif
871   #  endif
872   #  ifndef YYFREE
873   #   define YYFREE free
874 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
859 <     || defined __cplusplus || defined _MSC_VER)
874 > #   if ! defined free && ! defined EXIT_SUCCESS
875   void free (void *); /* INFRINGES ON USER NAME SPACE */
876   #   endif
877   #  endif
# Line 866 | Line 881 | void free (void *); /* INFRINGES ON USER
881  
882   #if (! defined yyoverflow \
883       && (! defined __cplusplus \
884 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
884 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
885  
886   /* A type that is properly aligned for any stack member.  */
887   union yyalloc
# Line 891 | Line 906 | union yyalloc
906     elements in the stack, and YYPTR gives the new location of the
907     stack.  Advance YYPTR to a properly aligned location for the next
908     stack.  */
909 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
910 <    do                                                                  \
911 <      {                                                                 \
912 <        YYSIZE_T yynewbytes;                                            \
913 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
914 <        Stack = &yyptr->Stack_alloc;                                    \
915 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
916 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
917 <      }                                                                 \
918 <    while (YYID (0))
909 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
910 >    do                                                                  \
911 >      {                                                                 \
912 >        YYSIZE_T yynewbytes;                                            \
913 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
914 >        Stack = &yyptr->Stack_alloc;                                    \
915 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
916 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
917 >      }                                                                 \
918 >    while (0)
919  
920   #endif
921  
# Line 919 | Line 934 | union yyalloc
934            for (yyi = 0; yyi < (Count); yyi++)   \
935              (Dst)[yyi] = (Src)[yyi];            \
936          }                                       \
937 <      while (YYID (0))
937 >      while (0)
938   #  endif
939   # endif
940   #endif /* !YYCOPY_NEEDED */
# Line 927 | Line 942 | union yyalloc
942   /* YYFINAL -- State number of the termination state.  */
943   #define YYFINAL  2
944   /* YYLAST -- Last index in YYTABLE.  */
945 < #define YYLAST   1213
945 > #define YYLAST   1264
946  
947   /* YYNTOKENS -- Number of terminals.  */
948 < #define YYNTOKENS  228
948 > #define YYNTOKENS  237
949   /* YYNNTS -- Number of nonterminals.  */
950 < #define YYNNTS  289
950 > #define YYNNTS  293
951   /* YYNRULES -- Number of rules.  */
952 < #define YYNRULES  642
953 < /* YYNRULES -- Number of states.  */
954 < #define YYNSTATES  1255
952 > #define YYNRULES  665
953 > /* YYNSTATES -- Number of states.  */
954 > #define YYNSTATES  1302
955  
956 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
956 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
957 >   by yylex, with out-of-bounds checking.  */
958   #define YYUNDEFTOK  2
959 < #define YYMAXUTOK   477
959 > #define YYMAXUTOK   485
960  
961 < #define YYTRANSLATE(YYX)                                                \
961 > #define YYTRANSLATE(YYX)                                                \
962    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
963  
964 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
964 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
965 >   as returned by yylex, without out-of-bounds checking.  */
966   static const yytype_uint8 yytranslate[] =
967   {
968         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969         2,     2,     2,     2,     2,     2,     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,   227,     2,     2,     2,     2,     2,
973 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   223,
974 <       2,   226,     2,     2,     2,     2,     2,     2,     2,     2,
972 >       2,     2,     2,     2,   235,     2,     2,     2,     2,     2,
973 >       2,     2,     2,     2,     2,     2,     2,     2,   236,   231,
974 >       2,   234,     2,     2,     2,     2,     2,     2,     2,     2,
975         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
976         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
977         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
978         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
979         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
980 <       2,     2,     2,   225,     2,   224,     2,     2,     2,     2,
980 >       2,     2,     2,   233,     2,   232,     2,     2,     2,     2,
981         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
983         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 995 | Line 1012 | static const yytype_uint8 yytranslate[]
1012       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1013       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1014       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1015 <     215,   216,   217,   218,   219,   220,   221,   222
1015 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1016 >     225,   226,   227,   228,   229,   230
1017   };
1018  
1019   #if YYDEBUG
1020 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1003 <   YYRHS.  */
1004 < static const yytype_uint16 yyprhs[] =
1005 < {
1006 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1007 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1008 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1009 <      63,    67,    71,    75,    79,    83,    87,    88,    90,    93,
1010 <      97,   101,   105,   111,   114,   116,   118,   120,   123,   128,
1011 <     133,   139,   142,   144,   146,   148,   150,   152,   154,   156,
1012 <     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1013 <     178,   181,   186,   191,   195,   197,   199,   201,   205,   207,
1014 <     209,   211,   216,   221,   226,   231,   236,   241,   246,   251,
1015 <     256,   261,   266,   271,   276,   281,   286,   292,   295,   297,
1016 <     299,   301,   303,   306,   311,   316,   321,   327,   330,   332,
1017 <     334,   336,   339,   344,   345,   352,   355,   357,   359,   361,
1018 <     363,   366,   371,   376,   381,   382,   388,   392,   394,   396,
1019 <     398,   400,   402,   404,   406,   408,   409,   416,   419,   421,
1020 <     423,   425,   427,   429,   431,   433,   435,   437,   440,   445,
1021 <     450,   455,   460,   465,   470,   471,   477,   481,   483,   485,
1022 <     487,   489,   491,   493,   495,   497,   499,   501,   503,   505,
1023 <     507,   509,   511,   513,   515,   517,   519,   521,   523,   525,
1024 <     526,   532,   536,   538,   540,   542,   544,   546,   548,   550,
1025 <     552,   554,   556,   558,   560,   562,   564,   566,   568,   570,
1026 <     572,   574,   575,   582,   585,   587,   589,   591,   593,   595,
1027 <     597,   599,   601,   603,   605,   607,   609,   611,   613,   615,
1028 <     617,   619,   622,   627,   632,   637,   642,   647,   652,   657,
1029 <     662,   667,   672,   677,   682,   687,   692,   697,   698,   704,
1030 <     708,   710,   712,   714,   715,   722,   723,   729,   733,   735,
1031 <     737,   739,   741,   744,   746,   748,   750,   752,   754,   757,
1032 <     758,   764,   768,   770,   772,   776,   781,   786,   787,   794,
1033 <     797,   799,   801,   803,   805,   807,   809,   811,   813,   815,
1034 <     818,   823,   828,   833,   838,   839,   845,   849,   851,   853,
1035 <     855,   857,   859,   861,   863,   865,   867,   869,   871,   876,
1036 <     881,   886,   887,   894,   897,   899,   901,   903,   905,   908,
1037 <     913,   918,   923,   929,   932,   934,   936,   938,   943,   944,
1038 <     951,   954,   956,   958,   960,   962,   965,   970,   975,   976,
1039 <     982,   986,   988,   990,   992,   994,   996,   998,  1000,  1002,
1040 <    1004,  1006,  1008,  1009,  1016,  1019,  1021,  1023,  1025,  1028,
1041 <    1033,  1034,  1040,  1044,  1046,  1048,  1050,  1052,  1054,  1056,
1042 <    1058,  1060,  1062,  1064,  1066,  1067,  1074,  1077,  1079,  1081,
1043 <    1083,  1085,  1087,  1089,  1091,  1093,  1095,  1097,  1099,  1101,
1044 <    1103,  1105,  1108,  1113,  1118,  1123,  1128,  1133,  1138,  1143,
1045 <    1148,  1149,  1155,  1159,  1161,  1163,  1165,  1170,  1175,  1180,
1046 <    1185,  1190,  1191,  1198,  1199,  1205,  1209,  1211,  1213,  1216,
1047 <    1218,  1220,  1222,  1224,  1226,  1231,  1236,  1237,  1244,  1247,
1048 <    1249,  1251,  1253,  1255,  1260,  1265,  1271,  1274,  1276,  1278,
1049 <    1280,  1285,  1286,  1293,  1294,  1300,  1304,  1306,  1308,  1311,
1050 <    1313,  1315,  1317,  1319,  1321,  1326,  1331,  1337,  1340,  1342,
1051 <    1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,
1052 <    1364,  1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,
1053 <    1384,  1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1402,
1054 <    1404,  1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,
1055 <    1424,  1426,  1428,  1430,  1432,  1434,  1436,  1438,  1440,  1445,
1056 <    1450,  1455,  1460,  1465,  1470,  1475,  1480,  1485,  1490,  1495,
1057 <    1500,  1505,  1510,  1515,  1520,  1525,  1530,  1535,  1540,  1545,
1058 <    1550,  1555,  1560,  1565,  1570,  1575,  1580,  1585,  1590,  1595,
1059 <    1600,  1605,  1610,  1615,  1620,  1625,  1630,  1635,  1640,  1645,
1060 <    1650,  1655,  1660,  1665,  1666,  1672,  1676,  1678,  1680,  1682,
1061 <    1684,  1686,  1688,  1690,  1692,  1694,  1696,  1698,  1700,  1702,
1062 <    1704,  1706,  1708,  1710,  1712,  1714,  1716,  1718,  1719,  1725,
1063 <    1729,  1731,  1733,  1735,  1737,  1739,  1741,  1743,  1745,  1747,
1064 <    1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,  1765,  1767,
1065 <    1769,  1771,  1773,  1778,  1783,  1788,  1794,  1797,  1799,  1801,
1066 <    1803,  1805,  1807,  1809,  1811,  1813,  1815,  1817,  1819,  1821,
1067 <    1823,  1825,  1827,  1832,  1837,  1842,  1847,  1852,  1857,  1862,
1068 <    1867,  1872,  1877,  1882,  1887,  1892,  1898,  1901,  1903,  1905,
1069 <    1907,  1909,  1911,  1913,  1915,  1917,  1919,  1924,  1929,  1934,
1070 <    1939,  1944,  1949
1071 < };
1072 <
1073 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1074 < static const yytype_int16 yyrhs[] =
1075 < {
1076 <     229,     0,    -1,    -1,   229,   230,    -1,   264,    -1,   270,
1077 <      -1,   284,    -1,   491,    -1,   302,    -1,   325,    -1,   339,
1078 <      -1,   240,    -1,   507,    -1,   354,    -1,   361,    -1,   365,
1079 <      -1,   375,    -1,   384,    -1,   404,    -1,   414,    -1,   420,
1080 <      -1,   434,    -1,   424,    -1,   235,    -1,     1,   223,    -1,
1081 <       1,   224,    -1,    -1,   232,    -1,   105,   231,    -1,   105,
1082 <     142,   231,    -1,   105,   143,   231,    -1,   105,   144,   231,
1083 <      -1,   105,   145,   231,    -1,   105,   146,   231,    -1,   105,
1084 <     147,   231,    -1,   105,   148,   231,    -1,    -1,   234,    -1,
1085 <     105,   233,    -1,   105,     9,   233,    -1,   105,    10,   233,
1086 <      -1,   105,    11,   233,    -1,    95,   225,   236,   224,   223,
1087 <      -1,   236,   237,    -1,   237,    -1,   238,    -1,   239,    -1,
1088 <       1,   223,    -1,    94,   226,   123,   223,    -1,   119,   226,
1089 <     123,   223,    -1,   152,   225,   241,   224,   223,    -1,   241,
1090 <     242,    -1,   242,    -1,   253,    -1,   258,    -1,   263,    -1,
1091 <     255,    -1,   256,    -1,   257,    -1,   260,    -1,   261,    -1,
1092 <     262,    -1,   251,    -1,   250,    -1,   259,    -1,   254,    -1,
1093 <     249,    -1,   243,    -1,   244,    -1,   252,    -1,     1,   223,
1094 <      -1,   136,   226,   245,   223,    -1,   137,   226,   247,   223,
1095 <      -1,   245,   227,   246,    -1,   246,    -1,   138,    -1,   139,
1096 <      -1,   247,   227,   248,    -1,   248,    -1,   138,    -1,   139,
1097 <      -1,   134,   226,   123,   223,    -1,   132,   226,   123,   223,
1098 <      -1,   135,   226,   123,   223,    -1,   177,   226,   123,   223,
1099 <      -1,    96,   226,   123,   223,    -1,   153,   226,   123,   223,
1100 <      -1,    24,   226,   123,   223,    -1,    99,   226,   123,   223,
1101 <      -1,    98,   226,   123,   223,    -1,   217,   226,   123,   223,
1102 <      -1,   218,   226,   123,   223,    -1,   187,   226,   105,   223,
1103 <      -1,    82,   226,   105,   223,    -1,    86,   226,   105,   223,
1104 <      -1,    58,   226,   166,   223,    -1,     4,   225,   265,   224,
1105 <     223,    -1,   265,   266,    -1,   266,    -1,   267,    -1,   269,
1106 <      -1,   268,    -1,     1,   223,    -1,    96,   226,   123,   223,
1107 <      -1,    31,   226,   123,   223,    -1,    24,   226,   123,   223,
1108 <      -1,    72,   225,   271,   224,   223,    -1,   271,   272,    -1,
1109 <     272,    -1,   273,    -1,   274,    -1,     1,   223,    -1,   216,
1110 <     226,   166,   223,    -1,    -1,   275,   222,   225,   276,   224,
1111 <     223,    -1,   276,   277,    -1,   277,    -1,   278,    -1,   280,
1112 <      -1,   279,    -1,     1,   223,    -1,    96,   226,   123,   223,
1113 <      -1,   221,   226,   234,   223,    -1,   221,   226,   202,   223,
1114 <      -1,    -1,   157,   281,   226,   282,   223,    -1,   282,   227,
1115 <     283,    -1,   283,    -1,   214,    -1,   108,    -1,    40,    -1,
1116 <     180,    -1,    65,    -1,    63,    -1,   179,    -1,    -1,   108,
1117 <     285,   225,   286,   224,   223,    -1,   286,   287,    -1,   287,
1118 <      -1,   288,    -1,   289,    -1,   290,    -1,   294,    -1,   293,
1119 <      -1,   291,    -1,   292,    -1,   298,    -1,     1,   223,    -1,
1120 <      96,   226,   123,   223,    -1,   214,   226,   123,   223,    -1,
1121 <     118,   226,   123,   223,    -1,    32,   226,   166,   223,    -1,
1122 <     133,   226,   123,   223,    -1,    17,   226,   123,   223,    -1,
1123 <      -1,   199,   295,   226,   296,   223,    -1,   296,   227,   297,
1124 <      -1,   297,    -1,   172,    -1,   175,    -1,   176,    -1,   178,
1125 <      -1,   179,    -1,   182,    -1,    51,    -1,   196,    -1,   188,
1126 <      -1,   192,    -1,   200,    -1,   197,    -1,   181,    -1,   190,
1127 <      -1,   194,    -1,   183,    -1,   206,    -1,   173,    -1,   174,
1128 <      -1,   186,    -1,   189,    -1,    -1,    36,   299,   226,   300,
1129 <     223,    -1,   300,   227,   301,    -1,   301,    -1,    47,    -1,
1130 <     130,    -1,    65,    -1,   213,    -1,   180,    -1,   201,    -1,
1131 <     219,    -1,    40,    -1,    25,    -1,   208,    -1,   129,    -1,
1132 <       4,    -1,   190,    -1,   205,    -1,   112,    -1,   131,    -1,
1133 <     195,    -1,    94,    -1,    -1,    17,   303,   225,   304,   224,
1134 <     223,    -1,   304,   305,    -1,   305,    -1,   306,    -1,   316,
1135 <      -1,   317,    -1,   307,    -1,   318,    -1,   308,    -1,   309,
1136 <      -1,   310,    -1,   311,    -1,   312,    -1,   313,    -1,   314,
1137 <      -1,   315,    -1,   319,    -1,   320,    -1,   321,    -1,     1,
1138 <     223,    -1,    96,   226,   123,   223,    -1,   121,   226,   232,
1139 <     223,    -1,   107,   226,   105,   223,    -1,    19,   226,   232,
1140 <     223,    -1,    84,   226,   105,   223,    -1,    78,   226,   105,
1141 <     223,    -1,    80,   226,   105,   223,    -1,    79,   226,   105,
1142 <     223,    -1,   149,   226,   234,   223,    -1,   191,   226,   234,
1143 <     223,    -1,    15,   226,   105,   223,    -1,    16,   226,   105,
1144 <     223,    -1,   106,   226,   105,   223,    -1,    90,   226,   232,
1145 <     223,    -1,    91,   226,   232,   223,    -1,    -1,    36,   322,
1146 <     226,   323,   223,    -1,   323,   227,   324,    -1,   324,    -1,
1147 <      92,    -1,    93,    -1,    -1,    71,   326,   225,   331,   224,
1148 <     223,    -1,    -1,    36,   328,   226,   329,   223,    -1,   329,
1149 <     227,   330,    -1,   330,    -1,   198,    -1,    51,    -1,   193,
1150 <      -1,   331,   332,    -1,   332,    -1,   333,    -1,   327,    -1,
1151 <     337,    -1,   338,    -1,     1,   223,    -1,    -1,   122,   226,
1152 <     335,   334,   223,    -1,   335,   227,   336,    -1,   336,    -1,
1153 <     105,    -1,   105,   170,   105,    -1,    62,   226,   123,   223,
1154 <      -1,    57,   226,   123,   223,    -1,    -1,    48,   340,   225,
1155 <     341,   224,   223,    -1,   341,   342,    -1,   342,    -1,   343,
1156 <      -1,   344,    -1,   345,    -1,   347,    -1,   351,    -1,   352,
1157 <      -1,   353,    -1,   346,    -1,     1,   223,    -1,   214,   226,
1158 <     123,   223,    -1,   118,   226,   123,   223,    -1,    17,   226,
1159 <     123,   223,    -1,    32,   226,   166,   223,    -1,    -1,    36,
1160 <     348,   226,   349,   223,    -1,   349,   227,   350,    -1,   350,
1161 <      -1,   160,    -1,    33,    -1,    66,    -1,    49,    -1,    13,
1162 <      -1,   104,    -1,    43,    -1,   141,    -1,   207,    -1,    97,
1163 <      -1,   159,   226,   123,   223,    -1,   127,   226,   123,   223,
1164 <      -1,   126,   226,   105,   223,    -1,    -1,   140,   355,   225,
1165 <     356,   224,   223,    -1,   356,   357,    -1,   357,    -1,   358,
1166 <      -1,   359,    -1,   360,    -1,     1,   223,    -1,    73,   226,
1167 <     123,   223,    -1,   125,   226,   123,   223,    -1,    34,   226,
1168 <     123,   223,    -1,   209,   225,   362,   224,   223,    -1,   362,
1169 <     363,    -1,   363,    -1,   364,    -1,     1,    -1,    96,   226,
1170 <     123,   223,    -1,    -1,   155,   366,   225,   367,   224,   223,
1171 <      -1,   367,   368,    -1,   368,    -1,   369,    -1,   370,    -1,
1172 <     371,    -1,     1,   223,    -1,    96,   226,   123,   223,    -1,
1173 <     214,   226,   123,   223,    -1,    -1,   157,   372,   226,   373,
1174 <     223,    -1,   373,   227,   374,    -1,   374,    -1,    65,    -1,
1175 <     213,    -1,   180,    -1,   201,    -1,   219,    -1,   204,    -1,
1176 <     140,    -1,   203,    -1,   186,    -1,   171,    -1,    -1,   156,
1177 <     376,   225,   377,   224,   223,    -1,   377,   378,    -1,   378,
1178 <      -1,   379,    -1,   380,    -1,     1,   223,    -1,    96,   226,
1179 <     123,   223,    -1,    -1,   157,   381,   226,   382,   223,    -1,
1180 <     382,   227,   383,    -1,   383,    -1,    65,    -1,   213,    -1,
1181 <     180,    -1,   201,    -1,   219,    -1,   204,    -1,   140,    -1,
1182 <     203,    -1,   186,    -1,   171,    -1,    -1,    18,   385,   225,
1183 <     386,   224,   223,    -1,   386,   387,    -1,   387,    -1,   388,
1184 <      -1,   389,    -1,   390,    -1,   391,    -1,   392,    -1,   394,
1185 <      -1,   393,    -1,   403,    -1,   395,    -1,   400,    -1,   401,
1186 <      -1,   402,    -1,   399,    -1,     1,   223,    -1,    96,   226,
1187 <     123,   223,    -1,    57,   226,   123,   223,    -1,   217,   226,
1188 <     123,   223,    -1,   150,   226,   123,   223,    -1,     3,   226,
1189 <     123,   223,    -1,   122,   226,   105,   223,    -1,     5,   226,
1190 <     184,   223,    -1,     5,   226,   185,   223,    -1,    -1,    36,
1191 <     396,   226,   397,   223,    -1,   397,   227,   398,    -1,   398,
1192 <      -1,     8,    -1,   198,    -1,    32,   226,   166,   223,    -1,
1193 <      59,   226,   123,   223,    -1,    69,   226,   123,   223,    -1,
1194 <      17,   226,   123,   223,    -1,   177,   226,   123,   223,    -1,
1195 <      -1,    63,   405,   225,   410,   224,   223,    -1,    -1,   157,
1196 <     407,   226,   408,   223,    -1,   408,   227,   409,    -1,   409,
1197 <      -1,   128,    -1,   410,   411,    -1,   411,    -1,   412,    -1,
1198 <     413,    -1,   406,    -1,     1,    -1,   214,   226,   123,   223,
1199 <      -1,   125,   226,   123,   223,    -1,    -1,    23,   415,   225,
1200 <     416,   224,   223,    -1,   416,   417,    -1,   417,    -1,   418,
1201 <      -1,   419,    -1,     1,    -1,    62,   226,   123,   223,    -1,
1202 <     125,   226,   123,   223,    -1,    34,   225,   421,   224,   223,
1203 <      -1,   421,   422,    -1,   422,    -1,   423,    -1,     1,    -1,
1204 <      62,   226,   123,   223,    -1,    -1,    38,   425,   225,   430,
1205 <     224,   223,    -1,    -1,   157,   427,   226,   428,   223,    -1,
1206 <     428,   227,   429,    -1,   429,    -1,   128,    -1,   430,   431,
1207 <      -1,   431,    -1,   432,    -1,   433,    -1,   426,    -1,     1,
1208 <      -1,    96,   226,   123,   223,    -1,   125,   226,   123,   223,
1209 <      -1,    39,   225,   435,   224,   223,    -1,   435,   436,    -1,
1210 <     436,    -1,   445,    -1,   446,    -1,   448,    -1,   449,    -1,
1211 <     450,    -1,   451,    -1,   452,    -1,   453,    -1,   454,    -1,
1212 <     455,    -1,   444,    -1,   457,    -1,   458,    -1,   472,    -1,
1213 <     460,    -1,   462,    -1,   464,    -1,   463,    -1,   467,    -1,
1214 <     461,    -1,   468,    -1,   469,    -1,   470,    -1,   471,    -1,
1215 <     484,    -1,   473,    -1,   474,    -1,   475,    -1,   480,    -1,
1216 <     465,    -1,   466,    -1,   490,    -1,   488,    -1,   489,    -1,
1217 <     447,    -1,   479,    -1,   456,    -1,   477,    -1,   478,    -1,
1218 <     443,    -1,   438,    -1,   439,    -1,   440,    -1,   441,    -1,
1219 <     442,    -1,   459,    -1,   437,    -1,   476,    -1,     1,    -1,
1220 <      87,   226,   105,   223,    -1,    42,   226,   166,   223,    -1,
1221 <      41,   226,   232,   223,    -1,    44,   226,   232,   223,    -1,
1222 <      45,   226,   105,   223,    -1,    46,   226,   105,   223,    -1,
1223 <     154,   226,   166,   223,    -1,    64,   226,   232,   223,    -1,
1224 <      56,   226,   166,   223,    -1,    60,   226,   166,   223,    -1,
1225 <      28,   226,   166,   223,    -1,    35,   226,   166,   223,    -1,
1226 <       6,   226,   166,   223,    -1,    83,   226,   232,   223,    -1,
1227 <      81,   226,   105,   223,    -1,    74,   226,   105,   223,    -1,
1228 <       7,   226,   232,   223,    -1,   169,   226,   232,   223,    -1,
1229 <     168,   226,   232,   223,    -1,    50,   226,   105,   223,    -1,
1230 <      61,   226,   166,   223,    -1,   220,   226,   166,   223,    -1,
1231 <     161,   226,   166,   223,    -1,   164,   226,   166,   223,    -1,
1232 <     165,   226,   166,   223,    -1,   163,   226,   166,   223,    -1,
1233 <     163,   226,   167,   223,    -1,   162,   226,   166,   223,    -1,
1234 <     162,   226,   167,   223,    -1,   116,   226,   232,   223,    -1,
1235 <      12,   226,   232,   223,    -1,   109,   226,   166,   223,    -1,
1236 <     117,   226,   232,   223,    -1,   158,   226,   166,   223,    -1,
1237 <     103,   226,   166,   223,    -1,   212,   226,   166,   223,    -1,
1238 <     111,   226,   166,   223,    -1,    29,   226,   105,   223,    -1,
1239 <      85,   226,   105,   223,    -1,   215,   226,   166,   223,    -1,
1240 <      30,   226,   123,   223,    -1,   210,   226,   123,   223,    -1,
1241 <     120,   226,   166,   223,    -1,    26,   226,   166,   223,    -1,
1242 <     211,   226,   232,   223,    -1,    -1,   113,   481,   226,   482,
1243 <     223,    -1,   482,   227,   483,    -1,   483,    -1,   172,    -1,
1244 <     175,    -1,   176,    -1,   178,    -1,   179,    -1,   182,    -1,
1245 <      51,    -1,   196,    -1,   188,    -1,   192,    -1,   200,    -1,
1246 <     197,    -1,   181,    -1,   190,    -1,   194,    -1,   183,    -1,
1247 <     206,    -1,   173,    -1,   174,    -1,   186,    -1,    -1,   110,
1248 <     485,   226,   486,   223,    -1,   486,   227,   487,    -1,   487,
1249 <      -1,   172,    -1,   175,    -1,   176,    -1,   178,    -1,   179,
1250 <      -1,   182,    -1,   196,    -1,    51,    -1,   188,    -1,   192,
1251 <      -1,   200,    -1,   197,    -1,   181,    -1,   190,    -1,   194,
1252 <      -1,   183,    -1,   206,    -1,   173,    -1,   174,    -1,   186,
1253 <      -1,   189,    -1,    88,   226,   105,   223,    -1,    89,   226,
1254 <     105,   223,    -1,    20,   226,   105,   223,    -1,    14,   225,
1255 <     492,   224,   223,    -1,   492,   493,    -1,   493,    -1,   500,
1256 <      -1,   495,    -1,   496,    -1,   497,    -1,   498,    -1,   499,
1257 <      -1,   501,    -1,   502,    -1,   503,    -1,   504,    -1,   505,
1258 <      -1,   506,    -1,   494,    -1,     1,    -1,    27,   226,   166,
1259 <     223,    -1,    67,   226,   232,   223,    -1,    68,   226,   232,
1260 <     223,    -1,    77,   226,   105,   223,    -1,    76,   226,   105,
1261 <     223,    -1,   124,   226,   166,   223,    -1,    75,   226,   105,
1262 <     223,    -1,    22,   226,   105,   223,    -1,    21,   226,   105,
1263 <     223,    -1,   101,   226,   166,   223,    -1,   102,   226,   166,
1264 <     223,    -1,   114,   226,   105,   223,    -1,   115,   226,   232,
1265 <     223,    -1,   151,   225,   508,   224,   223,    -1,   508,   509,
1266 <      -1,   509,    -1,   510,    -1,   511,    -1,   512,    -1,   514,
1267 <      -1,   515,    -1,   513,    -1,   516,    -1,     1,    -1,    37,
1268 <     226,   166,   223,    -1,    54,   226,   166,   223,    -1,    55,
1269 <     226,   166,   223,    -1,    52,   226,   123,   223,    -1,    70,
1270 <     226,   232,   223,    -1,    51,   226,   166,   223,    -1,    53,
1271 <     226,   166,   223,    -1
1272 < };
1273 <
1274 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1020 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1021   static const yytype_uint16 yyrline[] =
1022   {
1023 <       0,   364,   364,   365,   368,   369,   370,   371,   372,   373,
1024 <     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
1025 <     384,   385,   386,   387,   388,   389,   393,   393,   394,   398,
1026 <     402,   406,   410,   414,   418,   422,   428,   428,   429,   430,
1027 <     431,   432,   439,   442,   442,   443,   443,   443,   445,   451,
1028 <     458,   460,   460,   461,   461,   462,   462,   463,   463,   464,
1029 <     464,   465,   465,   466,   466,   467,   467,   468,   468,   469,
1030 <     470,   473,   474,   476,   476,   477,   483,   491,   491,   492,
1031 <     498,   506,   548,   607,   635,   643,   658,   673,   682,   696,
1032 <     705,   733,   763,   788,   810,   832,   841,   843,   843,   844,
1033 <     844,   845,   845,   847,   856,   865,   877,   878,   878,   880,
1034 <     880,   881,   883,   890,   890,   903,   904,   906,   906,   907,
1035 <     907,   909,   917,   920,   926,   925,   931,   931,   932,   936,
1036 <     940,   944,   948,   952,   956,   967,   966,  1043,  1043,  1044,
1037 <    1044,  1044,  1045,  1045,  1045,  1046,  1046,  1046,  1048,  1054,
1038 <    1060,  1066,  1077,  1083,  1090,  1089,  1095,  1095,  1096,  1100,
1039 <    1104,  1108,  1112,  1116,  1120,  1124,  1128,  1132,  1136,  1140,
1040 <    1144,  1148,  1152,  1156,  1160,  1164,  1168,  1172,  1176,  1183,
1041 <    1182,  1188,  1188,  1189,  1193,  1197,  1201,  1205,  1209,  1213,
1042 <    1217,  1221,  1225,  1229,  1233,  1237,  1241,  1245,  1249,  1253,
1043 <    1257,  1268,  1267,  1328,  1328,  1329,  1330,  1330,  1331,  1332,
1044 <    1333,  1334,  1335,  1336,  1337,  1338,  1339,  1339,  1340,  1341,
1045 <    1342,  1343,  1345,  1351,  1357,  1363,  1369,  1375,  1381,  1387,
1046 <    1393,  1399,  1406,  1412,  1418,  1424,  1433,  1443,  1442,  1448,
1047 <    1448,  1449,  1453,  1464,  1463,  1470,  1469,  1474,  1474,  1475,
1048 <    1479,  1483,  1489,  1489,  1490,  1490,  1490,  1490,  1490,  1492,
1049 <    1492,  1494,  1494,  1496,  1510,  1530,  1536,  1546,  1545,  1587,
1050 <    1587,  1588,  1588,  1588,  1588,  1589,  1589,  1589,  1590,  1590,
1051 <    1592,  1598,  1604,  1610,  1622,  1621,  1627,  1627,  1628,  1632,
1052 <    1636,  1640,  1644,  1648,  1652,  1656,  1660,  1664,  1670,  1684,
1053 <    1693,  1707,  1706,  1721,  1721,  1722,  1722,  1722,  1722,  1724,
1054 <    1730,  1736,  1746,  1748,  1748,  1749,  1749,  1751,  1767,  1766,
1055 <    1791,  1791,  1792,  1792,  1792,  1792,  1794,  1800,  1820,  1819,
1056 <    1825,  1825,  1826,  1830,  1834,  1838,  1842,  1846,  1850,  1854,
1057 <    1858,  1862,  1872,  1871,  1892,  1892,  1893,  1893,  1893,  1895,
1058 <    1902,  1901,  1907,  1907,  1908,  1912,  1916,  1920,  1924,  1928,
1059 <    1932,  1936,  1940,  1944,  1954,  1953,  2019,  2019,  2020,  2020,
1060 <    2020,  2021,  2021,  2022,  2022,  2022,  2023,  2023,  2023,  2024,
1061 <    2024,  2025,  2027,  2033,  2039,  2045,  2058,  2071,  2077,  2081,
1062 <    2090,  2089,  2094,  2094,  2095,  2099,  2105,  2116,  2122,  2128,
1063 <    2134,  2150,  2149,  2212,  2211,  2217,  2217,  2218,  2224,  2224,
1064 <    2225,  2225,  2225,  2225,  2227,  2247,  2257,  2256,  2283,  2283,
1065 <    2284,  2284,  2284,  2286,  2292,  2301,  2303,  2303,  2304,  2304,
1066 <    2306,  2324,  2323,  2369,  2368,  2374,  2374,  2375,  2381,  2381,
1067 <    2382,  2382,  2382,  2382,  2384,  2390,  2399,  2402,  2402,  2403,
1068 <    2403,  2404,  2404,  2405,  2405,  2406,  2406,  2407,  2407,  2408,
1069 <    2409,  2410,  2410,  2411,  2411,  2412,  2412,  2413,  2413,  2414,
1070 <    2414,  2415,  2415,  2416,  2416,  2417,  2417,  2418,  2418,  2419,
1071 <    2419,  2420,  2420,  2421,  2422,  2422,  2423,  2424,  2425,  2425,
1072 <    2426,  2426,  2427,  2428,  2429,  2430,  2430,  2431,  2434,  2439,
1073 <    2445,  2451,  2457,  2462,  2467,  2472,  2477,  2482,  2487,  2492,
1074 <    2497,  2502,  2507,  2512,  2517,  2522,  2527,  2533,  2544,  2549,
1075 <    2554,  2559,  2564,  2569,  2572,  2577,  2580,  2585,  2590,  2595,
1076 <    2600,  2605,  2610,  2615,  2620,  2625,  2630,  2635,  2640,  2649,
1077 <    2658,  2663,  2668,  2674,  2673,  2678,  2678,  2679,  2682,  2685,
1078 <    2688,  2691,  2694,  2697,  2700,  2703,  2706,  2709,  2712,  2715,
1079 <    2718,  2721,  2724,  2727,  2730,  2733,  2736,  2742,  2741,  2746,
1080 <    2746,  2747,  2750,  2753,  2756,  2759,  2762,  2765,  2768,  2771,
1081 <    2774,  2777,  2780,  2783,  2786,  2789,  2792,  2795,  2798,  2801,
1082 <    2804,  2807,  2812,  2817,  2822,  2831,  2834,  2834,  2835,  2836,
1083 <    2836,  2837,  2837,  2838,  2838,  2839,  2840,  2841,  2842,  2842,
1084 <    2843,  2843,  2845,  2850,  2855,  2860,  2865,  2870,  2875,  2880,
1085 <    2885,  2890,  2895,  2900,  2905,  2913,  2916,  2916,  2917,  2917,
1086 <    2918,  2919,  2920,  2920,  2921,  2922,  2924,  2930,  2936,  2942,
1087 <    2951,  2965,  2971
1023 >       0,   380,   380,   381,   384,   385,   386,   387,   388,   389,
1024 >     390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
1025 >     400,   401,   402,   403,   404,   405,   406,   410,   410,   411,
1026 >     412,   413,   414,   415,   416,   417,   418,   421,   421,   422,
1027 >     423,   424,   425,   432,   435,   435,   436,   436,   436,   438,
1028 >     444,   451,   453,   453,   454,   455,   456,   457,   458,   459,
1029 >     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1030 >     470,   471,   474,   475,   477,   477,   478,   484,   492,   492,
1031 >     493,   499,   507,   549,   607,   635,   643,   658,   673,   682,
1032 >     696,   705,   733,   763,   788,   810,   832,   841,   843,   843,
1033 >     844,   845,   846,   847,   849,   858,   867,   880,   879,   897,
1034 >     897,   898,   898,   898,   900,   906,   915,   916,   916,   918,
1035 >     918,   919,   921,   928,   928,   941,   942,   944,   944,   945,
1036 >     945,   947,   955,   958,   964,   963,   969,   969,   970,   974,
1037 >     978,   982,   986,   990,   994,   998,  1002,  1013,  1012,  1092,
1038 >    1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,  1101,
1039 >    1102,  1103,  1105,  1111,  1117,  1123,  1134,  1140,  1146,  1157,
1040 >    1164,  1163,  1169,  1169,  1170,  1174,  1178,  1182,  1186,  1190,
1041 >    1194,  1198,  1202,  1206,  1210,  1214,  1218,  1222,  1226,  1230,
1042 >    1234,  1238,  1242,  1246,  1250,  1254,  1258,  1265,  1264,  1270,
1043 >    1270,  1271,  1275,  1279,  1283,  1287,  1291,  1295,  1299,  1303,
1044 >    1307,  1311,  1315,  1319,  1323,  1327,  1331,  1335,  1339,  1343,
1045 >    1347,  1351,  1355,  1359,  1363,  1374,  1373,  1434,  1434,  1435,
1046 >    1436,  1437,  1438,  1439,  1440,  1441,  1442,  1443,  1444,  1445,
1047 >    1446,  1446,  1447,  1448,  1449,  1450,  1452,  1458,  1464,  1470,
1048 >    1476,  1482,  1488,  1494,  1500,  1506,  1513,  1519,  1525,  1531,
1049 >    1540,  1550,  1549,  1555,  1555,  1556,  1560,  1571,  1570,  1577,
1050 >    1576,  1581,  1581,  1582,  1586,  1590,  1596,  1596,  1597,  1597,
1051 >    1597,  1597,  1597,  1599,  1599,  1601,  1601,  1603,  1617,  1635,
1052 >    1641,  1651,  1650,  1692,  1692,  1693,  1694,  1695,  1696,  1697,
1053 >    1698,  1699,  1700,  1701,  1703,  1709,  1715,  1721,  1733,  1732,
1054 >    1738,  1738,  1739,  1743,  1747,  1751,  1755,  1759,  1763,  1767,
1055 >    1771,  1775,  1781,  1795,  1804,  1818,  1817,  1832,  1832,  1833,
1056 >    1833,  1833,  1833,  1835,  1841,  1847,  1857,  1859,  1859,  1860,
1057 >    1860,  1862,  1878,  1877,  1902,  1902,  1903,  1903,  1903,  1903,
1058 >    1905,  1911,  1931,  1930,  1936,  1936,  1937,  1941,  1945,  1949,
1059 >    1953,  1957,  1961,  1965,  1969,  1973,  1983,  1982,  2003,  2003,
1060 >    2004,  2004,  2004,  2006,  2013,  2012,  2018,  2018,  2019,  2023,
1061 >    2027,  2031,  2035,  2039,  2043,  2047,  2051,  2055,  2065,  2064,
1062 >    2136,  2136,  2137,  2138,  2139,  2140,  2141,  2142,  2143,  2144,
1063 >    2145,  2146,  2147,  2148,  2149,  2150,  2151,  2153,  2159,  2165,
1064 >    2171,  2184,  2197,  2203,  2209,  2213,  2222,  2221,  2226,  2226,
1065 >    2227,  2231,  2237,  2248,  2254,  2260,  2266,  2282,  2281,  2307,
1066 >    2307,  2308,  2308,  2308,  2310,  2330,  2340,  2339,  2366,  2366,
1067 >    2367,  2367,  2367,  2369,  2375,  2384,  2386,  2386,  2387,  2387,
1068 >    2389,  2407,  2406,  2429,  2429,  2430,  2430,  2430,  2432,  2438,
1069 >    2447,  2450,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,
1070 >    2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2467,
1071 >    2468,  2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,
1072 >    2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,
1073 >    2488,  2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,
1074 >    2498,  2499,  2500,  2503,  2508,  2514,  2520,  2526,  2532,  2537,
1075 >    2542,  2547,  2552,  2557,  2562,  2567,  2572,  2577,  2582,  2587,
1076 >    2592,  2597,  2603,  2614,  2619,  2624,  2629,  2634,  2639,  2644,
1077 >    2647,  2652,  2655,  2660,  2665,  2670,  2675,  2680,  2685,  2690,
1078 >    2695,  2700,  2705,  2710,  2715,  2724,  2733,  2738,  2743,  2749,
1079 >    2748,  2753,  2753,  2754,  2757,  2760,  2763,  2766,  2769,  2772,
1080 >    2775,  2778,  2781,  2784,  2787,  2790,  2793,  2796,  2799,  2802,
1081 >    2805,  2808,  2811,  2814,  2817,  2820,  2826,  2825,  2830,  2830,
1082 >    2831,  2834,  2837,  2840,  2843,  2846,  2849,  2852,  2855,  2858,
1083 >    2861,  2864,  2867,  2870,  2873,  2876,  2879,  2882,  2885,  2888,
1084 >    2891,  2896,  2901,  2906,  2915,  2918,  2918,  2919,  2920,  2921,
1085 >    2922,  2923,  2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,
1086 >    2932,  2933,  2935,  2940,  2945,  2950,  2955,  2960,  2965,  2970,
1087 >    2975,  2980,  2985,  2990,  2995,  3000,  3008,  3011,  3011,  3012,
1088 >    3013,  3014,  3015,  3016,  3017,  3018,  3019,  3020,  3022,  3028,
1089 >    3034,  3040,  3046,  3055,  3069,  3075
1090   };
1091   #endif
1092  
# Line 1351 | Line 1099 | static const char *const yytname[] =
1099    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1100    "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1101    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1102 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1103 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1104 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1105 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1106 <  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1107 <  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1108 <  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1109 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1110 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES",
1111 <  "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS",
1112 <  "INVISIBLE_ON_CONNECT", "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1113 <  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1114 <  "LINKS_DELAY", "LISTEN", "T_LOG", "MASK", "MAX_ACCEPT", "MAX_BANS",
1115 <  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1116 <  "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME",
1117 <  "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH",
1118 <  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MIN_IDLE", "MAX_IDLE",
1119 <  "RANDOM_IDLE", "HIDE_IDLE_FROM_OPERS", "MODULE", "MODULES", "NAME",
1120 <  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1102 >  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1103 >  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1104 >  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1105 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
1106 >  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1107 >  "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1108 >  "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1109 >  "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1110 >  "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS",
1111 >  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1112 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1113 >  "INVITE_DELAY", "INVITE_DELAY_CHANNEL", "IP", "IRCD_AUTH", "IRCD_FLAGS",
1114 >  "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1115 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY",
1116 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1117 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1118 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1119 >  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1120 >  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1121 >  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1122 >  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1123    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1124 <  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1125 <  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1376 <  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1124 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1125 >  "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1126    "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1127 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1128 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1129 <  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1130 <  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1131 <  "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1132 <  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SENDQ", "SEND_PASSWORD",
1133 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1134 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1135 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1136 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1137 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1138 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1139 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1140 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1141 <  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1142 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1143 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1144 <  "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART", "T_SERVICE",
1145 <  "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE",
1146 <  "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1147 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1148 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1149 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1150 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1151 <  "serverinfo_item", "serverinfo_ssl_client_method",
1127 >  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1128 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1129 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1130 >  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1131 >  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1132 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1133 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1134 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1135 >  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1136 >  "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE",
1137 >  "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1138 >  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1139 >  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1140 >  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1141 >  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1142 >  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1143 >  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1144 >  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1145 >  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1146 >  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1147 >  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1148 >  "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='", "','",
1149 >  "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1150 >  "sizespec_", "sizespec", "modules_entry", "modules_items",
1151 >  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1152 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method",
1153    "serverinfo_ssl_server_method", "client_method_types",
1154    "client_method_type_item", "server_method_types",
1155    "server_method_type_item", "serverinfo_ssl_certificate_file",
# Line 1410 | Line 1160 | static const char *const yytname[] =
1160    "serverinfo_max_clients", "serverinfo_max_nick_length",
1161    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1162    "admin_items", "admin_item", "admin_name", "admin_email",
1163 <  "admin_description", "logging_entry", "logging_items", "logging_item",
1164 <  "logging_use_logging", "logging_file_entry", "$@1", "logging_file_items",
1165 <  "logging_file_item", "logging_file_name", "logging_file_size",
1166 <  "logging_file_type", "$@2", "logging_file_type_items",
1167 <  "logging_file_type_item", "oper_entry", "$@3", "oper_items", "oper_item",
1168 <  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1169 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@4",
1170 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@5",
1171 <  "oper_flags_items", "oper_flags_item", "class_entry", "$@6",
1172 <  "class_items", "class_item", "class_name", "class_ping_time",
1173 <  "class_number_per_ip", "class_connectfreq", "class_max_number",
1174 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1175 <  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1163 >  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1164 >  "motd_mask", "motd_file", "logging_entry", "logging_items",
1165 >  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1166 >  "logging_file_items", "logging_file_item", "logging_file_name",
1167 >  "logging_file_size", "logging_file_type", "$@3",
1168 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1169 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1170 >  "oper_encrypted", "oper_rsa_public_key_file",
1171 >  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1172 >  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1173 >  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1174 >  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1175 >  "class_name", "class_ping_time", "class_number_per_ip",
1176 >  "class_connectfreq", "class_max_number", "class_max_global",
1177 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1178 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1179    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1180 <  "class_flags", "$@7", "class_flags_items", "class_flags_item",
1181 <  "listen_entry", "$@8", "listen_flags", "$@9", "listen_flags_items",
1180 >  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1181 >  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1182    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1183 <  "$@10", "port_items", "port_item", "listen_address", "listen_host",
1184 <  "auth_entry", "$@11", "auth_items", "auth_item", "auth_user",
1185 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@12",
1183 >  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1184 >  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1185 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1186    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1187 <  "auth_redir_port", "resv_entry", "$@13", "resv_items", "resv_item",
1187 >  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1188    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1189 <  "service_items", "service_item", "service_name", "shared_entry", "$@14",
1189 >  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1190    "shared_items", "shared_item", "shared_name", "shared_user",
1191 <  "shared_type", "$@15", "shared_types", "shared_type_item",
1192 <  "cluster_entry", "$@16", "cluster_items", "cluster_item", "cluster_name",
1193 <  "cluster_type", "$@17", "cluster_types", "cluster_type_item",
1194 <  "connect_entry", "$@18", "connect_items", "connect_item", "connect_name",
1191 >  "shared_type", "$@16", "shared_types", "shared_type_item",
1192 >  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1193 >  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1194 >  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1195    "connect_host", "connect_vhost", "connect_send_password",
1196 <  "connect_accept_password", "connect_port", "connect_aftype",
1197 <  "connect_flags", "$@19", "connect_flags_items", "connect_flags_item",
1198 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1199 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@20",
1200 <  "kill_type", "$@21", "kill_type_items", "kill_type_item", "kill_items",
1196 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1197 >  "connect_port", "connect_aftype", "connect_flags", "$@20",
1198 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1199 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1200 >  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1201    "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1202    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1203    "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1451  "gecos_flags", "$@24", "gecos_flags_items", "gecos_flags_item",
1204    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1205    "general_entry", "general_items", "general_item", "general_max_watch",
1206 <  "general_gline_enable", "general_gline_duration",
1207 <  "general_gline_request_duration", "general_gline_min_cidr",
1208 <  "general_gline_min_cidr6", "general_tkline_expire_notices",
1209 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1210 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1206 >  "general_cycle_on_host_change", "general_gline_enable",
1207 >  "general_gline_duration", "general_gline_request_duration",
1208 >  "general_gline_min_cidr", "general_gline_min_cidr6",
1209 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1210 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1211    "general_failed_oper_notice", "general_anti_nick_flood",
1212    "general_max_nick_time", "general_max_nick_changes",
1213    "general_max_accept", "general_anti_spam_exit_message_time",
1214    "general_ts_warn_delta", "general_ts_max_delta",
1215    "general_havent_read_conf", "general_invisible_on_connect",
1216 <  "general_warn_no_nline", "general_stats_e_disabled",
1216 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1217    "general_stats_o_oper_only", "general_stats_P_oper_only",
1218 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1219 <  "general_pace_wait", "general_caller_id_wait",
1220 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1221 <  "general_short_motd", "general_no_oper_flood",
1222 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1223 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1224 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1225 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1226 <  "$@25", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1227 <  "$@26", "umode_items", "umode_item", "general_min_nonwildcard",
1228 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1229 <  "channel_entry", "channel_items", "channel_item",
1230 <  "channel_disable_fake_channels", "channel_knock_delay",
1231 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1232 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1218 >  "general_stats_u_oper_only", "general_stats_k_oper_only",
1219 >  "general_stats_i_oper_only", "general_pace_wait",
1220 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1221 >  "general_pace_wait_simple", "general_short_motd",
1222 >  "general_no_oper_flood", "general_true_no_oper_flood",
1223 >  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1224 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1225 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1226 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1227 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1228 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1229 >  "general_default_floodcount", "channel_entry", "channel_items",
1230 >  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1231 >  "channel_knock_delay_channel", "channel_invite_delay",
1232 >  "channel_invite_delay_channel", "channel_max_chans_per_user",
1233 >  "channel_max_chans_per_oper", "channel_max_bans",
1234    "channel_default_split_user_count", "channel_default_split_server_count",
1235    "channel_no_create_on_split", "channel_no_join_on_split",
1236    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1237    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1238 <  "serverhide_hide_servers", "serverhide_hide_services",
1239 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1240 <  "serverhide_hide_server_ips", YY_NULL
1238 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1239 >  "serverhide_hide_services", "serverhide_hidden_name",
1240 >  "serverhide_links_delay", "serverhide_hidden",
1241 >  "serverhide_hide_server_ips", YY_NULLPTR
1242   };
1243   #endif
1244  
1245   # ifdef YYPRINT
1246 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1247 <   token YYLEX-NUM.  */
1246 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1247 >   (internal) symbol number NUM (which must be that of a token).  */
1248   static const yytype_uint16 yytoknum[] =
1249   {
1250         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1515 | Line 1269 | static const yytype_uint16 yytoknum[] =
1269       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1270       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1271       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1272 <     475,   476,   477,    59,   125,   123,    61,    44
1272 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1273 >     485,    59,   125,   123,    61,    44,    58
1274   };
1275   # endif
1276  
1277 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1523 < static const yytype_uint16 yyr1[] =
1524 < {
1525 <       0,   228,   229,   229,   230,   230,   230,   230,   230,   230,
1526 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1527 <     230,   230,   230,   230,   230,   230,   231,   231,   232,   232,
1528 <     232,   232,   232,   232,   232,   232,   233,   233,   234,   234,
1529 <     234,   234,   235,   236,   236,   237,   237,   237,   238,   239,
1530 <     240,   241,   241,   242,   242,   242,   242,   242,   242,   242,
1531 <     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
1532 <     242,   243,   244,   245,   245,   246,   246,   247,   247,   248,
1533 <     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1534 <     258,   259,   260,   261,   262,   263,   264,   265,   265,   266,
1535 <     266,   266,   266,   267,   268,   269,   270,   271,   271,   272,
1536 <     272,   272,   273,   275,   274,   276,   276,   277,   277,   277,
1537 <     277,   278,   279,   279,   281,   280,   282,   282,   283,   283,
1538 <     283,   283,   283,   283,   283,   285,   284,   286,   286,   287,
1539 <     287,   287,   287,   287,   287,   287,   287,   287,   288,   289,
1540 <     290,   291,   292,   293,   295,   294,   296,   296,   297,   297,
1541 <     297,   297,   297,   297,   297,   297,   297,   297,   297,   297,
1542 <     297,   297,   297,   297,   297,   297,   297,   297,   297,   299,
1543 <     298,   300,   300,   301,   301,   301,   301,   301,   301,   301,
1544 <     301,   301,   301,   301,   301,   301,   301,   301,   301,   301,
1545 <     301,   303,   302,   304,   304,   305,   305,   305,   305,   305,
1546 <     305,   305,   305,   305,   305,   305,   305,   305,   305,   305,
1547 <     305,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1548 <     314,   315,   316,   317,   318,   319,   320,   322,   321,   323,
1549 <     323,   324,   324,   326,   325,   328,   327,   329,   329,   330,
1550 <     330,   330,   331,   331,   332,   332,   332,   332,   332,   334,
1551 <     333,   335,   335,   336,   336,   337,   338,   340,   339,   341,
1552 <     341,   342,   342,   342,   342,   342,   342,   342,   342,   342,
1553 <     343,   344,   345,   346,   348,   347,   349,   349,   350,   350,
1554 <     350,   350,   350,   350,   350,   350,   350,   350,   351,   352,
1555 <     353,   355,   354,   356,   356,   357,   357,   357,   357,   358,
1556 <     359,   360,   361,   362,   362,   363,   363,   364,   366,   365,
1557 <     367,   367,   368,   368,   368,   368,   369,   370,   372,   371,
1558 <     373,   373,   374,   374,   374,   374,   374,   374,   374,   374,
1559 <     374,   374,   376,   375,   377,   377,   378,   378,   378,   379,
1560 <     381,   380,   382,   382,   383,   383,   383,   383,   383,   383,
1561 <     383,   383,   383,   383,   385,   384,   386,   386,   387,   387,
1562 <     387,   387,   387,   387,   387,   387,   387,   387,   387,   387,
1563 <     387,   387,   388,   389,   390,   391,   392,   393,   394,   394,
1564 <     396,   395,   397,   397,   398,   398,   399,   400,   401,   402,
1565 <     403,   405,   404,   407,   406,   408,   408,   409,   410,   410,
1566 <     411,   411,   411,   411,   412,   413,   415,   414,   416,   416,
1567 <     417,   417,   417,   418,   419,   420,   421,   421,   422,   422,
1568 <     423,   425,   424,   427,   426,   428,   428,   429,   430,   430,
1569 <     431,   431,   431,   431,   432,   433,   434,   435,   435,   436,
1570 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1571 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1572 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1573 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1574 <     436,   436,   436,   436,   436,   436,   436,   436,   437,   438,
1575 <     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1576 <     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
1577 <     459,   460,   461,   462,   462,   463,   463,   464,   465,   466,
1578 <     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
1579 <     477,   478,   479,   481,   480,   482,   482,   483,   483,   483,
1580 <     483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
1581 <     483,   483,   483,   483,   483,   483,   483,   485,   484,   486,
1582 <     486,   487,   487,   487,   487,   487,   487,   487,   487,   487,
1583 <     487,   487,   487,   487,   487,   487,   487,   487,   487,   487,
1584 <     487,   487,   488,   489,   490,   491,   492,   492,   493,   493,
1585 <     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
1586 <     493,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1587 <     502,   503,   504,   505,   506,   507,   508,   508,   509,   509,
1588 <     509,   509,   509,   509,   509,   509,   510,   511,   512,   513,
1589 <     514,   515,   516
1590 < };
1277 > #define YYPACT_NINF -1009
1278  
1279 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1280 < static const yytype_uint8 yyr2[] =
1279 > #define yypact_value_is_default(Yystate) \
1280 >  (!!((Yystate) == (-1009)))
1281 >
1282 > #define YYTABLE_NINF -124
1283 >
1284 > #define yytable_value_is_error(Yytable_value) \
1285 >  0
1286 >
1287 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1288 >     STATE-NUM.  */
1289 > static const yytype_int16 yypact[] =
1290   {
1291 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1292 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1293 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1294 <       3,     3,     3,     3,     3,     3,     0,     1,     2,     3,
1295 <       3,     3,     5,     2,     1,     1,     1,     2,     4,     4,
1296 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1297 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1298 <       2,     4,     4,     3,     1,     1,     1,     3,     1,     1,
1299 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1300 <       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1301 <       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1302 <       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1303 <       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1304 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1305 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1306 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1307 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1308 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1309 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1310 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1311 <       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1312 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1313 <       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1314 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1315 <       1,     1,     1,     0,     6,     0,     5,     3,     1,     1,
1316 <       1,     1,     2,     1,     1,     1,     1,     1,     2,     0,
1317 <       5,     3,     1,     1,     3,     4,     4,     0,     6,     2,
1318 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1319 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1320 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1321 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1322 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1323 <       2,     1,     1,     1,     1,     2,     4,     4,     0,     5,
1324 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1325 <       1,     1,     0,     6,     2,     1,     1,     1,     2,     4,
1326 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1327 <       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1328 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1329 <       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1330 <       0,     5,     3,     1,     1,     1,     4,     4,     4,     4,
1331 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1332 <       1,     1,     1,     1,     4,     4,     0,     6,     2,     1,
1333 <       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
1334 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1335 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1336 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1337 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1338 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1339 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1340 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1341 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1342 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1343 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1344 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1345 <       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1346 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1347 <       1,     1,     1,     1,     1,     1,     1,     0,     5,     3,
1348 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1349 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1350 <       1,     1,     4,     4,     4,     5,     2,     1,     1,     1,
1351 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1352 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1353 <       4,     4,     4,     4,     4,     5,     2,     1,     1,     1,
1354 <       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1355 <       4,     4,     4
1291 >   -1009,   647, -1009,   -18,  -215,  -213, -1009, -1009, -1009,  -194,
1292 >   -1009,  -186, -1009, -1009, -1009,  -184, -1009, -1009, -1009,  -178,
1293 >    -176, -1009,  -168,  -115, -1009, -1009, -1009, -1009, -1009, -1009,
1294 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1295 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,   351,
1296 >     903,  -113,  -106,   -97,    20,   -81,   400,   -71,   -62,   -60,
1297 >      16,   -25,    -7,    -6,   707,   369,    -1,    35,    72,    53,
1298 >     -43,   -36,   -29,    79,    10, -1009, -1009, -1009, -1009, -1009,
1299 >      91,   103,   106,   107,   109,   112,   114,   115,   119,   120,
1300 >     121,   124,   126,   137,   281, -1009, -1009, -1009, -1009, -1009,
1301 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1302 >     653,   532,   164, -1009,   141,    21, -1009, -1009,    70, -1009,
1303 >     143,   144,   145,   146,   148,   150,   151,   152,   153,   158,
1304 >     159,   161,   162,   163,   165,   166,   170,   171,   174,   175,
1305 >     177,   180,   183,   184,   185,   188,   189, -1009,   191, -1009,
1306 >     192,   195,   198,   199,   200,   204,   205,   209,   213,   215,
1307 >     216,   220,   221,   222,   224,   231,   232,   233,   236,    60,
1308 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1309 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1310 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1311 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1312 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1313 >      61,     9,   262,    68,   239,   243,    25, -1009, -1009, -1009,
1314 >      51,   451,   230, -1009,   244,   245,   246,   248,   249,   251,
1315 >     252,   253,    14, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1316 >   -1009, -1009,   101,   254,   256,   258,   260,   273,   277,   291,
1317 >     293,   294,   295,   297,   298,   300,   302,   305,   309,   311,
1318 >     134, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1319 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,    83,
1320 >     138,   313,    27, -1009, -1009, -1009,    80, -1009,   318,    24,
1321 >   -1009, -1009,     8, -1009,   241,   271,   288,   265, -1009,   352,
1322 >     436,   340,   443,   443,   444,   443,   443,   443,   445,   452,
1323 >     454,   354,   358,   345, -1009,   347,   346,   348,   350, -1009,
1324 >     359,   360,   364,   366,   367,   368,   371,   374,   377,   380,
1325 >     383,   387,   181, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1326 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1327 >     355,   388,   389,   391,   393,   394,   396, -1009,   397,   398,
1328 >     401,   407,   408,   409,   410,   314, -1009, -1009, -1009, -1009,
1329 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1330 >   -1009, -1009,   411,   412,    58, -1009, -1009, -1009,   458,   357,
1331 >   -1009, -1009,   415,   416,    40, -1009, -1009, -1009,   365,   443,
1332 >     443,   423,   540,   439,   543,   533,   448,   443,   453,   547,
1333 >     554,   443,   558,   460,   462,   465,   443,   569,   571,   443,
1334 >     576,   578,   579,   581,   480,   464,   482,   473,   495,   443,
1335 >     443,   496,   498,   501,   -54,   -28,   503,   505,   507,   595,
1336 >     443,   509,   510,   443,   443,   511,   515,   502, -1009,   506,
1337 >     508,   512, -1009,   516,   517,   518,   519,   520,    15, -1009,
1338 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,   524,
1339 >     526,    32, -1009, -1009, -1009,   537,   530,   535, -1009,   536,
1340 >   -1009,    30, -1009, -1009, -1009, -1009, -1009,   608,   616,   541,
1341 >   -1009,   544,   542,   556,    29, -1009, -1009, -1009,   546,   559,
1342 >     568, -1009,   570,   573,   574,   575,   580, -1009,   582,    12,
1343 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1344 >   -1009,   557,   583,   584,   585,    18, -1009, -1009, -1009, -1009,
1345 >     589,   599,   607,   665,   609,   610,   612,   443,   591, -1009,
1346 >   -1009,   700,   615,   703,   719,   720,   706,   708,   709,   711,
1347 >     713,   715,   731,   723,    98,   135,   726,   728,   603, -1009,
1348 >     626,   613, -1009,    76, -1009, -1009, -1009, -1009,   644,   629,
1349 >   -1009,   628,   738,   637, -1009,   638,   636, -1009,   639,    23,
1350 >   -1009, -1009, -1009, -1009,   641,   643,   648, -1009,   649,   650,
1351 >     651,   561,   652,   655,   662,   667,   669,   670,   677,   680,
1352 >     682,   684,   685, -1009, -1009,   766,   772,   443,   676,   805,
1353 >     809,   443,   810,   811,   443,   797,   815,   817,   443,   818,
1354 >     818,   701, -1009, -1009,   807,    37,   808,   724,   813,   816,
1355 >     702,   819,   820,   825,   821,   822,   823,   824,   714, -1009,
1356 >     826,   827,   721, -1009,   725, -1009,   830,   831,   729, -1009,
1357 >     730,   733,   734,   737,   739,   740,   743,   744,   745,   746,
1358 >     749,   750,   751,   752,   753,   757,   758,   759,   760,   761,
1359 >     762,   763,   764,   765,   767,   768,   769,   614,   770,   679,
1360 >     771,   773,   774,   775,   776,   777,   778,   779,   782,   783,
1361 >     784,   785,   786,   787,   788,   789,   790,   791,   792,   793,
1362 >     794, -1009, -1009,   832,   755,   710,   836,   885,   876,   899,
1363 >     900,   798, -1009,   901,   904,   799, -1009, -1009,   905,   906,
1364 >     800,   923,   806, -1009,   812,   814, -1009, -1009,   909,   911,
1365 >     828, -1009, -1009,   912,   833,   829,   913,   914,   915,   917,
1366 >     834,   835,   919,   837, -1009, -1009,   922,   924,   925,   839,
1367 >   -1009,   840,   841,   842,   843,   844,   845,   846,   847, -1009,
1368 >     848,   849,   850,   851,   852,   853,   854,   855,   856,   857,
1369 >     858,   859,   860, -1009, -1009,  -208, -1009, -1009, -1009,  -197,
1370 >   -1009,   861,   862, -1009, -1009,   926,   863,   864, -1009,   865,
1371 >   -1009,   102,   867, -1009, -1009,   927,   866,   928,   868, -1009,
1372 >   -1009, -1009, -1009, -1009, -1009, -1009,   443,   443,   443,   443,
1373 >     443,   443,   443, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1374 >   -1009, -1009, -1009, -1009, -1009, -1009,   870,   871,   872,   -45,
1375 >     873,   874,   875,   877,   878,   879,   880,   881,   882,   883,
1376 >     312,   884,   886, -1009,   887,   888,   889,   890,   891,   892,
1377 >     893,    -4,   894,   895,   896,   897,   898,   902,   907, -1009,
1378 >     908,   910, -1009, -1009,   916,   918, -1009, -1009, -1009, -1009,
1379 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1380 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1381 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1382 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1383 >   -1009, -1009, -1009, -1009, -1009,  -191, -1009, -1009, -1009, -1009,
1384 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1385 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1386 >   -1009,  -185, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1387 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1388 >   -1009, -1009, -1009, -1009,   920,   921,   299,   929,   930,   931,
1389 >     932,   933, -1009,   934,   935, -1009,   936,   937,   -35,   938,
1390 >     939, -1009, -1009, -1009, -1009,   940,   941, -1009,   942,   944,
1391 >     504,   945,   946,   947,   948,   949,   722,   950, -1009,   951,
1392 >     952,   953, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1393 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1394 >   -1009, -1009, -1009, -1009, -1009,    98, -1009,   135, -1009, -1009,
1395 >     954,   403, -1009, -1009,   955,   956,   957, -1009,    11, -1009,
1396 >   -1009, -1009, -1009, -1009,   958,   732,   961, -1009, -1009, -1009,
1397 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1398 >    -177, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1399 >   -1009, -1009,   818,   818,   818, -1009, -1009, -1009, -1009, -1009,
1400 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,  -175, -1009,
1401 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1402 >   -1009, -1009,   614, -1009,   679, -1009, -1009, -1009, -1009, -1009,
1403 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009,  -142, -1009, -1009,
1404 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1405 >   -1009,   -41, -1009,   982,   923,   962, -1009, -1009, -1009, -1009,
1406 >   -1009,   959, -1009, -1009,   960, -1009, -1009, -1009, -1009,   963,
1407 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1408 >   -1009,   -24, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1409 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1410 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1411 >   -1009,    39, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1412 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1413 >      50, -1009, -1009,   980,   -75,   964,   966, -1009, -1009, -1009,
1414 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,    65,
1415 >   -1009, -1009, -1009,   -45, -1009, -1009, -1009, -1009,    -4, -1009,
1416 >   -1009, -1009,   299, -1009,   -35, -1009, -1009, -1009,   983,   997,
1417 >     998, -1009,   504, -1009,   722, -1009,   403,   969,   970,   971,
1418 >     469, -1009, -1009,   732, -1009, -1009, -1009, -1009, -1009, -1009,
1419 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1420 >   -1009, -1009, -1009, -1009, -1009, -1009,    95, -1009, -1009, -1009,
1421 >     469, -1009
1422   };
1423  
1424 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1425 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1426 <   means the default is an error.  */
1424 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1425 >     Performed when YYTABLE does not specify something else to do.  Zero
1426 >     means the default is an error.  */
1427   static const yytype_uint16 yydefact[] =
1428   {
1429 <       2,     0,     1,     0,     0,     0,   201,   364,   416,     0,
1430 <     431,     0,   267,   401,   243,     0,     0,   135,   301,     0,
1431 <       0,   318,   342,     0,     3,    23,    11,     4,     5,     6,
1432 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1433 <      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1429 >       2,     0,     1,     0,     0,     0,   225,   388,   436,     0,
1430 >     451,     0,   291,   427,   267,     0,   107,   147,   325,     0,
1431 >       0,   366,     0,     0,   342,     3,    23,    11,     4,    24,
1432 >       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1433 >      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1434         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1435         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1436 <       0,     0,    98,    99,   101,   100,   611,     0,     0,     0,
1436 >       0,     0,     0,     0,     0,    99,   100,   102,   101,   631,
1437         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1438 <       0,   597,   610,   599,   600,   601,   602,   603,   598,   604,
1439 <     605,   606,   607,   608,   609,     0,     0,     0,   429,     0,
1440 <       0,   427,   428,     0,   497,     0,     0,     0,     0,     0,
1438 >       0,     0,     0,     0,     0,   616,   630,   620,   621,   618,
1439 >     619,   622,   623,   617,   624,   625,   626,   627,   628,   629,
1440 >       0,     0,     0,   449,     0,     0,   447,   448,     0,   512,
1441         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1442         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1443 <       0,     0,     0,   567,     0,   543,     0,     0,     0,     0,
1443 >       0,     0,     0,     0,     0,     0,     0,   586,     0,   559,
1444         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683       0,     0,     0,     0,   448,   495,   489,   490,   491,   492,
1684     493,   488,   459,   449,   450,   483,   451,   452,   453,   454,
1685     455,   456,   457,   458,   485,   460,   461,   494,   463,   468,
1686     464,   466,   465,   478,   479,   467,   469,   470,   471,   472,
1687     462,   474,   475,   476,   496,   486,   487,   484,   477,   473,
1688     481,   482,   480,     0,     0,     0,     0,     0,     0,   108,
1689     109,   110,     0,     0,     0,     0,     0,    44,    45,    46,
1690       0,     0,   635,     0,     0,     0,     0,     0,     0,     0,
1691       0,   627,   628,   629,   630,   633,   631,   632,   634,     0,
1445         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1446 <       0,     0,     0,     0,     0,     0,     0,     0,    52,    67,
1447 <      68,    66,    63,    62,    69,    53,    65,    56,    57,    58,
1448 <      54,    64,    59,    60,    61,    55,     0,     0,   316,     0,
1449 <       0,   314,   315,   102,     0,     0,     0,     0,    97,     0,
1446 >     462,   509,   511,   503,   504,   505,   506,   507,   502,   473,
1447 >     463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
1448 >     499,   474,   475,   508,   477,   482,   483,   478,   480,   479,
1449 >     493,   494,   481,   484,   485,   486,   487,   476,   489,   490,
1450 >     491,   510,   500,   501,   498,   492,   488,   496,   497,   495,
1451 >       0,     0,     0,     0,     0,     0,     0,    45,    46,    47,
1452 >       0,     0,     0,   657,     0,     0,     0,     0,     0,     0,
1453 >       0,     0,     0,   648,   649,   650,   651,   652,   655,   653,
1454 >     654,   656,     0,     0,     0,     0,     0,     0,     0,     0,
1455         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1456 <       0,     0,     0,   596,     0,     0,     0,     0,   237,     0,
1456 >       0,    53,    68,    69,    67,    64,    63,    70,    54,    66,
1457 >      57,    58,    59,    55,    65,    60,    61,    62,    56,     0,
1458 >       0,     0,     0,   118,   119,   120,     0,   340,     0,     0,
1459 >     338,   339,     0,   103,     0,     0,     0,     0,    98,     0,
1460         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1461 <       0,     0,   204,   205,   208,   210,   211,   212,   213,   214,
1701 <     215,   216,   217,   206,   207,   209,   218,   219,   220,     0,
1702 <       0,     0,     0,     0,   390,     0,     0,     0,     0,     0,
1703 <       0,     0,     0,     0,   367,   368,   369,   370,   371,   372,
1704 <     374,   373,   376,   380,   377,   378,   379,   375,   422,     0,
1705 <       0,     0,   419,   420,   421,     0,     0,   426,   443,     0,
1706 <       0,   433,   442,     0,   439,   440,   441,     0,     0,     0,
1461 >       0,     0,     0,     0,   615,     0,     0,     0,     0,   261,
1462         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1463 +       0,     0,     0,   228,   229,   232,   234,   235,   236,   237,
1464 +     238,   239,   240,   241,   230,   231,   233,   242,   243,   244,
1465 +       0,     0,     0,     0,     0,     0,     0,   416,     0,     0,
1466 +       0,     0,     0,     0,     0,     0,   391,   392,   393,   394,
1467 +     395,   396,   397,   399,   398,   401,   405,   402,   403,   404,
1468 +     400,   442,     0,     0,     0,   439,   440,   441,     0,     0,
1469 +     446,   457,     0,     0,     0,   454,   455,   456,     0,     0,
1470         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1471         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1472         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1711       0,     0,     0,     0,     0,     0,   447,     0,     0,     0,
1712     284,     0,     0,     0,     0,     0,     0,   270,   271,   272,
1713     273,   278,   274,   275,   276,   277,   413,     0,   403,     0,
1714     412,     0,   409,   410,   411,     0,   245,     0,     0,     0,
1715     255,     0,   253,   254,   256,   257,   111,     0,     0,   107,
1716       0,    47,     0,     0,     0,    43,     0,     0,     0,   179,
1717       0,     0,     0,   154,     0,     0,   138,   139,   140,   141,
1718     144,   145,   143,   142,   146,     0,     0,     0,     0,     0,
1719     304,   305,   306,   307,     0,     0,     0,     0,     0,     0,
1720       0,     0,   626,    70,     0,     0,     0,     0,     0,     0,
1473         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1474 <       0,     0,    51,     0,     0,   328,     0,     0,   321,   322,
1475 <     323,   324,     0,     0,   350,     0,   345,   346,   347,     0,
1476 <       0,   313,     0,     0,     0,    96,     0,     0,     0,    26,
1474 >       0,     0,     0,     0,     0,     0,     0,     0,   461,     0,
1475 >       0,     0,   308,     0,     0,     0,     0,     0,     0,   294,
1476 >     295,   296,   297,   302,   298,   299,   300,   301,   433,     0,
1477 >       0,     0,   430,   431,   432,     0,     0,     0,   269,     0,
1478 >     279,     0,   277,   278,   280,   281,    48,     0,     0,     0,
1479 >      44,     0,     0,     0,     0,   110,   111,   112,     0,     0,
1480 >       0,   197,     0,     0,     0,     0,     0,   170,     0,     0,
1481 >     150,   151,   152,   153,   156,   157,   158,   159,   155,   154,
1482 >     160,     0,     0,     0,     0,     0,   328,   329,   330,   331,
1483 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   647,
1484 >      71,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1485 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    52,
1486 >       0,     0,   374,     0,   369,   370,   371,   121,     0,     0,
1487 >     117,     0,     0,     0,   337,     0,     0,   352,     0,     0,
1488 >     345,   346,   347,   348,     0,     0,     0,    97,     0,     0,
1489 >       0,    27,     0,     0,     0,     0,     0,     0,     0,     0,
1490 >       0,     0,     0,   614,   245,     0,     0,     0,     0,     0,
1491         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1492 <     595,   221,     0,     0,     0,     0,     0,     0,     0,     0,
1493 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   203,
1494 <     381,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1729 <       0,     0,     0,     0,     0,   366,     0,     0,     0,   418,
1730 <       0,   425,     0,     0,     0,     0,   438,     0,     0,     0,
1492 >       0,     0,   227,   406,     0,     0,     0,     0,     0,     0,
1493 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   390,
1494 >       0,     0,     0,   438,     0,   445,     0,     0,     0,   453,
1495         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1496         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1497         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1498         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499 <       0,     0,     0,     0,     0,     0,     0,   446,   279,     0,
1500 <       0,     0,     0,     0,     0,     0,     0,     0,   269,     0,
1501 <       0,     0,     0,   408,   258,     0,     0,     0,     0,     0,
1502 <     252,     0,   106,     0,     0,     0,    42,   147,     0,     0,
1503 <       0,     0,     0,     0,     0,     0,     0,   137,   308,     0,
1504 <       0,     0,     0,   303,     0,     0,     0,     0,     0,     0,
1505 <       0,   625,     0,     0,     0,     0,     0,     0,     0,     0,
1506 <       0,     0,    75,    76,     0,    74,    79,    80,     0,    78,
1507 <       0,     0,     0,     0,     0,    50,   325,     0,     0,     0,
1508 <       0,   320,   348,     0,     0,     0,   344,     0,   312,   105,
1509 <     104,   103,   620,   619,   612,    26,    26,    26,    26,    26,
1510 <      26,    26,    28,    27,   613,   614,   618,   616,   615,   621,
1511 <     622,   623,   624,   617,     0,     0,     0,     0,     0,     0,
1512 <       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
1513 <       0,   202,     0,     0,     0,     0,     0,     0,     0,     0,
1514 <       0,     0,     0,     0,     0,     0,   365,     0,     0,   417,
1515 <     430,     0,     0,     0,   432,   510,   514,   528,   594,   541,
1516 <     508,   535,   538,   509,   500,   499,   501,   502,   503,   517,
1517 <     506,   507,   518,   505,   513,   512,   511,   536,   498,   592,
1518 <     593,   532,   529,   578,   571,   588,   589,   572,   573,   574,
1519 <     575,   583,   576,   586,   590,   579,   591,   584,   580,   585,
1520 <     577,   582,   581,   587,     0,   570,   534,   553,   547,   564,
1521 <     565,   548,   549,   550,   551,   559,   552,   562,   566,   555,
1522 <     560,   556,   561,   554,   558,   557,   563,     0,   546,   527,
1523 <     530,   540,   504,   531,   520,   525,   526,   523,   524,   521,
1524 <     522,   516,   515,   539,   542,   533,   537,   519,     0,     0,
1525 <       0,     0,     0,     0,     0,     0,   268,     0,     0,     0,
1526 <     402,     0,     0,     0,   263,   259,   262,   244,   112,     0,
1527 <       0,   124,     0,     0,   116,   117,   119,   118,    48,    49,
1528 <       0,     0,     0,     0,     0,     0,     0,     0,   136,     0,
1529 <       0,     0,   302,   636,   641,   639,   642,   637,   638,   640,
1530 <      87,    95,    93,    94,    85,    89,    88,    82,    81,    83,
1531 <      71,     0,    72,     0,    86,    84,    92,    90,    91,     0,
1532 <       0,     0,   319,     0,     0,   343,   317,    29,    30,    31,
1533 <      32,    33,    34,    35,   232,   233,   225,   241,   242,     0,
1534 <     240,   227,   229,   228,   226,   235,   236,   222,   234,   224,
1535 <     223,    36,    36,    36,    38,    37,   230,   231,   386,   388,
1536 <     389,   399,   396,   394,   395,     0,   393,   383,   397,   398,
1537 <     382,   387,   385,   400,   384,   423,   424,   444,   445,   437,
1538 <       0,   436,   568,     0,   544,     0,   282,   283,   292,   289,
1539 <     294,   291,   290,   297,   293,   295,   288,   296,     0,   287,
1540 <     281,   300,   299,   298,   280,   415,   407,     0,   406,   414,
1541 <     250,   251,   249,     0,   248,   266,   265,     0,     0,     0,
1542 <     120,     0,     0,     0,     0,   115,   153,   151,   194,   191,
1543 <     190,   183,   185,   200,   197,   193,   184,   198,   187,   195,
1544 <     199,   188,   196,   192,   186,   189,     0,   182,   148,   150,
1545 <     152,   164,   158,   175,   176,   159,   160,   161,   162,   170,
1546 <     163,   173,   177,   166,   178,   171,   167,   172,   165,   169,
1547 <     168,   174,     0,   157,   149,   311,   309,   310,    73,    77,
1548 <     326,   332,   338,   341,   334,   340,   335,   339,   337,   333,
1549 <     336,     0,   331,   327,   349,   354,   360,   363,   356,   362,
1550 <     357,   361,   359,   355,   358,     0,   353,   238,     0,    39,
1551 <      40,    41,   391,     0,   434,     0,   569,   545,   285,     0,
1552 <     404,     0,   246,     0,   264,   261,   260,     0,     0,     0,
1553 <       0,   114,   180,     0,   155,     0,   329,     0,   351,     0,
1554 <     239,   392,   435,   286,   405,   247,   121,   130,   133,   132,
1555 <     129,   134,   131,   128,     0,   127,   123,   122,   181,   156,
1556 <     330,   352,   125,     0,   126
1557 < };
1558 <
1559 < /* YYDEFGOTO[NTERM-NUM].  */
1796 < static const yytype_int16 yydefgoto[] =
1797 < {
1798 <      -1,     1,    24,   792,   793,  1044,  1045,    25,   226,   227,
1799 <     228,   229,    26,   267,   268,   269,   270,   754,   755,   758,
1800 <     759,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1801 <     280,   281,   282,   283,   284,   285,    27,    71,    72,    73,
1802 <      74,    75,    28,   218,   219,   220,   221,   222,   963,   964,
1803 <     965,   966,   967,  1112,  1244,  1245,    29,    60,   505,   506,
1804 <     507,   508,   509,   510,   511,   512,   513,   724,  1162,  1163,
1805 <     514,   720,  1136,  1137,    30,    49,   331,   332,   333,   334,
1806 <     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1807 <     345,   346,   347,   348,   595,  1029,  1030,    31,    57,   480,
1808 <     705,  1103,  1104,   481,   482,   483,  1109,   955,   956,   484,
1809 <     485,    32,    55,   456,   457,   458,   459,   460,   461,   462,
1810 <     691,  1088,  1089,   463,   464,   465,    33,    61,   519,   520,
1811 <     521,   522,   523,    34,   290,   291,   292,    35,    64,   557,
1812 <     558,   559,   560,   561,   768,  1181,  1182,    36,    65,   565,
1813 <     566,   567,   568,   774,  1195,  1196,    37,    50,   363,   364,
1814 <     365,   366,   367,   368,   369,   370,   371,   372,   615,  1055,
1815 <    1056,   373,   374,   375,   376,   377,    38,    56,   470,   700,
1816 <    1097,  1098,   471,   472,   473,   474,    39,    51,   381,   382,
1817 <     383,   384,    40,   110,   111,   112,    41,    53,   392,   634,
1818 <    1070,  1071,   393,   394,   395,   396,    42,   163,   164,   165,
1819 <     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1820 <     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1821 <     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1822 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1823 <     206,   207,   208,   427,   917,   918,   209,   425,   894,   895,
1824 <     210,   211,   212,    43,    90,    91,    92,    93,    94,    95,
1825 <      96,    97,    98,    99,   100,   101,   102,   103,   104,    44,
1826 <     240,   241,   242,   243,   244,   245,   246,   247,   248
1499 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500 >       0,   460,   303,     0,     0,     0,     0,     0,     0,     0,
1501 >       0,     0,   293,     0,     0,     0,   429,   282,     0,     0,
1502 >       0,     0,     0,   276,     0,     0,    43,   113,     0,     0,
1503 >       0,   109,   161,     0,     0,     0,     0,     0,     0,     0,
1504 >       0,     0,     0,     0,   149,   332,     0,     0,     0,     0,
1505 >     327,     0,     0,     0,     0,     0,     0,     0,     0,   646,
1506 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507 >       0,     0,     0,    76,    77,     0,    75,    80,    81,     0,
1508 >      79,     0,     0,    51,   372,     0,     0,     0,   368,     0,
1509 >     116,     0,     0,   336,   349,     0,     0,     0,     0,   344,
1510 >     106,   105,   104,   641,   640,   632,    27,    27,    27,    27,
1511 >      27,    27,    27,    29,    28,   635,   636,   644,   645,   633,
1512 >     634,   639,   638,   637,   642,   643,     0,     0,     0,     0,
1513 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1514 >      37,     0,     0,   226,     0,     0,     0,     0,     0,     0,
1515 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   389,
1516 >       0,     0,   437,   450,     0,     0,   452,   525,   529,   544,
1517 >     514,   613,   557,   551,   554,   524,   516,   515,   518,   519,
1518 >     517,   532,   522,   523,   533,   521,   528,   527,   526,   552,
1519 >     513,   611,   612,   548,   596,   590,   607,   591,   592,   593,
1520 >     601,   610,   594,   604,   608,   597,   609,   602,   598,   603,
1521 >     595,   606,   600,   599,   605,     0,   589,   550,   568,   569,
1522 >     570,   563,   582,   564,   565,   566,   576,   585,   567,   579,
1523 >     583,   572,   584,   577,   573,   578,   571,   581,   575,   574,
1524 >     580,     0,   562,   545,   543,   546,   556,   547,   535,   541,
1525 >     542,   539,   540,   536,   537,   538,   555,   558,   520,   549,
1526 >     531,   530,   553,   534,     0,     0,     0,     0,     0,     0,
1527 >       0,     0,   292,     0,     0,   428,     0,     0,     0,   287,
1528 >     283,   286,   268,    49,    50,     0,     0,   108,     0,     0,
1529 >       0,     0,     0,     0,     0,     0,     0,     0,   148,     0,
1530 >       0,     0,   326,   659,   658,   664,   662,   665,   660,   661,
1531 >     663,    88,    96,    87,    94,    95,    86,    90,    89,    83,
1532 >      82,    84,    93,    85,    72,     0,    73,     0,    91,    92,
1533 >       0,     0,   367,   122,     0,     0,     0,   134,     0,   126,
1534 >     127,   129,   128,   341,     0,     0,     0,   343,    30,    31,
1535 >      32,    33,    34,    35,    36,   256,   257,   249,   266,   265,
1536 >       0,   264,   251,   253,   260,   252,   250,   259,   246,   258,
1537 >     248,   247,    37,    37,    37,    39,    38,   254,   255,   411,
1538 >     414,   415,   425,   422,   408,   423,   420,   421,     0,   419,
1539 >     424,   407,   413,   410,   412,   426,   409,   443,   444,   458,
1540 >     459,   587,     0,   560,     0,   306,   307,   316,   313,   318,
1541 >     314,   315,   321,   317,   319,   312,   320,     0,   311,   305,
1542 >     324,   323,   322,   304,   435,   434,   290,   289,   274,   275,
1543 >     273,     0,   272,     0,     0,     0,   114,   115,   169,   165,
1544 >     217,   204,   214,   213,   202,   207,   224,   216,   222,   206,
1545 >     209,   219,   221,   218,   215,   223,   210,   212,   220,   208,
1546 >     211,     0,   200,   162,   164,   166,   167,   168,   179,   180,
1547 >     181,   174,   193,   175,   176,   177,   187,   196,   178,   190,
1548 >     194,   183,   195,   188,   184,   189,   182,   192,   186,   185,
1549 >     191,     0,   173,   163,   335,   333,   334,    74,    78,   373,
1550 >     378,   384,   387,   380,   386,   381,   385,   383,   379,   382,
1551 >       0,   377,   130,     0,     0,     0,     0,   125,   350,   356,
1552 >     362,   365,   358,   364,   359,   363,   361,   357,   360,     0,
1553 >     355,   351,   262,     0,    40,    41,    42,   417,     0,   588,
1554 >     561,   309,     0,   270,     0,   288,   285,   284,     0,     0,
1555 >       0,   198,     0,   171,     0,   375,     0,     0,     0,     0,
1556 >       0,   124,   353,     0,   263,   418,   310,   271,   203,   201,
1557 >     205,   199,   172,   376,   131,   133,   132,   140,   145,   144,
1558 >     139,   142,   146,   143,   138,   141,     0,   137,   354,   135,
1559 >       0,   136
1560   };
1561  
1562 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1563 <   STATE-NUM.  */
1831 < #define YYPACT_NINF -736
1832 < static const yytype_int16 yypact[] =
1562 >  /* YYPGOTO[NTERM-NUM].  */
1563 > static const yytype_int16 yypgoto[] =
1564   {
1565 <    -736,   650,  -736,  -180,  -212,  -210,  -736,  -736,  -736,  -200,
1566 <    -736,  -197,  -736,  -736,  -736,  -171,  -164,  -736,  -736,  -157,
1567 <    -138,  -736,  -736,  -136,  -736,  -736,  -736,  -736,  -736,  -736,
1568 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1569 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   316,   648,  -131,
1570 <    -128,  -114,    16,  -112,   432,  -101,   -98,   -92,    36,    78,
1571 <     -79,   -77,   586,   349,   -52,   -47,    11,   -42,   -43,   -40,
1572 <     -35,     7,  -736,  -736,  -736,  -736,  -736,   -22,    -3,    12,
1573 <      58,    71,    83,    92,    93,    94,    96,    98,   100,   102,
1574 <       8,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1575 <    -736,  -736,  -736,  -736,  -736,   732,   552,    64,  -736,   103,
1576 <      19,  -736,  -736,    51,  -736,   104,   112,   115,   117,   119,
1577 <     123,   125,   127,   128,   131,   135,   137,   140,   142,   143,
1578 <     146,   148,   149,   152,   155,   156,   157,   159,   162,   164,
1579 <     165,   166,   167,  -736,   168,  -736,   171,   172,   174,   177,
1580 <     179,   180,   182,   183,   184,   185,   187,   188,   189,   198,
1581 <     200,   201,   204,   124,  -736,  -736,  -736,  -736,  -736,  -736,
1582 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1583 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1584 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1585 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1586 <    -736,  -736,  -736,   310,    10,    33,     2,   206,    32,  -736,
1587 <    -736,  -736,    29,   181,   208,   214,    23,  -736,  -736,  -736,
1588 <     486,    46,  -736,   215,   217,   220,   223,   224,   225,   227,
1589 <       4,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   231,
1590 <     229,   230,   233,   237,   238,   240,   242,   246,   249,   253,
1591 <     263,   265,   268,   269,   272,   273,   279,   178,  -736,  -736,
1592 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1593 <    -736,  -736,  -736,  -736,  -736,  -736,     6,    20,  -736,   282,
1594 <      49,  -736,  -736,  -736,   334,   378,   386,   287,  -736,   406,
1864 <     407,   348,   411,   411,   418,   420,   422,   362,   363,   425,
1865 <     411,   366,   311,  -736,   315,   307,   313,   321,  -736,   324,
1866 <     325,   328,   330,   332,   333,   336,   339,   342,   345,   346,
1867 <     350,   280,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1868 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   337,
1869 <     351,   352,   354,   355,  -736,   357,   359,   372,   373,   376,
1870 <     377,   379,   381,   320,  -736,  -736,  -736,  -736,  -736,  -736,
1871 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   382,
1872 <     384,    26,  -736,  -736,  -736,   451,   391,  -736,  -736,   389,
1873 <     390,  -736,  -736,    18,  -736,  -736,  -736,   409,   411,   411,
1874 <     484,   452,   454,   512,   501,   459,   411,   460,   411,   522,
1875 <     524,   525,   466,   467,   468,   411,   530,   531,   411,   541,
1876 <     548,   550,   553,   491,   493,   435,   496,   437,   411,   411,
1877 <     499,   500,   505,   506,   -96,   -62,   511,   513,   411,   411,
1878 <     557,   411,   515,   520,   521,   469,  -736,   470,   464,   465,
1879 <    -736,   473,   475,   477,   485,   488,    31,  -736,  -736,  -736,
1880 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   492,  -736,   502,
1881 <    -736,    35,  -736,  -736,  -736,   471,  -736,   504,   508,   509,
1882 <    -736,    15,  -736,  -736,  -736,  -736,  -736,   546,   494,  -736,
1883 <      47,  -736,   603,   604,   514,  -736,   517,   510,   516,  -736,
1884 <     518,   526,   527,  -736,   528,   266,  -736,  -736,  -736,  -736,
1885 <    -736,  -736,  -736,  -736,  -736,   536,   534,   538,   539,    39,
1886 <    -736,  -736,  -736,  -736,   565,   572,   609,   575,   577,   600,
1887 <     411,   547,  -736,  -736,   652,   607,   671,   672,   655,   657,
1888 <     658,   659,   660,   661,    76,   141,   664,   666,   686,   669,
1889 <     670,   573,  -736,   576,   569,  -736,   574,     5,  -736,  -736,
1890 <    -736,  -736,   581,   582,  -736,    38,  -736,  -736,  -736,   675,
1891 <     584,  -736,   590,   591,   592,  -736,   594,   596,   601,   275,
1892 <     602,   606,   608,   610,   611,   612,   614,   622,   625,   629,
1893 <    -736,  -736,   721,   722,   411,   583,   727,   750,   756,   758,
1894 <     411,   411,   744,   761,   764,   411,   765,   765,   649,  -736,
1895 <    -736,   748,   106,   752,   707,   662,   766,   768,   772,   774,
1896 <     779,   776,   780,   782,   679,  -736,   783,   784,   685,  -736,
1897 <     688,  -736,   786,   789,   687,   691,  -736,   697,   705,   709,
1898 <     711,   713,   715,   718,   719,   723,   724,   725,   728,   729,
1899 <     730,   731,   733,   734,   735,   736,   737,   738,   739,   740,
1900 <     741,   742,   745,   746,   747,   668,   749,   743,   751,   753,
1901 <     754,   755,   757,   759,   760,   762,   763,   767,   769,   770,
1902 <     771,   773,   775,   777,   778,   781,   785,  -736,  -736,   804,
1903 <     800,   787,   807,   839,   822,   827,   832,   788,  -736,   844,
1904 <     790,   848,   791,  -736,  -736,   792,   850,   852,   874,   794,
1905 <    -736,   796,  -736,    25,   797,   798,  -736,  -736,   858,   818,
1906 <     799,   864,   865,   866,   801,   868,   803,  -736,  -736,   872,
1907 <     876,   879,   805,  -736,   806,   808,   809,   810,   811,   812,
1908 <     813,  -736,   814,   815,   816,   817,   819,   820,   821,   823,
1909 <     824,   825,  -736,  -736,  -205,  -736,  -736,  -736,  -181,  -736,
1910 <     826,   828,   829,   830,   831,  -736,  -736,   880,   833,   882,
1911 <     834,  -736,  -736,   883,   835,   837,  -736,   840,  -736,  -736,
1912 <    -736,  -736,  -736,  -736,  -736,   411,   411,   411,   411,   411,
1913 <     411,   411,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1914 <    -736,  -736,  -736,  -736,   841,   842,   843,   211,   845,   846,
1915 <     847,   849,   851,   853,   854,   855,   856,   857,    82,   859,
1916 <     860,  -736,   861,   862,   863,   867,   869,    -4,   870,   871,
1917 <     873,   875,   877,   878,   881,   884,  -736,   885,   886,  -736,
1918 <    -736,   887,   888,   894,  -736,  -736,  -736,  -736,  -736,  -736,
1919 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1920 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1921 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1922 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1923 <    -736,  -736,  -736,  -736,  -174,  -736,  -736,  -736,  -736,  -736,
1924 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1925 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -163,  -736,  -736,
1926 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1927 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   889,   890,
1928 <     579,   891,   892,   893,   895,   896,  -736,   897,   902,   898,
1929 <    -736,   -37,   899,   900,    99,   901,  -736,  -736,  -736,   903,
1930 <     836,  -736,   904,    44,  -736,  -736,  -736,  -736,  -736,  -736,
1931 <     906,   908,   566,   909,   910,   911,   704,   912,  -736,   913,
1932 <     914,   915,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1933 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1934 <    -736,    76,  -736,   141,  -736,  -736,  -736,  -736,  -736,   916,
1935 <     360,   917,  -736,   918,   617,  -736,  -736,  -736,  -736,  -736,
1936 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -161,
1937 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1938 <    -736,   765,   765,   765,  -736,  -736,  -736,  -736,  -736,  -736,
1939 <    -736,  -736,  -736,  -736,  -736,  -141,  -736,  -736,  -736,  -736,
1940 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1941 <    -127,  -736,  -736,   668,  -736,   743,  -736,  -736,  -736,  -736,
1942 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -27,  -736,
1943 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   -24,  -736,  -736,
1944 <    -736,  -736,  -736,   -17,  -736,  -736,  -736,   905,   874,   919,
1945 <    -736,   922,   920,   -82,   921,  -736,  -736,  -736,  -736,  -736,
1946 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1947 <    -736,  -736,  -736,  -736,  -736,  -736,    -6,  -736,  -736,  -736,
1948 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1949 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1950 <    -736,  -736,    -1,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1951 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1952 <    -736,    30,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1953 <    -736,  -736,  -736,  -736,  -736,    43,  -736,  -736,   211,  -736,
1954 <    -736,  -736,  -736,    -4,  -736,   894,  -736,  -736,  -736,   579,
1955 <    -736,   902,  -736,   -37,  -736,  -736,  -736,   924,   153,   925,
1956 <     926,  -736,  -736,   566,  -736,   704,  -736,   360,  -736,   617,
1957 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1958 <    -736,  -736,  -736,  -736,    48,  -736,  -736,  -736,  -736,  -736,
1959 <    -736,  -736,  -736,   153,  -736
1565 >   -1009, -1009, -1009,  -317,  -310, -1008,  -629, -1009, -1009,   838,
1566 >   -1009, -1009, -1009, -1009,   780, -1009, -1009, -1009,  -454, -1009,
1567 >      19, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1568 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,   984, -1009,
1569 >   -1009, -1009, -1009, -1009, -1009,   553, -1009, -1009, -1009, -1009,
1570 >     943, -1009, -1009, -1009, -1009,    13, -1009, -1009, -1009, -1009,
1571 >   -1009,  -240, -1009, -1009, -1009,   548, -1009, -1009, -1009, -1009,
1572 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009,  -202, -1009, -1009,
1573 >   -1009,  -196, -1009, -1009, -1009,   795, -1009, -1009, -1009, -1009,
1574 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1575 >   -1009, -1009, -1009, -1009,  -111, -1009, -1009, -1009, -1009, -1009,
1576 >    -189, -1009,   645, -1009, -1009, -1009,   -10, -1009, -1009, -1009,
1577 >   -1009, -1009,   672, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1578 >    -117, -1009, -1009, -1009, -1009, -1009, -1009,   611, -1009, -1009,
1579 >   -1009, -1009, -1009,   965, -1009, -1009, -1009, -1009,   555, -1009,
1580 >   -1009, -1009, -1009, -1009,  -131, -1009, -1009, -1009,   572, -1009,
1581 >   -1009, -1009, -1009,  -123, -1009, -1009, -1009,   781, -1009, -1009,
1582 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,  -100,
1583 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,   673, -1009,
1584 >   -1009, -1009, -1009, -1009,   756, -1009, -1009, -1009, -1009,  1038,
1585 >   -1009, -1009, -1009, -1009,   754, -1009, -1009, -1009, -1009,   986,
1586 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1587 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1588 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1589 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1590 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009,    43, -1009, -1009,
1591 >   -1009,    57, -1009, -1009, -1009, -1009, -1009,  1076, -1009, -1009,
1592 >   -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009, -1009,
1593 >   -1009, -1009, -1009, -1009,   967, -1009, -1009, -1009, -1009, -1009,
1594 >   -1009, -1009, -1009
1595   };
1596  
1597 < /* YYPGOTO[NTERM-NUM].  */
1598 < static const yytype_int16 yypgoto[] =
1597 >  /* YYDEFGOTO[NTERM-NUM].  */
1598 > static const yytype_int16 yydefgoto[] =
1599   {
1600 <    -736,  -736,  -736,   -81,  -300,  -735,  -606,  -736,  -736,   927,
1601 <    -736,  -736,  -736,  -736,   838,  -736,  -736,  -736,    14,  -736,
1602 <       9,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1603 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   936,  -736,
1604 <    -736,  -736,  -736,  -736,   907,  -736,  -736,  -736,  -736,    34,
1605 <    -736,  -736,  -736,  -736,  -736,  -244,  -736,  -736,  -736,   519,
1606 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -202,
1607 <    -736,  -736,  -736,  -182,  -736,  -736,  -736,   793,  -736,  -736,
1608 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1609 <    -736,  -736,  -736,  -736,  -736,  -736,  -148,  -736,  -736,  -736,
1610 <    -736,  -736,  -158,  -736,   616,  -736,  -736,  -736,   -50,  -736,
1611 <    -736,  -736,  -736,  -736,   615,  -736,  -736,  -736,  -736,  -736,
1612 <    -736,  -736,  -153,  -736,  -736,  -736,  -736,  -736,  -736,   554,
1613 <    -736,  -736,  -736,  -736,  -736,   923,  -736,  -736,  -736,  -736,
1614 <     532,  -736,  -736,  -736,  -736,  -736,  -160,  -736,  -736,  -736,
1615 <     523,  -736,  -736,  -736,  -736,  -154,  -736,  -736,  -736,   795,
1616 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1617 <    -122,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1618 <    -736,  -124,  -736,   620,  -736,  -736,  -736,  -736,  -736,   714,
1619 <    -736,  -736,  -736,  -736,   989,  -736,  -736,  -736,  -736,  -736,
1620 <    -736,  -103,  -736,   710,  -736,  -736,  -736,  -736,   943,  -736,
1621 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1622 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1623 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1624 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1625 <    -736,  -736,  -736,  -736,  -736,    42,  -736,  -736,  -736,    54,
1626 <    -736,  -736,  -736,  -736,  -736,  1053,  -736,  -736,  -736,  -736,
1627 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1628 <    -736,   928,  -736,  -736,  -736,  -736,  -736,  -736,  -736
1600 >      -1,     1,    25,   823,   824,  1085,  1086,    26,   226,   227,
1601 >     228,   229,    27,   270,   271,   272,   273,   785,   786,   789,
1602 >     790,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1603 >     283,   284,   285,   286,   287,   288,    28,    74,    75,    76,
1604 >      77,    78,    29,    61,   504,   505,   506,   507,    30,   292,
1605 >     293,   294,   295,   296,  1048,  1049,  1050,  1051,  1052,  1225,
1606 >    1296,  1297,    31,    62,   519,   520,   521,   522,   523,   524,
1607 >     525,   526,   527,   528,   529,   751,  1201,  1202,   530,   745,
1608 >    1171,  1172,    32,    51,   342,   343,   344,   345,   346,   347,
1609 >     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
1610 >     358,   359,   618,  1070,  1071,    33,    59,   490,   730,  1141,
1611 >    1142,   491,   492,   493,  1145,   990,   991,   494,   495,    34,
1612 >      57,   468,   469,   470,   471,   472,   473,   474,   715,  1127,
1613 >    1128,   475,   476,   477,    35,    63,   535,   536,   537,   538,
1614 >     539,    36,   299,   300,   301,    37,    69,   589,   590,   591,
1615 >     592,   593,   806,  1239,  1240,    38,    66,   573,   574,   575,
1616 >     576,   796,  1220,  1221,    39,    52,   375,   376,   377,   378,
1617 >     379,   380,   381,   382,   383,   384,   385,   640,  1098,  1099,
1618 >     386,   387,   388,   389,   390,    40,    58,   481,   482,   483,
1619 >     484,    41,    53,   394,   395,   396,   397,    42,   115,   116,
1620 >     117,    43,    55,   404,   405,   406,   407,    44,   169,   170,
1621 >     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1622 >     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1623 >     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1624 >     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1625 >     211,   212,   213,   214,   215,   437,   951,   952,   216,   435,
1626 >     925,   926,   217,   218,   219,    45,    94,    95,    96,    97,
1627 >      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1628 >     108,   109,    46,   242,   243,   244,   245,   246,   247,   248,
1629 >     249,   250,   251
1630   };
1631  
1632 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1633 <   positive, shift that token.  If negative, reduce the rule which
1634 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1999 < #define YYTABLE_NINF -114
1632 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1633 >     positive, shift that token.  If negative, reduce the rule whose
1634 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1635   static const yytype_int16 yytable[] =
1636   {
1637 <     819,   820,   580,   581,  1053,   232,   553,   553,    67,    76,
1638 <     588,   466,   288,    47,  1100,    48,   475,   108,  1000,   388,
1639 <     108,   562,  1001,   818,   223,    52,   959,   378,    54,    77,
1640 <      78,    68,   447,   216,   475,    79,   466,   216,    69,   562,
1641 <     515,   233,  1002,    45,    46,   959,  1003,   515,   448,  1072,
1642 <     288,   476,   388,  1073,    58,   234,   235,   236,   237,   238,
1643 <    1074,    59,  1197,   449,  1075,   378,  1198,   450,    62,   476,
1644 <     674,   675,   477,   516,   239,    80,    81,   478,   109,   223,
1645 <     516,   109,  1202,    82,    83,    84,  1203,    63,   379,    66,
1646 <     477,  1041,  1042,  1043,   105,   478,  1204,   106,   638,   639,
1647 <    1205,   554,   554,    70,   676,   677,   646,   289,   648,    85,
1648 <      86,   107,   517,   113,   389,   655,   563,   224,   658,   517,
1649 <    1219,   960,    87,    88,   213,   114,   379,   214,   668,   669,
1650 <     115,   116,    89,   215,   563,   467,   117,   479,   680,   681,
1651 <     960,   683,   225,   390,   118,   289,   230,   389,   231,   451,
1652 <     119,   380,   120,   121,   122,   479,  1101,   452,   453,   123,
1653 <     467,  1102,   555,   555,   518,   124,   125,   468,   126,   127,
1654 <     128,   518,   224,   286,   129,   391,   390,   564,   287,   249,
1655 <     130,   293,   961,   294,   131,   132,   295,   818,   133,   380,
1656 <     454,   296,   468,  1237,  1054,   564,  1208,   225,   134,  1210,
1657 <    1209,   961,   250,  1211,   299,   135,  1212,   136,   391,   137,
1658 <    1213,   138,   139,   140,   752,   753,  1238,  1222,  1239,   556,
1659 <     556,  1223,  1224,   300,   469,   486,  1225,   141,   531,   770,
1660 <     740,   297,   312,   142,   143,   144,   251,   145,   301,   709,
1661 <     146,   147,   635,   386,   148,   455,   962,   494,   217,   469,
1662 <     628,   490,   217,  1226,  -113,   697,   488,  1227,  -113,   702,
1663 <     252,  1240,   775,   732,   253,   962,  1228,   496,  1114,  1107,
1664 <    1229,  1252,   713,   570,   254,  1253,   255,   256,   149,   756,
1665 <     757,   314,   150,   497,   302,   151,   152,   153,   154,   155,
1666 <     823,   824,   156,   157,   806,   315,   316,   303,   498,   317,
1667 <     812,   813,   499,  1027,  1028,   817,  1199,  1200,  1201,   304,
1668 <     257,   447,   258,   259,   260,   261,   318,    67,   305,   306,
1669 <     307,   349,   308,   350,   309,   351,   310,   448,   311,   385,
1670 <     397,   262,  1241,  1242,   158,   159,   160,   352,   398,   161,
1671 <      68,   399,   449,   400,   162,   401,   450,    69,   445,   402,
1672 <     249,   403,   353,   404,   405,   263,   354,   406,   319,   320,
1673 <     321,   407,   500,   408,   322,   264,   409,  1243,   410,   411,
1674 <     323,   324,   412,   250,   413,   414,   325,   355,   415,   356,
1675 <     579,   416,   417,   418,   501,   419,   326,   327,   420,   357,
1676 <     421,   422,   423,   424,   426,   265,   266,   428,   429,   502,
1677 <     430,   328,   551,   431,   491,   432,   433,   251,   434,   435,
1678 <     436,   437,    70,   438,   439,   440,   358,   785,   786,   787,
1679 <     788,   789,   790,   791,   441,  1171,   442,   443,   451,   329,
1680 <     444,   252,   487,   114,   492,   253,   452,   453,   115,   116,
1681 <     493,   524,   359,   525,   117,   254,   526,   255,   256,   527,
1682 <     528,   529,   118,   530,   533,   534,   535,   572,   119,   536,
1683 <     120,   121,   122,   537,   538,   503,   539,   123,   540,   454,
1684 <     360,   330,   541,   124,   125,   542,   126,   127,   128,   543,
1685 <     504,   257,   129,   258,   259,   260,   261,   496,   130,   544,
1686 <     726,   545,   131,   132,   546,   547,   133,   361,   548,   549,
1687 <    1172,   573,   262,   497,   608,   550,   134,  1220,   569,   574,
1688 <     575,   576,   577,   135,   578,   136,   579,   137,   498,   138,
1689 <     139,   140,   499,   582,   455,   583,   263,   584,   585,   586,
1690 <     587,  1173,   589,   592,   590,   141,   264,   362,   591,   593,
1691 <    1174,   142,   143,   144,   624,   145,  1175,   594,   146,   147,
1692 <     596,   597,   148,   349,   598,   350,   599,   351,   600,   601,
1693 <     610,  1176,   602,  1177,  1178,   603,   265,   266,   604,   352,
1694 <    1118,   605,   606,  1179,   630,   637,   607,   611,   612,  1180,
1695 <     613,   614,   500,   616,   353,   617,   149,   232,   354,   640,
1696 <     150,  1119,  1078,   151,   152,   153,   154,   155,   618,   619,
1697 <     156,   157,   620,   621,   501,   622,  1120,   623,   626,   355,
1698 <     627,   356,  1079,  1121,   631,   632,   633,   643,   641,   502,
1699 <     642,   357,  1080,   233,   644,   645,   647,   649,  1081,   650,
1700 <     651,  1122,   652,   653,   654,   656,   657,   234,   235,   236,
1701 <     237,   238,   158,   159,   160,  1082,   659,   161,   358,    76,
1702 <       2,     3,   162,   660,     4,   661,   239,   663,   662,   664,
1703 <    1123,   665,   666,   667,     5,   670,   671,     6,     7,    77,
1704 <      78,   672,   673,     8,   359,    79,  1083,   678,  1124,   679,
1705 <     682,   684,  1185,  1084,     9,   503,   685,   686,    10,    11,
1706 <     689,   690,   687,   688,   704,  1125,  1126,  1127,    12,   692,
1707 <     504,   693,   360,   694,  1017,  1018,  1019,  1020,  1021,  1022,
1708 <    1023,   695,   711,    13,   696,    80,    81,   712,   699,   873,
1709 <    1085,    14,    15,    82,    83,    84,   714,   715,   701,   361,
1710 <     706,   734,   736,   314,   707,   708,   718,   716,   735,  1086,
1711 <     717,   737,   719,   738,   721,    16,  1128,   315,   316,    85,
1712 <      86,   317,   722,   723,   725,  1141,  1129,  1186,    17,   728,
1713 <     729,  1130,    87,    88,   730,   731,   739,  1131,   318,   362,
1714 <     741,  1132,    89,   743,  1133,   742,   744,   745,   746,  1134,
1715 <     747,   748,   749,   750,   751,  1135,  1087,   760,  1187,   761,
1716 <      18,   762,   763,   764,   897,   767,   765,  1188,   777,   766,
1717 <     769,    19,    20,  1189,   772,    21,    22,   778,   773,   807,
1718 <     319,   320,   321,   779,   780,   781,   322,   782,  1190,   783,
1719 <    1191,  1192,   323,   324,   784,   794,   804,   805,   325,   795,
1720 <    1193,   796,   808,   797,   798,   799,  1194,   800,   326,   327,
1721 <     874,   875,   876,   877,   878,   801,   879,   880,   802,   881,
1722 <     882,   883,   803,   328,   884,   809,   885,   886,   887,    23,
1723 <     888,   810,   889,   811,   890,   891,   815,   814,   892,   816,
1724 <     818,   822,   821,   826,   893,   825,  1142,  1143,  1144,  1145,
1725 <    1146,   329,  1147,  1148,   832,  1149,  1150,  1151,   827,   828,
1726 <    1152,   829,  1153,  1154,  1155,   830,  1156,   831,  1157,   833,
1727 <    1158,  1159,   836,   834,  1160,   835,   837,   838,   839,   841,
1728 <    1161,   840,   842,   843,   844,   898,   899,   900,   901,   902,
1729 <     845,   903,   904,   330,   905,   906,   907,   938,   846,   908,
1730 <     941,   909,   847,   910,   848,   911,   849,   912,   850,   913,
1731 <     914,   851,   852,   915,   942,   943,   853,   854,   855,   916,
1732 <     944,   856,   857,   858,   859,   945,   860,   861,   862,   863,
1733 <     864,   865,   866,   867,   868,   869,   939,   947,   870,   871,
1734 <     872,   949,   896,   952,   919,   953,   920,   921,   922,   954,
1735 <     923,   970,   924,   925,   971,   926,   927,   973,   974,   975,
1736 <     928,   977,   929,   930,   931,   979,   932,  1115,   933,   980,
1737 <     934,   935,   981,  1009,   936,  1011,  1013,   298,   937,  1254,
1738 <    1214,   946,  1169,   940,   950,  1168,   948,   957,   951,   958,
1739 <     968,   969,  1069,  1249,   727,   972,   978,   976,   982,   983,
1740 <    1096,   984,   985,   986,   987,   988,   989,   990,   991,   992,
1741 <     993,  1248,   994,   995,   996,  1217,   997,   998,   999,  1004,
1742 <    1230,  1005,  1006,  1007,  1008,  1235,  1233,  1012,  1215,  1010,
1743 <    1015,  1014,  1111,  1016,  1024,  1025,  1026,  1250,  1031,  1032,
1744 <    1033,   698,  1034,   733,  1035,  1251,  1036,  1037,  1038,  1039,
1745 <    1040,  1231,  1046,  1047,  1048,  1049,  1050,  1234,   776,   771,
1746 <    1051,   703,  1052,  1057,  1058,   629,  1059,   710,  1060,   387,
1747 <    1061,  1062,  1232,   636,  1063,   552,   446,  1064,  1065,  1066,
1748 <    1067,  1068,  1076,  1077,  1090,  1091,  1092,  1207,  1093,  1094,
1749 <    1095,  1099,  1105,  1106,   609,   489,  1110,  1206,  1108,  1116,
1750 <    1113,  1117,  1138,  1139,  1140,  1164,  1165,  1166,  1167,  1170,
1751 <    1183,  1184,  1216,   313,  1221,     0,  1218,  1236,  1246,  1247,
1752 <       0,     0,     0,   495,     0,     0,     0,     0,   625,     0,
1753 <       0,     0,     0,     0,     0,     0,     0,     0,   532,     0,
1637 >     851,   852,   602,   603,  1096,   605,   606,   607,  1068,   585,
1638 >     478,    70,  1044,   508,  1138,   233,   459,   223,    49,   531,
1639 >      50,   113,   113,  1034,   585,   297,   223,  1035,   290,   509,
1640 >     501,   485,   460,   478,  1036,    71,   290,   850,  1037,    54,
1641 >    1111,   401,    72,   234,  1112,   510,  1113,    56,   461,    60,
1642 >    1114,   235,   501,   532,  1242,    64,  1247,    65,  1243,   391,
1643 >    1248,   119,   459,   236,   237,    67,   120,   121,   238,   239,
1644 >     240,   401,   122,   297,  1244,  1245,  1246,   570,   460,   511,
1645 >     123,   124,   462,  1069,   570,   114,   114,   125,   486,  1251,
1646 >     126,   127,   241,  1252,   461,   487,   128,   488,   533,   661,
1647 >     662,   129,   130,  1044,   131,   132,   133,   669,   134,   502,
1648 >     586,   673,    73,  1045,   512,   224,   678,   135,    68,   681,
1649 >     110,   136,   137,   392,   224,   586,   298,   111,   462,   691,
1650 >     692,   502,   138,  1268,   513,   252,   112,   463,   479,   225,
1651 >     704,   139,   402,   707,   708,   464,   465,   534,   225,   140,
1652 >     514,   141,   118,   142,  1139,   143,   489,   144,   145,   253,
1653 >     696,   479,   220,   697,  1140,   391,   466,   515,   516,   403,
1654 >     146,   221,   402,   222,   298,   147,   148,   149,   571,   150,
1655 >     151,   152,   325,   463,   153,   571,   698,   393,   303,   699,
1656 >    1253,   464,   465,   254,  1254,  1097,   326,   327,   304,   403,
1657 >     328,  -123,   255,   503,  1045,   305,  1046,  1261,   230,  -123,
1658 >     154,  1262,   466,    47,    48,   855,   856,   517,   155,   156,
1659 >     157,   158,   159,   160,   256,   503,   231,   232,   257,   392,
1660 >     587,   531,   289,  1047,   588,   480,   258,   768,   518,   259,
1661 >     260,   467,   307,  1226,   753,   587,   548,   721,   329,   588,
1662 >     759,   161,   291,   399,   581,   808,   583,   499,   480,   579,
1663 >     291,   740,   732,   485,   725,   532,   330,   331,   332,   333,
1664 >    1263,   261,   658,   334,  1264,   162,   163,   335,   164,   165,
1665 >     166,  1265,    79,   336,   167,  1266,   302,   467,   262,   168,
1666 >     652,   263,   457,   393,   337,   338,  1272,  1046,   572,   496,
1667 >    1273,   783,   784,    80,    81,   572,   339,   838,   797,    82,
1668 >     533,   842,  1117,   306,   845,   360,   264,   361,   849,   362,
1669 >     486,  1082,  1083,  1084,  1047,   309,  1299,   487,   340,   488,
1670 >    1300,   363,   550,  1118,   265,   266,   267,   310,   787,   788,
1671 >     311,   312,  1119,   313,    83,    84,   314,   364,   315,   316,
1672 >      85,    86,    70,   317,   318,   319,    87,    88,   320,   534,
1673 >     321,   268,   269,    89,    90,    91,   568,   341,   594,   577,
1674 >     252,   322,   365,  1120,   366,   398,    71,   408,   409,   410,
1675 >     411,   367,   412,    72,   413,   414,   415,   416,   489,    92,
1676 >      93,   368,   417,   418,   253,   419,   420,   421,   595,   422,
1677 >     423,   119,  1121,  1122,   424,   425,   120,   121,   426,   427,
1678 >    1123,   428,   122,   631,   429,   596,   369,   430,   431,   432,
1679 >     123,   124,   433,   434,   850,   436,   438,   125,   254,   439,
1680 >     126,   127,   440,   441,   442,  1124,   128,   255,   443,   444,
1681 >     370,   129,   130,   445,   131,   132,   133,   446,   134,   447,
1682 >     448,  1125,   508,    73,   449,   450,   451,   135,   452,   256,
1683 >     371,   136,   137,   257,   598,   453,   454,   455,   509,   372,
1684 >     456,   258,   138,   497,   259,   260,  1210,   498,   540,   541,
1685 >     542,   139,   543,   544,   510,   545,   546,   547,   551,   140,
1686 >     552,   141,   553,   142,   554,   143,   597,   144,   145,  1058,
1687 >    1059,  1060,  1061,  1062,  1063,  1064,   261,   555,  1150,  1287,
1688 >     146,   556,  1126,   323,   373,   147,   148,   149,   511,   150,
1689 >     151,   152,  1151,   262,   153,   557,   263,   558,   559,   560,
1690 >    1152,   561,   562,   360,   563,   361,   564,   362,  1211,   565,
1691 >    1288,   374,  1289,   566,  1153,   567,   648,   578,   599,   363,
1692 >     154,   264,   582,   512,   600,   601,   604,   608,   155,   156,
1693 >     157,   158,   159,   160,   609,   364,   610,  1212,   611,   265,
1694 >     266,   267,   612,   513,  1213,  1154,   613,  1155,   614,   660,
1695 >     615,  1207,   616,  1214,   617,   654,   633,  1290,   655,   514,
1696 >     365,   161,   366,   619,   620,  1269,   268,   269,   621,   367,
1697 >     622,   623,   624,  1156,  1291,   625,   515,   516,   626,   368,
1698 >    1215,   627,  1216,  1217,   628,   162,   163,   629,   164,   165,
1699 >     166,   630,   634,   635,   167,   636,  1218,   637,   638,   168,
1700 >     639,   641,   642,  1219,   369,   643,  1157,   663,  1158,  1292,
1701 >    1293,   644,   645,   646,   647,   650,   651,     2,     3,   656,
1702 >     657,     4,   664,   665,   325,   666,   517,  1159,   370,   671,
1703 >     667,     5,   668,   904,     6,     7,   672,   670,   326,   327,
1704 >     674,     8,   328,   601,   675,  1160,   676,   518,   371,   677,
1705 >    1161,   679,     9,   680,  1162,    10,    11,   372,   682,  1163,
1706 >     683,   684,  1164,   685,   686,  1294,   688,  1165,   687,  1295,
1707 >     816,   817,   818,   819,   820,   821,   822,   689,   233,   690,
1708 >     693,  1166,   694,    12,  1167,   695,  1168,   700,    13,   701,
1709 >     329,   702,   703,   705,   706,   709,    14,  1169,   928,   710,
1710 >     929,   930,   373,   711,  1170,   734,   234,   712,   330,   331,
1711 >     332,   333,   713,   735,   235,   334,   714,    15,    16,   335,
1712 >     716,   717,   718,   719,   720,   336,   236,   237,   723,   374,
1713 >     724,   238,   239,   240,   728,    17,   337,   338,   727,   729,
1714 >     731,  1178,   736,  1179,  1180,   737,   738,   742,   339,   905,
1715 >     906,   907,    18,   908,   909,   241,   910,   911,   755,   912,
1716 >     739,   913,   764,   743,   914,    19,    20,   915,   916,   917,
1717 >     340,   918,   744,   761,   746,  1229,   919,   747,   748,   749,
1718 >     920,   921,   922,   762,   750,    21,   752,   756,   757,   758,
1719 >     923,   763,   769,   765,   766,   924,   767,   770,    22,   771,
1720 >     772,   773,   774,   775,   793,   776,   777,    23,   778,   341,
1721 >     779,    24,   780,   781,   931,   932,   933,   795,   934,   935,
1722 >     782,   936,   937,   791,   938,   792,   939,   794,   799,   940,
1723 >     800,   801,   941,   942,   943,   802,   944,  1230,   803,   804,
1724 >     805,   945,   810,   807,   811,   946,   947,   948,   836,   812,
1725 >     813,   814,   815,   825,   837,   949,   826,  1181,  1182,  1183,
1726 >     950,  1184,  1185,   827,  1186,  1187,  1231,  1188,   828,  1189,
1727 >     829,   830,  1190,  1232,    79,  1191,  1192,  1193,   831,  1194,
1728 >     839,   832,  1233,   833,  1195,   834,   835,   840,  1196,  1197,
1729 >    1198,   841,   843,   844,   846,    80,    81,   847,  1199,   848,
1730 >     850,    82,   853,  1200,   854,   857,   861,   864,   858,  1234,
1731 >     859,  1235,  1236,   860,   976,   869,   862,   863,   865,   866,
1732 >     867,   868,   872,   870,   871,  1237,   873,   874,   875,   974,
1733 >     876,   877,  1238,   977,   878,   879,    83,    84,   880,   975,
1734 >     881,   882,    85,    86,   883,   884,   885,   886,    87,    88,
1735 >     887,   888,   889,   890,   891,    89,    90,    91,   892,   893,
1736 >     894,   895,   896,   897,   898,   899,   900,   978,   901,   902,
1737 >     903,   927,   953,   979,   954,   955,   956,   957,   958,   959,
1738 >     960,    92,    93,   961,   962,   963,   964,   965,   966,   967,
1739 >     968,   969,   970,   971,   972,   973,   980,   981,   983,   982,
1740 >     985,   984,   986,   987,   988,   989,   995,   992,   996,   998,
1741 >    1001,  1002,  1003,   993,  1004,   994,  1007,   999,  1005,  1009,
1742 >     569,  1010,  1011,  1040,  1054,  1056,  1208,   741,   308,   997,
1743 >    1301,  1227,  1282,  1000,   500,  1277,  1281,   754,  1008,  1006,
1744 >    1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,
1745 >    1022,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1030,  1031,
1746 >    1032,  1033,  1038,  1039,  1255,  1042,  1043,  1041,  1053,  1057,
1747 >    1055,  1065,  1066,  1067,  1072,  1073,  1074,  1267,  1075,  1076,
1748 >    1077,  1078,  1079,  1080,  1081,  1087,  1278,  1088,  1089,  1090,
1749 >    1091,  1092,  1093,  1094,  1095,  1100,  1101,  1102,  1103,  1104,
1750 >    1279,  1280,  1274,  1105,  1256,  1276,   733,   632,  1106,  1107,
1751 >     722,  1108,  1298,  1283,   809,   798,   760,  1109,  1275,  1110,
1752 >     653,  1115,  1116,   400,   726,   458,   649,  1250,   659,  1143,
1753 >    1129,  1130,  1131,  1132,  1133,  1134,  1135,  1136,  1137,  1249,
1754 >     324,  1146,  1147,  1148,  1144,  1149,  1173,  1174,  1175,  1176,
1755 >    1177,  1203,  1204,  1205,  1206,  1209,  1222,     0,     0,  1228,
1756 >    1223,  1224,  1241,  1257,     0,  1258,  1259,  1271,  1270,  1260,
1757 >    1284,  1285,  1286,     0,     0,     0,     0,     0,     0,   549,
1758         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1759         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1760 +       0,     0,     0,     0,     0,   580,     0,     0,     0,     0,
1761         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1762         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1763 <       0,     0,     0,   571
1763 >       0,     0,     0,     0,   584
1764   };
1765  
2126 #define yypact_value_is_default(Yystate) \
2127  (!!((Yystate) == (-736)))
2128
2129 #define yytable_value_is_error(Yytable_value) \
2130  YYID (0)
2131
1766   static const yytype_int16 yycheck[] =
1767   {
1768 <     606,   607,   302,   303,     8,     1,     1,     1,     1,     1,
1769 <     310,     1,     1,   225,    51,   225,     1,     1,   223,     1,
1770 <       1,     1,   227,   105,     1,   225,     1,     1,   225,    21,
1771 <      22,    24,     1,     1,     1,    27,     1,     1,    31,     1,
1772 <       1,    37,   223,   223,   224,     1,   227,     1,    17,   223,
1773 <       1,    36,     1,   227,   225,    51,    52,    53,    54,    55,
1774 <     223,   225,   223,    32,   227,     1,   227,    36,   225,    36,
1775 <     166,   167,    57,    34,    70,    67,    68,    62,    62,     1,
1776 <      34,    62,   223,    75,    76,    77,   227,   225,    62,   225,
1777 <      57,     9,    10,    11,   225,    62,   223,   225,   398,   399,
1778 <     227,    96,    96,    96,   166,   167,   406,    96,   408,   101,
1779 <     102,   225,    73,   225,    96,   415,    96,    94,   418,    73,
1780 <     202,    96,   114,   115,   225,     1,    62,   225,   428,   429,
1781 <       6,     7,   124,   225,    96,   125,    12,   122,   438,   439,
1782 <      96,   441,   119,   125,    20,    96,   225,    96,   225,   118,
1783 <      26,   125,    28,    29,    30,   122,   193,   126,   127,    35,
1784 <     125,   198,   157,   157,   125,    41,    42,   157,    44,    45,
1785 <      46,   125,    94,   225,    50,   157,   125,   157,   225,     1,
1786 <      56,   223,   157,   226,    60,    61,   226,   105,    64,   125,
1787 <     159,   226,   157,    40,   198,   157,   223,   119,    74,   223,
1788 <     227,   157,    24,   227,   226,    81,   223,    83,   157,    85,
1789 <     227,    87,    88,    89,   138,   139,    63,   223,    65,   214,
1790 <     214,   227,   223,   226,   214,   223,   227,   103,   224,   224,
1791 <     530,   224,   224,   109,   110,   111,    58,   113,   226,   224,
1792 <     116,   117,   224,   224,   120,   214,   221,   224,   216,   214,
1793 <     224,   222,   216,   223,   222,   224,   224,   227,   222,   224,
1794 <      82,   108,   224,   224,    86,   221,   223,     1,   224,   170,
1795 <     227,   223,   225,   224,    96,   227,    98,    99,   154,   138,
1796 <     139,     1,   158,    17,   226,   161,   162,   163,   164,   165,
1797 <     184,   185,   168,   169,   594,    15,    16,   226,    32,    19,
1798 <     600,   601,    36,    92,    93,   605,  1041,  1042,  1043,   226,
1799 <     132,     1,   134,   135,   136,   137,    36,     1,   226,   226,
1800 <     226,     1,   226,     3,   226,     5,   226,    17,   226,   226,
1801 <     226,   153,   179,   180,   210,   211,   212,    17,   226,   215,
1802 <      24,   226,    32,   226,   220,   226,    36,    31,   224,   226,
1803 <       1,   226,    32,   226,   226,   177,    36,   226,    78,    79,
1804 <      80,   226,    96,   226,    84,   187,   226,   214,   226,   226,
1805 <      90,    91,   226,    24,   226,   226,    96,    57,   226,    59,
1806 <     105,   226,   226,   226,   118,   226,   106,   107,   226,    69,
1807 <     226,   226,   226,   226,   226,   217,   218,   226,   226,   133,
1808 <     226,   121,   224,   226,   223,   226,   226,    58,   226,   226,
1809 <     226,   226,    96,   226,   226,   226,    96,   142,   143,   144,
1810 <     145,   146,   147,   148,   226,    65,   226,   226,   118,   149,
1811 <     226,    82,   226,     1,   226,    86,   126,   127,     6,     7,
1812 <     226,   226,   122,   226,    12,    96,   226,    98,    99,   226,
1813 <     226,   226,    20,   226,   223,   226,   226,   123,    26,   226,
1814 <      28,    29,    30,   226,   226,   199,   226,    35,   226,   159,
1815 <     150,   191,   226,    41,    42,   226,    44,    45,    46,   226,
1816 <     214,   132,    50,   134,   135,   136,   137,     1,    56,   226,
1817 <     224,   226,    60,    61,   226,   226,    64,   177,   226,   226,
1818 <     140,   123,   153,    17,   224,   226,    74,  1113,   226,   123,
1819 <     223,   105,   105,    81,   166,    83,   105,    85,    32,    87,
1820 <      88,    89,    36,   105,   214,   105,   177,   105,   166,   166,
1821 <     105,   171,   166,   226,   223,   103,   187,   217,   223,   226,
1822 <     180,   109,   110,   111,   224,   113,   186,   226,   116,   117,
1823 <     226,   226,   120,     1,   226,     3,   226,     5,   226,   226,
1824 <     223,   201,   226,   203,   204,   226,   217,   218,   226,    17,
1825 <       4,   226,   226,   213,   123,   166,   226,   226,   226,   219,
1826 <     226,   226,    96,   226,    32,   226,   154,     1,    36,   105,
1827 <     158,    25,    13,   161,   162,   163,   164,   165,   226,   226,
1828 <     168,   169,   226,   226,   118,   226,    40,   226,   226,    57,
1829 <     226,    59,    33,    47,   223,   226,   226,   105,   166,   133,
1830 <     166,    69,    43,    37,   123,   166,   166,   105,    49,   105,
1831 <     105,    65,   166,   166,   166,   105,   105,    51,    52,    53,
1832 <      54,    55,   210,   211,   212,    66,   105,   215,    96,     1,
1833 <       0,     1,   220,   105,     4,   105,    70,   166,   105,   166,
1834 <      94,   226,   166,   226,    14,   166,   166,    17,    18,    21,
1835 <      22,   166,   166,    23,   122,    27,    97,   166,   112,   166,
1836 <     123,   166,    65,   104,    34,   199,   166,   166,    38,    39,
1837 <     226,   226,   223,   223,   223,   129,   130,   131,    48,   226,
1838 <     214,   226,   150,   226,   785,   786,   787,   788,   789,   790,
1839 <     791,   226,   166,    63,   226,    67,    68,   223,   226,    51,
1840 <     141,    71,    72,    75,    76,    77,   123,   123,   226,   177,
1841 <     226,   166,   123,     1,   226,   226,   226,   223,   166,   160,
1842 <     223,   166,   226,   166,   226,    95,   180,    15,    16,   101,
1843 <     102,    19,   226,   226,   226,    51,   190,   140,   108,   223,
1844 <     226,   195,   114,   115,   226,   226,   166,   201,    36,   217,
1845 <     223,   205,   124,   166,   208,   123,   105,   105,   123,   213,
1846 <     123,   123,   123,   123,   123,   219,   207,   123,   171,   123,
1847 <     140,   105,   123,   123,    51,   226,   223,   180,   123,   223,
1848 <     226,   151,   152,   186,   223,   155,   156,   223,   226,   226,
1849 <      78,    79,    80,   223,   223,   223,    84,   223,   201,   223,
1850 <     203,   204,    90,    91,   223,   223,   105,   105,    96,   223,
1851 <     213,   223,   105,   223,   223,   223,   219,   223,   106,   107,
1852 <     172,   173,   174,   175,   176,   223,   178,   179,   223,   181,
1853 <     182,   183,   223,   121,   186,   105,   188,   189,   190,   209,
1854 <     192,   105,   194,   105,   196,   197,   105,   123,   200,   105,
1855 <     105,   123,   223,   166,   206,   123,   172,   173,   174,   175,
1856 <     176,   149,   178,   179,   105,   181,   182,   183,   226,   123,
1857 <     186,   123,   188,   189,   190,   123,   192,   123,   194,   123,
1858 <     196,   197,   223,   123,   200,   123,   123,   123,   223,   123,
1859 <     206,   223,   123,   226,   223,   172,   173,   174,   175,   176,
1860 <     223,   178,   179,   191,   181,   182,   183,   123,   223,   186,
1861 <     123,   188,   223,   190,   223,   192,   223,   194,   223,   196,
1862 <     197,   223,   223,   200,   105,   123,   223,   223,   223,   206,
1863 <     123,   223,   223,   223,   223,   123,   223,   223,   223,   223,
1864 <     223,   223,   223,   223,   223,   223,   166,   123,   223,   223,
1865 <     223,   123,   223,   123,   223,   123,   223,   223,   223,   105,
1866 <     223,   123,   223,   223,   166,   223,   223,   123,   123,   123,
1867 <     223,   123,   223,   223,   223,   123,   223,   963,   223,   123,
1868 <     223,   223,   123,   123,   223,   123,   123,    71,   223,  1253,
1869 <     105,   223,  1003,   226,   223,  1001,   226,   223,   226,   223,
1870 <     223,   223,   128,  1225,   505,   226,   223,   226,   223,   223,
1871 <     128,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1872 <     223,  1223,   223,   223,   223,   123,   223,   223,   223,   223,
1873 <    1198,   223,   223,   223,   223,  1213,  1209,   223,  1108,   226,
1874 <     223,   226,   226,   223,   223,   223,   223,  1227,   223,   223,
1875 <     223,   456,   223,   519,   223,  1229,   223,   223,   223,   223,
1876 <     223,  1203,   223,   223,   223,   223,   223,  1211,   565,   557,
1877 <     223,   471,   223,   223,   223,   381,   223,   481,   223,   110,
1878 <     223,   223,  1205,   393,   223,   267,   163,   223,   223,   223,
1879 <     223,   223,   223,   223,   223,   223,   223,  1075,   223,   223,
1880 <     223,   223,   223,   223,   331,   218,   223,  1073,   227,   223,
1881 <     226,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1882 <     223,   223,   223,    90,   223,    -1,   226,   223,   223,   223,
1883 <      -1,    -1,    -1,   226,    -1,    -1,    -1,    -1,   363,    -1,
1884 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,    -1,
1768 >     629,   630,   312,   313,     8,   315,   316,   317,    53,     1,
1769 >       1,     1,     1,     1,    49,     1,     1,     1,   233,     1,
1770 >     233,     1,     1,   231,     1,     1,     1,   235,     1,    17,
1771 >       1,     1,    17,     1,   231,    25,     1,   112,   235,   233,
1772 >     231,     1,    32,    29,   235,    33,   231,   233,    33,   233,
1773 >     235,    37,     1,    35,   231,   233,   231,   233,   235,     1,
1774 >     235,     1,     1,    49,    50,   233,     6,     7,    54,    55,
1775 >      56,     1,    12,     1,  1082,  1083,  1084,     1,    17,    67,
1776 >      20,    21,    67,   128,     1,    65,    65,    27,    58,   231,
1777 >      30,    31,    78,   235,    33,    65,    36,    67,    80,   409,
1778 >     410,    41,    42,     1,    44,    45,    46,   417,    48,    80,
1779 >     102,   421,   102,   102,   102,    99,   426,    57,   233,   429,
1780 >     233,    61,    62,    65,    99,   102,   102,   233,    67,   439,
1781 >     440,    80,    72,   208,   122,     1,   233,   122,   129,   123,
1782 >     450,    81,   102,   453,   454,   130,   131,   129,   123,    89,
1783 >     138,    91,   233,    93,   189,    95,   126,    97,    98,    25,
1784 >     214,   129,   233,   217,   199,     1,   151,   155,   156,   129,
1785 >     110,   233,   102,   233,   102,   115,   116,   117,   102,   119,
1786 >     120,   121,     1,   122,   124,   102,   214,   129,   231,   217,
1787 >     231,   130,   131,    59,   235,   199,    15,    16,   234,   129,
1788 >      19,   174,    68,   174,   102,   234,   195,   231,   233,   174,
1789 >     150,   235,   151,   231,   232,   178,   179,   205,   158,   159,
1790 >     160,   161,   162,   163,    90,   174,   233,   233,    94,    65,
1791 >     222,     1,   233,   222,   226,   226,   102,   547,   226,   105,
1792 >     106,   226,   232,   232,   232,   222,   232,   232,    67,   226,
1793 >     232,   191,   225,   232,   174,   232,   232,   232,   226,   232,
1794 >     225,   232,   232,     1,   232,    35,    85,    86,    87,    88,
1795 >     231,   137,   232,    92,   235,   215,   216,    96,   218,   219,
1796 >     220,   231,     1,   102,   224,   235,   233,   226,   154,   229,
1797 >     232,   157,   232,   129,   113,   114,   231,   195,   222,   231,
1798 >     235,   203,   204,    22,    23,   222,   125,   617,   232,    28,
1799 >      80,   621,    13,   234,   624,     1,   182,     3,   628,     5,
1800 >      58,     9,    10,    11,   222,   234,   231,    65,   147,    67,
1801 >     235,    17,   231,    34,   200,   201,   202,   234,   203,   204,
1802 >     234,   234,    43,   234,    63,    64,   234,    33,   234,   234,
1803 >      69,    70,     1,   234,   234,   234,    75,    76,   234,   129,
1804 >     234,   227,   228,    82,    83,    84,   232,   186,   127,   231,
1805 >       1,   234,    58,    74,    60,   234,    25,   234,   234,   234,
1806 >     234,    67,   234,    32,   234,   234,   234,   234,   126,   108,
1807 >     109,    77,   234,   234,    25,   234,   234,   234,   127,   234,
1808 >     234,     1,   103,   104,   234,   234,     6,     7,   234,   234,
1809 >     111,   234,    12,   232,   234,   127,   102,   234,   234,   234,
1810 >      20,    21,   234,   234,   112,   234,   234,    27,    59,   234,
1811 >      30,    31,   234,   234,   234,   136,    36,    68,   234,   234,
1812 >     126,    41,    42,   234,    44,    45,    46,   234,    48,   234,
1813 >     234,   152,     1,   102,   234,   234,   234,    57,   234,    90,
1814 >     146,    61,    62,    94,   112,   234,   234,   234,    17,   155,
1815 >     234,   102,    72,   234,   105,   106,    73,   234,   234,   234,
1816 >     234,    81,   234,   234,    33,   234,   234,   234,   234,    89,
1817 >     234,    91,   234,    93,   234,    95,   231,    97,    98,   816,
1818 >     817,   818,   819,   820,   821,   822,   137,   234,     4,    40,
1819 >     110,   234,   213,   232,   200,   115,   116,   117,    67,   119,
1820 >     120,   121,    18,   154,   124,   234,   157,   234,   234,   234,
1821 >      26,   234,   234,     1,   234,     3,   234,     5,   135,   234,
1822 >      71,   227,    73,   234,    40,   234,   232,   234,   112,    17,
1823 >     150,   182,   234,   102,   214,   112,   112,   112,   158,   159,
1824 >     160,   161,   162,   163,   112,    33,   112,   164,   214,   200,
1825 >     201,   202,   214,   122,   171,    71,   231,    73,   231,   214,
1826 >     234,  1035,   234,   180,   234,   127,   231,   118,   231,   138,
1827 >      58,   191,    60,   234,   234,  1224,   227,   228,   234,    67,
1828 >     234,   234,   234,    99,   135,   234,   155,   156,   234,    77,
1829 >     207,   234,   209,   210,   234,   215,   216,   234,   218,   219,
1830 >     220,   234,   234,   234,   224,   234,   223,   234,   234,   229,
1831 >     234,   234,   234,   230,   102,   234,   132,   214,   134,   170,
1832 >     171,   234,   234,   234,   234,   234,   234,     0,     1,   234,
1833 >     234,     4,   112,   214,     1,   112,   205,   153,   126,   112,
1834 >     127,    14,   214,    49,    17,    18,   112,   214,    15,    16,
1835 >     112,    24,    19,   112,   214,   171,   214,   226,   146,   214,
1836 >     176,   112,    35,   112,   180,    38,    39,   155,   112,   185,
1837 >     112,   112,   188,   112,   214,   226,   214,   193,   234,   230,
1838 >     139,   140,   141,   142,   143,   144,   145,   234,     1,   214,
1839 >     214,   207,   214,    66,   210,   214,   212,   214,    71,   214,
1840 >      67,   214,   127,   214,   214,   214,    79,   223,    49,   214,
1841 >      51,    52,   200,   231,   230,   127,    29,   231,    85,    86,
1842 >      87,    88,   234,   127,    37,    92,   234,   100,   101,    96,
1843 >     234,   234,   234,   234,   234,   102,    49,    50,   234,   227,
1844 >     234,    54,    55,    56,   234,   118,   113,   114,   231,   234,
1845 >     234,    49,   231,    51,    52,   231,   234,   231,   125,   165,
1846 >     166,   167,   135,   169,   170,    78,   172,   173,   231,   175,
1847 >     234,   177,   127,   234,   180,   148,   149,   183,   184,   185,
1848 >     147,   187,   234,   214,   234,    73,   192,   234,   234,   234,
1849 >     196,   197,   198,   214,   234,   168,   234,   234,   234,   234,
1850 >     206,   214,   231,   214,   214,   211,   214,   127,   181,   214,
1851 >     127,   112,   112,   127,   231,   127,   127,   190,   127,   186,
1852 >     127,   194,   127,   112,   165,   166,   167,   234,   169,   170,
1853 >     127,   172,   173,   127,   175,   127,   177,   231,   214,   180,
1854 >     231,   233,   183,   184,   185,   127,   187,   135,   231,   231,
1855 >     234,   192,   231,   234,   231,   196,   197,   198,   112,   231,
1856 >     231,   231,   231,   231,   112,   206,   231,   165,   166,   167,
1857 >     211,   169,   170,   231,   172,   173,   164,   175,   231,   177,
1858 >     231,   231,   180,   171,     1,   183,   184,   185,   231,   187,
1859 >     234,   231,   180,   231,   192,   231,   231,   112,   196,   197,
1860 >     198,   112,   112,   112,   127,    22,    23,   112,   206,   112,
1861 >     112,    28,   231,   211,   127,   127,   234,   112,   214,   207,
1862 >     127,   209,   210,   127,   234,   231,   127,   127,   127,   127,
1863 >     127,   127,   231,   127,   127,   223,   231,   127,   127,   127,
1864 >     231,   231,   230,   127,   231,   231,    63,    64,   231,   214,
1865 >     231,   231,    69,    70,   231,   231,   231,   231,    75,    76,
1866 >     231,   231,   231,   231,   231,    82,    83,    84,   231,   231,
1867 >     231,   231,   231,   231,   231,   231,   231,   112,   231,   231,
1868 >     231,   231,   231,   127,   231,   231,   231,   231,   231,   231,
1869 >     231,   108,   109,   231,   231,   231,   231,   231,   231,   231,
1870 >     231,   231,   231,   231,   231,   231,   127,   127,   127,   231,
1871 >     231,   127,   127,   127,   234,   112,   127,   231,   127,   127,
1872 >     127,   127,   127,   231,   127,   231,   127,   214,   214,   127,
1873 >     270,   127,   127,   127,   127,   127,  1037,   504,    74,   231,
1874 >    1300,  1048,  1264,   234,   226,  1254,  1262,   519,   231,   234,
1875 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1876 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1877 >     231,   231,   231,   231,   112,   231,   231,   234,   231,   231,
1878 >     234,   231,   231,   231,   231,   231,   231,   127,   231,   231,
1879 >     231,   231,   231,   231,   231,   231,   133,   231,   231,   231,
1880 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1881 >     133,   133,  1243,   231,  1144,  1252,   491,   342,   231,   231,
1882 >     468,   231,  1273,  1266,   589,   573,   535,   231,  1248,   231,
1883 >     394,   231,   231,   115,   481,   169,   375,  1114,   404,   221,
1884 >     231,   231,   231,   231,   231,   231,   231,   231,   231,  1112,
1885 >      94,   231,   231,   231,   235,   231,   231,   231,   231,   231,
1886 >     231,   231,   231,   231,   231,   231,   231,    -1,    -1,   231,
1887 >     234,   234,   231,   231,    -1,   236,   236,   231,   234,   236,
1888 >     231,   231,   231,    -1,    -1,    -1,    -1,    -1,    -1,   242,
1889        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1890        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1891 +      -1,    -1,    -1,    -1,    -1,   292,    -1,    -1,    -1,    -1,
1892        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1893        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1894 <      -1,    -1,    -1,   290
1894 >      -1,    -1,    -1,    -1,   299
1895   };
1896  
1897 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1898 <   symbol of state STATE-NUM.  */
1897 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1898 >     symbol of state STATE-NUM.  */
1899   static const yytype_uint16 yystos[] =
1900   {
1901 <       0,   229,     0,     1,     4,    14,    17,    18,    23,    34,
1902 <      38,    39,    48,    63,    71,    72,    95,   108,   140,   151,
1903 <     152,   155,   156,   209,   230,   235,   240,   264,   270,   284,
1904 <     302,   325,   339,   354,   361,   365,   375,   384,   404,   414,
1905 <     420,   424,   434,   491,   507,   223,   224,   225,   225,   303,
1906 <     385,   415,   225,   425,   225,   340,   405,   326,   225,   225,
1907 <     285,   355,   225,   225,   366,   376,   225,     1,    24,    31,
1908 <      96,   265,   266,   267,   268,   269,     1,    21,    22,    27,
1909 <      67,    68,    75,    76,    77,   101,   102,   114,   115,   124,
1910 <     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1911 <     502,   503,   504,   505,   506,   225,   225,   225,     1,    62,
1912 <     421,   422,   423,   225,     1,     6,     7,    12,    20,    26,
1913 <      28,    29,    30,    35,    41,    42,    44,    45,    46,    50,
1914 <      56,    60,    61,    64,    74,    81,    83,    85,    87,    88,
1915 <      89,   103,   109,   110,   111,   113,   116,   117,   120,   154,
1916 <     158,   161,   162,   163,   164,   165,   168,   169,   210,   211,
1917 <     212,   215,   220,   435,   436,   437,   438,   439,   440,   441,
1918 <     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
1919 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1920 <     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1921 <     472,   473,   474,   475,   476,   477,   478,   479,   480,   484,
1922 <     488,   489,   490,   225,   225,   225,     1,   216,   271,   272,
1923 <     273,   274,   275,     1,    94,   119,   236,   237,   238,   239,
1924 <     225,   225,     1,    37,    51,    52,    53,    54,    55,    70,
1925 <     508,   509,   510,   511,   512,   513,   514,   515,   516,     1,
1926 <      24,    58,    82,    86,    96,    98,    99,   132,   134,   135,
1927 <     136,   137,   153,   177,   187,   217,   218,   241,   242,   243,
1928 <     244,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1929 <     258,   259,   260,   261,   262,   263,   225,   225,     1,    96,
1930 <     362,   363,   364,   223,   226,   226,   226,   224,   266,   226,
1931 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1932 <     226,   226,   224,   493,     1,    15,    16,    19,    36,    78,
1933 <      79,    80,    84,    90,    91,    96,   106,   107,   121,   149,
1934 <     191,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1935 <     313,   314,   315,   316,   317,   318,   319,   320,   321,     1,
1936 <       3,     5,    17,    32,    36,    57,    59,    69,    96,   122,
1937 <     150,   177,   217,   386,   387,   388,   389,   390,   391,   392,
1938 <     393,   394,   395,   399,   400,   401,   402,   403,     1,    62,
1939 <     125,   416,   417,   418,   419,   226,   224,   422,     1,    96,
1940 <     125,   157,   426,   430,   431,   432,   433,   226,   226,   226,
1941 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1942 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1943 <     226,   226,   226,   226,   226,   485,   226,   481,   226,   226,
1944 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1945 <     226,   226,   226,   226,   226,   224,   436,     1,    17,    32,
1946 <      36,   118,   126,   127,   159,   214,   341,   342,   343,   344,
1947 <     345,   346,   347,   351,   352,   353,     1,   125,   157,   214,
1948 <     406,   410,   411,   412,   413,     1,    36,    57,    62,   122,
1949 <     327,   331,   332,   333,   337,   338,   223,   226,   224,   272,
1950 <     222,   223,   226,   226,   224,   237,     1,    17,    32,    36,
1951 <      96,   118,   133,   199,   214,   286,   287,   288,   289,   290,
1952 <     291,   292,   293,   294,   298,     1,    34,    73,   125,   356,
1953 <     357,   358,   359,   360,   226,   226,   226,   226,   226,   226,
1954 <     226,   224,   509,   223,   226,   226,   226,   226,   226,   226,
1955 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1956 <     226,   224,   242,     1,    96,   157,   214,   367,   368,   369,
1957 <     370,   371,     1,    96,   157,   377,   378,   379,   380,   226,
1958 <     224,   363,   123,   123,   123,   223,   105,   105,   166,   105,
1959 <     232,   232,   105,   105,   105,   166,   166,   105,   232,   166,
1960 <     223,   223,   226,   226,   226,   322,   226,   226,   226,   226,
1961 <     226,   226,   226,   226,   226,   226,   226,   226,   224,   305,
1962 <     223,   226,   226,   226,   226,   396,   226,   226,   226,   226,
1963 <     226,   226,   226,   226,   224,   387,   226,   226,   224,   417,
1964 <     123,   223,   226,   226,   427,   224,   431,   166,   232,   232,
1965 <     105,   166,   166,   105,   123,   166,   232,   166,   232,   105,
1966 <     105,   105,   166,   166,   166,   232,   105,   105,   232,   105,
1967 <     105,   105,   105,   166,   166,   226,   166,   226,   232,   232,
1968 <     166,   166,   166,   166,   166,   167,   166,   167,   166,   166,
1969 <     232,   232,   123,   232,   166,   166,   166,   223,   223,   226,
1970 <     226,   348,   226,   226,   226,   226,   226,   224,   342,   226,
1971 <     407,   226,   224,   411,   223,   328,   226,   226,   226,   224,
1972 <     332,   166,   223,   225,   123,   123,   223,   223,   226,   226,
1973 <     299,   226,   226,   226,   295,   226,   224,   287,   223,   226,
1974 <     226,   226,   224,   357,   166,   166,   123,   166,   166,   166,
1975 <     232,   223,   123,   166,   105,   105,   123,   123,   123,   123,
1976 <     123,   123,   138,   139,   245,   246,   138,   139,   247,   248,
1977 <     123,   123,   105,   123,   123,   223,   223,   226,   372,   226,
1978 <     224,   368,   223,   226,   381,   224,   378,   123,   223,   223,
1979 <     223,   223,   223,   223,   223,   142,   143,   144,   145,   146,
1980 <     147,   148,   231,   232,   223,   223,   223,   223,   223,   223,
1981 <     223,   223,   223,   223,   105,   105,   232,   226,   105,   105,
1982 <     105,   105,   232,   232,   123,   105,   105,   232,   105,   234,
1983 <     234,   223,   123,   184,   185,   123,   166,   226,   123,   123,
1984 <     123,   123,   105,   123,   123,   123,   223,   123,   123,   223,
1985 <     223,   123,   123,   226,   223,   223,   223,   223,   223,   223,
1986 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1987 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1988 <     223,   223,   223,    51,   172,   173,   174,   175,   176,   178,
1989 <     179,   181,   182,   183,   186,   188,   189,   190,   192,   194,
1990 <     196,   197,   200,   206,   486,   487,   223,    51,   172,   173,
1991 <     174,   175,   176,   178,   179,   181,   182,   183,   186,   188,
1992 <     190,   192,   194,   196,   197,   200,   206,   482,   483,   223,
1993 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1994 <     223,   223,   223,   223,   223,   223,   223,   223,   123,   166,
1995 <     226,   123,   105,   123,   123,   123,   223,   123,   226,   123,
1996 <     223,   226,   123,   123,   105,   335,   336,   223,   223,     1,
1997 <      96,   157,   221,   276,   277,   278,   279,   280,   223,   223,
1998 <     123,   166,   226,   123,   123,   123,   226,   123,   223,   123,
1999 <     123,   123,   223,   223,   223,   223,   223,   223,   223,   223,
2000 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2001 <     223,   227,   223,   227,   223,   223,   223,   223,   223,   123,
2002 <     226,   123,   223,   123,   226,   223,   223,   231,   231,   231,
2003 <     231,   231,   231,   231,   223,   223,   223,    92,    93,   323,
2004 <     324,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2005 <     223,     9,    10,    11,   233,   234,   223,   223,   223,   223,
2006 <     223,   223,   223,     8,   198,   397,   398,   223,   223,   223,
2007 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   128,
2008 <     428,   429,   223,   227,   223,   227,   223,   223,    13,    33,
2009 <      43,    49,    66,    97,   104,   141,   160,   207,   349,   350,
2010 <     223,   223,   223,   223,   223,   223,   128,   408,   409,   223,
2011 <      51,   193,   198,   329,   330,   223,   223,   170,   227,   334,
2012 <     223,   226,   281,   226,   224,   277,   223,   223,     4,    25,
2013 <      40,    47,    65,    94,   112,   129,   130,   131,   180,   190,
2014 <     195,   201,   205,   208,   213,   219,   300,   301,   223,   223,
2015 <     223,    51,   172,   173,   174,   175,   176,   178,   179,   181,
2016 <     182,   183,   186,   188,   189,   190,   192,   194,   196,   197,
2017 <     200,   206,   296,   297,   223,   223,   223,   223,   246,   248,
2018 <     223,    65,   140,   171,   180,   186,   201,   203,   204,   213,
2019 <     219,   373,   374,   223,   223,    65,   140,   171,   180,   186,
2020 <     201,   203,   204,   213,   219,   382,   383,   223,   227,   233,
2021 <     233,   233,   223,   227,   223,   227,   487,   483,   223,   227,
2022 <     223,   227,   223,   227,   105,   336,   223,   123,   226,   202,
2023 <     234,   223,   223,   227,   223,   227,   223,   227,   223,   227,
2024 <     324,   398,   429,   350,   409,   330,   223,    40,    63,    65,
2025 <     108,   179,   180,   214,   282,   283,   223,   223,   301,   297,
2026 <     374,   383,   223,   227,   283
1901 >       0,   238,     0,     1,     4,    14,    17,    18,    24,    35,
1902 >      38,    39,    66,    71,    79,   100,   101,   118,   135,   148,
1903 >     149,   168,   181,   190,   194,   239,   244,   249,   273,   279,
1904 >     285,   299,   319,   342,   356,   371,   378,   382,   392,   401,
1905 >     422,   428,   434,   438,   444,   502,   519,   231,   232,   233,
1906 >     233,   320,   402,   429,   233,   439,   233,   357,   423,   343,
1907 >     233,   280,   300,   372,   233,   233,   393,   233,   233,   383,
1908 >       1,    25,    32,   102,   274,   275,   276,   277,   278,     1,
1909 >      22,    23,    28,    63,    64,    69,    70,    75,    76,    82,
1910 >      83,    84,   108,   109,   503,   504,   505,   506,   507,   508,
1911 >     509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
1912 >     233,   233,   233,     1,    65,   435,   436,   437,   233,     1,
1913 >       6,     7,    12,    20,    21,    27,    30,    31,    36,    41,
1914 >      42,    44,    45,    46,    48,    57,    61,    62,    72,    81,
1915 >      89,    91,    93,    95,    97,    98,   110,   115,   116,   117,
1916 >     119,   120,   121,   124,   150,   158,   159,   160,   161,   162,
1917 >     163,   191,   215,   216,   218,   219,   220,   224,   229,   445,
1918 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1919 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1920 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1921 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
1922 >     486,   487,   488,   489,   490,   491,   495,   499,   500,   501,
1923 >     233,   233,   233,     1,    99,   123,   245,   246,   247,   248,
1924 >     233,   233,   233,     1,    29,    37,    49,    50,    54,    55,
1925 >      56,    78,   520,   521,   522,   523,   524,   525,   526,   527,
1926 >     528,   529,     1,    25,    59,    68,    90,    94,   102,   105,
1927 >     106,   137,   154,   157,   182,   200,   201,   202,   227,   228,
1928 >     250,   251,   252,   253,   258,   259,   260,   261,   262,   263,
1929 >     264,   265,   266,   267,   268,   269,   270,   271,   272,   233,
1930 >       1,   225,   286,   287,   288,   289,   290,     1,   102,   379,
1931 >     380,   381,   233,   231,   234,   234,   234,   232,   275,   234,
1932 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1933 >     234,   234,   234,   232,   504,     1,    15,    16,    19,    67,
1934 >      85,    86,    87,    88,    92,    96,   102,   113,   114,   125,
1935 >     147,   186,   321,   322,   323,   324,   325,   326,   327,   328,
1936 >     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1937 >       1,     3,     5,    17,    33,    58,    60,    67,    77,   102,
1938 >     126,   146,   155,   200,   227,   403,   404,   405,   406,   407,
1939 >     408,   409,   410,   411,   412,   413,   417,   418,   419,   420,
1940 >     421,     1,    65,   129,   430,   431,   432,   433,   234,   232,
1941 >     436,     1,   102,   129,   440,   441,   442,   443,   234,   234,
1942 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1943 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1944 >     234,   234,   234,   234,   234,   496,   234,   492,   234,   234,
1945 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1946 >     234,   234,   234,   234,   234,   234,   234,   232,   446,     1,
1947 >      17,    33,    67,   122,   130,   131,   151,   226,   358,   359,
1948 >     360,   361,   362,   363,   364,   368,   369,   370,     1,   129,
1949 >     226,   424,   425,   426,   427,     1,    58,    65,    67,   126,
1950 >     344,   348,   349,   350,   354,   355,   231,   234,   234,   232,
1951 >     246,     1,    80,   174,   281,   282,   283,   284,     1,    17,
1952 >      33,    67,   102,   122,   138,   155,   156,   205,   226,   301,
1953 >     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
1954 >     315,     1,    35,    80,   129,   373,   374,   375,   376,   377,
1955 >     234,   234,   234,   234,   234,   234,   234,   234,   232,   521,
1956 >     231,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1957 >     234,   234,   234,   234,   234,   234,   234,   234,   232,   251,
1958 >       1,   102,   222,   394,   395,   396,   397,   231,   234,   232,
1959 >     287,   174,   234,   232,   380,     1,   102,   222,   226,   384,
1960 >     385,   386,   387,   388,   127,   127,   127,   231,   112,   112,
1961 >     214,   112,   241,   241,   112,   241,   241,   241,   112,   112,
1962 >     112,   214,   214,   231,   231,   234,   234,   234,   339,   234,
1963 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1964 >     234,   232,   322,   231,   234,   234,   234,   234,   234,   234,
1965 >     414,   234,   234,   234,   234,   234,   234,   234,   232,   404,
1966 >     234,   234,   232,   431,   127,   231,   234,   234,   232,   441,
1967 >     214,   241,   241,   214,   112,   214,   112,   127,   214,   241,
1968 >     214,   112,   112,   241,   112,   214,   214,   214,   241,   112,
1969 >     112,   241,   112,   112,   112,   112,   214,   234,   214,   234,
1970 >     214,   241,   241,   214,   214,   214,   214,   217,   214,   217,
1971 >     214,   214,   214,   127,   241,   214,   214,   241,   241,   214,
1972 >     214,   231,   231,   234,   234,   365,   234,   234,   234,   234,
1973 >     234,   232,   359,   234,   234,   232,   425,   231,   234,   234,
1974 >     345,   234,   232,   349,   127,   127,   231,   231,   234,   234,
1975 >     232,   282,   231,   234,   234,   316,   234,   234,   234,   234,
1976 >     234,   312,   234,   232,   302,   231,   234,   234,   234,   232,
1977 >     374,   214,   214,   214,   127,   214,   214,   214,   241,   231,
1978 >     127,   214,   127,   112,   112,   127,   127,   127,   127,   127,
1979 >     127,   112,   127,   203,   204,   254,   255,   203,   204,   256,
1980 >     257,   127,   127,   231,   231,   234,   398,   232,   395,   214,
1981 >     231,   233,   127,   231,   231,   234,   389,   234,   232,   385,
1982 >     231,   231,   231,   231,   231,   231,   139,   140,   141,   142,
1983 >     143,   144,   145,   240,   241,   231,   231,   231,   231,   231,
1984 >     231,   231,   231,   231,   231,   231,   112,   112,   241,   234,
1985 >     112,   112,   241,   112,   112,   241,   127,   112,   112,   241,
1986 >     112,   243,   243,   231,   127,   178,   179,   127,   214,   127,
1987 >     127,   234,   127,   127,   112,   127,   127,   127,   127,   231,
1988 >     127,   127,   231,   231,   127,   127,   231,   231,   231,   231,
1989 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1990 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1991 >     231,   231,   231,   231,    49,   165,   166,   167,   169,   170,
1992 >     172,   173,   175,   177,   180,   183,   184,   185,   187,   192,
1993 >     196,   197,   198,   206,   211,   497,   498,   231,    49,    51,
1994 >      52,   165,   166,   167,   169,   170,   172,   173,   175,   177,
1995 >     180,   183,   184,   185,   187,   192,   196,   197,   198,   206,
1996 >     211,   493,   494,   231,   231,   231,   231,   231,   231,   231,
1997 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1998 >     231,   231,   231,   231,   127,   214,   234,   127,   112,   127,
1999 >     127,   127,   231,   127,   127,   231,   127,   127,   234,   112,
2000 >     352,   353,   231,   231,   231,   127,   127,   231,   127,   214,
2001 >     234,   127,   127,   127,   127,   214,   234,   127,   231,   127,
2002 >     127,   127,   231,   231,   231,   231,   231,   231,   231,   231,
2003 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2004 >     231,   231,   231,   231,   231,   235,   231,   235,   231,   231,
2005 >     127,   234,   231,   231,     1,   102,   195,   222,   291,   292,
2006 >     293,   294,   295,   231,   127,   234,   127,   231,   240,   240,
2007 >     240,   240,   240,   240,   240,   231,   231,   231,    53,   128,
2008 >     340,   341,   231,   231,   231,   231,   231,   231,   231,   231,
2009 >     231,   231,     9,    10,    11,   242,   243,   231,   231,   231,
2010 >     231,   231,   231,   231,   231,   231,     8,   199,   415,   416,
2011 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2012 >     231,   231,   235,   231,   235,   231,   231,    13,    34,    43,
2013 >      74,   103,   104,   111,   136,   152,   213,   366,   367,   231,
2014 >     231,   231,   231,   231,   231,   231,   231,   231,    49,   189,
2015 >     199,   346,   347,   221,   235,   351,   231,   231,   231,   231,
2016 >       4,    18,    26,    40,    71,    73,    99,   132,   134,   153,
2017 >     171,   176,   180,   185,   188,   193,   207,   210,   212,   223,
2018 >     230,   317,   318,   231,   231,   231,   231,   231,    49,    51,
2019 >      52,   165,   166,   167,   169,   170,   172,   173,   175,   177,
2020 >     180,   183,   184,   185,   187,   192,   196,   197,   198,   206,
2021 >     211,   313,   314,   231,   231,   231,   231,   255,   257,   231,
2022 >      73,   135,   164,   171,   180,   207,   209,   210,   223,   230,
2023 >     399,   400,   231,   234,   234,   296,   232,   292,   231,    73,
2024 >     135,   164,   171,   180,   207,   209,   210,   223,   230,   390,
2025 >     391,   231,   231,   235,   242,   242,   242,   231,   235,   498,
2026 >     494,   231,   235,   231,   235,   112,   353,   231,   236,   236,
2027 >     236,   231,   235,   231,   235,   231,   235,   127,   208,   243,
2028 >     234,   231,   231,   235,   341,   416,   367,   347,   133,   133,
2029 >     133,   318,   314,   400,   231,   231,   231,    40,    71,    73,
2030 >     118,   135,   170,   171,   226,   230,   297,   298,   391,   231,
2031 >     235,   298
2032   };
2033  
2034 < #define yyerrok         (yyerrstatus = 0)
2035 < #define yyclearin       (yychar = YYEMPTY)
2036 < #define YYEMPTY         (-2)
2037 < #define YYEOF           0
2038 <
2039 < #define YYACCEPT        goto yyacceptlab
2040 < #define YYABORT         goto yyabortlab
2041 < #define YYERROR         goto yyerrorlab
2042 <
2043 <
2044 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2045 <   to ease the transition to the new meaning of YYERROR, for GCC.
2046 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2047 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2048 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2049 <   discussed.  */
2050 <
2051 < #define YYFAIL          goto yyerrlab
2052 < #if defined YYFAIL
2053 <  /* This is here to suppress warnings from the GCC cpp's
2054 <     -Wunused-macros.  Normally we don't worry about that warning, but
2055 <     some users do, and we want to make it easy for users to remove
2056 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2057 < #endif
2034 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2035 > static const yytype_uint16 yyr1[] =
2036 > {
2037 >       0,   237,   238,   238,   239,   239,   239,   239,   239,   239,
2038 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2039 >     239,   239,   239,   239,   239,   239,   239,   240,   240,   241,
2040 >     241,   241,   241,   241,   241,   241,   241,   242,   242,   243,
2041 >     243,   243,   243,   244,   245,   245,   246,   246,   246,   247,
2042 >     248,   249,   250,   250,   251,   251,   251,   251,   251,   251,
2043 >     251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2044 >     251,   251,   252,   253,   254,   254,   255,   255,   256,   256,
2045 >     257,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2046 >     266,   267,   268,   269,   270,   271,   272,   273,   274,   274,
2047 >     275,   275,   275,   275,   276,   277,   278,   280,   279,   281,
2048 >     281,   282,   282,   282,   283,   284,   285,   286,   286,   287,
2049 >     287,   287,   288,   290,   289,   291,   291,   292,   292,   292,
2050 >     292,   293,   294,   294,   296,   295,   297,   297,   298,   298,
2051 >     298,   298,   298,   298,   298,   298,   298,   300,   299,   301,
2052 >     301,   302,   302,   302,   302,   302,   302,   302,   302,   302,
2053 >     302,   302,   303,   304,   305,   306,   307,   308,   309,   310,
2054 >     312,   311,   313,   313,   314,   314,   314,   314,   314,   314,
2055 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
2056 >     314,   314,   314,   314,   314,   314,   314,   316,   315,   317,
2057 >     317,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2058 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2059 >     318,   318,   318,   318,   318,   320,   319,   321,   321,   322,
2060 >     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2061 >     322,   322,   322,   322,   322,   322,   323,   324,   325,   326,
2062 >     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2063 >     337,   339,   338,   340,   340,   341,   341,   343,   342,   345,
2064 >     344,   346,   346,   347,   347,   347,   348,   348,   349,   349,
2065 >     349,   349,   349,   351,   350,   352,   352,   353,   353,   354,
2066 >     355,   357,   356,   358,   358,   359,   359,   359,   359,   359,
2067 >     359,   359,   359,   359,   360,   361,   362,   363,   365,   364,
2068 >     366,   366,   367,   367,   367,   367,   367,   367,   367,   367,
2069 >     367,   367,   368,   369,   370,   372,   371,   373,   373,   374,
2070 >     374,   374,   374,   375,   376,   377,   378,   379,   379,   380,
2071 >     380,   381,   383,   382,   384,   384,   385,   385,   385,   385,
2072 >     386,   387,   389,   388,   390,   390,   391,   391,   391,   391,
2073 >     391,   391,   391,   391,   391,   391,   393,   392,   394,   394,
2074 >     395,   395,   395,   396,   398,   397,   399,   399,   400,   400,
2075 >     400,   400,   400,   400,   400,   400,   400,   400,   402,   401,
2076 >     403,   403,   404,   404,   404,   404,   404,   404,   404,   404,
2077 >     404,   404,   404,   404,   404,   404,   404,   405,   406,   407,
2078 >     408,   409,   410,   411,   412,   412,   414,   413,   415,   415,
2079 >     416,   416,   417,   418,   419,   420,   421,   423,   422,   424,
2080 >     424,   425,   425,   425,   426,   427,   429,   428,   430,   430,
2081 >     431,   431,   431,   432,   433,   434,   435,   435,   436,   436,
2082 >     437,   439,   438,   440,   440,   441,   441,   441,   442,   443,
2083 >     444,   445,   445,   446,   446,   446,   446,   446,   446,   446,
2084 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
2085 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
2086 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
2087 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
2088 >     446,   446,   446,   447,   448,   449,   450,   451,   452,   453,
2089 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2090 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2091 >     473,   474,   474,   475,   476,   477,   478,   479,   480,   481,
2092 >     482,   483,   484,   485,   486,   487,   488,   489,   490,   492,
2093 >     491,   493,   493,   494,   494,   494,   494,   494,   494,   494,
2094 >     494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
2095 >     494,   494,   494,   494,   494,   494,   496,   495,   497,   497,
2096 >     498,   498,   498,   498,   498,   498,   498,   498,   498,   498,
2097 >     498,   498,   498,   498,   498,   498,   498,   498,   498,   498,
2098 >     498,   499,   500,   501,   502,   503,   503,   504,   504,   504,
2099 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2100 >     504,   504,   505,   506,   507,   508,   509,   510,   511,   512,
2101 >     513,   514,   515,   516,   517,   518,   519,   520,   520,   521,
2102 >     521,   521,   521,   521,   521,   521,   521,   521,   522,   523,
2103 >     524,   525,   526,   527,   528,   529
2104 > };
2105 >
2106 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2107 > static const yytype_uint8 yyr2[] =
2108 > {
2109 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2110 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2111 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
2112 >       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
2113 >       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2114 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2115 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2116 >       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
2117 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2118 >       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
2119 >       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
2120 >       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
2121 >       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
2122 >       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
2123 >       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2124 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2125 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2126 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2127 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2128 >       1,     1,     1,     1,     1,     1,     1,     0,     5,     3,
2129 >       1,     3,     1,     3,     1,     3,     1,     1,     1,     1,
2130 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2131 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2132 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2133 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2134 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2135 >       4,     0,     5,     3,     1,     1,     1,     0,     6,     0,
2136 >       5,     3,     1,     1,     1,     1,     2,     1,     1,     1,
2137 >       1,     1,     2,     0,     5,     3,     1,     1,     3,     4,
2138 >       4,     0,     6,     2,     1,     1,     1,     1,     1,     1,
2139 >       1,     1,     1,     2,     4,     4,     4,     4,     0,     5,
2140 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2141 >       1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
2142 >       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
2143 >       1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2144 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2145 >       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
2146 >       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
2147 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
2148 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2149 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
2150 >       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
2151 >       1,     1,     4,     4,     4,     4,     4,     0,     6,     2,
2152 >       1,     1,     1,     1,     4,     4,     0,     6,     2,     1,
2153 >       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
2154 >       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
2155 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2156 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2157 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2158 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2159 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2160 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
2161 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2162 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2163 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2164 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
2165 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2166 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2167 >       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
2168 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2169 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2170 >       1,     4,     4,     4,     5,     2,     1,     1,     1,     1,
2171 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2172 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2173 >       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
2174 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
2175 >       4,     4,     4,     4,     4,     4
2176 > };
2177 >
2178 >
2179 > #define yyerrok         (yyerrstatus = 0)
2180 > #define yyclearin       (yychar = YYEMPTY)
2181 > #define YYEMPTY         (-2)
2182 > #define YYEOF           0
2183 >
2184 > #define YYACCEPT        goto yyacceptlab
2185 > #define YYABORT         goto yyabortlab
2186 > #define YYERROR         goto yyerrorlab
2187 >
2188  
2189   #define YYRECOVERING()  (!!yyerrstatus)
2190  
# Line 2427 | Line 2201 | do
2201    else                                                          \
2202      {                                                           \
2203        yyerror (YY_("syntax error: cannot back up")); \
2204 <      YYERROR;                                                  \
2205 <    }                                                           \
2206 < while (YYID (0))
2204 >      YYERROR;                                                  \
2205 >    }                                                           \
2206 > while (0)
2207  
2208   /* Error token number */
2209 < #define YYTERROR        1
2210 < #define YYERRCODE       256
2209 > #define YYTERROR        1
2210 > #define YYERRCODE       256
2211  
2212  
2439 /* This macro is provided for backward compatibility. */
2440 #ifndef YY_LOCATION_PRINT
2441 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2442 #endif
2443
2444
2445 /* YYLEX -- calling `yylex' with the right arguments.  */
2446 #ifdef YYLEX_PARAM
2447 # define YYLEX yylex (YYLEX_PARAM)
2448 #else
2449 # define YYLEX yylex ()
2450 #endif
2213  
2214   /* Enable debugging if requested.  */
2215   #if YYDEBUG
# Line 2457 | Line 2219 | while (YYID (0))
2219   #  define YYFPRINTF fprintf
2220   # endif
2221  
2222 < # define YYDPRINTF(Args)                        \
2223 < do {                                            \
2224 <  if (yydebug)                                  \
2225 <    YYFPRINTF Args;                             \
2226 < } while (YYID (0))
2227 <
2228 < # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2229 < do {                                                                      \
2230 <  if (yydebug)                                                            \
2231 <    {                                                                     \
2232 <      YYFPRINTF (stderr, "%s ", Title);                                   \
2471 <      yy_symbol_print (stderr,                                            \
2472 <                  Type, Value); \
2473 <      YYFPRINTF (stderr, "\n");                                           \
2474 <    }                                                                     \
2475 < } while (YYID (0))
2222 > # define YYDPRINTF(Args)                        \
2223 > do {                                            \
2224 >  if (yydebug)                                  \
2225 >    YYFPRINTF Args;                             \
2226 > } while (0)
2227 >
2228 > /* This macro is provided for backward compatibility. */
2229 > #ifndef YY_LOCATION_PRINT
2230 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2231 > #endif
2232 >
2233  
2234 + # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2235 + do {                                                                      \
2236 +  if (yydebug)                                                            \
2237 +    {                                                                     \
2238 +      YYFPRINTF (stderr, "%s ", Title);                                   \
2239 +      yy_symbol_print (stderr,                                            \
2240 +                  Type, Value); \
2241 +      YYFPRINTF (stderr, "\n");                                           \
2242 +    }                                                                     \
2243 + } while (0)
2244  
2478 /*--------------------------------.
2479 | Print this symbol on YYOUTPUT.  |
2480 `--------------------------------*/
2245  
2246 < /*ARGSUSED*/
2247 < #if (defined __STDC__ || defined __C99__FUNC__ \
2248 <     || defined __cplusplus || defined _MSC_VER)
2246 > /*----------------------------------------.
2247 > | Print this symbol's value on YYOUTPUT.  |
2248 > `----------------------------------------*/
2249 >
2250   static void
2251   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2487 #else
2488 static void
2489 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2490    FILE *yyoutput;
2491    int yytype;
2492    YYSTYPE const * const yyvaluep;
2493 #endif
2252   {
2253    FILE *yyo = yyoutput;
2254    YYUSE (yyo);
# Line 2499 | Line 2257 | yy_symbol_value_print (yyoutput, yytype,
2257   # ifdef YYPRINT
2258    if (yytype < YYNTOKENS)
2259      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2502 # else
2503  YYUSE (yyoutput);
2260   # endif
2261    YYUSE (yytype);
2262   }
# Line 2510 | Line 2266 | yy_symbol_value_print (yyoutput, yytype,
2266   | Print this symbol on YYOUTPUT.  |
2267   `--------------------------------*/
2268  
2513 #if (defined __STDC__ || defined __C99__FUNC__ \
2514     || defined __cplusplus || defined _MSC_VER)
2269   static void
2270   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2517 #else
2518 static void
2519 yy_symbol_print (yyoutput, yytype, yyvaluep)
2520    FILE *yyoutput;
2521    int yytype;
2522    YYSTYPE const * const yyvaluep;
2523 #endif
2271   {
2272 <  if (yytype < YYNTOKENS)
2273 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2527 <  else
2528 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2272 >  YYFPRINTF (yyoutput, "%s %s (",
2273 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2274  
2275    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2276    YYFPRINTF (yyoutput, ")");
# Line 2536 | Line 2281 | yy_symbol_print (yyoutput, yytype, yyval
2281   | TOP (included).                                                   |
2282   `------------------------------------------------------------------*/
2283  
2539 #if (defined __STDC__ || defined __C99__FUNC__ \
2540     || defined __cplusplus || defined _MSC_VER)
2284   static void
2285   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2543 #else
2544 static void
2545 yy_stack_print (yybottom, yytop)
2546    yytype_int16 *yybottom;
2547    yytype_int16 *yytop;
2548 #endif
2286   {
2287    YYFPRINTF (stderr, "Stack now");
2288    for (; yybottom <= yytop; yybottom++)
# Line 2556 | Line 2293 | yy_stack_print (yybottom, yytop)
2293    YYFPRINTF (stderr, "\n");
2294   }
2295  
2296 < # define YY_STACK_PRINT(Bottom, Top)                            \
2297 < do {                                                            \
2298 <  if (yydebug)                                                  \
2299 <    yy_stack_print ((Bottom), (Top));                           \
2300 < } while (YYID (0))
2296 > # define YY_STACK_PRINT(Bottom, Top)                            \
2297 > do {                                                            \
2298 >  if (yydebug)                                                  \
2299 >    yy_stack_print ((Bottom), (Top));                           \
2300 > } while (0)
2301  
2302  
2303   /*------------------------------------------------.
2304   | Report that the YYRULE is going to be reduced.  |
2305   `------------------------------------------------*/
2306  
2570 #if (defined __STDC__ || defined __C99__FUNC__ \
2571     || defined __cplusplus || defined _MSC_VER)
2307   static void
2308 < yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2574 < #else
2575 < static void
2576 < yy_reduce_print (yyvsp, yyrule)
2577 <    YYSTYPE *yyvsp;
2578 <    int yyrule;
2579 < #endif
2308 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2309   {
2310 +  unsigned long int yylno = yyrline[yyrule];
2311    int yynrhs = yyr2[yyrule];
2312    int yyi;
2583  unsigned long int yylno = yyrline[yyrule];
2313    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2314 <             yyrule - 1, yylno);
2314 >             yyrule - 1, yylno);
2315    /* The symbols being reduced.  */
2316    for (yyi = 0; yyi < yynrhs; yyi++)
2317      {
2318        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2319 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2320 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2321 <                                       );
2319 >      yy_symbol_print (stderr,
2320 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2321 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2322 >                                              );
2323        YYFPRINTF (stderr, "\n");
2324      }
2325   }
2326  
2327 < # define YY_REDUCE_PRINT(Rule)          \
2328 < do {                                    \
2329 <  if (yydebug)                          \
2330 <    yy_reduce_print (yyvsp, Rule); \
2331 < } while (YYID (0))
2327 > # define YY_REDUCE_PRINT(Rule)          \
2328 > do {                                    \
2329 >  if (yydebug)                          \
2330 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2331 > } while (0)
2332  
2333   /* Nonzero means print parse trace.  It is left uninitialized so that
2334     multiple parsers can coexist.  */
# Line 2612 | Line 2342 | int yydebug;
2342  
2343  
2344   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2345 < #ifndef YYINITDEPTH
2345 > #ifndef YYINITDEPTH
2346   # define YYINITDEPTH 200
2347   #endif
2348  
# Line 2635 | Line 2365 | int yydebug;
2365   #   define yystrlen strlen
2366   #  else
2367   /* Return the length of YYSTR.  */
2638 #if (defined __STDC__ || defined __C99__FUNC__ \
2639     || defined __cplusplus || defined _MSC_VER)
2368   static YYSIZE_T
2369   yystrlen (const char *yystr)
2642 #else
2643 static YYSIZE_T
2644 yystrlen (yystr)
2645    const char *yystr;
2646 #endif
2370   {
2371    YYSIZE_T yylen;
2372    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2659 | Line 2382 | yystrlen (yystr)
2382   #  else
2383   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2384     YYDEST.  */
2662 #if (defined __STDC__ || defined __C99__FUNC__ \
2663     || defined __cplusplus || defined _MSC_VER)
2385   static char *
2386   yystpcpy (char *yydest, const char *yysrc)
2666 #else
2667 static char *
2668 yystpcpy (yydest, yysrc)
2669    char *yydest;
2670    const char *yysrc;
2671 #endif
2387   {
2388    char *yyd = yydest;
2389    const char *yys = yysrc;
# Line 2698 | Line 2413 | yytnamerr (char *yyres, const char *yyst
2413        char const *yyp = yystr;
2414  
2415        for (;;)
2416 <        switch (*++yyp)
2417 <          {
2418 <          case '\'':
2419 <          case ',':
2420 <            goto do_not_strip_quotes;
2421 <
2422 <          case '\\':
2423 <            if (*++yyp != '\\')
2424 <              goto do_not_strip_quotes;
2425 <            /* Fall through.  */
2426 <          default:
2427 <            if (yyres)
2428 <              yyres[yyn] = *yyp;
2429 <            yyn++;
2430 <            break;
2431 <
2432 <          case '"':
2433 <            if (yyres)
2434 <              yyres[yyn] = '\0';
2435 <            return yyn;
2436 <          }
2416 >        switch (*++yyp)
2417 >          {
2418 >          case '\'':
2419 >          case ',':
2420 >            goto do_not_strip_quotes;
2421 >
2422 >          case '\\':
2423 >            if (*++yyp != '\\')
2424 >              goto do_not_strip_quotes;
2425 >            /* Fall through.  */
2426 >          default:
2427 >            if (yyres)
2428 >              yyres[yyn] = *yyp;
2429 >            yyn++;
2430 >            break;
2431 >
2432 >          case '"':
2433 >            if (yyres)
2434 >              yyres[yyn] = '\0';
2435 >            return yyn;
2436 >          }
2437      do_not_strip_quotes: ;
2438      }
2439  
# Line 2741 | Line 2456 | static int
2456   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2457                  yytype_int16 *yyssp, int yytoken)
2458   {
2459 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2459 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2460    YYSIZE_T yysize = yysize0;
2461    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2462    /* Internationalized format string. */
2463 <  const char *yyformat = YY_NULL;
2463 >  const char *yyformat = YY_NULLPTR;
2464    /* Arguments of yyformat. */
2465    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2466    /* Number of reported tokens (one for the "unexpected", one per
# Line 2753 | Line 2468 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2468    int yycount = 0;
2469  
2470    /* There are many possibilities here to consider:
2756     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2757       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2758       for details.  YYERROR is fine as it does not invoke this
2759       function.
2471       - If this state is a consistent state with a default action, then
2472         the only way this function was invoked is if the default action
2473         is an error action.  In that case, don't check for expected
# Line 2806 | Line 2517 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2517                    }
2518                  yyarg[yycount++] = yytname[yyx];
2519                  {
2520 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2520 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2521                    if (! (yysize <= yysize1
2522                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2523                      return 2;
# Line 2873 | Line 2584 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2584   | Release the memory associated to this symbol.  |
2585   `-----------------------------------------------*/
2586  
2876 /*ARGSUSED*/
2877 #if (defined __STDC__ || defined __C99__FUNC__ \
2878     || defined __cplusplus || defined _MSC_VER)
2587   static void
2588   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2881 #else
2882 static void
2883 yydestruct (yymsg, yytype, yyvaluep)
2884    const char *yymsg;
2885    int yytype;
2886    YYSTYPE *yyvaluep;
2887 #endif
2589   {
2590    YYUSE (yyvaluep);
2890
2591    if (!yymsg)
2592      yymsg = "Deleting";
2593    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2594  
2595 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2596    YYUSE (yytype);
2597 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
2598   }
2599  
2600  
# Line 2901 | Line 2603 | yydestruct (yymsg, yytype, yyvaluep)
2603   /* The lookahead symbol.  */
2604   int yychar;
2605  
2904
2905 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2906 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2907 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2908 #endif
2909 #ifndef YY_INITIAL_VALUE
2910 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2911 #endif
2912
2606   /* The semantic value of the lookahead symbol.  */
2607 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2915 <
2607 > YYSTYPE yylval;
2608   /* Number of syntax errors so far.  */
2609   int yynerrs;
2610  
# Line 2921 | Line 2613 | int yynerrs;
2613   | yyparse.  |
2614   `----------*/
2615  
2924 #ifdef YYPARSE_PARAM
2925 #if (defined __STDC__ || defined __C99__FUNC__ \
2926     || defined __cplusplus || defined _MSC_VER)
2927 int
2928 yyparse (void *YYPARSE_PARAM)
2929 #else
2930 int
2931 yyparse (YYPARSE_PARAM)
2932    void *YYPARSE_PARAM;
2933 #endif
2934 #else /* ! YYPARSE_PARAM */
2935 #if (defined __STDC__ || defined __C99__FUNC__ \
2936     || defined __cplusplus || defined _MSC_VER)
2616   int
2617   yyparse (void)
2939 #else
2940 int
2941 yyparse ()
2942
2943 #endif
2944 #endif
2618   {
2619      int yystate;
2620      /* Number of tokens to shift before error messages enabled.  */
2621      int yyerrstatus;
2622  
2623      /* The stacks and their tools:
2624 <       `yyss': related to states.
2625 <       `yyvs': related to semantic values.
2624 >       'yyss': related to states.
2625 >       'yyvs': related to semantic values.
2626  
2627         Refer to the stacks through separate pointers, to allow yyoverflow
2628         to reallocate them elsewhere.  */
# Line 3017 | Line 2690 | yyparse ()
2690  
2691   #ifdef yyoverflow
2692        {
2693 <        /* Give user a chance to reallocate the stack.  Use copies of
2694 <           these so that the &'s don't force the real ones into
2695 <           memory.  */
2696 <        YYSTYPE *yyvs1 = yyvs;
2697 <        yytype_int16 *yyss1 = yyss;
2698 <
2699 <        /* Each stack pointer address is followed by the size of the
2700 <           data in use in that stack, in bytes.  This used to be a
2701 <           conditional around just the two extra args, but that might
2702 <           be undefined if yyoverflow is a macro.  */
2703 <        yyoverflow (YY_("memory exhausted"),
2704 <                    &yyss1, yysize * sizeof (*yyssp),
2705 <                    &yyvs1, yysize * sizeof (*yyvsp),
2706 <                    &yystacksize);
2693 >        /* Give user a chance to reallocate the stack.  Use copies of
2694 >           these so that the &'s don't force the real ones into
2695 >           memory.  */
2696 >        YYSTYPE *yyvs1 = yyvs;
2697 >        yytype_int16 *yyss1 = yyss;
2698 >
2699 >        /* Each stack pointer address is followed by the size of the
2700 >           data in use in that stack, in bytes.  This used to be a
2701 >           conditional around just the two extra args, but that might
2702 >           be undefined if yyoverflow is a macro.  */
2703 >        yyoverflow (YY_("memory exhausted"),
2704 >                    &yyss1, yysize * sizeof (*yyssp),
2705 >                    &yyvs1, yysize * sizeof (*yyvsp),
2706 >                    &yystacksize);
2707  
2708 <        yyss = yyss1;
2709 <        yyvs = yyvs1;
2708 >        yyss = yyss1;
2709 >        yyvs = yyvs1;
2710        }
2711   #else /* no yyoverflow */
2712   # ifndef YYSTACK_RELOCATE
# Line 3041 | Line 2714 | yyparse ()
2714   # else
2715        /* Extend the stack our own way.  */
2716        if (YYMAXDEPTH <= yystacksize)
2717 <        goto yyexhaustedlab;
2717 >        goto yyexhaustedlab;
2718        yystacksize *= 2;
2719        if (YYMAXDEPTH < yystacksize)
2720 <        yystacksize = YYMAXDEPTH;
2720 >        yystacksize = YYMAXDEPTH;
2721  
2722        {
2723 <        yytype_int16 *yyss1 = yyss;
2724 <        union yyalloc *yyptr =
2725 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2726 <        if (! yyptr)
2727 <          goto yyexhaustedlab;
2728 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2729 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2723 >        yytype_int16 *yyss1 = yyss;
2724 >        union yyalloc *yyptr =
2725 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2726 >        if (! yyptr)
2727 >          goto yyexhaustedlab;
2728 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2729 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2730   #  undef YYSTACK_RELOCATE
2731 <        if (yyss1 != yyssa)
2732 <          YYSTACK_FREE (yyss1);
2731 >        if (yyss1 != yyssa)
2732 >          YYSTACK_FREE (yyss1);
2733        }
2734   # endif
2735   #endif /* no yyoverflow */
# Line 3065 | Line 2738 | yyparse ()
2738        yyvsp = yyvs + yysize - 1;
2739  
2740        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2741 <                  (unsigned long int) yystacksize));
2741 >                  (unsigned long int) yystacksize));
2742  
2743        if (yyss + yystacksize - 1 <= yyssp)
2744 <        YYABORT;
2744 >        YYABORT;
2745      }
2746  
2747    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3097 | Line 2770 | yybackup:
2770    if (yychar == YYEMPTY)
2771      {
2772        YYDPRINTF ((stderr, "Reading a token: "));
2773 <      yychar = YYLEX;
2773 >      yychar = yylex ();
2774      }
2775  
2776    if (yychar <= YYEOF)
# Line 3162 | Line 2835 | yyreduce:
2835    yylen = yyr2[yyn];
2836  
2837    /* If YYLEN is nonzero, implement the default value of the action:
2838 <     `$$ = $1'.
2838 >     '$$ = $1'.
2839  
2840       Otherwise, the following line sets YYVAL to garbage.
2841       This behavior is undocumented and Bison
# Line 3175 | Line 2848 | yyreduce:
2848    YY_REDUCE_PRINT (yyn);
2849    switch (yyn)
2850      {
2851 <        case 26:
2852 < /* Line 1787 of yacc.c  */
3180 < #line 393 "conf_parser.y"
2851 >        case 27:
2852 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2853      { (yyval.number) = 0; }
2854 <    break;
3183 <
3184 <  case 28:
3185 < /* Line 1787 of yacc.c  */
3186 < #line 395 "conf_parser.y"
3187 <    {
3188 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3189 <                }
2854 > #line 2855 "conf_parser.c" /* yacc.c:1646  */
2855      break;
2856  
2857    case 29:
2858 < /* Line 1787 of yacc.c  */
2859 < #line 399 "conf_parser.y"
2860 <    {
3196 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3197 <                }
2858 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2859 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2860 > #line 2861 "conf_parser.c" /* yacc.c:1646  */
2861      break;
2862  
2863    case 30:
2864 < /* Line 1787 of yacc.c  */
2865 < #line 403 "conf_parser.y"
2866 <    {
3204 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3205 <                }
2864 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2865 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2866 > #line 2867 "conf_parser.c" /* yacc.c:1646  */
2867      break;
2868  
2869    case 31:
2870 < /* Line 1787 of yacc.c  */
2871 < #line 407 "conf_parser.y"
2872 <    {
3212 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3213 <                }
2870 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2871 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2872 > #line 2873 "conf_parser.c" /* yacc.c:1646  */
2873      break;
2874  
2875    case 32:
2876 < /* Line 1787 of yacc.c  */
2877 < #line 411 "conf_parser.y"
2878 <    {
3220 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3221 <                }
2876 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2877 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2878 > #line 2879 "conf_parser.c" /* yacc.c:1646  */
2879      break;
2880  
2881    case 33:
2882 < /* Line 1787 of yacc.c  */
2883 < #line 415 "conf_parser.y"
2884 <    {
3228 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3229 <                }
2882 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2883 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2884 > #line 2885 "conf_parser.c" /* yacc.c:1646  */
2885      break;
2886  
2887    case 34:
2888 < /* Line 1787 of yacc.c  */
2889 < #line 419 "conf_parser.y"
2890 <    {
3236 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3237 <                }
2888 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2889 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2890 > #line 2891 "conf_parser.c" /* yacc.c:1646  */
2891      break;
2892  
2893    case 35:
2894 < /* Line 1787 of yacc.c  */
2895 < #line 423 "conf_parser.y"
2896 <    {
3244 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3245 <                }
2894 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2895 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2896 > #line 2897 "conf_parser.c" /* yacc.c:1646  */
2897      break;
2898  
2899    case 36:
2900 < /* Line 1787 of yacc.c  */
2901 < #line 428 "conf_parser.y"
2902 <    { (yyval.number) = 0; }
2900 > #line 418 "conf_parser.y" /* yacc.c:1646  */
2901 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2902 > #line 2903 "conf_parser.c" /* yacc.c:1646  */
2903      break;
2904  
2905 <  case 38:
2906 < /* Line 1787 of yacc.c  */
2907 < #line 429 "conf_parser.y"
2908 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2905 >  case 37:
2906 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2907 >    { (yyval.number) = 0; }
2908 > #line 2909 "conf_parser.c" /* yacc.c:1646  */
2909      break;
2910  
2911    case 39:
2912 < /* Line 1787 of yacc.c  */
2913 < #line 430 "conf_parser.y"
2914 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2912 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2913 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2914 > #line 2915 "conf_parser.c" /* yacc.c:1646  */
2915      break;
2916  
2917    case 40:
2918 < /* Line 1787 of yacc.c  */
2919 < #line 431 "conf_parser.y"
2920 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2918 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2919 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2920 > #line 2921 "conf_parser.c" /* yacc.c:1646  */
2921      break;
2922  
2923    case 41:
2924 < /* Line 1787 of yacc.c  */
2925 < #line 432 "conf_parser.y"
2926 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2924 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2925 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2926 > #line 2927 "conf_parser.c" /* yacc.c:1646  */
2927      break;
2928  
2929 <  case 48:
2930 < /* Line 1787 of yacc.c  */
2931 < #line 446 "conf_parser.y"
2929 >  case 42:
2930 > #line 425 "conf_parser.y" /* yacc.c:1646  */
2931 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2932 > #line 2933 "conf_parser.c" /* yacc.c:1646  */
2933 >    break;
2934 >
2935 >  case 49:
2936 > #line 439 "conf_parser.y" /* yacc.c:1646  */
2937      {
2938    if (conf_parser_ctx.pass == 2)
2939      add_conf_module(libio_basename(yylval.string));
2940   }
2941 + #line 2942 "conf_parser.c" /* yacc.c:1646  */
2942      break;
2943  
2944 <  case 49:
2945 < /* Line 1787 of yacc.c  */
3289 < #line 452 "conf_parser.y"
2944 >  case 50:
2945 > #line 445 "conf_parser.y" /* yacc.c:1646  */
2946      {
2947    if (conf_parser_ctx.pass == 2)
2948      mod_add_path(yylval.string);
2949   }
2950 + #line 2951 "conf_parser.c" /* yacc.c:1646  */
2951      break;
2952  
2953 <  case 75:
2954 < /* Line 1787 of yacc.c  */
3298 < #line 478 "conf_parser.y"
2953 >  case 76:
2954 > #line 479 "conf_parser.y" /* yacc.c:1646  */
2955      {
2956   #ifdef HAVE_LIBCRYPTO
2957    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2958      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2959   #endif
2960   }
2961 + #line 2962 "conf_parser.c" /* yacc.c:1646  */
2962      break;
2963  
2964 <  case 76:
2965 < /* Line 1787 of yacc.c  */
3309 < #line 484 "conf_parser.y"
2964 >  case 77:
2965 > #line 485 "conf_parser.y" /* yacc.c:1646  */
2966      {
2967   #ifdef HAVE_LIBCRYPTO
2968    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2969      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2970   #endif
2971   }
2972 + #line 2973 "conf_parser.c" /* yacc.c:1646  */
2973      break;
2974  
2975 <  case 79:
2976 < /* Line 1787 of yacc.c  */
3320 < #line 493 "conf_parser.y"
2975 >  case 80:
2976 > #line 494 "conf_parser.y" /* yacc.c:1646  */
2977      {
2978   #ifdef HAVE_LIBCRYPTO
2979    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2980      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2981   #endif
2982   }
2983 + #line 2984 "conf_parser.c" /* yacc.c:1646  */
2984      break;
2985  
2986 <  case 80:
2987 < /* Line 1787 of yacc.c  */
3331 < #line 499 "conf_parser.y"
2986 >  case 81:
2987 > #line 500 "conf_parser.y" /* yacc.c:1646  */
2988      {
2989   #ifdef HAVE_LIBCRYPTO
2990    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2991      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2992   #endif
2993   }
2994 + #line 2995 "conf_parser.c" /* yacc.c:1646  */
2995      break;
2996  
2997 <  case 81:
2998 < /* Line 1787 of yacc.c  */
3342 < #line 507 "conf_parser.y"
2997 >  case 82:
2998 > #line 508 "conf_parser.y" /* yacc.c:1646  */
2999      {
3000   #ifdef HAVE_LIBCRYPTO
3001 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3001 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3002    {
3003      if (!ServerInfo.rsa_private_key_file)
3004      {
# Line 3380 | Line 3036 | yyreduce:
3036    }
3037   #endif
3038   }
3039 + #line 3040 "conf_parser.c" /* yacc.c:1646  */
3040      break;
3041  
3042 <  case 82:
3043 < /* Line 1787 of yacc.c  */
3387 < #line 549 "conf_parser.y"
3042 >  case 83:
3043 > #line 550 "conf_parser.y" /* yacc.c:1646  */
3044      {
3045   #ifdef HAVE_LIBCRYPTO
3046 <  if (conf_parser_ctx.pass == 1)
3391 <  {
3392 <    BIO *file;
3046 >  BIO *file = NULL;
3047  
3048 <    if (ServerInfo.rsa_private_key)
3049 <    {
3396 <      RSA_free(ServerInfo.rsa_private_key);
3397 <      ServerInfo.rsa_private_key = NULL;
3398 <    }
3048 >  if (conf_parser_ctx.pass != 1)
3049 >    break;
3050  
3051 <    if (ServerInfo.rsa_private_key_file)
3052 <    {
3053 <      MyFree(ServerInfo.rsa_private_key_file);
3054 <      ServerInfo.rsa_private_key_file = NULL;
3055 <    }
3051 >  if (ServerInfo.rsa_private_key)
3052 >  {
3053 >    RSA_free(ServerInfo.rsa_private_key);
3054 >    ServerInfo.rsa_private_key = NULL;
3055 >  }
3056  
3057 <    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3057 >  if (ServerInfo.rsa_private_key_file)
3058 >  {
3059 >    MyFree(ServerInfo.rsa_private_key_file);
3060 >    ServerInfo.rsa_private_key_file = NULL;
3061 >  }
3062  
3063 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3409 <    {
3410 <      conf_error_report("File open failed, ignoring");
3411 <      break;
3412 <    }
3063 >  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3064  
3065 <    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3065 >  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3066 >  {
3067 >    conf_error_report("File open failed, ignoring");
3068 >    break;
3069 >  }
3070  
3071 <    BIO_set_close(file, BIO_CLOSE);
3417 <    BIO_free(file);
3071 >  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3072  
3073 <    if (ServerInfo.rsa_private_key == NULL)
3074 <    {
3421 <      conf_error_report("Couldn't extract key, ignoring");
3422 <      break;
3423 <    }
3073 >  BIO_set_close(file, BIO_CLOSE);
3074 >  BIO_free(file);
3075  
3076 <    if (!RSA_check_key(ServerInfo.rsa_private_key))
3077 <    {
3078 <      RSA_free(ServerInfo.rsa_private_key);
3079 <      ServerInfo.rsa_private_key = NULL;
3076 >  if (ServerInfo.rsa_private_key == NULL)
3077 >  {
3078 >    conf_error_report("Couldn't extract key, ignoring");
3079 >    break;
3080 >  }
3081  
3082 <      conf_error_report("Invalid key, ignoring");
3083 <      break;
3084 <    }
3082 >  if (!RSA_check_key(ServerInfo.rsa_private_key))
3083 >  {
3084 >    RSA_free(ServerInfo.rsa_private_key);
3085 >    ServerInfo.rsa_private_key = NULL;
3086  
3087 <    /* require 2048 bit (256 byte) key */
3088 <    if (RSA_size(ServerInfo.rsa_private_key) != 256)
3089 <    {
3437 <      RSA_free(ServerInfo.rsa_private_key);
3438 <      ServerInfo.rsa_private_key = NULL;
3087 >    conf_error_report("Invalid key, ignoring");
3088 >    break;
3089 >  }
3090  
3091 <      conf_error_report("Not a 2048 bit key, ignoring");
3092 <    }
3091 >  if (RSA_size(ServerInfo.rsa_private_key) < 128)
3092 >  {
3093 >    RSA_free(ServerInfo.rsa_private_key);
3094 >    ServerInfo.rsa_private_key = NULL;
3095 >
3096 >    conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3097    }
3098   #endif
3099   }
3100 + #line 3101 "conf_parser.c" /* yacc.c:1646  */
3101      break;
3102  
3103 <  case 83:
3104 < /* Line 1787 of yacc.c  */
3449 < #line 608 "conf_parser.y"
3103 >  case 84:
3104 > #line 608 "conf_parser.y" /* yacc.c:1646  */
3105      {
3106   /* TBD - XXX: error reporting */
3107   #ifdef HAVE_LIBCRYPTO
# Line 3473 | Line 3128 | yyreduce:
3128    }
3129   #endif
3130   }
3131 + #line 3132 "conf_parser.c" /* yacc.c:1646  */
3132      break;
3133  
3134 <  case 84:
3135 < /* Line 1787 of yacc.c  */
3480 < #line 636 "conf_parser.y"
3134 >  case 85:
3135 > #line 636 "conf_parser.y" /* yacc.c:1646  */
3136      {
3137   #ifdef HAVE_LIBCRYPTO
3138    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3139      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3140   #endif
3141   }
3142 + #line 3143 "conf_parser.c" /* yacc.c:1646  */
3143      break;
3144  
3145 <  case 85:
3146 < /* Line 1787 of yacc.c  */
3491 < #line 644 "conf_parser.y"
3145 >  case 86:
3146 > #line 644 "conf_parser.y" /* yacc.c:1646  */
3147      {
3148    /* this isn't rehashable */
3149    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3502 | Line 3157 | yyreduce:
3157      }
3158    }
3159   }
3160 + #line 3161 "conf_parser.c" /* yacc.c:1646  */
3161      break;
3162  
3163 <  case 86:
3164 < /* Line 1787 of yacc.c  */
3509 < #line 659 "conf_parser.y"
3163 >  case 87:
3164 > #line 659 "conf_parser.y" /* yacc.c:1646  */
3165      {
3166    /* this isn't rehashable */
3167    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3520 | Line 3175 | yyreduce:
3175      }
3176    }
3177   }
3178 + #line 3179 "conf_parser.c" /* yacc.c:1646  */
3179      break;
3180  
3181 <  case 87:
3182 < /* Line 1787 of yacc.c  */
3527 < #line 674 "conf_parser.y"
3181 >  case 88:
3182 > #line 674 "conf_parser.y" /* yacc.c:1646  */
3183      {
3184    if (conf_parser_ctx.pass == 2)
3185    {
# Line 3532 | Line 3187 | yyreduce:
3187      ServerInfo.description = xstrdup(yylval.string);
3188    }
3189   }
3190 + #line 3191 "conf_parser.c" /* yacc.c:1646  */
3191      break;
3192  
3193 <  case 88:
3194 < /* Line 1787 of yacc.c  */
3539 < #line 683 "conf_parser.y"
3193 >  case 89:
3194 > #line 683 "conf_parser.y" /* yacc.c:1646  */
3195      {
3196    if (conf_parser_ctx.pass == 2)
3197    {
3198      char *p;
3199  
3200 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3200 >    if ((p = strchr(yylval.string, ' ')))
3201        p = '\0';
3202  
3203      MyFree(ServerInfo.network_name);
3204      ServerInfo.network_name = xstrdup(yylval.string);
3205    }
3206   }
3207 + #line 3208 "conf_parser.c" /* yacc.c:1646  */
3208      break;
3209  
3210 <  case 89:
3211 < /* Line 1787 of yacc.c  */
3556 < #line 697 "conf_parser.y"
3210 >  case 90:
3211 > #line 697 "conf_parser.y" /* yacc.c:1646  */
3212      {
3213 <  if (conf_parser_ctx.pass == 2)
3214 <  {
3215 <    MyFree(ServerInfo.network_desc);
3216 <    ServerInfo.network_desc = xstrdup(yylval.string);
3217 <  }
3213 >  if (conf_parser_ctx.pass != 2)
3214 >    break;
3215 >
3216 >  MyFree(ServerInfo.network_desc);
3217 >  ServerInfo.network_desc = xstrdup(yylval.string);
3218   }
3219 + #line 3220 "conf_parser.c" /* yacc.c:1646  */
3220      break;
3221  
3222 <  case 90:
3223 < /* Line 1787 of yacc.c  */
3568 < #line 706 "conf_parser.y"
3222 >  case 91:
3223 > #line 706 "conf_parser.y" /* yacc.c:1646  */
3224      {
3225    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3226    {
# Line 3581 | Line 3236 | yyreduce:
3236        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3237      else
3238      {
3239 <      assert(res != NULL);
3239 >      assert(res);
3240  
3241        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3242        ServerInfo.ip.ss.ss_family = res->ai_family;
# Line 3592 | Line 3247 | yyreduce:
3247      }
3248    }
3249   }
3250 + #line 3251 "conf_parser.c" /* yacc.c:1646  */
3251      break;
3252  
3253 <  case 91:
3254 < /* Line 1787 of yacc.c  */
3599 < #line 734 "conf_parser.y"
3253 >  case 92:
3254 > #line 734 "conf_parser.y" /* yacc.c:1646  */
3255      {
3256   #ifdef IPV6
3257    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3613 | Line 3268 | yyreduce:
3268        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3269      else
3270      {
3271 <      assert(res != NULL);
3271 >      assert(res);
3272  
3273        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3274        ServerInfo.ip6.ss.ss_family = res->ai_family;
# Line 3625 | Line 3280 | yyreduce:
3280    }
3281   #endif
3282   }
3283 + #line 3284 "conf_parser.c" /* yacc.c:1646  */
3284      break;
3285  
3286 <  case 92:
3287 < /* Line 1787 of yacc.c  */
3632 < #line 764 "conf_parser.y"
3286 >  case 93:
3287 > #line 764 "conf_parser.y" /* yacc.c:1646  */
3288      {
3289    if (conf_parser_ctx.pass != 2)
3290      break;
3291  
3292 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3292 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3293    {
3294 <    char buf[IRCD_BUFSIZE];
3294 >    char buf[IRCD_BUFSIZE] = "";
3295  
3296      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3297      conf_error_report(buf);
3298      ServerInfo.max_clients = MAXCLIENTS_MIN;
3299    }
3300 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3300 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3301    {
3302 <    char buf[IRCD_BUFSIZE];
3302 >    char buf[IRCD_BUFSIZE] = "";
3303  
3304      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3305      conf_error_report(buf);
3306      ServerInfo.max_clients = MAXCLIENTS_MAX;
3307    }
3308    else
3309 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3309 >    ServerInfo.max_clients = (yyvsp[-1].number);
3310   }
3311 + #line 3312 "conf_parser.c" /* yacc.c:1646  */
3312      break;
3313  
3314 <  case 93:
3315 < /* Line 1787 of yacc.c  */
3660 < #line 789 "conf_parser.y"
3314 >  case 94:
3315 > #line 789 "conf_parser.y" /* yacc.c:1646  */
3316      {
3317    if (conf_parser_ctx.pass != 2)
3318      break;
3319  
3320 <  if ((yyvsp[(3) - (4)].number) < 9)
3320 >  if ((yyvsp[-1].number) < 9)
3321    {
3322      conf_error_report("max_nick_length too low, setting to 9");
3323      ServerInfo.max_nick_length = 9;
3324    }
3325 <  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3325 >  else if ((yyvsp[-1].number) > NICKLEN)
3326    {
3327 <    char buf[IRCD_BUFSIZE];
3327 >    char buf[IRCD_BUFSIZE] = "";
3328  
3329      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3330      conf_error_report(buf);
3331      ServerInfo.max_nick_length = NICKLEN;
3332    }
3333    else
3334 <    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3334 >    ServerInfo.max_nick_length = (yyvsp[-1].number);
3335   }
3336 + #line 3337 "conf_parser.c" /* yacc.c:1646  */
3337      break;
3338  
3339 <  case 94:
3340 < /* Line 1787 of yacc.c  */
3685 < #line 811 "conf_parser.y"
3339 >  case 95:
3340 > #line 811 "conf_parser.y" /* yacc.c:1646  */
3341      {
3342    if (conf_parser_ctx.pass != 2)
3343      break;
3344  
3345 <  if ((yyvsp[(3) - (4)].number) < 80)
3345 >  if ((yyvsp[-1].number) < 80)
3346    {
3347      conf_error_report("max_topic_length too low, setting to 80");
3348      ServerInfo.max_topic_length = 80;
3349    }
3350 <  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3350 >  else if ((yyvsp[-1].number) > TOPICLEN)
3351    {
3352 <    char buf[IRCD_BUFSIZE];
3352 >    char buf[IRCD_BUFSIZE] = "";
3353  
3354      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3355      conf_error_report(buf);
3356      ServerInfo.max_topic_length = TOPICLEN;
3357    }
3358    else
3359 <    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3359 >    ServerInfo.max_topic_length = (yyvsp[-1].number);
3360   }
3361 + #line 3362 "conf_parser.c" /* yacc.c:1646  */
3362      break;
3363  
3364 <  case 95:
3365 < /* Line 1787 of yacc.c  */
3710 < #line 833 "conf_parser.y"
3364 >  case 96:
3365 > #line 833 "conf_parser.y" /* yacc.c:1646  */
3366      {
3367    if (conf_parser_ctx.pass == 2)
3368      ServerInfo.hub = yylval.number;
3369   }
3370 + #line 3371 "conf_parser.c" /* yacc.c:1646  */
3371      break;
3372  
3373 <  case 103:
3374 < /* Line 1787 of yacc.c  */
3375 < #line 848 "conf_parser.y"
3373 >  case 104:
3374 > #line 850 "conf_parser.y" /* yacc.c:1646  */
3375 >    {
3376 >  if (conf_parser_ctx.pass != 2)
3377 >    break;
3378 >
3379 >  MyFree(AdminInfo.name);
3380 >  AdminInfo.name = xstrdup(yylval.string);
3381 > }
3382 > #line 3383 "conf_parser.c" /* yacc.c:1646  */
3383 >    break;
3384 >
3385 >  case 105:
3386 > #line 859 "conf_parser.y" /* yacc.c:1646  */
3387 >    {
3388 >  if (conf_parser_ctx.pass != 2)
3389 >    break;
3390 >
3391 >  MyFree(AdminInfo.email);
3392 >  AdminInfo.email = xstrdup(yylval.string);
3393 > }
3394 > #line 3395 "conf_parser.c" /* yacc.c:1646  */
3395 >    break;
3396 >
3397 >  case 106:
3398 > #line 868 "conf_parser.y" /* yacc.c:1646  */
3399 >    {
3400 >  if (conf_parser_ctx.pass != 2)
3401 >    break;
3402 >
3403 >  MyFree(AdminInfo.description);
3404 >  AdminInfo.description = xstrdup(yylval.string);
3405 > }
3406 > #line 3407 "conf_parser.c" /* yacc.c:1646  */
3407 >    break;
3408 >
3409 >  case 107:
3410 > #line 880 "conf_parser.y" /* yacc.c:1646  */
3411      {
3412    if (conf_parser_ctx.pass == 2)
3413 <  {
3723 <    MyFree(AdminInfo.name);
3724 <    AdminInfo.name = xstrdup(yylval.string);
3725 <  }
3413 >    reset_block_state();
3414   }
3415 + #line 3416 "conf_parser.c" /* yacc.c:1646  */
3416      break;
3417  
3418 <  case 104:
3419 < /* Line 1787 of yacc.c  */
3420 < #line 857 "conf_parser.y"
3418 >  case 108:
3419 > #line 884 "conf_parser.y" /* yacc.c:1646  */
3420 >    {
3421 >  dlink_node *ptr = NULL;
3422 >
3423 >  if (conf_parser_ctx.pass != 2)
3424 >    break;
3425 >
3426 >  if (!block_state.file.buf[0])
3427 >    break;
3428 >
3429 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3430 >    motd_add(ptr->data, block_state.file.buf);
3431 > }
3432 > #line 3433 "conf_parser.c" /* yacc.c:1646  */
3433 >    break;
3434 >
3435 >  case 114:
3436 > #line 901 "conf_parser.y" /* yacc.c:1646  */
3437      {
3438    if (conf_parser_ctx.pass == 2)
3439 <  {
3735 <    MyFree(AdminInfo.email);
3736 <    AdminInfo.email = xstrdup(yylval.string);
3737 <  }
3439 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3440   }
3441 + #line 3442 "conf_parser.c" /* yacc.c:1646  */
3442      break;
3443  
3444 <  case 105:
3445 < /* Line 1787 of yacc.c  */
3743 < #line 866 "conf_parser.y"
3444 >  case 115:
3445 > #line 907 "conf_parser.y" /* yacc.c:1646  */
3446      {
3447    if (conf_parser_ctx.pass == 2)
3448 <  {
3747 <    MyFree(AdminInfo.description);
3748 <    AdminInfo.description = xstrdup(yylval.string);
3749 <  }
3448 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3449   }
3450 + #line 3451 "conf_parser.c" /* yacc.c:1646  */
3451      break;
3452  
3453 <  case 112:
3454 < /* Line 1787 of yacc.c  */
3755 < #line 884 "conf_parser.y"
3453 >  case 122:
3454 > #line 922 "conf_parser.y" /* yacc.c:1646  */
3455      {
3456    if (conf_parser_ctx.pass == 2)
3457      ConfigLoggingEntry.use_logging = yylval.number;
3458   }
3459 + #line 3460 "conf_parser.c" /* yacc.c:1646  */
3460      break;
3461  
3462 <  case 113:
3463 < /* Line 1787 of yacc.c  */
3764 < #line 890 "conf_parser.y"
3462 >  case 123:
3463 > #line 928 "conf_parser.y" /* yacc.c:1646  */
3464      {
3465    if (conf_parser_ctx.pass == 2)
3466      reset_block_state();
3467   }
3468 + #line 3469 "conf_parser.c" /* yacc.c:1646  */
3469      break;
3470  
3471 <  case 114:
3472 < /* Line 1787 of yacc.c  */
3773 < #line 894 "conf_parser.y"
3471 >  case 124:
3472 > #line 932 "conf_parser.y" /* yacc.c:1646  */
3473      {
3474    if (conf_parser_ctx.pass != 2)
3475      break;
# Line 3779 | Line 3478 | yyreduce:
3478      log_set_file(block_state.type.value, block_state.size.value,
3479                   block_state.file.buf);
3480   }
3481 + #line 3482 "conf_parser.c" /* yacc.c:1646  */
3482      break;
3483  
3484 <  case 121:
3485 < /* Line 1787 of yacc.c  */
3786 < #line 910 "conf_parser.y"
3484 >  case 131:
3485 > #line 948 "conf_parser.y" /* yacc.c:1646  */
3486      {
3487    if (conf_parser_ctx.pass != 2)
3488      break;
3489  
3490    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3491   }
3492 + #line 3493 "conf_parser.c" /* yacc.c:1646  */
3493      break;
3494  
3495 <  case 122:
3496 < /* Line 1787 of yacc.c  */
3797 < #line 918 "conf_parser.y"
3495 >  case 132:
3496 > #line 956 "conf_parser.y" /* yacc.c:1646  */
3497      {
3498 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3498 >  block_state.size.value = (yyvsp[-1].number);
3499   }
3500 + #line 3501 "conf_parser.c" /* yacc.c:1646  */
3501      break;
3502  
3503 <  case 123:
3504 < /* Line 1787 of yacc.c  */
3805 < #line 921 "conf_parser.y"
3503 >  case 133:
3504 > #line 959 "conf_parser.y" /* yacc.c:1646  */
3505      {
3506    block_state.size.value = 0;
3507   }
3508 + #line 3509 "conf_parser.c" /* yacc.c:1646  */
3509      break;
3510  
3511 <  case 124:
3512 < /* Line 1787 of yacc.c  */
3813 < #line 926 "conf_parser.y"
3511 >  case 134:
3512 > #line 964 "conf_parser.y" /* yacc.c:1646  */
3513      {
3514    if (conf_parser_ctx.pass == 2)
3515      block_state.type.value = 0;
3516   }
3517 + #line 3518 "conf_parser.c" /* yacc.c:1646  */
3518      break;
3519  
3520 <  case 128:
3521 < /* Line 1787 of yacc.c  */
3822 < #line 933 "conf_parser.y"
3520 >  case 138:
3521 > #line 971 "conf_parser.y" /* yacc.c:1646  */
3522      {
3523    if (conf_parser_ctx.pass == 2)
3524      block_state.type.value = LOG_TYPE_USER;
3525   }
3526 + #line 3527 "conf_parser.c" /* yacc.c:1646  */
3527      break;
3528  
3529 <  case 129:
3530 < /* Line 1787 of yacc.c  */
3831 < #line 937 "conf_parser.y"
3529 >  case 139:
3530 > #line 975 "conf_parser.y" /* yacc.c:1646  */
3531      {
3532    if (conf_parser_ctx.pass == 2)
3533      block_state.type.value = LOG_TYPE_OPER;
3534   }
3535 + #line 3536 "conf_parser.c" /* yacc.c:1646  */
3536      break;
3537  
3538 <  case 130:
3539 < /* Line 1787 of yacc.c  */
3840 < #line 941 "conf_parser.y"
3538 >  case 140:
3539 > #line 979 "conf_parser.y" /* yacc.c:1646  */
3540      {
3541    if (conf_parser_ctx.pass == 2)
3542      block_state.type.value = LOG_TYPE_GLINE;
3543   }
3544 + #line 3545 "conf_parser.c" /* yacc.c:1646  */
3545      break;
3546  
3547 <  case 131:
3548 < /* Line 1787 of yacc.c  */
3549 < #line 945 "conf_parser.y"
3547 >  case 141:
3548 > #line 983 "conf_parser.y" /* yacc.c:1646  */
3549 >    {
3550 >  if (conf_parser_ctx.pass == 2)
3551 >    block_state.type.value = LOG_TYPE_XLINE;
3552 > }
3553 > #line 3554 "conf_parser.c" /* yacc.c:1646  */
3554 >    break;
3555 >
3556 >  case 142:
3557 > #line 987 "conf_parser.y" /* yacc.c:1646  */
3558 >    {
3559 >  if (conf_parser_ctx.pass == 2)
3560 >    block_state.type.value = LOG_TYPE_RESV;
3561 > }
3562 > #line 3563 "conf_parser.c" /* yacc.c:1646  */
3563 >    break;
3564 >
3565 >  case 143:
3566 > #line 991 "conf_parser.y" /* yacc.c:1646  */
3567      {
3568    if (conf_parser_ctx.pass == 2)
3569      block_state.type.value = LOG_TYPE_DLINE;
3570   }
3571 + #line 3572 "conf_parser.c" /* yacc.c:1646  */
3572      break;
3573  
3574 <  case 132:
3575 < /* Line 1787 of yacc.c  */
3858 < #line 949 "conf_parser.y"
3574 >  case 144:
3575 > #line 995 "conf_parser.y" /* yacc.c:1646  */
3576      {
3577    if (conf_parser_ctx.pass == 2)
3578      block_state.type.value = LOG_TYPE_KLINE;
3579   }
3580 + #line 3581 "conf_parser.c" /* yacc.c:1646  */
3581      break;
3582  
3583 <  case 133:
3584 < /* Line 1787 of yacc.c  */
3867 < #line 953 "conf_parser.y"
3583 >  case 145:
3584 > #line 999 "conf_parser.y" /* yacc.c:1646  */
3585      {
3586    if (conf_parser_ctx.pass == 2)
3587      block_state.type.value = LOG_TYPE_KILL;
3588   }
3589 + #line 3590 "conf_parser.c" /* yacc.c:1646  */
3590      break;
3591  
3592 <  case 134:
3593 < /* Line 1787 of yacc.c  */
3876 < #line 957 "conf_parser.y"
3592 >  case 146:
3593 > #line 1003 "conf_parser.y" /* yacc.c:1646  */
3594      {
3595    if (conf_parser_ctx.pass == 2)
3596      block_state.type.value = LOG_TYPE_DEBUG;
3597   }
3598 + #line 3599 "conf_parser.c" /* yacc.c:1646  */
3599      break;
3600  
3601 <  case 135:
3602 < /* Line 1787 of yacc.c  */
3885 < #line 967 "conf_parser.y"
3601 >  case 147:
3602 > #line 1013 "conf_parser.y" /* yacc.c:1646  */
3603      {
3604    if (conf_parser_ctx.pass != 2)
3605      break;
# Line 3890 | Line 3607 | yyreduce:
3607    reset_block_state();
3608    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3609   }
3610 + #line 3611 "conf_parser.c" /* yacc.c:1646  */
3611      break;
3612  
3613 <  case 136:
3614 < /* Line 1787 of yacc.c  */
3897 < #line 974 "conf_parser.y"
3613 >  case 148:
3614 > #line 1020 "conf_parser.y" /* yacc.c:1646  */
3615      {
3616    dlink_node *ptr = NULL;
3617  
# Line 3904 | Line 3621 | yyreduce:
3621    if (!block_state.name.buf[0])
3622      break;
3623   #ifdef HAVE_LIBCRYPTO
3624 <  if (!(block_state.file.buf[0] ||
3625 <        block_state.rpass.buf[0]))
3624 >  if (!block_state.file.buf[0] &&
3625 >      !block_state.rpass.buf[0])
3626      break;
3627   #else
3628    if (!block_state.rpass.buf[0])
# Line 3926 | Line 3643 | yyreduce:
3643      nuh.hostsize = sizeof(block_state.host.buf);
3644      split_nuh(&nuh);
3645  
3646 <    conf        = conf_make(CONF_OPER);
3647 <    conf->name  = xstrdup(block_state.name.buf);
3648 <    conf->user  = xstrdup(block_state.user.buf);
3649 <    conf->host  = xstrdup(block_state.host.buf);
3646 >    conf         = conf_make(CONF_OPER);
3647 >    conf->name   = xstrdup(block_state.name.buf);
3648 >    conf->user   = xstrdup(block_state.user.buf);
3649 >    conf->host   = xstrdup(block_state.host.buf);
3650 >
3651 >    if (block_state.cert.buf[0])
3652 >      conf->certfp = xstrdup(block_state.cert.buf);
3653  
3654      if (block_state.rpass.buf[0])
3655        conf->passwd = xstrdup(block_state.rpass.buf);
# Line 3963 | Line 3683 | yyreduce:
3683   #endif /* HAVE_LIBCRYPTO */
3684    }
3685   }
3686 + #line 3687 "conf_parser.c" /* yacc.c:1646  */
3687      break;
3688  
3689 <  case 148:
3690 < /* Line 1787 of yacc.c  */
3970 < #line 1049 "conf_parser.y"
3689 >  case 162:
3690 > #line 1106 "conf_parser.y" /* yacc.c:1646  */
3691      {
3692    if (conf_parser_ctx.pass == 2)
3693      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3694   }
3695 + #line 3696 "conf_parser.c" /* yacc.c:1646  */
3696      break;
3697  
3698 <  case 149:
3699 < /* Line 1787 of yacc.c  */
3979 < #line 1055 "conf_parser.y"
3698 >  case 163:
3699 > #line 1112 "conf_parser.y" /* yacc.c:1646  */
3700      {
3701    if (conf_parser_ctx.pass == 2)
3702      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3703   }
3704 + #line 3705 "conf_parser.c" /* yacc.c:1646  */
3705      break;
3706  
3707 <  case 150:
3708 < /* Line 1787 of yacc.c  */
3988 < #line 1061 "conf_parser.y"
3707 >  case 164:
3708 > #line 1118 "conf_parser.y" /* yacc.c:1646  */
3709      {
3710    if (conf_parser_ctx.pass == 2)
3711      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3712   }
3713 + #line 3714 "conf_parser.c" /* yacc.c:1646  */
3714      break;
3715  
3716 <  case 151:
3717 < /* Line 1787 of yacc.c  */
3997 < #line 1067 "conf_parser.y"
3716 >  case 165:
3717 > #line 1124 "conf_parser.y" /* yacc.c:1646  */
3718      {
3719 <  if (conf_parser_ctx.pass == 2)
3720 <  {
3721 <    if (yylval.number)
3722 <      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3723 <    else
3724 <      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3725 <  }
3719 >  if (conf_parser_ctx.pass != 2)
3720 >    break;
3721 >
3722 >  if (yylval.number)
3723 >    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3724 >  else
3725 >    block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3726   }
3727 + #line 3728 "conf_parser.c" /* yacc.c:1646  */
3728      break;
3729  
3730 <  case 152:
3731 < /* Line 1787 of yacc.c  */
4011 < #line 1078 "conf_parser.y"
3730 >  case 166:
3731 > #line 1135 "conf_parser.y" /* yacc.c:1646  */
3732      {
3733    if (conf_parser_ctx.pass == 2)
3734      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3735   }
3736 + #line 3737 "conf_parser.c" /* yacc.c:1646  */
3737      break;
3738  
3739 <  case 153:
3740 < /* Line 1787 of yacc.c  */
4020 < #line 1084 "conf_parser.y"
3739 >  case 167:
3740 > #line 1141 "conf_parser.y" /* yacc.c:1646  */
3741      {
3742    if (conf_parser_ctx.pass == 2)
3743 <    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3743 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3744   }
3745 + #line 3746 "conf_parser.c" /* yacc.c:1646  */
3746      break;
3747  
3748 <  case 154:
3749 < /* Line 1787 of yacc.c  */
3750 < #line 1090 "conf_parser.y"
3748 >  case 168:
3749 > #line 1147 "conf_parser.y" /* yacc.c:1646  */
3750 >    {
3751 >  if (conf_parser_ctx.pass != 2)
3752 >    break;
3753 >
3754 >  if (yylval.number)
3755 >    block_state.flags.value |= CONF_FLAGS_SSL;
3756 >  else
3757 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3758 > }
3759 > #line 3760 "conf_parser.c" /* yacc.c:1646  */
3760 >    break;
3761 >
3762 >  case 169:
3763 > #line 1158 "conf_parser.y" /* yacc.c:1646  */
3764      {
3765    if (conf_parser_ctx.pass == 2)
3766 <    block_state.modes.value = 0;
3766 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3767   }
3768 + #line 3769 "conf_parser.c" /* yacc.c:1646  */
3769      break;
3770  
3771 <  case 158:
3772 < /* Line 1787 of yacc.c  */
4038 < #line 1097 "conf_parser.y"
3771 >  case 170:
3772 > #line 1164 "conf_parser.y" /* yacc.c:1646  */
3773      {
3774    if (conf_parser_ctx.pass == 2)
3775 <    block_state.modes.value |= UMODE_BOTS;
3775 >    block_state.modes.value = 0;
3776   }
3777 + #line 3778 "conf_parser.c" /* yacc.c:1646  */
3778      break;
3779  
3780 <  case 159:
3781 < /* Line 1787 of yacc.c  */
4047 < #line 1101 "conf_parser.y"
3780 >  case 174:
3781 > #line 1171 "conf_parser.y" /* yacc.c:1646  */
3782      {
3783    if (conf_parser_ctx.pass == 2)
3784 <    block_state.modes.value |= UMODE_CCONN;
3784 >    block_state.modes.value |= UMODE_BOTS;
3785   }
3786 + #line 3787 "conf_parser.c" /* yacc.c:1646  */
3787      break;
3788  
3789 <  case 160:
3790 < /* Line 1787 of yacc.c  */
4056 < #line 1105 "conf_parser.y"
3789 >  case 175:
3790 > #line 1175 "conf_parser.y" /* yacc.c:1646  */
3791      {
3792    if (conf_parser_ctx.pass == 2)
3793 <    block_state.modes.value |= UMODE_CCONN_FULL;
3793 >    block_state.modes.value |= UMODE_CCONN;
3794   }
3795 + #line 3796 "conf_parser.c" /* yacc.c:1646  */
3796      break;
3797  
3798 <  case 161:
3799 < /* Line 1787 of yacc.c  */
4065 < #line 1109 "conf_parser.y"
3798 >  case 176:
3799 > #line 1179 "conf_parser.y" /* yacc.c:1646  */
3800      {
3801    if (conf_parser_ctx.pass == 2)
3802      block_state.modes.value |= UMODE_DEAF;
3803   }
3804 + #line 3805 "conf_parser.c" /* yacc.c:1646  */
3805      break;
3806  
3807 <  case 162:
3808 < /* Line 1787 of yacc.c  */
4074 < #line 1113 "conf_parser.y"
3807 >  case 177:
3808 > #line 1183 "conf_parser.y" /* yacc.c:1646  */
3809      {
3810    if (conf_parser_ctx.pass == 2)
3811      block_state.modes.value |= UMODE_DEBUG;
3812   }
3813 + #line 3814 "conf_parser.c" /* yacc.c:1646  */
3814      break;
3815  
3816 <  case 163:
3817 < /* Line 1787 of yacc.c  */
4083 < #line 1117 "conf_parser.y"
3816 >  case 178:
3817 > #line 1187 "conf_parser.y" /* yacc.c:1646  */
3818      {
3819    if (conf_parser_ctx.pass == 2)
3820      block_state.modes.value |= UMODE_FULL;
3821   }
3822 + #line 3823 "conf_parser.c" /* yacc.c:1646  */
3823      break;
3824  
3825 <  case 164:
3826 < /* Line 1787 of yacc.c  */
4092 < #line 1121 "conf_parser.y"
3825 >  case 179:
3826 > #line 1191 "conf_parser.y" /* yacc.c:1646  */
3827      {
3828    if (conf_parser_ctx.pass == 2)
3829      block_state.modes.value |= UMODE_HIDDEN;
3830   }
3831 + #line 3832 "conf_parser.c" /* yacc.c:1646  */
3832      break;
3833  
3834 <  case 165:
3835 < /* Line 1787 of yacc.c  */
3836 < #line 1125 "conf_parser.y"
3834 >  case 180:
3835 > #line 1195 "conf_parser.y" /* yacc.c:1646  */
3836 >    {
3837 >  if (conf_parser_ctx.pass == 2)
3838 >    block_state.modes.value |= UMODE_HIDECHANS;
3839 > }
3840 > #line 3841 "conf_parser.c" /* yacc.c:1646  */
3841 >    break;
3842 >
3843 >  case 181:
3844 > #line 1199 "conf_parser.y" /* yacc.c:1646  */
3845 >    {
3846 >  if (conf_parser_ctx.pass == 2)
3847 >    block_state.modes.value |= UMODE_HIDEIDLE;
3848 > }
3849 > #line 3850 "conf_parser.c" /* yacc.c:1646  */
3850 >    break;
3851 >
3852 >  case 182:
3853 > #line 1203 "conf_parser.y" /* yacc.c:1646  */
3854      {
3855    if (conf_parser_ctx.pass == 2)
3856      block_state.modes.value |= UMODE_SKILL;
3857   }
3858 + #line 3859 "conf_parser.c" /* yacc.c:1646  */
3859      break;
3860  
3861 <  case 166:
3862 < /* Line 1787 of yacc.c  */
4110 < #line 1129 "conf_parser.y"
3861 >  case 183:
3862 > #line 1207 "conf_parser.y" /* yacc.c:1646  */
3863      {
3864    if (conf_parser_ctx.pass == 2)
3865      block_state.modes.value |= UMODE_NCHANGE;
3866   }
3867 + #line 3868 "conf_parser.c" /* yacc.c:1646  */
3868      break;
3869  
3870 <  case 167:
3871 < /* Line 1787 of yacc.c  */
4119 < #line 1133 "conf_parser.y"
3870 >  case 184:
3871 > #line 1211 "conf_parser.y" /* yacc.c:1646  */
3872      {
3873    if (conf_parser_ctx.pass == 2)
3874      block_state.modes.value |= UMODE_REJ;
3875   }
3876 + #line 3877 "conf_parser.c" /* yacc.c:1646  */
3877      break;
3878  
3879 <  case 168:
3880 < /* Line 1787 of yacc.c  */
4128 < #line 1137 "conf_parser.y"
3879 >  case 185:
3880 > #line 1215 "conf_parser.y" /* yacc.c:1646  */
3881      {
3882    if (conf_parser_ctx.pass == 2)
3883      block_state.modes.value |= UMODE_UNAUTH;
3884   }
3885 + #line 3886 "conf_parser.c" /* yacc.c:1646  */
3886      break;
3887  
3888 <  case 169:
3889 < /* Line 1787 of yacc.c  */
4137 < #line 1141 "conf_parser.y"
3888 >  case 186:
3889 > #line 1219 "conf_parser.y" /* yacc.c:1646  */
3890      {
3891    if (conf_parser_ctx.pass == 2)
3892      block_state.modes.value |= UMODE_SPY;
3893   }
3894 + #line 3895 "conf_parser.c" /* yacc.c:1646  */
3895      break;
3896  
3897 <  case 170:
3898 < /* Line 1787 of yacc.c  */
4146 < #line 1145 "conf_parser.y"
3897 >  case 187:
3898 > #line 1223 "conf_parser.y" /* yacc.c:1646  */
3899      {
3900    if (conf_parser_ctx.pass == 2)
3901      block_state.modes.value |= UMODE_EXTERNAL;
3902   }
3903 + #line 3904 "conf_parser.c" /* yacc.c:1646  */
3904      break;
3905  
3906 <  case 171:
3907 < /* Line 1787 of yacc.c  */
4155 < #line 1149 "conf_parser.y"
3906 >  case 188:
3907 > #line 1227 "conf_parser.y" /* yacc.c:1646  */
3908      {
3909    if (conf_parser_ctx.pass == 2)
3910      block_state.modes.value |= UMODE_OPERWALL;
3911   }
3912 + #line 3913 "conf_parser.c" /* yacc.c:1646  */
3913      break;
3914  
3915 <  case 172:
3916 < /* Line 1787 of yacc.c  */
4164 < #line 1153 "conf_parser.y"
3915 >  case 189:
3916 > #line 1231 "conf_parser.y" /* yacc.c:1646  */
3917      {
3918    if (conf_parser_ctx.pass == 2)
3919      block_state.modes.value |= UMODE_SERVNOTICE;
3920   }
3921 + #line 3922 "conf_parser.c" /* yacc.c:1646  */
3922      break;
3923  
3924 <  case 173:
3925 < /* Line 1787 of yacc.c  */
4173 < #line 1157 "conf_parser.y"
3924 >  case 190:
3925 > #line 1235 "conf_parser.y" /* yacc.c:1646  */
3926      {
3927    if (conf_parser_ctx.pass == 2)
3928      block_state.modes.value |= UMODE_INVISIBLE;
3929   }
3930 + #line 3931 "conf_parser.c" /* yacc.c:1646  */
3931      break;
3932  
3933 <  case 174:
3934 < /* Line 1787 of yacc.c  */
4182 < #line 1161 "conf_parser.y"
3933 >  case 191:
3934 > #line 1239 "conf_parser.y" /* yacc.c:1646  */
3935      {
3936    if (conf_parser_ctx.pass == 2)
3937      block_state.modes.value |= UMODE_WALLOP;
3938   }
3939 + #line 3940 "conf_parser.c" /* yacc.c:1646  */
3940      break;
3941  
3942 <  case 175:
3943 < /* Line 1787 of yacc.c  */
4191 < #line 1165 "conf_parser.y"
3942 >  case 192:
3943 > #line 1243 "conf_parser.y" /* yacc.c:1646  */
3944      {
3945    if (conf_parser_ctx.pass == 2)
3946      block_state.modes.value |= UMODE_SOFTCALLERID;
3947   }
3948 + #line 3949 "conf_parser.c" /* yacc.c:1646  */
3949      break;
3950  
3951 <  case 176:
3952 < /* Line 1787 of yacc.c  */
4200 < #line 1169 "conf_parser.y"
3951 >  case 193:
3952 > #line 1247 "conf_parser.y" /* yacc.c:1646  */
3953      {
3954    if (conf_parser_ctx.pass == 2)
3955      block_state.modes.value |= UMODE_CALLERID;
3956   }
3957 + #line 3958 "conf_parser.c" /* yacc.c:1646  */
3958      break;
3959  
3960 <  case 177:
3961 < /* Line 1787 of yacc.c  */
4209 < #line 1173 "conf_parser.y"
3960 >  case 194:
3961 > #line 1251 "conf_parser.y" /* yacc.c:1646  */
3962      {
3963    if (conf_parser_ctx.pass == 2)
3964      block_state.modes.value |= UMODE_LOCOPS;
3965   }
3966 + #line 3967 "conf_parser.c" /* yacc.c:1646  */
3967      break;
3968  
3969 <  case 178:
3970 < /* Line 1787 of yacc.c  */
4218 < #line 1177 "conf_parser.y"
3969 >  case 195:
3970 > #line 1255 "conf_parser.y" /* yacc.c:1646  */
3971      {
3972    if (conf_parser_ctx.pass == 2)
3973      block_state.modes.value |= UMODE_REGONLY;
3974   }
3975 + #line 3976 "conf_parser.c" /* yacc.c:1646  */
3976      break;
3977  
3978 <  case 179:
3979 < /* Line 1787 of yacc.c  */
3980 < #line 1183 "conf_parser.y"
3978 >  case 196:
3979 > #line 1259 "conf_parser.y" /* yacc.c:1646  */
3980 >    {
3981 >  if (conf_parser_ctx.pass == 2)
3982 >    block_state.modes.value |= UMODE_FARCONNECT;
3983 > }
3984 > #line 3985 "conf_parser.c" /* yacc.c:1646  */
3985 >    break;
3986 >
3987 >  case 197:
3988 > #line 1265 "conf_parser.y" /* yacc.c:1646  */
3989      {
3990    if (conf_parser_ctx.pass == 2)
3991      block_state.port.value = 0;
3992   }
3993 + #line 3994 "conf_parser.c" /* yacc.c:1646  */
3994      break;
3995  
3996 <  case 183:
3997 < /* Line 1787 of yacc.c  */
4236 < #line 1190 "conf_parser.y"
3996 >  case 201:
3997 > #line 1272 "conf_parser.y" /* yacc.c:1646  */
3998      {
3999    if (conf_parser_ctx.pass == 2)
4000 <    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4000 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4001   }
4002 + #line 4003 "conf_parser.c" /* yacc.c:1646  */
4003      break;
4004  
4005 <  case 184:
4006 < /* Line 1787 of yacc.c  */
4245 < #line 1194 "conf_parser.y"
4005 >  case 202:
4006 > #line 1276 "conf_parser.y" /* yacc.c:1646  */
4007      {
4008    if (conf_parser_ctx.pass == 2)
4009 <    block_state.port.value |= OPER_FLAG_REMOTE;
4009 >    block_state.port.value |= OPER_FLAG_KILL;
4010   }
4011 + #line 4012 "conf_parser.c" /* yacc.c:1646  */
4012      break;
4013  
4014 <  case 185:
4015 < /* Line 1787 of yacc.c  */
4016 < #line 1198 "conf_parser.y"
4014 >  case 203:
4015 > #line 1280 "conf_parser.y" /* yacc.c:1646  */
4016 >    {
4017 >  if (conf_parser_ctx.pass == 2)
4018 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4019 > }
4020 > #line 4021 "conf_parser.c" /* yacc.c:1646  */
4021 >    break;
4022 >
4023 >  case 204:
4024 > #line 1284 "conf_parser.y" /* yacc.c:1646  */
4025 >    {
4026 >  if (conf_parser_ctx.pass == 2)
4027 >    block_state.port.value |= OPER_FLAG_CONNECT;
4028 > }
4029 > #line 4030 "conf_parser.c" /* yacc.c:1646  */
4030 >    break;
4031 >
4032 >  case 205:
4033 > #line 1288 "conf_parser.y" /* yacc.c:1646  */
4034 >    {
4035 >  if (conf_parser_ctx.pass == 2)
4036 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4037 > }
4038 > #line 4039 "conf_parser.c" /* yacc.c:1646  */
4039 >    break;
4040 >
4041 >  case 206:
4042 > #line 1292 "conf_parser.y" /* yacc.c:1646  */
4043 >    {
4044 >  if (conf_parser_ctx.pass == 2)
4045 >    block_state.port.value |= OPER_FLAG_SQUIT;
4046 > }
4047 > #line 4048 "conf_parser.c" /* yacc.c:1646  */
4048 >    break;
4049 >
4050 >  case 207:
4051 > #line 1296 "conf_parser.y" /* yacc.c:1646  */
4052      {
4053    if (conf_parser_ctx.pass == 2)
4054      block_state.port.value |= OPER_FLAG_K;
4055   }
4056 + #line 4057 "conf_parser.c" /* yacc.c:1646  */
4057      break;
4058  
4059 <  case 186:
4060 < /* Line 1787 of yacc.c  */
4263 < #line 1202 "conf_parser.y"
4059 >  case 208:
4060 > #line 1300 "conf_parser.y" /* yacc.c:1646  */
4061      {
4062    if (conf_parser_ctx.pass == 2)
4063      block_state.port.value |= OPER_FLAG_UNKLINE;
4064   }
4065 + #line 4066 "conf_parser.c" /* yacc.c:1646  */
4066      break;
4067  
4068 <  case 187:
4069 < /* Line 1787 of yacc.c  */
4272 < #line 1206 "conf_parser.y"
4068 >  case 209:
4069 > #line 1304 "conf_parser.y" /* yacc.c:1646  */
4070      {
4071    if (conf_parser_ctx.pass == 2)
4072      block_state.port.value |= OPER_FLAG_DLINE;
4073   }
4074 + #line 4075 "conf_parser.c" /* yacc.c:1646  */
4075      break;
4076  
4077 <  case 188:
4078 < /* Line 1787 of yacc.c  */
4281 < #line 1210 "conf_parser.y"
4077 >  case 210:
4078 > #line 1308 "conf_parser.y" /* yacc.c:1646  */
4079      {
4080    if (conf_parser_ctx.pass == 2)
4081      block_state.port.value |= OPER_FLAG_UNDLINE;
4082   }
4083 + #line 4084 "conf_parser.c" /* yacc.c:1646  */
4084      break;
4085  
4086 <  case 189:
4087 < /* Line 1787 of yacc.c  */
4290 < #line 1214 "conf_parser.y"
4086 >  case 211:
4087 > #line 1312 "conf_parser.y" /* yacc.c:1646  */
4088      {
4089    if (conf_parser_ctx.pass == 2)
4090 <    block_state.port.value |= OPER_FLAG_X;
4090 >    block_state.port.value |= OPER_FLAG_XLINE;
4091   }
4092 + #line 4093 "conf_parser.c" /* yacc.c:1646  */
4093      break;
4094  
4095 <  case 190:
4096 < /* Line 1787 of yacc.c  */
4097 < #line 1218 "conf_parser.y"
4095 >  case 212:
4096 > #line 1316 "conf_parser.y" /* yacc.c:1646  */
4097 >    {
4098 >  if (conf_parser_ctx.pass == 2)
4099 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4100 > }
4101 > #line 4102 "conf_parser.c" /* yacc.c:1646  */
4102 >    break;
4103 >
4104 >  case 213:
4105 > #line 1320 "conf_parser.y" /* yacc.c:1646  */
4106      {
4107    if (conf_parser_ctx.pass == 2)
4108      block_state.port.value |= OPER_FLAG_GLINE;
4109   }
4110 + #line 4111 "conf_parser.c" /* yacc.c:1646  */
4111      break;
4112  
4113 <  case 191:
4114 < /* Line 1787 of yacc.c  */
4308 < #line 1222 "conf_parser.y"
4113 >  case 214:
4114 > #line 1324 "conf_parser.y" /* yacc.c:1646  */
4115      {
4116    if (conf_parser_ctx.pass == 2)
4117      block_state.port.value |= OPER_FLAG_DIE;
4118   }
4119 + #line 4120 "conf_parser.c" /* yacc.c:1646  */
4120      break;
4121  
4122 <  case 192:
4123 < /* Line 1787 of yacc.c  */
4317 < #line 1226 "conf_parser.y"
4122 >  case 215:
4123 > #line 1328 "conf_parser.y" /* yacc.c:1646  */
4124      {
4125    if (conf_parser_ctx.pass == 2)
4126      block_state.port.value |= OPER_FLAG_RESTART;
4127   }
4128 + #line 4129 "conf_parser.c" /* yacc.c:1646  */
4129      break;
4130  
4131 <  case 193:
4132 < /* Line 1787 of yacc.c  */
4326 < #line 1230 "conf_parser.y"
4131 >  case 216:
4132 > #line 1332 "conf_parser.y" /* yacc.c:1646  */
4133      {
4134    if (conf_parser_ctx.pass == 2)
4135      block_state.port.value |= OPER_FLAG_REHASH;
4136   }
4137 + #line 4138 "conf_parser.c" /* yacc.c:1646  */
4138      break;
4139  
4140 <  case 194:
4141 < /* Line 1787 of yacc.c  */
4335 < #line 1234 "conf_parser.y"
4140 >  case 217:
4141 > #line 1336 "conf_parser.y" /* yacc.c:1646  */
4142      {
4143    if (conf_parser_ctx.pass == 2)
4144      block_state.port.value |= OPER_FLAG_ADMIN;
4145   }
4146 + #line 4147 "conf_parser.c" /* yacc.c:1646  */
4147      break;
4148  
4149 <  case 195:
4150 < /* Line 1787 of yacc.c  */
4344 < #line 1238 "conf_parser.y"
4149 >  case 218:
4150 > #line 1340 "conf_parser.y" /* yacc.c:1646  */
4151      {
4152    if (conf_parser_ctx.pass == 2)
4153      block_state.port.value |= OPER_FLAG_OPERWALL;
4154   }
4155 + #line 4156 "conf_parser.c" /* yacc.c:1646  */
4156      break;
4157  
4158 <  case 196:
4159 < /* Line 1787 of yacc.c  */
4353 < #line 1242 "conf_parser.y"
4158 >  case 219:
4159 > #line 1344 "conf_parser.y" /* yacc.c:1646  */
4160      {
4161    if (conf_parser_ctx.pass == 2)
4162      block_state.port.value |= OPER_FLAG_GLOBOPS;
4163   }
4164 + #line 4165 "conf_parser.c" /* yacc.c:1646  */
4165      break;
4166  
4167 <  case 197:
4168 < /* Line 1787 of yacc.c  */
4362 < #line 1246 "conf_parser.y"
4167 >  case 220:
4168 > #line 1348 "conf_parser.y" /* yacc.c:1646  */
4169      {
4170    if (conf_parser_ctx.pass == 2)
4171 <    block_state.port.value |= OPER_FLAG_OPER_SPY;
4171 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4172   }
4173 + #line 4174 "conf_parser.c" /* yacc.c:1646  */
4174      break;
4175  
4176 <  case 198:
4177 < /* Line 1787 of yacc.c  */
4178 < #line 1250 "conf_parser.y"
4176 >  case 221:
4177 > #line 1352 "conf_parser.y" /* yacc.c:1646  */
4178 >    {
4179 >  if (conf_parser_ctx.pass == 2)
4180 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4181 > }
4182 > #line 4183 "conf_parser.c" /* yacc.c:1646  */
4183 >    break;
4184 >
4185 >  case 222:
4186 > #line 1356 "conf_parser.y" /* yacc.c:1646  */
4187      {
4188    if (conf_parser_ctx.pass == 2)
4189      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4190   }
4191 + #line 4192 "conf_parser.c" /* yacc.c:1646  */
4192      break;
4193  
4194 <  case 199:
4195 < /* Line 1787 of yacc.c  */
4380 < #line 1254 "conf_parser.y"
4194 >  case 223:
4195 > #line 1360 "conf_parser.y" /* yacc.c:1646  */
4196      {
4197    if (conf_parser_ctx.pass == 2)
4198      block_state.port.value |= OPER_FLAG_SET;
4199   }
4200 + #line 4201 "conf_parser.c" /* yacc.c:1646  */
4201      break;
4202  
4203 <  case 200:
4204 < /* Line 1787 of yacc.c  */
4389 < #line 1258 "conf_parser.y"
4203 >  case 224:
4204 > #line 1364 "conf_parser.y" /* yacc.c:1646  */
4205      {
4206    if (conf_parser_ctx.pass == 2)
4207      block_state.port.value |= OPER_FLAG_MODULE;
4208   }
4209 + #line 4210 "conf_parser.c" /* yacc.c:1646  */
4210      break;
4211  
4212 <  case 201:
4213 < /* Line 1787 of yacc.c  */
4398 < #line 1268 "conf_parser.y"
4212 >  case 225:
4213 > #line 1374 "conf_parser.y" /* yacc.c:1646  */
4214      {
4215    if (conf_parser_ctx.pass != 1)
4216      break;
# Line 4408 | Line 4223 | yyreduce:
4223    block_state.max_sendq.value = DEFAULT_SENDQ;
4224    block_state.max_recvq.value = DEFAULT_RECVQ;
4225   }
4226 + #line 4227 "conf_parser.c" /* yacc.c:1646  */
4227      break;
4228  
4229 <  case 202:
4230 < /* Line 1787 of yacc.c  */
4415 < #line 1280 "conf_parser.y"
4229 >  case 226:
4230 > #line 1386 "conf_parser.y" /* yacc.c:1646  */
4231      {
4232    struct ClassItem *class = NULL;
4233  
# Line 4460 | Line 4275 | yyreduce:
4275    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4276    class->number_per_cidr = block_state.number_per_cidr.value;
4277   }
4278 + #line 4279 "conf_parser.c" /* yacc.c:1646  */
4279      break;
4280  
4281 <  case 222:
4282 < /* Line 1787 of yacc.c  */
4467 < #line 1346 "conf_parser.y"
4281 >  case 246:
4282 > #line 1453 "conf_parser.y" /* yacc.c:1646  */
4283      {
4284    if (conf_parser_ctx.pass == 1)
4285      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4286   }
4287 + #line 4288 "conf_parser.c" /* yacc.c:1646  */
4288      break;
4289  
4290 <  case 223:
4291 < /* Line 1787 of yacc.c  */
4476 < #line 1352 "conf_parser.y"
4290 >  case 247:
4291 > #line 1459 "conf_parser.y" /* yacc.c:1646  */
4292      {
4293    if (conf_parser_ctx.pass == 1)
4294 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4294 >    block_state.ping_freq.value = (yyvsp[-1].number);
4295   }
4296 + #line 4297 "conf_parser.c" /* yacc.c:1646  */
4297      break;
4298  
4299 <  case 224:
4300 < /* Line 1787 of yacc.c  */
4485 < #line 1358 "conf_parser.y"
4299 >  case 248:
4300 > #line 1465 "conf_parser.y" /* yacc.c:1646  */
4301      {
4302    if (conf_parser_ctx.pass == 1)
4303 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4303 >    block_state.max_perip.value = (yyvsp[-1].number);
4304   }
4305 + #line 4306 "conf_parser.c" /* yacc.c:1646  */
4306      break;
4307  
4308 <  case 225:
4309 < /* Line 1787 of yacc.c  */
4494 < #line 1364 "conf_parser.y"
4308 >  case 249:
4309 > #line 1471 "conf_parser.y" /* yacc.c:1646  */
4310      {
4311    if (conf_parser_ctx.pass == 1)
4312 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4312 >    block_state.con_freq.value = (yyvsp[-1].number);
4313   }
4314 + #line 4315 "conf_parser.c" /* yacc.c:1646  */
4315      break;
4316  
4317 <  case 226:
4318 < /* Line 1787 of yacc.c  */
4503 < #line 1370 "conf_parser.y"
4317 >  case 250:
4318 > #line 1477 "conf_parser.y" /* yacc.c:1646  */
4319      {
4320    if (conf_parser_ctx.pass == 1)
4321 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4321 >    block_state.max_total.value = (yyvsp[-1].number);
4322   }
4323 + #line 4324 "conf_parser.c" /* yacc.c:1646  */
4324      break;
4325  
4326 <  case 227:
4327 < /* Line 1787 of yacc.c  */
4512 < #line 1376 "conf_parser.y"
4326 >  case 251:
4327 > #line 1483 "conf_parser.y" /* yacc.c:1646  */
4328      {
4329    if (conf_parser_ctx.pass == 1)
4330 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4330 >    block_state.max_global.value = (yyvsp[-1].number);
4331   }
4332 + #line 4333 "conf_parser.c" /* yacc.c:1646  */
4333      break;
4334  
4335 <  case 228:
4336 < /* Line 1787 of yacc.c  */
4521 < #line 1382 "conf_parser.y"
4335 >  case 252:
4336 > #line 1489 "conf_parser.y" /* yacc.c:1646  */
4337      {
4338    if (conf_parser_ctx.pass == 1)
4339 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4339 >    block_state.max_local.value = (yyvsp[-1].number);
4340   }
4341 + #line 4342 "conf_parser.c" /* yacc.c:1646  */
4342      break;
4343  
4344 <  case 229:
4345 < /* Line 1787 of yacc.c  */
4530 < #line 1388 "conf_parser.y"
4344 >  case 253:
4345 > #line 1495 "conf_parser.y" /* yacc.c:1646  */
4346      {
4347    if (conf_parser_ctx.pass == 1)
4348 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4348 >    block_state.max_ident.value = (yyvsp[-1].number);
4349   }
4350 + #line 4351 "conf_parser.c" /* yacc.c:1646  */
4351      break;
4352  
4353 <  case 230:
4354 < /* Line 1787 of yacc.c  */
4539 < #line 1394 "conf_parser.y"
4353 >  case 254:
4354 > #line 1501 "conf_parser.y" /* yacc.c:1646  */
4355      {
4356    if (conf_parser_ctx.pass == 1)
4357 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4357 >    block_state.max_sendq.value = (yyvsp[-1].number);
4358   }
4359 + #line 4360 "conf_parser.c" /* yacc.c:1646  */
4360      break;
4361  
4362 <  case 231:
4363 < /* Line 1787 of yacc.c  */
4548 < #line 1400 "conf_parser.y"
4362 >  case 255:
4363 > #line 1507 "conf_parser.y" /* yacc.c:1646  */
4364      {
4365    if (conf_parser_ctx.pass == 1)
4366 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4367 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4366 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4367 >      block_state.max_recvq.value = (yyvsp[-1].number);
4368   }
4369 + #line 4370 "conf_parser.c" /* yacc.c:1646  */
4370      break;
4371  
4372 <  case 232:
4373 < /* Line 1787 of yacc.c  */
4558 < #line 1407 "conf_parser.y"
4372 >  case 256:
4373 > #line 1514 "conf_parser.y" /* yacc.c:1646  */
4374      {
4375    if (conf_parser_ctx.pass == 1)
4376 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4376 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4377   }
4378 + #line 4379 "conf_parser.c" /* yacc.c:1646  */
4379      break;
4380  
4381 <  case 233:
4382 < /* Line 1787 of yacc.c  */
4567 < #line 1413 "conf_parser.y"
4381 >  case 257:
4382 > #line 1520 "conf_parser.y" /* yacc.c:1646  */
4383      {
4384    if (conf_parser_ctx.pass == 1)
4385 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4385 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4386   }
4387 + #line 4388 "conf_parser.c" /* yacc.c:1646  */
4388      break;
4389  
4390 <  case 234:
4391 < /* Line 1787 of yacc.c  */
4576 < #line 1419 "conf_parser.y"
4390 >  case 258:
4391 > #line 1526 "conf_parser.y" /* yacc.c:1646  */
4392      {
4393    if (conf_parser_ctx.pass == 1)
4394 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4394 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4395   }
4396 + #line 4397 "conf_parser.c" /* yacc.c:1646  */
4397      break;
4398  
4399 <  case 235:
4400 < /* Line 1787 of yacc.c  */
4585 < #line 1425 "conf_parser.y"
4399 >  case 259:
4400 > #line 1532 "conf_parser.y" /* yacc.c:1646  */
4401      {
4402    if (conf_parser_ctx.pass != 1)
4403      break;
4404  
4405 <  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4405 >  block_state.min_idle.value = (yyvsp[-1].number);
4406    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4407   }
4408 + #line 4409 "conf_parser.c" /* yacc.c:1646  */
4409      break;
4410  
4411 <  case 236:
4412 < /* Line 1787 of yacc.c  */
4597 < #line 1434 "conf_parser.y"
4411 >  case 260:
4412 > #line 1541 "conf_parser.y" /* yacc.c:1646  */
4413      {
4414    if (conf_parser_ctx.pass != 1)
4415      break;
4416  
4417 <  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4417 >  block_state.max_idle.value = (yyvsp[-1].number);
4418    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4419   }
4420 + #line 4421 "conf_parser.c" /* yacc.c:1646  */
4421      break;
4422  
4423 <  case 237:
4424 < /* Line 1787 of yacc.c  */
4609 < #line 1443 "conf_parser.y"
4423 >  case 261:
4424 > #line 1550 "conf_parser.y" /* yacc.c:1646  */
4425      {
4426    if (conf_parser_ctx.pass == 1)
4427      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4428   }
4429 + #line 4430 "conf_parser.c" /* yacc.c:1646  */
4430      break;
4431  
4432 <  case 241:
4433 < /* Line 1787 of yacc.c  */
4618 < #line 1450 "conf_parser.y"
4432 >  case 265:
4433 > #line 1557 "conf_parser.y" /* yacc.c:1646  */
4434      {
4435    if (conf_parser_ctx.pass == 1)
4436      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4437   }
4438 + #line 4439 "conf_parser.c" /* yacc.c:1646  */
4439      break;
4440  
4441 <  case 242:
4442 < /* Line 1787 of yacc.c  */
4627 < #line 1454 "conf_parser.y"
4441 >  case 266:
4442 > #line 1561 "conf_parser.y" /* yacc.c:1646  */
4443      {
4444    if (conf_parser_ctx.pass == 1)
4445      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4446   }
4447 + #line 4448 "conf_parser.c" /* yacc.c:1646  */
4448      break;
4449  
4450 <  case 243:
4451 < /* Line 1787 of yacc.c  */
4636 < #line 1464 "conf_parser.y"
4450 >  case 267:
4451 > #line 1571 "conf_parser.y" /* yacc.c:1646  */
4452      {
4453    if (conf_parser_ctx.pass == 2)
4454      reset_block_state();
4455   }
4456 + #line 4457 "conf_parser.c" /* yacc.c:1646  */
4457      break;
4458  
4459 <  case 245:
4460 < /* Line 1787 of yacc.c  */
4645 < #line 1470 "conf_parser.y"
4459 >  case 269:
4460 > #line 1577 "conf_parser.y" /* yacc.c:1646  */
4461      {
4462    block_state.flags.value = 0;
4463   }
4464 + #line 4465 "conf_parser.c" /* yacc.c:1646  */
4465      break;
4466  
4467 <  case 249:
4468 < /* Line 1787 of yacc.c  */
4653 < #line 1476 "conf_parser.y"
4467 >  case 273:
4468 > #line 1583 "conf_parser.y" /* yacc.c:1646  */
4469      {
4470    if (conf_parser_ctx.pass == 2)
4471      block_state.flags.value |= LISTENER_SSL;
4472   }
4473 + #line 4474 "conf_parser.c" /* yacc.c:1646  */
4474      break;
4475  
4476 <  case 250:
4477 < /* Line 1787 of yacc.c  */
4662 < #line 1480 "conf_parser.y"
4476 >  case 274:
4477 > #line 1587 "conf_parser.y" /* yacc.c:1646  */
4478      {
4479    if (conf_parser_ctx.pass == 2)
4480      block_state.flags.value |= LISTENER_HIDDEN;
4481   }
4482 + #line 4483 "conf_parser.c" /* yacc.c:1646  */
4483      break;
4484  
4485 <  case 251:
4486 < /* Line 1787 of yacc.c  */
4671 < #line 1484 "conf_parser.y"
4485 >  case 275:
4486 > #line 1591 "conf_parser.y" /* yacc.c:1646  */
4487      {
4488    if (conf_parser_ctx.pass == 2)
4489     block_state.flags.value |= LISTENER_SERVER;
4490   }
4491 + #line 4492 "conf_parser.c" /* yacc.c:1646  */
4492      break;
4493  
4494 <  case 259:
4495 < /* Line 1787 of yacc.c  */
4680 < #line 1492 "conf_parser.y"
4494 >  case 283:
4495 > #line 1599 "conf_parser.y" /* yacc.c:1646  */
4496      { block_state.flags.value = 0; }
4497 + #line 4498 "conf_parser.c" /* yacc.c:1646  */
4498      break;
4499  
4500 <  case 263:
4501 < /* Line 1787 of yacc.c  */
4686 < #line 1497 "conf_parser.y"
4500 >  case 287:
4501 > #line 1604 "conf_parser.y" /* yacc.c:1646  */
4502      {
4503    if (conf_parser_ctx.pass == 2)
4504    {
# Line 4693 | Line 4508 | yyreduce:
4508   #endif
4509        {
4510          conf_error_report("SSL not available - port closed");
4511 <        break;
4511 >        break;
4512        }
4513 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4513 >    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4514    }
4515   }
4516 + #line 4517 "conf_parser.c" /* yacc.c:1646  */
4517      break;
4518  
4519 <  case 264:
4520 < /* Line 1787 of yacc.c  */
4705 < #line 1511 "conf_parser.y"
4519 >  case 288:
4520 > #line 1618 "conf_parser.y" /* yacc.c:1646  */
4521      {
4522    if (conf_parser_ctx.pass == 2)
4523    {
4709    int i;
4710
4524      if (block_state.flags.value & LISTENER_SSL)
4525   #ifdef HAVE_LIBCRYPTO
4526        if (!ServerInfo.server_ctx)
4527   #endif
4528        {
4529          conf_error_report("SSL not available - port closed");
4530 <        break;
4530 >        break;
4531        }
4532  
4533 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4533 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4534        add_listener(i, block_state.addr.buf, block_state.flags.value);
4535    }
4536   }
4537 + #line 4538 "conf_parser.c" /* yacc.c:1646  */
4538      break;
4539  
4540 <  case 265:
4541 < /* Line 1787 of yacc.c  */
4728 < #line 1531 "conf_parser.y"
4540 >  case 289:
4541 > #line 1636 "conf_parser.y" /* yacc.c:1646  */
4542      {
4543    if (conf_parser_ctx.pass == 2)
4544      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4545   }
4546 + #line 4547 "conf_parser.c" /* yacc.c:1646  */
4547      break;
4548  
4549 <  case 266:
4550 < /* Line 1787 of yacc.c  */
4737 < #line 1537 "conf_parser.y"
4549 >  case 290:
4550 > #line 1642 "conf_parser.y" /* yacc.c:1646  */
4551      {
4552    if (conf_parser_ctx.pass == 2)
4553      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4554   }
4555 + #line 4556 "conf_parser.c" /* yacc.c:1646  */
4556      break;
4557  
4558 <  case 267:
4559 < /* Line 1787 of yacc.c  */
4746 < #line 1546 "conf_parser.y"
4558 >  case 291:
4559 > #line 1651 "conf_parser.y" /* yacc.c:1646  */
4560      {
4561    if (conf_parser_ctx.pass == 2)
4562      reset_block_state();
4563   }
4564 + #line 4565 "conf_parser.c" /* yacc.c:1646  */
4565      break;
4566  
4567 <  case 268:
4568 < /* Line 1787 of yacc.c  */
4755 < #line 1550 "conf_parser.y"
4567 >  case 292:
4568 > #line 1655 "conf_parser.y" /* yacc.c:1646  */
4569      {
4570    dlink_node *ptr = NULL;
4571  
# Line 4774 | Line 4587 | yyreduce:
4587      split_nuh(&nuh);
4588  
4589      conf        = conf_make(CONF_CLIENT);
4590 <    conf->user  = xstrdup(collapse(block_state.user.buf));
4591 <    conf->host  = xstrdup(collapse(block_state.host.buf));
4590 >    conf->user  = xstrdup(block_state.user.buf);
4591 >    conf->host  = xstrdup(block_state.host.buf);
4592  
4593      if (block_state.rpass.buf[0])
4594        conf->passwd = xstrdup(block_state.rpass.buf);
4595      if (block_state.name.buf[0])
4596 <      conf->passwd = xstrdup(block_state.name.buf);
4596 >      conf->name = xstrdup(block_state.name.buf);
4597  
4598      conf->flags = block_state.flags.value;
4599      conf->port  = block_state.port.value;
# Line 4789 | Line 4602 | yyreduce:
4602      add_conf_by_address(CONF_CLIENT, conf);
4603    }
4604   }
4605 + #line 4606 "conf_parser.c" /* yacc.c:1646  */
4606      break;
4607  
4608 <  case 280:
4609 < /* Line 1787 of yacc.c  */
4796 < #line 1593 "conf_parser.y"
4608 >  case 304:
4609 > #line 1704 "conf_parser.y" /* yacc.c:1646  */
4610      {
4611    if (conf_parser_ctx.pass == 2)
4612      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4613   }
4614 + #line 4615 "conf_parser.c" /* yacc.c:1646  */
4615      break;
4616  
4617 <  case 281:
4618 < /* Line 1787 of yacc.c  */
4805 < #line 1599 "conf_parser.y"
4617 >  case 305:
4618 > #line 1710 "conf_parser.y" /* yacc.c:1646  */
4619      {
4620    if (conf_parser_ctx.pass == 2)
4621      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4622   }
4623 + #line 4624 "conf_parser.c" /* yacc.c:1646  */
4624      break;
4625  
4626 <  case 282:
4627 < /* Line 1787 of yacc.c  */
4814 < #line 1605 "conf_parser.y"
4626 >  case 306:
4627 > #line 1716 "conf_parser.y" /* yacc.c:1646  */
4628      {
4629    if (conf_parser_ctx.pass == 2)
4630      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4631   }
4632 + #line 4633 "conf_parser.c" /* yacc.c:1646  */
4633      break;
4634  
4635 <  case 283:
4636 < /* Line 1787 of yacc.c  */
4823 < #line 1611 "conf_parser.y"
4635 >  case 307:
4636 > #line 1722 "conf_parser.y" /* yacc.c:1646  */
4637      {
4638    if (conf_parser_ctx.pass == 2)
4639    {
# Line 4830 | Line 4643 | yyreduce:
4643        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4644    }
4645   }
4646 + #line 4647 "conf_parser.c" /* yacc.c:1646  */
4647      break;
4648  
4649 <  case 284:
4650 < /* Line 1787 of yacc.c  */
4837 < #line 1622 "conf_parser.y"
4649 >  case 308:
4650 > #line 1733 "conf_parser.y" /* yacc.c:1646  */
4651      {
4652    if (conf_parser_ctx.pass == 2)
4653 <    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4653 >    block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4654   }
4655 + #line 4656 "conf_parser.c" /* yacc.c:1646  */
4656      break;
4657  
4658 <  case 288:
4659 < /* Line 1787 of yacc.c  */
4846 < #line 1629 "conf_parser.y"
4658 >  case 312:
4659 > #line 1740 "conf_parser.y" /* yacc.c:1646  */
4660      {
4661    if (conf_parser_ctx.pass == 2)
4662      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4663   }
4664 + #line 4665 "conf_parser.c" /* yacc.c:1646  */
4665      break;
4666  
4667 <  case 289:
4668 < /* Line 1787 of yacc.c  */
4855 < #line 1633 "conf_parser.y"
4667 >  case 313:
4668 > #line 1744 "conf_parser.y" /* yacc.c:1646  */
4669      {
4670    if (conf_parser_ctx.pass == 2)
4671      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4672   }
4673 + #line 4674 "conf_parser.c" /* yacc.c:1646  */
4674      break;
4675  
4676 <  case 290:
4677 < /* Line 1787 of yacc.c  */
4864 < #line 1637 "conf_parser.y"
4676 >  case 314:
4677 > #line 1748 "conf_parser.y" /* yacc.c:1646  */
4678      {
4679    if (conf_parser_ctx.pass == 2)
4680      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4681   }
4682 + #line 4683 "conf_parser.c" /* yacc.c:1646  */
4683      break;
4684  
4685 <  case 291:
4686 < /* Line 1787 of yacc.c  */
4873 < #line 1641 "conf_parser.y"
4685 >  case 315:
4686 > #line 1752 "conf_parser.y" /* yacc.c:1646  */
4687      {
4688    if (conf_parser_ctx.pass == 2)
4689      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4690   }
4691 + #line 4692 "conf_parser.c" /* yacc.c:1646  */
4692      break;
4693  
4694 <  case 292:
4695 < /* Line 1787 of yacc.c  */
4882 < #line 1645 "conf_parser.y"
4694 >  case 316:
4695 > #line 1756 "conf_parser.y" /* yacc.c:1646  */
4696      {
4697    if (conf_parser_ctx.pass == 2)
4698      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4699   }
4700 + #line 4701 "conf_parser.c" /* yacc.c:1646  */
4701      break;
4702  
4703 <  case 293:
4704 < /* Line 1787 of yacc.c  */
4891 < #line 1649 "conf_parser.y"
4703 >  case 317:
4704 > #line 1760 "conf_parser.y" /* yacc.c:1646  */
4705      {
4706    if (conf_parser_ctx.pass == 2)
4707      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4708   }
4709 + #line 4710 "conf_parser.c" /* yacc.c:1646  */
4710      break;
4711  
4712 <  case 294:
4713 < /* Line 1787 of yacc.c  */
4900 < #line 1653 "conf_parser.y"
4712 >  case 318:
4713 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4714      {
4715    if (conf_parser_ctx.pass == 2)
4716      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4717   }
4718 + #line 4719 "conf_parser.c" /* yacc.c:1646  */
4719      break;
4720  
4721 <  case 295:
4722 < /* Line 1787 of yacc.c  */
4909 < #line 1657 "conf_parser.y"
4721 >  case 319:
4722 > #line 1768 "conf_parser.y" /* yacc.c:1646  */
4723      {
4724    if (conf_parser_ctx.pass == 2)
4725      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4726   }
4727 + #line 4728 "conf_parser.c" /* yacc.c:1646  */
4728      break;
4729  
4730 <  case 296:
4731 < /* Line 1787 of yacc.c  */
4918 < #line 1661 "conf_parser.y"
4730 >  case 320:
4731 > #line 1772 "conf_parser.y" /* yacc.c:1646  */
4732      {
4733    if (conf_parser_ctx.pass == 2)
4734      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4735   }
4736 + #line 4737 "conf_parser.c" /* yacc.c:1646  */
4737      break;
4738  
4739 <  case 297:
4740 < /* Line 1787 of yacc.c  */
4927 < #line 1665 "conf_parser.y"
4739 >  case 321:
4740 > #line 1776 "conf_parser.y" /* yacc.c:1646  */
4741      {
4742    if (conf_parser_ctx.pass == 2)
4743      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4744   }
4745 + #line 4746 "conf_parser.c" /* yacc.c:1646  */
4746      break;
4747  
4748 <  case 298:
4749 < /* Line 1787 of yacc.c  */
4936 < #line 1671 "conf_parser.y"
4748 >  case 322:
4749 > #line 1782 "conf_parser.y" /* yacc.c:1646  */
4750      {
4751    if (conf_parser_ctx.pass != 2)
4752      break;
4753  
4754 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4754 >  if (valid_hostname(yylval.string))
4755    {
4756      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4757      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 4946 | Line 4759 | yyreduce:
4759    else
4760      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4761   }
4762 + #line 4763 "conf_parser.c" /* yacc.c:1646  */
4763      break;
4764  
4765 <  case 299:
4766 < /* Line 1787 of yacc.c  */
4953 < #line 1685 "conf_parser.y"
4765 >  case 323:
4766 > #line 1796 "conf_parser.y" /* yacc.c:1646  */
4767      {
4768    if (conf_parser_ctx.pass != 2)
4769      break;
# Line 4958 | Line 4771 | yyreduce:
4771    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4772    block_state.flags.value |= CONF_FLAGS_REDIR;
4773   }
4774 + #line 4775 "conf_parser.c" /* yacc.c:1646  */
4775      break;
4776  
4777 <  case 300:
4778 < /* Line 1787 of yacc.c  */
4965 < #line 1694 "conf_parser.y"
4777 >  case 324:
4778 > #line 1805 "conf_parser.y" /* yacc.c:1646  */
4779      {
4780    if (conf_parser_ctx.pass != 2)
4781      break;
4782  
4783    block_state.flags.value |= CONF_FLAGS_REDIR;
4784 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4784 >  block_state.port.value = (yyvsp[-1].number);
4785   }
4786 + #line 4787 "conf_parser.c" /* yacc.c:1646  */
4787      break;
4788  
4789 <  case 301:
4790 < /* Line 1787 of yacc.c  */
4977 < #line 1707 "conf_parser.y"
4789 >  case 325:
4790 > #line 1818 "conf_parser.y" /* yacc.c:1646  */
4791      {
4792    if (conf_parser_ctx.pass != 2)
4793      break;
# Line 4982 | Line 4795 | yyreduce:
4795    reset_block_state();
4796    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4797   }
4798 + #line 4799 "conf_parser.c" /* yacc.c:1646  */
4799      break;
4800  
4801 <  case 302:
4802 < /* Line 1787 of yacc.c  */
4989 < #line 1714 "conf_parser.y"
4801 >  case 326:
4802 > #line 1825 "conf_parser.y" /* yacc.c:1646  */
4803      {
4804    if (conf_parser_ctx.pass != 2)
4805      break;
4806  
4807    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4808   }
4809 + #line 4810 "conf_parser.c" /* yacc.c:1646  */
4810      break;
4811  
4812 <  case 309:
4813 < /* Line 1787 of yacc.c  */
5000 < #line 1725 "conf_parser.y"
4812 >  case 333:
4813 > #line 1836 "conf_parser.y" /* yacc.c:1646  */
4814      {
4815    if (conf_parser_ctx.pass == 2)
4816      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4817   }
4818 + #line 4819 "conf_parser.c" /* yacc.c:1646  */
4819      break;
4820  
4821 <  case 310:
4822 < /* Line 1787 of yacc.c  */
5009 < #line 1731 "conf_parser.y"
4821 >  case 334:
4822 > #line 1842 "conf_parser.y" /* yacc.c:1646  */
4823      {
4824    if (conf_parser_ctx.pass == 2)
4825      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4826   }
4827 + #line 4828 "conf_parser.c" /* yacc.c:1646  */
4828      break;
4829  
4830 <  case 311:
4831 < /* Line 1787 of yacc.c  */
5018 < #line 1737 "conf_parser.y"
4830 >  case 335:
4831 > #line 1848 "conf_parser.y" /* yacc.c:1646  */
4832      {
4833    if (conf_parser_ctx.pass == 2)
4834      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4835   }
4836 + #line 4837 "conf_parser.c" /* yacc.c:1646  */
4837      break;
4838  
4839 <  case 317:
4840 < /* Line 1787 of yacc.c  */
5027 < #line 1752 "conf_parser.y"
4839 >  case 341:
4840 > #line 1863 "conf_parser.y" /* yacc.c:1646  */
4841      {
4842 <  if (conf_parser_ctx.pass == 2)
4842 >  if (conf_parser_ctx.pass != 2)
4843 >    break;
4844 >
4845 >  if (valid_servname(yylval.string))
4846    {
4847 <    if (valid_servname(yylval.string))
4848 <    {
5033 <      struct MaskItem *conf = conf_make(CONF_SERVICE);
5034 <      conf->name = xstrdup(yylval.string);
5035 <    }
4847 >    struct MaskItem *conf = conf_make(CONF_SERVICE);
4848 >    conf->name = xstrdup(yylval.string);
4849    }
4850   }
4851 + #line 4852 "conf_parser.c" /* yacc.c:1646  */
4852      break;
4853  
4854 <  case 318:
4855 < /* Line 1787 of yacc.c  */
5042 < #line 1767 "conf_parser.y"
4854 >  case 342:
4855 > #line 1878 "conf_parser.y" /* yacc.c:1646  */
4856      {
4857    if (conf_parser_ctx.pass != 2)
4858      break;
# Line 5051 | Line 4864 | yyreduce:
4864    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4865    block_state.flags.value = SHARED_ALL;
4866   }
4867 + #line 4868 "conf_parser.c" /* yacc.c:1646  */
4868      break;
4869  
4870 <  case 319:
4871 < /* Line 1787 of yacc.c  */
5058 < #line 1778 "conf_parser.y"
4870 >  case 343:
4871 > #line 1889 "conf_parser.y" /* yacc.c:1646  */
4872      {
4873    struct MaskItem *conf = NULL;
4874  
# Line 5066 | Line 4879 | yyreduce:
4879    conf->flags = block_state.flags.value;
4880    conf->name = xstrdup(block_state.name.buf);
4881    conf->user = xstrdup(block_state.user.buf);
4882 <  conf->user = xstrdup(block_state.host.buf);
4882 >  conf->host = xstrdup(block_state.host.buf);
4883   }
4884 + #line 4885 "conf_parser.c" /* yacc.c:1646  */
4885      break;
4886  
4887 <  case 326:
4888 < /* Line 1787 of yacc.c  */
5075 < #line 1795 "conf_parser.y"
4887 >  case 350:
4888 > #line 1906 "conf_parser.y" /* yacc.c:1646  */
4889      {
4890    if (conf_parser_ctx.pass == 2)
4891      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4892   }
4893 + #line 4894 "conf_parser.c" /* yacc.c:1646  */
4894      break;
4895  
4896 <  case 327:
4897 < /* Line 1787 of yacc.c  */
5084 < #line 1801 "conf_parser.y"
4896 >  case 351:
4897 > #line 1912 "conf_parser.y" /* yacc.c:1646  */
4898      {
4899    if (conf_parser_ctx.pass == 2)
4900    {
# Line 5099 | Line 4912 | yyreduce:
4912      split_nuh(&nuh);
4913    }
4914   }
4915 + #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;
4917  
4918 <  case 328:
4919 < /* Line 1787 of yacc.c  */
5106 < #line 1820 "conf_parser.y"
4918 >  case 352:
4919 > #line 1931 "conf_parser.y" /* yacc.c:1646  */
4920      {
4921    if (conf_parser_ctx.pass == 2)
4922      block_state.flags.value = 0;
4923   }
4924 + #line 4925 "conf_parser.c" /* yacc.c:1646  */
4925      break;
4926  
4927 <  case 332:
4928 < /* Line 1787 of yacc.c  */
5115 < #line 1827 "conf_parser.y"
4927 >  case 356:
4928 > #line 1938 "conf_parser.y" /* yacc.c:1646  */
4929      {
4930    if (conf_parser_ctx.pass == 2)
4931      block_state.flags.value |= SHARED_KLINE;
4932   }
4933 + #line 4934 "conf_parser.c" /* yacc.c:1646  */
4934      break;
4935  
4936 <  case 333:
4937 < /* Line 1787 of yacc.c  */
5124 < #line 1831 "conf_parser.y"
4936 >  case 357:
4937 > #line 1942 "conf_parser.y" /* yacc.c:1646  */
4938      {
4939    if (conf_parser_ctx.pass == 2)
4940      block_state.flags.value |= SHARED_UNKLINE;
4941   }
4942 + #line 4943 "conf_parser.c" /* yacc.c:1646  */
4943      break;
4944  
4945 <  case 334:
4946 < /* Line 1787 of yacc.c  */
5133 < #line 1835 "conf_parser.y"
4945 >  case 358:
4946 > #line 1946 "conf_parser.y" /* yacc.c:1646  */
4947      {
4948    if (conf_parser_ctx.pass == 2)
4949      block_state.flags.value |= SHARED_DLINE;
4950   }
4951 + #line 4952 "conf_parser.c" /* yacc.c:1646  */
4952      break;
4953  
4954 <  case 335:
4955 < /* Line 1787 of yacc.c  */
5142 < #line 1839 "conf_parser.y"
4954 >  case 359:
4955 > #line 1950 "conf_parser.y" /* yacc.c:1646  */
4956      {
4957    if (conf_parser_ctx.pass == 2)
4958      block_state.flags.value |= SHARED_UNDLINE;
4959   }
4960 + #line 4961 "conf_parser.c" /* yacc.c:1646  */
4961      break;
4962  
4963 <  case 336:
4964 < /* Line 1787 of yacc.c  */
5151 < #line 1843 "conf_parser.y"
4963 >  case 360:
4964 > #line 1954 "conf_parser.y" /* yacc.c:1646  */
4965      {
4966    if (conf_parser_ctx.pass == 2)
4967      block_state.flags.value |= SHARED_XLINE;
4968   }
4969 + #line 4970 "conf_parser.c" /* yacc.c:1646  */
4970      break;
4971  
4972 <  case 337:
4973 < /* Line 1787 of yacc.c  */
5160 < #line 1847 "conf_parser.y"
4972 >  case 361:
4973 > #line 1958 "conf_parser.y" /* yacc.c:1646  */
4974      {
4975    if (conf_parser_ctx.pass == 2)
4976      block_state.flags.value |= SHARED_UNXLINE;
4977   }
4978 + #line 4979 "conf_parser.c" /* yacc.c:1646  */
4979      break;
4980  
4981 <  case 338:
4982 < /* Line 1787 of yacc.c  */
5169 < #line 1851 "conf_parser.y"
4981 >  case 362:
4982 > #line 1962 "conf_parser.y" /* yacc.c:1646  */
4983      {
4984    if (conf_parser_ctx.pass == 2)
4985      block_state.flags.value |= SHARED_RESV;
4986   }
4987 + #line 4988 "conf_parser.c" /* yacc.c:1646  */
4988      break;
4989  
4990 <  case 339:
4991 < /* Line 1787 of yacc.c  */
5178 < #line 1855 "conf_parser.y"
4990 >  case 363:
4991 > #line 1966 "conf_parser.y" /* yacc.c:1646  */
4992      {
4993    if (conf_parser_ctx.pass == 2)
4994      block_state.flags.value |= SHARED_UNRESV;
4995   }
4996 + #line 4997 "conf_parser.c" /* yacc.c:1646  */
4997      break;
4998  
4999 <  case 340:
5000 < /* Line 1787 of yacc.c  */
5187 < #line 1859 "conf_parser.y"
4999 >  case 364:
5000 > #line 1970 "conf_parser.y" /* yacc.c:1646  */
5001      {
5002    if (conf_parser_ctx.pass == 2)
5003      block_state.flags.value |= SHARED_LOCOPS;
5004   }
5005 + #line 5006 "conf_parser.c" /* yacc.c:1646  */
5006      break;
5007  
5008 <  case 341:
5009 < /* Line 1787 of yacc.c  */
5196 < #line 1863 "conf_parser.y"
5008 >  case 365:
5009 > #line 1974 "conf_parser.y" /* yacc.c:1646  */
5010      {
5011    if (conf_parser_ctx.pass == 2)
5012      block_state.flags.value = SHARED_ALL;
5013   }
5014 + #line 5015 "conf_parser.c" /* yacc.c:1646  */
5015      break;
5016  
5017 <  case 342:
5018 < /* Line 1787 of yacc.c  */
5205 < #line 1872 "conf_parser.y"
5017 >  case 366:
5018 > #line 1983 "conf_parser.y" /* yacc.c:1646  */
5019      {
5020    if (conf_parser_ctx.pass != 2)
5021      break;
# Line 5212 | Line 5025 | yyreduce:
5025    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5026    block_state.flags.value = SHARED_ALL;
5027   }
5028 + #line 5029 "conf_parser.c" /* yacc.c:1646  */
5029      break;
5030  
5031 <  case 343:
5032 < /* Line 1787 of yacc.c  */
5219 < #line 1881 "conf_parser.y"
5031 >  case 367:
5032 > #line 1992 "conf_parser.y" /* yacc.c:1646  */
5033      {
5034    struct MaskItem *conf = NULL;
5035  
# Line 5227 | Line 5040 | yyreduce:
5040    conf->flags = block_state.flags.value;
5041    conf->name = xstrdup(block_state.name.buf);
5042   }
5043 + #line 5044 "conf_parser.c" /* yacc.c:1646  */
5044      break;
5045  
5046 <  case 349:
5047 < /* Line 1787 of yacc.c  */
5234 < #line 1896 "conf_parser.y"
5046 >  case 373:
5047 > #line 2007 "conf_parser.y" /* yacc.c:1646  */
5048      {
5049    if (conf_parser_ctx.pass == 2)
5050      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5051   }
5052 + #line 5053 "conf_parser.c" /* yacc.c:1646  */
5053      break;
5054  
5055 <  case 350:
5056 < /* Line 1787 of yacc.c  */
5243 < #line 1902 "conf_parser.y"
5055 >  case 374:
5056 > #line 2013 "conf_parser.y" /* yacc.c:1646  */
5057      {
5058    if (conf_parser_ctx.pass == 2)
5059      block_state.flags.value = 0;
5060   }
5061 + #line 5062 "conf_parser.c" /* yacc.c:1646  */
5062      break;
5063  
5064 <  case 354:
5065 < /* Line 1787 of yacc.c  */
5252 < #line 1909 "conf_parser.y"
5064 >  case 378:
5065 > #line 2020 "conf_parser.y" /* yacc.c:1646  */
5066      {
5067    if (conf_parser_ctx.pass == 2)
5068      block_state.flags.value |= SHARED_KLINE;
5069   }
5070 + #line 5071 "conf_parser.c" /* yacc.c:1646  */
5071      break;
5072  
5073 <  case 355:
5074 < /* Line 1787 of yacc.c  */
5261 < #line 1913 "conf_parser.y"
5073 >  case 379:
5074 > #line 2024 "conf_parser.y" /* yacc.c:1646  */
5075      {
5076    if (conf_parser_ctx.pass == 2)
5077      block_state.flags.value |= SHARED_UNKLINE;
5078   }
5079 + #line 5080 "conf_parser.c" /* yacc.c:1646  */
5080      break;
5081  
5082 <  case 356:
5083 < /* Line 1787 of yacc.c  */
5270 < #line 1917 "conf_parser.y"
5082 >  case 380:
5083 > #line 2028 "conf_parser.y" /* yacc.c:1646  */
5084      {
5085    if (conf_parser_ctx.pass == 2)
5086      block_state.flags.value |= SHARED_DLINE;
5087   }
5088 + #line 5089 "conf_parser.c" /* yacc.c:1646  */
5089      break;
5090  
5091 <  case 357:
5092 < /* Line 1787 of yacc.c  */
5279 < #line 1921 "conf_parser.y"
5091 >  case 381:
5092 > #line 2032 "conf_parser.y" /* yacc.c:1646  */
5093      {
5094    if (conf_parser_ctx.pass == 2)
5095      block_state.flags.value |= SHARED_UNDLINE;
5096   }
5097 + #line 5098 "conf_parser.c" /* yacc.c:1646  */
5098      break;
5099  
5100 <  case 358:
5101 < /* Line 1787 of yacc.c  */
5288 < #line 1925 "conf_parser.y"
5100 >  case 382:
5101 > #line 2036 "conf_parser.y" /* yacc.c:1646  */
5102      {
5103    if (conf_parser_ctx.pass == 2)
5104      block_state.flags.value |= SHARED_XLINE;
5105   }
5106 + #line 5107 "conf_parser.c" /* yacc.c:1646  */
5107      break;
5108  
5109 <  case 359:
5110 < /* Line 1787 of yacc.c  */
5297 < #line 1929 "conf_parser.y"
5109 >  case 383:
5110 > #line 2040 "conf_parser.y" /* yacc.c:1646  */
5111      {
5112    if (conf_parser_ctx.pass == 2)
5113      block_state.flags.value |= SHARED_UNXLINE;
5114   }
5115 + #line 5116 "conf_parser.c" /* yacc.c:1646  */
5116      break;
5117  
5118 <  case 360:
5119 < /* Line 1787 of yacc.c  */
5306 < #line 1933 "conf_parser.y"
5118 >  case 384:
5119 > #line 2044 "conf_parser.y" /* yacc.c:1646  */
5120      {
5121    if (conf_parser_ctx.pass == 2)
5122      block_state.flags.value |= SHARED_RESV;
5123   }
5124 + #line 5125 "conf_parser.c" /* yacc.c:1646  */
5125      break;
5126  
5127 <  case 361:
5128 < /* Line 1787 of yacc.c  */
5315 < #line 1937 "conf_parser.y"
5127 >  case 385:
5128 > #line 2048 "conf_parser.y" /* yacc.c:1646  */
5129      {
5130    if (conf_parser_ctx.pass == 2)
5131      block_state.flags.value |= SHARED_UNRESV;
5132   }
5133 + #line 5134 "conf_parser.c" /* yacc.c:1646  */
5134      break;
5135  
5136 <  case 362:
5137 < /* Line 1787 of yacc.c  */
5324 < #line 1941 "conf_parser.y"
5136 >  case 386:
5137 > #line 2052 "conf_parser.y" /* yacc.c:1646  */
5138      {
5139    if (conf_parser_ctx.pass == 2)
5140      block_state.flags.value |= SHARED_LOCOPS;
5141   }
5142 + #line 5143 "conf_parser.c" /* yacc.c:1646  */
5143      break;
5144  
5145 <  case 363:
5146 < /* Line 1787 of yacc.c  */
5333 < #line 1945 "conf_parser.y"
5145 >  case 387:
5146 > #line 2056 "conf_parser.y" /* yacc.c:1646  */
5147      {
5148    if (conf_parser_ctx.pass == 2)
5149      block_state.flags.value = SHARED_ALL;
5150   }
5151 + #line 5152 "conf_parser.c" /* yacc.c:1646  */
5152      break;
5153  
5154 <  case 364:
5155 < /* Line 1787 of yacc.c  */
5342 < #line 1954 "conf_parser.y"
5154 >  case 388:
5155 > #line 2065 "conf_parser.y" /* yacc.c:1646  */
5156      {
5157  
5158    if (conf_parser_ctx.pass != 2)
5159      break;
5160  
5161    reset_block_state();
5162 +  block_state.aftype.value = AF_INET;
5163    block_state.port.value = PORTNUM;
5164   }
5165 + #line 5166 "conf_parser.c" /* yacc.c:1646  */
5166      break;
5167  
5168 <  case 365:
5169 < /* Line 1787 of yacc.c  */
5355 < #line 1962 "conf_parser.y"
5168 >  case 389:
5169 > #line 2074 "conf_parser.y" /* yacc.c:1646  */
5170      {
5171    struct MaskItem *conf = NULL;
5172    struct addrinfo hints, *res;
# Line 5364 | Line 5178 | yyreduce:
5178        !block_state.host.buf[0])
5179      break;
5180  
5181 <  if (!(block_state.rpass.buf[0] ||
5182 <        block_state.spass.buf[0]))
5181 >  if (!block_state.rpass.buf[0] ||
5182 >      !block_state.spass.buf[0])
5183      break;
5184  
5185    if (has_wildcards(block_state.name.buf) ||
# Line 5380 | Line 5194 | yyreduce:
5194    conf->name = xstrdup(block_state.name.buf);
5195    conf->passwd = xstrdup(block_state.rpass.buf);
5196    conf->spasswd = xstrdup(block_state.spass.buf);
5197 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5197 >
5198 >  if (block_state.cert.buf[0])
5199 >    conf->certfp = xstrdup(block_state.cert.buf);
5200 >
5201 >  if (block_state.ciph.buf[0])
5202 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5203  
5204    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5205    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5397 | Line 5216 | yyreduce:
5216        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5217      else
5218      {
5219 <      assert(res != NULL);
5219 >      assert(res);
5220  
5221        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5222        conf->bind.ss.ss_family = res->ai_family;
# Line 5409 | Line 5228 | yyreduce:
5228    conf_add_class_to_conf(conf, block_state.class.buf);
5229    lookup_confhost(conf);
5230   }
5231 + #line 5232 "conf_parser.c" /* yacc.c:1646  */
5232      break;
5233  
5234 <  case 382:
5235 < /* Line 1787 of yacc.c  */
5416 < #line 2028 "conf_parser.y"
5234 >  case 407:
5235 > #line 2154 "conf_parser.y" /* yacc.c:1646  */
5236      {
5237    if (conf_parser_ctx.pass == 2)
5238      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5239   }
5240 + #line 5241 "conf_parser.c" /* yacc.c:1646  */
5241      break;
5242  
5243 <  case 383:
5244 < /* Line 1787 of yacc.c  */
5425 < #line 2034 "conf_parser.y"
5243 >  case 408:
5244 > #line 2160 "conf_parser.y" /* yacc.c:1646  */
5245      {
5246    if (conf_parser_ctx.pass == 2)
5247      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5248   }
5249 + #line 5250 "conf_parser.c" /* yacc.c:1646  */
5250      break;
5251  
5252 <  case 384:
5253 < /* Line 1787 of yacc.c  */
5434 < #line 2040 "conf_parser.y"
5252 >  case 409:
5253 > #line 2166 "conf_parser.y" /* yacc.c:1646  */
5254      {
5255    if (conf_parser_ctx.pass == 2)
5256      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5257   }
5258 + #line 5259 "conf_parser.c" /* yacc.c:1646  */
5259      break;
5260  
5261 <  case 385:
5262 < /* Line 1787 of yacc.c  */
5443 < #line 2046 "conf_parser.y"
5261 >  case 410:
5262 > #line 2172 "conf_parser.y" /* yacc.c:1646  */
5263      {
5264    if (conf_parser_ctx.pass != 2)
5265      break;
5266  
5267 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5267 >  if ((yyvsp[-1].string)[0] == ':')
5268      conf_error_report("Server passwords cannot begin with a colon");
5269 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5269 >  else if (strchr((yyvsp[-1].string), ' '))
5270      conf_error_report("Server passwords cannot contain spaces");
5271    else
5272      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5273   }
5274 + #line 5275 "conf_parser.c" /* yacc.c:1646  */
5275      break;
5276  
5277 <  case 386:
5278 < /* Line 1787 of yacc.c  */
5459 < #line 2059 "conf_parser.y"
5277 >  case 411:
5278 > #line 2185 "conf_parser.y" /* yacc.c:1646  */
5279      {
5280    if (conf_parser_ctx.pass != 2)
5281      break;
5282  
5283 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5283 >  if ((yyvsp[-1].string)[0] == ':')
5284      conf_error_report("Server passwords cannot begin with a colon");
5285 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5285 >  else if (strchr((yyvsp[-1].string), ' '))
5286      conf_error_report("Server passwords cannot contain spaces");
5287    else
5288      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5289   }
5290 + #line 5291 "conf_parser.c" /* yacc.c:1646  */
5291      break;
5292  
5293 <  case 387:
5294 < /* Line 1787 of yacc.c  */
5475 < #line 2072 "conf_parser.y"
5293 >  case 412:
5294 > #line 2198 "conf_parser.y" /* yacc.c:1646  */
5295      {
5296    if (conf_parser_ctx.pass == 2)
5297 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5297 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5298   }
5299 + #line 5300 "conf_parser.c" /* yacc.c:1646  */
5300      break;
5301  
5302 <  case 388:
5303 < /* Line 1787 of yacc.c  */
5304 < #line 2078 "conf_parser.y"
5302 >  case 413:
5303 > #line 2204 "conf_parser.y" /* yacc.c:1646  */
5304 >    {
5305 >  if (conf_parser_ctx.pass == 2)
5306 >    block_state.port.value = (yyvsp[-1].number);
5307 > }
5308 > #line 5309 "conf_parser.c" /* yacc.c:1646  */
5309 >    break;
5310 >
5311 >  case 414:
5312 > #line 2210 "conf_parser.y" /* yacc.c:1646  */
5313      {
5314    if (conf_parser_ctx.pass == 2)
5315      block_state.aftype.value = AF_INET;
5316   }
5317 + #line 5318 "conf_parser.c" /* yacc.c:1646  */
5318      break;
5319  
5320 <  case 389:
5321 < /* Line 1787 of yacc.c  */
5493 < #line 2082 "conf_parser.y"
5320 >  case 415:
5321 > #line 2214 "conf_parser.y" /* yacc.c:1646  */
5322      {
5323   #ifdef IPV6
5324    if (conf_parser_ctx.pass == 2)
5325      block_state.aftype.value = AF_INET6;
5326   #endif
5327   }
5328 + #line 5329 "conf_parser.c" /* yacc.c:1646  */
5329      break;
5330  
5331 <  case 390:
5332 < /* Line 1787 of yacc.c  */
5504 < #line 2090 "conf_parser.y"
5331 >  case 416:
5332 > #line 2222 "conf_parser.y" /* yacc.c:1646  */
5333      {
5334    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5335   }
5336 + #line 5337 "conf_parser.c" /* yacc.c:1646  */
5337      break;
5338  
5339 <  case 394:
5340 < /* Line 1787 of yacc.c  */
5512 < #line 2096 "conf_parser.y"
5339 >  case 420:
5340 > #line 2228 "conf_parser.y" /* yacc.c:1646  */
5341      {
5342    if (conf_parser_ctx.pass == 2)
5343      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5344   }
5345 + #line 5346 "conf_parser.c" /* yacc.c:1646  */
5346      break;
5347  
5348 <  case 395:
5349 < /* Line 1787 of yacc.c  */
5521 < #line 2100 "conf_parser.y"
5348 >  case 421:
5349 > #line 2232 "conf_parser.y" /* yacc.c:1646  */
5350      {
5351    if (conf_parser_ctx.pass == 2)
5352      block_state.flags.value |= CONF_FLAGS_SSL;
5353   }
5354 + #line 5355 "conf_parser.c" /* yacc.c:1646  */
5355      break;
5356  
5357 <  case 396:
5358 < /* Line 1787 of yacc.c  */
5530 < #line 2106 "conf_parser.y"
5357 >  case 422:
5358 > #line 2238 "conf_parser.y" /* yacc.c:1646  */
5359      {
5360    if (conf_parser_ctx.pass == 2)
5361    {
# Line 5537 | Line 5365 | yyreduce:
5365        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5366    }
5367   }
5368 + #line 5369 "conf_parser.c" /* yacc.c:1646  */
5369      break;
5370  
5371 <  case 397:
5372 < /* Line 1787 of yacc.c  */
5544 < #line 2117 "conf_parser.y"
5371 >  case 423:
5372 > #line 2249 "conf_parser.y" /* yacc.c:1646  */
5373      {
5374    if (conf_parser_ctx.pass == 2)
5375      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5376   }
5377 + #line 5378 "conf_parser.c" /* yacc.c:1646  */
5378      break;
5379  
5380 <  case 398:
5381 < /* Line 1787 of yacc.c  */
5553 < #line 2123 "conf_parser.y"
5380 >  case 424:
5381 > #line 2255 "conf_parser.y" /* yacc.c:1646  */
5382      {
5383    if (conf_parser_ctx.pass == 2)
5384      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5385   }
5386 + #line 5387 "conf_parser.c" /* yacc.c:1646  */
5387      break;
5388  
5389 <  case 399:
5390 < /* Line 1787 of yacc.c  */
5562 < #line 2129 "conf_parser.y"
5389 >  case 425:
5390 > #line 2261 "conf_parser.y" /* yacc.c:1646  */
5391      {
5392    if (conf_parser_ctx.pass == 2)
5393      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5394   }
5395 + #line 5396 "conf_parser.c" /* yacc.c:1646  */
5396      break;
5397  
5398 <  case 400:
5399 < /* Line 1787 of yacc.c  */
5571 < #line 2135 "conf_parser.y"
5398 >  case 426:
5399 > #line 2267 "conf_parser.y" /* yacc.c:1646  */
5400      {
5401   #ifdef HAVE_LIBCRYPTO
5402    if (conf_parser_ctx.pass == 2)
# Line 5578 | Line 5406 | yyreduce:
5406      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5407   #endif
5408   }
5409 + #line 5410 "conf_parser.c" /* yacc.c:1646  */
5410      break;
5411  
5412 <  case 401:
5413 < /* Line 1787 of yacc.c  */
5585 < #line 2150 "conf_parser.y"
5412 >  case 427:
5413 > #line 2282 "conf_parser.y" /* yacc.c:1646  */
5414      {
5415    if (conf_parser_ctx.pass == 2)
5416      reset_block_state();
5417   }
5418 + #line 5419 "conf_parser.c" /* yacc.c:1646  */
5419      break;
5420  
5421 <  case 402:
5422 < /* Line 1787 of yacc.c  */
5594 < #line 2154 "conf_parser.y"
5421 >  case 428:
5422 > #line 2286 "conf_parser.y" /* yacc.c:1646  */
5423      {
5424    struct MaskItem *conf = NULL;
5425  
# Line 5602 | Line 5430 | yyreduce:
5430        !block_state.host.buf[0])
5431      break;
5432  
5433 +  conf = conf_make(CONF_KLINE);
5434 +  conf->user = xstrdup(block_state.user.buf);
5435 +  conf->host = xstrdup(block_state.host.buf);
5436  
5437 <  if (block_state.port.value == 1)
5438 <  {
5608 < #ifdef HAVE_LIBPCRE
5609 <    void *exp_user = NULL;
5610 <    void *exp_host = NULL;
5611 <    const char *errptr = NULL;
5612 <
5613 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5614 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5615 <    {
5616 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5617 <           errptr);
5618 <      break;
5619 <    }
5620 <
5621 <    conf = conf_make(CONF_RKLINE);
5622 <    conf->regexuser = exp_user;
5623 <    conf->regexhost = exp_host;
5624 <
5625 <    conf->user = xstrdup(block_state.user.buf);
5626 <    conf->host = xstrdup(block_state.host.buf);
5627 <
5628 <    if (block_state.rpass.buf[0])
5629 <      conf->reason = xstrdup(block_state.rpass.buf);
5630 <    else
5631 <      conf->reason = xstrdup(CONF_NOREASON);
5632 < #else
5633 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5634 <    break;
5635 < #endif
5636 <  }
5437 >  if (block_state.rpass.buf[0])
5438 >    conf->reason = xstrdup(block_state.rpass.buf);
5439    else
5440 <  {
5441 <    conf = conf_make(CONF_KLINE);
5640 <
5641 <    conf->user = xstrdup(block_state.user.buf);
5642 <    conf->host = xstrdup(block_state.host.buf);
5643 <
5644 <    if (block_state.rpass.buf[0])
5645 <      conf->reason = xstrdup(block_state.rpass.buf);
5646 <    else
5647 <      conf->reason = xstrdup(CONF_NOREASON);
5648 <    add_conf_by_address(CONF_KLINE, conf);
5649 <  }
5650 < }
5651 <    break;
5652 <
5653 <  case 403:
5654 < /* Line 1787 of yacc.c  */
5655 < #line 2212 "conf_parser.y"
5656 <    {
5657 <  if (conf_parser_ctx.pass == 2)
5658 <    block_state.port.value = 0;
5659 < }
5660 <    break;
5661 <
5662 <  case 407:
5663 < /* Line 1787 of yacc.c  */
5664 < #line 2219 "conf_parser.y"
5665 <    {
5666 <  if (conf_parser_ctx.pass == 2)
5667 <    block_state.port.value = 1;
5440 >    conf->reason = xstrdup(CONF_NOREASON);
5441 >  add_conf_by_address(CONF_KLINE, conf);
5442   }
5443 + #line 5444 "conf_parser.c" /* yacc.c:1646  */
5444      break;
5445  
5446 <  case 414:
5447 < /* Line 1787 of yacc.c  */
5673 < #line 2228 "conf_parser.y"
5446 >  case 434:
5447 > #line 2311 "conf_parser.y" /* yacc.c:1646  */
5448      {
5449  
5450    if (conf_parser_ctx.pass == 2)
# Line 5689 | Line 5463 | yyreduce:
5463      split_nuh(&nuh);
5464    }
5465   }
5466 + #line 5467 "conf_parser.c" /* yacc.c:1646  */
5467      break;
5468  
5469 <  case 415:
5470 < /* Line 1787 of yacc.c  */
5696 < #line 2248 "conf_parser.y"
5469 >  case 435:
5470 > #line 2331 "conf_parser.y" /* yacc.c:1646  */
5471      {
5472    if (conf_parser_ctx.pass == 2)
5473      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5474   }
5475 + #line 5476 "conf_parser.c" /* yacc.c:1646  */
5476      break;
5477  
5478 <  case 416:
5479 < /* Line 1787 of yacc.c  */
5705 < #line 2257 "conf_parser.y"
5478 >  case 436:
5479 > #line 2340 "conf_parser.y" /* yacc.c:1646  */
5480      {
5481    if (conf_parser_ctx.pass == 2)
5482      reset_block_state();
5483   }
5484 + #line 5485 "conf_parser.c" /* yacc.c:1646  */
5485      break;
5486  
5487 <  case 417:
5488 < /* Line 1787 of yacc.c  */
5714 < #line 2261 "conf_parser.y"
5487 >  case 437:
5488 > #line 2344 "conf_parser.y" /* yacc.c:1646  */
5489      {
5490    struct MaskItem *conf = NULL;
5491  
# Line 5733 | Line 5507 | yyreduce:
5507      add_conf_by_address(CONF_DLINE, conf);
5508    }
5509   }
5510 + #line 5511 "conf_parser.c" /* yacc.c:1646  */
5511      break;
5512  
5513 <  case 423:
5514 < /* Line 1787 of yacc.c  */
5740 < #line 2287 "conf_parser.y"
5513 >  case 443:
5514 > #line 2370 "conf_parser.y" /* yacc.c:1646  */
5515      {
5516    if (conf_parser_ctx.pass == 2)
5517      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5518   }
5519 + #line 5520 "conf_parser.c" /* yacc.c:1646  */
5520      break;
5521  
5522 <  case 424:
5523 < /* Line 1787 of yacc.c  */
5749 < #line 2293 "conf_parser.y"
5522 >  case 444:
5523 > #line 2376 "conf_parser.y" /* yacc.c:1646  */
5524      {
5525    if (conf_parser_ctx.pass == 2)
5526      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5527   }
5528 + #line 5529 "conf_parser.c" /* yacc.c:1646  */
5529      break;
5530  
5531 <  case 430:
5532 < /* Line 1787 of yacc.c  */
5758 < #line 2307 "conf_parser.y"
5531 >  case 450:
5532 > #line 2390 "conf_parser.y" /* yacc.c:1646  */
5533      {
5534    if (conf_parser_ctx.pass == 2)
5535    {
# Line 5768 | Line 5542 | yyreduce:
5542      }
5543    }
5544   }
5545 + #line 5546 "conf_parser.c" /* yacc.c:1646  */
5546      break;
5547  
5548 <  case 431:
5549 < /* Line 1787 of yacc.c  */
5775 < #line 2324 "conf_parser.y"
5548 >  case 451:
5549 > #line 2407 "conf_parser.y" /* yacc.c:1646  */
5550      {
5551    if (conf_parser_ctx.pass == 2)
5552      reset_block_state();
5553   }
5554 + #line 5555 "conf_parser.c" /* yacc.c:1646  */
5555      break;
5556  
5557 <  case 432:
5558 < /* Line 1787 of yacc.c  */
5784 < #line 2328 "conf_parser.y"
5557 >  case 452:
5558 > #line 2411 "conf_parser.y" /* yacc.c:1646  */
5559      {
5560    struct MaskItem *conf = NULL;
5561  
# Line 5791 | Line 5565 | yyreduce:
5565    if (!block_state.name.buf[0])
5566      break;
5567  
5568 <  if (block_state.port.value == 1)
5795 <  {
5796 < #ifdef HAVE_LIBPCRE
5797 <    void *exp_p = NULL;
5798 <    const char *errptr = NULL;
5799 <
5800 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5801 <    {
5802 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5803 <           errptr);
5804 <      break;
5805 <    }
5806 <
5807 <    conf = conf_make(CONF_RXLINE);
5808 <    conf->regexuser = exp_p;
5809 < #else
5810 <    conf_error_report("Failed to add regular expression based X-Line: no PCRE support");
5811 <    break;
5812 < #endif
5813 <  }
5814 <  else
5815 <    conf = conf_make(CONF_XLINE);
5816 <
5568 >  conf = conf_make(CONF_XLINE);
5569    conf->name = xstrdup(block_state.name.buf);
5570  
5571    if (block_state.rpass.buf[0])
# Line 5821 | Line 5573 | yyreduce:
5573    else
5574      conf->reason = xstrdup(CONF_NOREASON);
5575   }
5576 + #line 5577 "conf_parser.c" /* yacc.c:1646  */
5577      break;
5578  
5579 <  case 433:
5580 < /* Line 1787 of yacc.c  */
5828 < #line 2369 "conf_parser.y"
5579 >  case 458:
5580 > #line 2433 "conf_parser.y" /* yacc.c:1646  */
5581      {
5582    if (conf_parser_ctx.pass == 2)
5583 <    block_state.port.value = 0;
5583 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5584   }
5585 + #line 5586 "conf_parser.c" /* yacc.c:1646  */
5586      break;
5587  
5588 <  case 437:
5589 < /* Line 1787 of yacc.c  */
5837 < #line 2376 "conf_parser.y"
5588 >  case 459:
5589 > #line 2439 "conf_parser.y" /* yacc.c:1646  */
5590      {
5591    if (conf_parser_ctx.pass == 2)
5592 <    block_state.port.value = 1;
5592 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5593   }
5594 + #line 5595 "conf_parser.c" /* yacc.c:1646  */
5595      break;
5596  
5597 <  case 444:
5598 < /* Line 1787 of yacc.c  */
5846 < #line 2385 "conf_parser.y"
5597 >  case 513:
5598 > #line 2504 "conf_parser.y" /* yacc.c:1646  */
5599      {
5600 <  if (conf_parser_ctx.pass == 2)
5849 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5600 >  ConfigFileEntry.max_watch = (yyvsp[-1].number);
5601   }
5602 + #line 5603 "conf_parser.c" /* yacc.c:1646  */
5603      break;
5604  
5605 <  case 445:
5606 < /* Line 1787 of yacc.c  */
5855 < #line 2391 "conf_parser.y"
5605 >  case 514:
5606 > #line 2509 "conf_parser.y" /* yacc.c:1646  */
5607      {
5608    if (conf_parser_ctx.pass == 2)
5609 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5609 >    ConfigFileEntry.cycle_on_host_change = yylval.number;
5610   }
5611 + #line 5612 "conf_parser.c" /* yacc.c:1646  */
5612      break;
5613  
5614 <  case 498:
5615 < /* Line 1787 of yacc.c  */
5864 < #line 2435 "conf_parser.y"
5865 <    {
5866 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5867 < }
5868 <    break;
5869 <
5870 <  case 499:
5871 < /* Line 1787 of yacc.c  */
5872 < #line 2440 "conf_parser.y"
5614 >  case 515:
5615 > #line 2515 "conf_parser.y" /* yacc.c:1646  */
5616      {
5617    if (conf_parser_ctx.pass == 2)
5618      ConfigFileEntry.glines = yylval.number;
5619   }
5620 + #line 5621 "conf_parser.c" /* yacc.c:1646  */
5621      break;
5622  
5623 <  case 500:
5624 < /* Line 1787 of yacc.c  */
5881 < #line 2446 "conf_parser.y"
5623 >  case 516:
5624 > #line 2521 "conf_parser.y" /* yacc.c:1646  */
5625      {
5626    if (conf_parser_ctx.pass == 2)
5627 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5627 >    ConfigFileEntry.gline_time = (yyvsp[-1].number);
5628   }
5629 + #line 5630 "conf_parser.c" /* yacc.c:1646  */
5630      break;
5631  
5632 <  case 501:
5633 < /* Line 1787 of yacc.c  */
5890 < #line 2452 "conf_parser.y"
5632 >  case 517:
5633 > #line 2527 "conf_parser.y" /* yacc.c:1646  */
5634      {
5635    if (conf_parser_ctx.pass == 2)
5636 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5636 >    ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5637   }
5638 + #line 5639 "conf_parser.c" /* yacc.c:1646  */
5639      break;
5640  
5641 <  case 502:
5642 < /* Line 1787 of yacc.c  */
5899 < #line 2458 "conf_parser.y"
5641 >  case 518:
5642 > #line 2533 "conf_parser.y" /* yacc.c:1646  */
5643      {
5644 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5644 >  ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5645   }
5646 + #line 5647 "conf_parser.c" /* yacc.c:1646  */
5647      break;
5648  
5649 <  case 503:
5650 < /* Line 1787 of yacc.c  */
5907 < #line 2463 "conf_parser.y"
5649 >  case 519:
5650 > #line 2538 "conf_parser.y" /* yacc.c:1646  */
5651      {
5652 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5652 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5653   }
5654 + #line 5655 "conf_parser.c" /* yacc.c:1646  */
5655      break;
5656  
5657 <  case 504:
5658 < /* Line 1787 of yacc.c  */
5915 < #line 2468 "conf_parser.y"
5657 >  case 520:
5658 > #line 2543 "conf_parser.y" /* yacc.c:1646  */
5659      {
5660    ConfigFileEntry.tkline_expire_notices = yylval.number;
5661   }
5662 + #line 5663 "conf_parser.c" /* yacc.c:1646  */
5663      break;
5664  
5665 <  case 505:
5666 < /* Line 1787 of yacc.c  */
5923 < #line 2473 "conf_parser.y"
5665 >  case 521:
5666 > #line 2548 "conf_parser.y" /* yacc.c:1646  */
5667      {
5668 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5668 >  ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5669   }
5670 + #line 5671 "conf_parser.c" /* yacc.c:1646  */
5671      break;
5672  
5673 <  case 506:
5674 < /* Line 1787 of yacc.c  */
5931 < #line 2478 "conf_parser.y"
5673 >  case 522:
5674 > #line 2553 "conf_parser.y" /* yacc.c:1646  */
5675      {
5676    ConfigFileEntry.hide_spoof_ips = yylval.number;
5677   }
5678 + #line 5679 "conf_parser.c" /* yacc.c:1646  */
5679      break;
5680  
5681 <  case 507:
5682 < /* Line 1787 of yacc.c  */
5939 < #line 2483 "conf_parser.y"
5681 >  case 523:
5682 > #line 2558 "conf_parser.y" /* yacc.c:1646  */
5683      {
5684    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5685   }
5686 + #line 5687 "conf_parser.c" /* yacc.c:1646  */
5687      break;
5688  
5689 <  case 508:
5690 < /* Line 1787 of yacc.c  */
5947 < #line 2488 "conf_parser.y"
5948 <    {
5949 <  ConfigFileEntry.disable_remote = yylval.number;
5950 < }
5951 <    break;
5952 <
5953 <  case 509:
5954 < /* Line 1787 of yacc.c  */
5955 < #line 2493 "conf_parser.y"
5689 >  case 524:
5690 > #line 2563 "conf_parser.y" /* yacc.c:1646  */
5691      {
5692    ConfigFileEntry.failed_oper_notice = yylval.number;
5693   }
5694 + #line 5695 "conf_parser.c" /* yacc.c:1646  */
5695      break;
5696  
5697 <  case 510:
5698 < /* Line 1787 of yacc.c  */
5963 < #line 2498 "conf_parser.y"
5697 >  case 525:
5698 > #line 2568 "conf_parser.y" /* yacc.c:1646  */
5699      {
5700    ConfigFileEntry.anti_nick_flood = yylval.number;
5701   }
5702 + #line 5703 "conf_parser.c" /* yacc.c:1646  */
5703      break;
5704  
5705 <  case 511:
5706 < /* Line 1787 of yacc.c  */
5971 < #line 2503 "conf_parser.y"
5705 >  case 526:
5706 > #line 2573 "conf_parser.y" /* yacc.c:1646  */
5707      {
5708 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5708 >  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5709   }
5710 + #line 5711 "conf_parser.c" /* yacc.c:1646  */
5711      break;
5712  
5713 <  case 512:
5714 < /* Line 1787 of yacc.c  */
5979 < #line 2508 "conf_parser.y"
5713 >  case 527:
5714 > #line 2578 "conf_parser.y" /* yacc.c:1646  */
5715      {
5716 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5716 >  ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5717   }
5718 + #line 5719 "conf_parser.c" /* yacc.c:1646  */
5719      break;
5720  
5721 <  case 513:
5722 < /* Line 1787 of yacc.c  */
5987 < #line 2513 "conf_parser.y"
5721 >  case 528:
5722 > #line 2583 "conf_parser.y" /* yacc.c:1646  */
5723      {
5724 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5724 >  ConfigFileEntry.max_accept = (yyvsp[-1].number);
5725   }
5726 + #line 5727 "conf_parser.c" /* yacc.c:1646  */
5727      break;
5728  
5729 <  case 514:
5730 < /* Line 1787 of yacc.c  */
5995 < #line 2518 "conf_parser.y"
5729 >  case 529:
5730 > #line 2588 "conf_parser.y" /* yacc.c:1646  */
5731      {
5732 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5732 >  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5733   }
5734 + #line 5735 "conf_parser.c" /* yacc.c:1646  */
5735      break;
5736  
5737 <  case 515:
5738 < /* Line 1787 of yacc.c  */
6003 < #line 2523 "conf_parser.y"
5737 >  case 530:
5738 > #line 2593 "conf_parser.y" /* yacc.c:1646  */
5739      {
5740 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5740 >  ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5741   }
5742 + #line 5743 "conf_parser.c" /* yacc.c:1646  */
5743      break;
5744  
5745 <  case 516:
5746 < /* Line 1787 of yacc.c  */
6011 < #line 2528 "conf_parser.y"
5745 >  case 531:
5746 > #line 2598 "conf_parser.y" /* yacc.c:1646  */
5747      {
5748    if (conf_parser_ctx.pass == 2)
5749 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5749 >    ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5750   }
5751 + #line 5752 "conf_parser.c" /* yacc.c:1646  */
5752      break;
5753  
5754 <  case 517:
5755 < /* Line 1787 of yacc.c  */
6020 < #line 2534 "conf_parser.y"
5754 >  case 532:
5755 > #line 2604 "conf_parser.y" /* yacc.c:1646  */
5756      {
5757 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5757 >  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5758    {
5759      ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5760      ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
# Line 6027 | Line 5762 | yyreduce:
5762      exit(0);
5763    }
5764   }
5765 + #line 5766 "conf_parser.c" /* yacc.c:1646  */
5766      break;
5767  
5768 <  case 518:
5769 < /* Line 1787 of yacc.c  */
6034 < #line 2545 "conf_parser.y"
5768 >  case 533:
5769 > #line 2615 "conf_parser.y" /* yacc.c:1646  */
5770      {
5771    ConfigFileEntry.invisible_on_connect = yylval.number;
5772   }
5773 + #line 5774 "conf_parser.c" /* yacc.c:1646  */
5774      break;
5775  
5776 <  case 519:
5777 < /* Line 1787 of yacc.c  */
6042 < #line 2550 "conf_parser.y"
5776 >  case 534:
5777 > #line 2620 "conf_parser.y" /* yacc.c:1646  */
5778      {
5779 <  ConfigFileEntry.warn_no_nline = yylval.number;
5779 >  ConfigFileEntry.warn_no_connect_block = yylval.number;
5780   }
5781 + #line 5782 "conf_parser.c" /* yacc.c:1646  */
5782      break;
5783  
5784 <  case 520:
5785 < /* Line 1787 of yacc.c  */
6050 < #line 2555 "conf_parser.y"
5784 >  case 535:
5785 > #line 2625 "conf_parser.y" /* yacc.c:1646  */
5786      {
5787    ConfigFileEntry.stats_e_disabled = yylval.number;
5788   }
5789 + #line 5790 "conf_parser.c" /* yacc.c:1646  */
5790      break;
5791  
5792 <  case 521:
5793 < /* Line 1787 of yacc.c  */
6058 < #line 2560 "conf_parser.y"
5792 >  case 536:
5793 > #line 2630 "conf_parser.y" /* yacc.c:1646  */
5794      {
5795    ConfigFileEntry.stats_o_oper_only = yylval.number;
5796   }
5797 + #line 5798 "conf_parser.c" /* yacc.c:1646  */
5798      break;
5799  
5800 <  case 522:
5801 < /* Line 1787 of yacc.c  */
6066 < #line 2565 "conf_parser.y"
5800 >  case 537:
5801 > #line 2635 "conf_parser.y" /* yacc.c:1646  */
5802      {
5803    ConfigFileEntry.stats_P_oper_only = yylval.number;
5804   }
5805 + #line 5806 "conf_parser.c" /* yacc.c:1646  */
5806      break;
5807  
5808 <  case 523:
5809 < /* Line 1787 of yacc.c  */
5810 < #line 2570 "conf_parser.y"
5808 >  case 538:
5809 > #line 2640 "conf_parser.y" /* yacc.c:1646  */
5810 >    {
5811 >  ConfigFileEntry.stats_u_oper_only = yylval.number;
5812 > }
5813 > #line 5814 "conf_parser.c" /* yacc.c:1646  */
5814 >    break;
5815 >
5816 >  case 539:
5817 > #line 2645 "conf_parser.y" /* yacc.c:1646  */
5818      {
5819    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5820   }
5821 + #line 5822 "conf_parser.c" /* yacc.c:1646  */
5822      break;
5823  
5824 <  case 524:
5825 < /* Line 1787 of yacc.c  */
6082 < #line 2573 "conf_parser.y"
5824 >  case 540:
5825 > #line 2648 "conf_parser.y" /* yacc.c:1646  */
5826      {
5827    ConfigFileEntry.stats_k_oper_only = 1;
5828   }
5829 + #line 5830 "conf_parser.c" /* yacc.c:1646  */
5830      break;
5831  
5832 <  case 525:
5833 < /* Line 1787 of yacc.c  */
6090 < #line 2578 "conf_parser.y"
5832 >  case 541:
5833 > #line 2653 "conf_parser.y" /* yacc.c:1646  */
5834      {
5835    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5836   }
5837 + #line 5838 "conf_parser.c" /* yacc.c:1646  */
5838      break;
5839  
5840 <  case 526:
5841 < /* Line 1787 of yacc.c  */
6098 < #line 2581 "conf_parser.y"
5840 >  case 542:
5841 > #line 2656 "conf_parser.y" /* yacc.c:1646  */
5842      {
5843    ConfigFileEntry.stats_i_oper_only = 1;
5844   }
5845 + #line 5846 "conf_parser.c" /* yacc.c:1646  */
5846      break;
5847  
5848 <  case 527:
5849 < /* Line 1787 of yacc.c  */
6106 < #line 2586 "conf_parser.y"
5848 >  case 543:
5849 > #line 2661 "conf_parser.y" /* yacc.c:1646  */
5850      {
5851 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5851 >  ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5852   }
5853 + #line 5854 "conf_parser.c" /* yacc.c:1646  */
5854      break;
5855  
5856 <  case 528:
5857 < /* Line 1787 of yacc.c  */
6114 < #line 2591 "conf_parser.y"
5856 >  case 544:
5857 > #line 2666 "conf_parser.y" /* yacc.c:1646  */
5858      {
5859 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5859 >  ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5860   }
5861 + #line 5862 "conf_parser.c" /* yacc.c:1646  */
5862      break;
5863  
5864 <  case 529:
5865 < /* Line 1787 of yacc.c  */
6122 < #line 2596 "conf_parser.y"
5864 >  case 545:
5865 > #line 2671 "conf_parser.y" /* yacc.c:1646  */
5866      {
5867    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5868   }
5869 + #line 5870 "conf_parser.c" /* yacc.c:1646  */
5870      break;
5871  
5872 <  case 530:
5873 < /* Line 1787 of yacc.c  */
6130 < #line 2601 "conf_parser.y"
5872 >  case 546:
5873 > #line 2676 "conf_parser.y" /* yacc.c:1646  */
5874      {
5875 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5875 >  ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5876   }
5877 + #line 5878 "conf_parser.c" /* yacc.c:1646  */
5878      break;
5879  
5880 <  case 531:
5881 < /* Line 1787 of yacc.c  */
6138 < #line 2606 "conf_parser.y"
5880 >  case 547:
5881 > #line 2681 "conf_parser.y" /* yacc.c:1646  */
5882      {
5883    ConfigFileEntry.short_motd = yylval.number;
5884   }
5885 + #line 5886 "conf_parser.c" /* yacc.c:1646  */
5886      break;
5887  
5888 <  case 532:
5889 < /* Line 1787 of yacc.c  */
6146 < #line 2611 "conf_parser.y"
5888 >  case 548:
5889 > #line 2686 "conf_parser.y" /* yacc.c:1646  */
5890      {
5891    ConfigFileEntry.no_oper_flood = yylval.number;
5892   }
5893 + #line 5894 "conf_parser.c" /* yacc.c:1646  */
5894      break;
5895  
5896 <  case 533:
5897 < /* Line 1787 of yacc.c  */
6154 < #line 2616 "conf_parser.y"
5896 >  case 549:
5897 > #line 2691 "conf_parser.y" /* yacc.c:1646  */
5898      {
5899    ConfigFileEntry.true_no_oper_flood = yylval.number;
5900   }
5901 + #line 5902 "conf_parser.c" /* yacc.c:1646  */
5902      break;
5903  
5904 <  case 534:
5905 < /* Line 1787 of yacc.c  */
6162 < #line 2621 "conf_parser.y"
5904 >  case 550:
5905 > #line 2696 "conf_parser.y" /* yacc.c:1646  */
5906      {
5907    ConfigFileEntry.oper_pass_resv = yylval.number;
5908   }
5909 + #line 5910 "conf_parser.c" /* yacc.c:1646  */
5910      break;
5911  
5912 <  case 535:
5913 < /* Line 1787 of yacc.c  */
6170 < #line 2626 "conf_parser.y"
5912 >  case 551:
5913 > #line 2701 "conf_parser.y" /* yacc.c:1646  */
5914      {
5915 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5915 >  ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5916   }
5917 + #line 5918 "conf_parser.c" /* yacc.c:1646  */
5918      break;
5919  
5920 <  case 536:
5921 < /* Line 1787 of yacc.c  */
6178 < #line 2631 "conf_parser.y"
5920 >  case 552:
5921 > #line 2706 "conf_parser.y" /* yacc.c:1646  */
5922      {
5923 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5923 >  ConfigFileEntry.max_targets = (yyvsp[-1].number);
5924   }
5925 + #line 5926 "conf_parser.c" /* yacc.c:1646  */
5926      break;
5927  
5928 <  case 537:
5929 < /* Line 1787 of yacc.c  */
6186 < #line 2636 "conf_parser.y"
5928 >  case 553:
5929 > #line 2711 "conf_parser.y" /* yacc.c:1646  */
5930      {
5931    ConfigFileEntry.use_egd = yylval.number;
5932   }
5933 + #line 5934 "conf_parser.c" /* yacc.c:1646  */
5934      break;
5935  
5936 <  case 538:
5937 < /* Line 1787 of yacc.c  */
6194 < #line 2641 "conf_parser.y"
5936 >  case 554:
5937 > #line 2716 "conf_parser.y" /* yacc.c:1646  */
5938      {
5939    if (conf_parser_ctx.pass == 2)
5940    {
# Line 6199 | Line 5942 | yyreduce:
5942      ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
5943    }
5944   }
5945 + #line 5946 "conf_parser.c" /* yacc.c:1646  */
5946      break;
5947  
5948 <  case 539:
5949 < /* Line 1787 of yacc.c  */
6206 < #line 2650 "conf_parser.y"
5948 >  case 555:
5949 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
5950      {
5951    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
5952    {
# Line 6211 | Line 5954 | yyreduce:
5954      ConfigFileEntry.service_name = xstrdup(yylval.string);
5955    }
5956   }
5957 + #line 5958 "conf_parser.c" /* yacc.c:1646  */
5958      break;
5959  
5960 <  case 540:
5961 < /* Line 1787 of yacc.c  */
6218 < #line 2659 "conf_parser.y"
5960 >  case 556:
5961 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
5962      {
5963    ConfigFileEntry.ping_cookie = yylval.number;
5964   }
5965 + #line 5966 "conf_parser.c" /* yacc.c:1646  */
5966      break;
5967  
5968 <  case 541:
5969 < /* Line 1787 of yacc.c  */
6226 < #line 2664 "conf_parser.y"
5968 >  case 557:
5969 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
5970      {
5971    ConfigFileEntry.disable_auth = yylval.number;
5972   }
5973 + #line 5974 "conf_parser.c" /* yacc.c:1646  */
5974      break;
5975  
5976 <  case 542:
5977 < /* Line 1787 of yacc.c  */
6234 < #line 2669 "conf_parser.y"
5976 >  case 558:
5977 > #line 2744 "conf_parser.y" /* yacc.c:1646  */
5978      {
5979 <  ConfigFileEntry.throttle_time = yylval.number;
5979 >  ConfigFileEntry.throttle_time = (yyvsp[-1].number);
5980   }
5981 + #line 5982 "conf_parser.c" /* yacc.c:1646  */
5982      break;
5983  
5984 <  case 543:
5985 < /* Line 1787 of yacc.c  */
6242 < #line 2674 "conf_parser.y"
5984 >  case 559:
5985 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
5986      {
5987    ConfigFileEntry.oper_umodes = 0;
5988   }
5989 + #line 5990 "conf_parser.c" /* yacc.c:1646  */
5990      break;
5991  
5992 <  case 547:
5993 < /* Line 1787 of yacc.c  */
6250 < #line 2680 "conf_parser.y"
5992 >  case 563:
5993 > #line 2755 "conf_parser.y" /* yacc.c:1646  */
5994      {
5995    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5996   }
5997 + #line 5998 "conf_parser.c" /* yacc.c:1646  */
5998      break;
5999  
6000 <  case 548:
6001 < /* Line 1787 of yacc.c  */
6258 < #line 2683 "conf_parser.y"
6000 >  case 564:
6001 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
6002      {
6003    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6004   }
6005 + #line 6006 "conf_parser.c" /* yacc.c:1646  */
6006      break;
6007  
6008 <  case 549:
6009 < /* Line 1787 of yacc.c  */
6266 < #line 2686 "conf_parser.y"
6267 <    {
6268 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6269 < }
6270 <    break;
6271 <
6272 <  case 550:
6273 < /* Line 1787 of yacc.c  */
6274 < #line 2689 "conf_parser.y"
6008 >  case 565:
6009 > #line 2761 "conf_parser.y" /* yacc.c:1646  */
6010      {
6011    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6012   }
6013 + #line 6014 "conf_parser.c" /* yacc.c:1646  */
6014      break;
6015  
6016 <  case 551:
6017 < /* Line 1787 of yacc.c  */
6282 < #line 2692 "conf_parser.y"
6016 >  case 566:
6017 > #line 2764 "conf_parser.y" /* yacc.c:1646  */
6018      {
6019    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6020   }
6021 + #line 6022 "conf_parser.c" /* yacc.c:1646  */
6022      break;
6023  
6024 <  case 552:
6025 < /* Line 1787 of yacc.c  */
6290 < #line 2695 "conf_parser.y"
6024 >  case 567:
6025 > #line 2767 "conf_parser.y" /* yacc.c:1646  */
6026      {
6027    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6028   }
6029 + #line 6030 "conf_parser.c" /* yacc.c:1646  */
6030      break;
6031  
6032 <  case 553:
6033 < /* Line 1787 of yacc.c  */
6298 < #line 2698 "conf_parser.y"
6032 >  case 568:
6033 > #line 2770 "conf_parser.y" /* yacc.c:1646  */
6034      {
6035    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6036   }
6037 + #line 6038 "conf_parser.c" /* yacc.c:1646  */
6038      break;
6039  
6040 <  case 554:
6041 < /* Line 1787 of yacc.c  */
6042 < #line 2701 "conf_parser.y"
6040 >  case 569:
6041 > #line 2773 "conf_parser.y" /* yacc.c:1646  */
6042 >    {
6043 >  ConfigFileEntry.oper_umodes |= UMODE_HIDECHANS;
6044 > }
6045 > #line 6046 "conf_parser.c" /* yacc.c:1646  */
6046 >    break;
6047 >
6048 >  case 570:
6049 > #line 2776 "conf_parser.y" /* yacc.c:1646  */
6050 >    {
6051 >  ConfigFileEntry.oper_umodes |= UMODE_HIDEIDLE;
6052 > }
6053 > #line 6054 "conf_parser.c" /* yacc.c:1646  */
6054 >    break;
6055 >
6056 >  case 571:
6057 > #line 2779 "conf_parser.y" /* yacc.c:1646  */
6058      {
6059    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6060   }
6061 + #line 6062 "conf_parser.c" /* yacc.c:1646  */
6062      break;
6063  
6064 <  case 555:
6065 < /* Line 1787 of yacc.c  */
6314 < #line 2704 "conf_parser.y"
6064 >  case 572:
6065 > #line 2782 "conf_parser.y" /* yacc.c:1646  */
6066      {
6067    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6068   }
6069 + #line 6070 "conf_parser.c" /* yacc.c:1646  */
6070      break;
6071  
6072 <  case 556:
6073 < /* Line 1787 of yacc.c  */
6322 < #line 2707 "conf_parser.y"
6072 >  case 573:
6073 > #line 2785 "conf_parser.y" /* yacc.c:1646  */
6074      {
6075    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6076   }
6077 + #line 6078 "conf_parser.c" /* yacc.c:1646  */
6078      break;
6079  
6080 <  case 557:
6081 < /* Line 1787 of yacc.c  */
6330 < #line 2710 "conf_parser.y"
6080 >  case 574:
6081 > #line 2788 "conf_parser.y" /* yacc.c:1646  */
6082      {
6083    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6084   }
6085 + #line 6086 "conf_parser.c" /* yacc.c:1646  */
6086      break;
6087  
6088 <  case 558:
6089 < /* Line 1787 of yacc.c  */
6338 < #line 2713 "conf_parser.y"
6088 >  case 575:
6089 > #line 2791 "conf_parser.y" /* yacc.c:1646  */
6090      {
6091    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6092   }
6093 + #line 6094 "conf_parser.c" /* yacc.c:1646  */
6094      break;
6095  
6096 <  case 559:
6097 < /* Line 1787 of yacc.c  */
6346 < #line 2716 "conf_parser.y"
6096 >  case 576:
6097 > #line 2794 "conf_parser.y" /* yacc.c:1646  */
6098      {
6099    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6100   }
6101 + #line 6102 "conf_parser.c" /* yacc.c:1646  */
6102      break;
6103  
6104 <  case 560:
6105 < /* Line 1787 of yacc.c  */
6354 < #line 2719 "conf_parser.y"
6104 >  case 577:
6105 > #line 2797 "conf_parser.y" /* yacc.c:1646  */
6106      {
6107    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6108   }
6109 + #line 6110 "conf_parser.c" /* yacc.c:1646  */
6110      break;
6111  
6112 <  case 561:
6113 < /* Line 1787 of yacc.c  */
6362 < #line 2722 "conf_parser.y"
6112 >  case 578:
6113 > #line 2800 "conf_parser.y" /* yacc.c:1646  */
6114      {
6115    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6116   }
6117 + #line 6118 "conf_parser.c" /* yacc.c:1646  */
6118      break;
6119  
6120 <  case 562:
6121 < /* Line 1787 of yacc.c  */
6370 < #line 2725 "conf_parser.y"
6120 >  case 579:
6121 > #line 2803 "conf_parser.y" /* yacc.c:1646  */
6122      {
6123    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6124   }
6125 + #line 6126 "conf_parser.c" /* yacc.c:1646  */
6126      break;
6127  
6128 <  case 563:
6129 < /* Line 1787 of yacc.c  */
6378 < #line 2728 "conf_parser.y"
6128 >  case 580:
6129 > #line 2806 "conf_parser.y" /* yacc.c:1646  */
6130      {
6131    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6132   }
6133 + #line 6134 "conf_parser.c" /* yacc.c:1646  */
6134      break;
6135  
6136 <  case 564:
6137 < /* Line 1787 of yacc.c  */
6386 < #line 2731 "conf_parser.y"
6136 >  case 581:
6137 > #line 2809 "conf_parser.y" /* yacc.c:1646  */
6138      {
6139    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6140   }
6141 + #line 6142 "conf_parser.c" /* yacc.c:1646  */
6142      break;
6143  
6144 <  case 565:
6145 < /* Line 1787 of yacc.c  */
6394 < #line 2734 "conf_parser.y"
6144 >  case 582:
6145 > #line 2812 "conf_parser.y" /* yacc.c:1646  */
6146      {
6147    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6148   }
6149 + #line 6150 "conf_parser.c" /* yacc.c:1646  */
6150      break;
6151  
6152 <  case 566:
6153 < /* Line 1787 of yacc.c  */
6402 < #line 2737 "conf_parser.y"
6152 >  case 583:
6153 > #line 2815 "conf_parser.y" /* yacc.c:1646  */
6154      {
6155    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6156   }
6157 + #line 6158 "conf_parser.c" /* yacc.c:1646  */
6158      break;
6159  
6160 <  case 567:
6161 < /* Line 1787 of yacc.c  */
6410 < #line 2742 "conf_parser.y"
6160 >  case 584:
6161 > #line 2818 "conf_parser.y" /* yacc.c:1646  */
6162      {
6163 <  ConfigFileEntry.oper_only_umodes = 0;
6163 >  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6164   }
6165 + #line 6166 "conf_parser.c" /* yacc.c:1646  */
6166      break;
6167  
6168 <  case 571:
6169 < /* Line 1787 of yacc.c  */
6418 < #line 2748 "conf_parser.y"
6168 >  case 585:
6169 > #line 2821 "conf_parser.y" /* yacc.c:1646  */
6170      {
6171 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6171 >  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6172   }
6173 + #line 6174 "conf_parser.c" /* yacc.c:1646  */
6174      break;
6175  
6176 <  case 572:
6177 < /* Line 1787 of yacc.c  */
6426 < #line 2751 "conf_parser.y"
6176 >  case 586:
6177 > #line 2826 "conf_parser.y" /* yacc.c:1646  */
6178      {
6179 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6179 >  ConfigFileEntry.oper_only_umodes = 0;
6180   }
6181 + #line 6182 "conf_parser.c" /* yacc.c:1646  */
6182      break;
6183  
6184 <  case 573:
6185 < /* Line 1787 of yacc.c  */
6434 < #line 2754 "conf_parser.y"
6184 >  case 590:
6185 > #line 2832 "conf_parser.y" /* yacc.c:1646  */
6186      {
6187 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6187 >  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6188   }
6189 + #line 6190 "conf_parser.c" /* yacc.c:1646  */
6190      break;
6191  
6192 <  case 574:
6193 < /* Line 1787 of yacc.c  */
6194 < #line 2757 "conf_parser.y"
6192 >  case 591:
6193 > #line 2835 "conf_parser.y" /* yacc.c:1646  */
6194 >    {
6195 >  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6196 > }
6197 > #line 6198 "conf_parser.c" /* yacc.c:1646  */
6198 >    break;
6199 >
6200 >  case 592:
6201 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6202      {
6203    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6204   }
6205 + #line 6206 "conf_parser.c" /* yacc.c:1646  */
6206      break;
6207  
6208 <  case 575:
6209 < /* Line 1787 of yacc.c  */
6450 < #line 2760 "conf_parser.y"
6208 >  case 593:
6209 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6210      {
6211    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6212   }
6213 + #line 6214 "conf_parser.c" /* yacc.c:1646  */
6214      break;
6215  
6216 <  case 576:
6217 < /* Line 1787 of yacc.c  */
6218 < #line 2763 "conf_parser.y"
6459 <    {
6216 >  case 594:
6217 > #line 2844 "conf_parser.y" /* yacc.c:1646  */
6218 >    {
6219    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6220   }
6221 + #line 6222 "conf_parser.c" /* yacc.c:1646  */
6222      break;
6223  
6224 <  case 577:
6225 < /* Line 1787 of yacc.c  */
6466 < #line 2766 "conf_parser.y"
6224 >  case 595:
6225 > #line 2847 "conf_parser.y" /* yacc.c:1646  */
6226      {
6227    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6228   }
6229 + #line 6230 "conf_parser.c" /* yacc.c:1646  */
6230      break;
6231  
6232 <  case 578:
6233 < /* Line 1787 of yacc.c  */
6474 < #line 2769 "conf_parser.y"
6232 >  case 596:
6233 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6234      {
6235    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6236   }
6237 + #line 6238 "conf_parser.c" /* yacc.c:1646  */
6238      break;
6239  
6240 <  case 579:
6241 < /* Line 1787 of yacc.c  */
6482 < #line 2772 "conf_parser.y"
6240 >  case 597:
6241 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6242      {
6243    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6244   }
6245 + #line 6246 "conf_parser.c" /* yacc.c:1646  */
6246      break;
6247  
6248 <  case 580:
6249 < /* Line 1787 of yacc.c  */
6490 < #line 2775 "conf_parser.y"
6248 >  case 598:
6249 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6250      {
6251    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6252   }
6253 + #line 6254 "conf_parser.c" /* yacc.c:1646  */
6254      break;
6255  
6256 <  case 581:
6257 < /* Line 1787 of yacc.c  */
6498 < #line 2778 "conf_parser.y"
6256 >  case 599:
6257 > #line 2859 "conf_parser.y" /* yacc.c:1646  */
6258      {
6259    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6260   }
6261 + #line 6262 "conf_parser.c" /* yacc.c:1646  */
6262      break;
6263  
6264 <  case 582:
6265 < /* Line 1787 of yacc.c  */
6506 < #line 2781 "conf_parser.y"
6264 >  case 600:
6265 > #line 2862 "conf_parser.y" /* yacc.c:1646  */
6266      {
6267    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6268   }
6269 + #line 6270 "conf_parser.c" /* yacc.c:1646  */
6270      break;
6271  
6272 <  case 583:
6273 < /* Line 1787 of yacc.c  */
6514 < #line 2784 "conf_parser.y"
6272 >  case 601:
6273 > #line 2865 "conf_parser.y" /* yacc.c:1646  */
6274      {
6275    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6276   }
6277 + #line 6278 "conf_parser.c" /* yacc.c:1646  */
6278      break;
6279  
6280 <  case 584:
6281 < /* Line 1787 of yacc.c  */
6522 < #line 2787 "conf_parser.y"
6280 >  case 602:
6281 > #line 2868 "conf_parser.y" /* yacc.c:1646  */
6282      {
6283    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6284   }
6285 + #line 6286 "conf_parser.c" /* yacc.c:1646  */
6286      break;
6287  
6288 <  case 585:
6289 < /* Line 1787 of yacc.c  */
6530 < #line 2790 "conf_parser.y"
6288 >  case 603:
6289 > #line 2871 "conf_parser.y" /* yacc.c:1646  */
6290      {
6291    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6292   }
6293 + #line 6294 "conf_parser.c" /* yacc.c:1646  */
6294      break;
6295  
6296 <  case 586:
6297 < /* Line 1787 of yacc.c  */
6538 < #line 2793 "conf_parser.y"
6296 >  case 604:
6297 > #line 2874 "conf_parser.y" /* yacc.c:1646  */
6298      {
6299    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6300   }
6301 + #line 6302 "conf_parser.c" /* yacc.c:1646  */
6302      break;
6303  
6304 <  case 587:
6305 < /* Line 1787 of yacc.c  */
6546 < #line 2796 "conf_parser.y"
6304 >  case 605:
6305 > #line 2877 "conf_parser.y" /* yacc.c:1646  */
6306      {
6307    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6308   }
6309 + #line 6310 "conf_parser.c" /* yacc.c:1646  */
6310      break;
6311  
6312 <  case 588:
6313 < /* Line 1787 of yacc.c  */
6554 < #line 2799 "conf_parser.y"
6312 >  case 606:
6313 > #line 2880 "conf_parser.y" /* yacc.c:1646  */
6314      {
6315    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6316   }
6317 + #line 6318 "conf_parser.c" /* yacc.c:1646  */
6318      break;
6319  
6320 <  case 589:
6321 < /* Line 1787 of yacc.c  */
6562 < #line 2802 "conf_parser.y"
6320 >  case 607:
6321 > #line 2883 "conf_parser.y" /* yacc.c:1646  */
6322      {
6323    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6324   }
6325 + #line 6326 "conf_parser.c" /* yacc.c:1646  */
6326      break;
6327  
6328 <  case 590:
6329 < /* Line 1787 of yacc.c  */
6570 < #line 2805 "conf_parser.y"
6328 >  case 608:
6329 > #line 2886 "conf_parser.y" /* yacc.c:1646  */
6330      {
6331    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6332   }
6333 + #line 6334 "conf_parser.c" /* yacc.c:1646  */
6334      break;
6335  
6336 <  case 591:
6337 < /* Line 1787 of yacc.c  */
6578 < #line 2808 "conf_parser.y"
6336 >  case 609:
6337 > #line 2889 "conf_parser.y" /* yacc.c:1646  */
6338      {
6339    ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6340   }
6341 + #line 6342 "conf_parser.c" /* yacc.c:1646  */
6342      break;
6343  
6344 <  case 592:
6345 < /* Line 1787 of yacc.c  */
6586 < #line 2813 "conf_parser.y"
6344 >  case 610:
6345 > #line 2892 "conf_parser.y" /* yacc.c:1646  */
6346      {
6347 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6347 >  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6348   }
6349 + #line 6350 "conf_parser.c" /* yacc.c:1646  */
6350      break;
6351  
6352 <  case 593:
6353 < /* Line 1787 of yacc.c  */
6594 < #line 2818 "conf_parser.y"
6352 >  case 611:
6353 > #line 2897 "conf_parser.y" /* yacc.c:1646  */
6354      {
6355 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6355 >  ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6356   }
6357 + #line 6358 "conf_parser.c" /* yacc.c:1646  */
6358      break;
6359  
6360 <  case 594:
6361 < /* Line 1787 of yacc.c  */
6602 < #line 2823 "conf_parser.y"
6360 >  case 612:
6361 > #line 2902 "conf_parser.y" /* yacc.c:1646  */
6362      {
6363 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6363 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6364   }
6365 + #line 6366 "conf_parser.c" /* yacc.c:1646  */
6366      break;
6367  
6368 <  case 612:
6369 < /* Line 1787 of yacc.c  */
6370 < #line 2846 "conf_parser.y"
6368 >  case 613:
6369 > #line 2907 "conf_parser.y" /* yacc.c:1646  */
6370 >    {
6371 >  ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6372 > }
6373 > #line 6374 "conf_parser.c" /* yacc.c:1646  */
6374 >    break;
6375 >
6376 >  case 632:
6377 > #line 2936 "conf_parser.y" /* yacc.c:1646  */
6378      {
6379    ConfigChannel.disable_fake_channels = yylval.number;
6380   }
6381 + #line 6382 "conf_parser.c" /* yacc.c:1646  */
6382      break;
6383  
6384 <  case 613:
6385 < /* Line 1787 of yacc.c  */
6386 < #line 2851 "conf_parser.y"
6384 >  case 633:
6385 > #line 2941 "conf_parser.y" /* yacc.c:1646  */
6386 >    {
6387 >  ConfigChannel.knock_delay = (yyvsp[-1].number);
6388 > }
6389 > #line 6390 "conf_parser.c" /* yacc.c:1646  */
6390 >    break;
6391 >
6392 >  case 634:
6393 > #line 2946 "conf_parser.y" /* yacc.c:1646  */
6394      {
6395 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6395 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6396   }
6397 + #line 6398 "conf_parser.c" /* yacc.c:1646  */
6398      break;
6399  
6400 <  case 614:
6401 < /* Line 1787 of yacc.c  */
6626 < #line 2856 "conf_parser.y"
6400 >  case 635:
6401 > #line 2951 "conf_parser.y" /* yacc.c:1646  */
6402      {
6403 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6403 >  ConfigChannel.invite_delay = (yyvsp[-1].number);
6404   }
6405 + #line 6406 "conf_parser.c" /* yacc.c:1646  */
6406      break;
6407  
6408 <  case 615:
6409 < /* Line 1787 of yacc.c  */
6634 < #line 2861 "conf_parser.y"
6408 >  case 636:
6409 > #line 2956 "conf_parser.y" /* yacc.c:1646  */
6410      {
6411 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6411 >  ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6412   }
6413 + #line 6414 "conf_parser.c" /* yacc.c:1646  */
6414      break;
6415  
6416 <  case 616:
6417 < /* Line 1787 of yacc.c  */
6642 < #line 2866 "conf_parser.y"
6416 >  case 637:
6417 > #line 2961 "conf_parser.y" /* yacc.c:1646  */
6418      {
6419 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6419 >  ConfigChannel.max_chans_per_user = (yyvsp[-1].number);
6420   }
6421 + #line 6422 "conf_parser.c" /* yacc.c:1646  */
6422      break;
6423  
6424 <  case 617:
6425 < /* Line 1787 of yacc.c  */
6650 < #line 2871 "conf_parser.y"
6424 >  case 638:
6425 > #line 2966 "conf_parser.y" /* yacc.c:1646  */
6426      {
6427 <  ConfigChannel.quiet_on_ban = yylval.number;
6427 >  ConfigChannel.max_chans_per_oper = (yyvsp[-1].number);
6428   }
6429 + #line 6430 "conf_parser.c" /* yacc.c:1646  */
6430      break;
6431  
6432 <  case 618:
6433 < /* Line 1787 of yacc.c  */
6658 < #line 2876 "conf_parser.y"
6432 >  case 639:
6433 > #line 2971 "conf_parser.y" /* yacc.c:1646  */
6434      {
6435 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6435 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6436   }
6437 + #line 6438 "conf_parser.c" /* yacc.c:1646  */
6438      break;
6439  
6440 <  case 619:
6441 < /* Line 1787 of yacc.c  */
6666 < #line 2881 "conf_parser.y"
6440 >  case 640:
6441 > #line 2976 "conf_parser.y" /* yacc.c:1646  */
6442      {
6443 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6443 >  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6444   }
6445 + #line 6446 "conf_parser.c" /* yacc.c:1646  */
6446      break;
6447  
6448 <  case 620:
6449 < /* Line 1787 of yacc.c  */
6674 < #line 2886 "conf_parser.y"
6448 >  case 641:
6449 > #line 2981 "conf_parser.y" /* yacc.c:1646  */
6450      {
6451 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6451 >  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6452   }
6453 + #line 6454 "conf_parser.c" /* yacc.c:1646  */
6454      break;
6455  
6456 <  case 621:
6457 < /* Line 1787 of yacc.c  */
6682 < #line 2891 "conf_parser.y"
6456 >  case 642:
6457 > #line 2986 "conf_parser.y" /* yacc.c:1646  */
6458      {
6459    ConfigChannel.no_create_on_split = yylval.number;
6460   }
6461 + #line 6462 "conf_parser.c" /* yacc.c:1646  */
6462      break;
6463  
6464 <  case 622:
6465 < /* Line 1787 of yacc.c  */
6690 < #line 2896 "conf_parser.y"
6464 >  case 643:
6465 > #line 2991 "conf_parser.y" /* yacc.c:1646  */
6466      {
6467    ConfigChannel.no_join_on_split = yylval.number;
6468   }
6469 + #line 6470 "conf_parser.c" /* yacc.c:1646  */
6470      break;
6471  
6472 <  case 623:
6473 < /* Line 1787 of yacc.c  */
6698 < #line 2901 "conf_parser.y"
6472 >  case 644:
6473 > #line 2996 "conf_parser.y" /* yacc.c:1646  */
6474      {
6475    GlobalSetOptions.joinfloodcount = yylval.number;
6476   }
6477 + #line 6478 "conf_parser.c" /* yacc.c:1646  */
6478      break;
6479  
6480 <  case 624:
6481 < /* Line 1787 of yacc.c  */
6706 < #line 2906 "conf_parser.y"
6480 >  case 645:
6481 > #line 3001 "conf_parser.y" /* yacc.c:1646  */
6482      {
6483 <  GlobalSetOptions.joinfloodtime = yylval.number;
6483 >  GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6484   }
6485 + #line 6486 "conf_parser.c" /* yacc.c:1646  */
6486      break;
6487  
6488 <  case 636:
6489 < /* Line 1787 of yacc.c  */
6714 < #line 2925 "conf_parser.y"
6488 >  case 658:
6489 > #line 3023 "conf_parser.y" /* yacc.c:1646  */
6490      {
6491    if (conf_parser_ctx.pass == 2)
6492      ConfigServerHide.flatten_links = yylval.number;
6493   }
6494 + #line 6495 "conf_parser.c" /* yacc.c:1646  */
6495      break;
6496  
6497 <  case 637:
6498 < /* Line 1787 of yacc.c  */
6499 < #line 2931 "conf_parser.y"
6497 >  case 659:
6498 > #line 3029 "conf_parser.y" /* yacc.c:1646  */
6499 >    {
6500 >  if (conf_parser_ctx.pass == 2)
6501 >    ConfigServerHide.disable_remote_commands = yylval.number;
6502 > }
6503 > #line 6504 "conf_parser.c" /* yacc.c:1646  */
6504 >    break;
6505 >
6506 >  case 660:
6507 > #line 3035 "conf_parser.y" /* yacc.c:1646  */
6508      {
6509    if (conf_parser_ctx.pass == 2)
6510      ConfigServerHide.hide_servers = yylval.number;
6511   }
6512 + #line 6513 "conf_parser.c" /* yacc.c:1646  */
6513      break;
6514  
6515 <  case 638:
6516 < /* Line 1787 of yacc.c  */
6732 < #line 2937 "conf_parser.y"
6515 >  case 661:
6516 > #line 3041 "conf_parser.y" /* yacc.c:1646  */
6517      {
6518    if (conf_parser_ctx.pass == 2)
6519      ConfigServerHide.hide_services = yylval.number;
6520   }
6521 + #line 6522 "conf_parser.c" /* yacc.c:1646  */
6522      break;
6523  
6524 <  case 639:
6525 < /* Line 1787 of yacc.c  */
6741 < #line 2943 "conf_parser.y"
6524 >  case 662:
6525 > #line 3047 "conf_parser.y" /* yacc.c:1646  */
6526      {
6527    if (conf_parser_ctx.pass == 2)
6528    {
# Line 6746 | Line 6530 | yyreduce:
6530      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6531    }
6532   }
6533 + #line 6534 "conf_parser.c" /* yacc.c:1646  */
6534      break;
6535  
6536 <  case 640:
6537 < /* Line 1787 of yacc.c  */
6753 < #line 2952 "conf_parser.y"
6536 >  case 663:
6537 > #line 3056 "conf_parser.y" /* yacc.c:1646  */
6538      {
6539    if (conf_parser_ctx.pass == 2)
6540    {
6541 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6541 >    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6542      {
6543 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6543 >      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[-1].number));
6544        ConfigServerHide.links_disabled = 0;
6545      }
6546  
6547 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6547 >    ConfigServerHide.links_delay = (yyvsp[-1].number);
6548    }
6549   }
6550 + #line 6551 "conf_parser.c" /* yacc.c:1646  */
6551      break;
6552  
6553 <  case 641:
6554 < /* Line 1787 of yacc.c  */
6770 < #line 2966 "conf_parser.y"
6553 >  case 664:
6554 > #line 3070 "conf_parser.y" /* yacc.c:1646  */
6555      {
6556    if (conf_parser_ctx.pass == 2)
6557      ConfigServerHide.hidden = yylval.number;
6558   }
6559 + #line 6560 "conf_parser.c" /* yacc.c:1646  */
6560      break;
6561  
6562 <  case 642:
6563 < /* Line 1787 of yacc.c  */
6779 < #line 2972 "conf_parser.y"
6562 >  case 665:
6563 > #line 3076 "conf_parser.y" /* yacc.c:1646  */
6564      {
6565    if (conf_parser_ctx.pass == 2)
6566      ConfigServerHide.hide_server_ips = yylval.number;
6567   }
6568 + #line 6569 "conf_parser.c" /* yacc.c:1646  */
6569      break;
6570  
6571  
6572 < /* Line 1787 of yacc.c  */
6788 < #line 6789 "conf_parser.c"
6572 > #line 6573 "conf_parser.c" /* yacc.c:1646  */
6573        default: break;
6574      }
6575    /* User semantic actions sometimes alter yychar, and that requires
# Line 6807 | Line 6591 | yyreduce:
6591  
6592    *++yyvsp = yyval;
6593  
6594 <  /* Now `shift' the result of the reduction.  Determine what state
6594 >  /* Now 'shift' the result of the reduction.  Determine what state
6595       that goes to, based on the state we popped back to and the rule
6596       number reduced by.  */
6597  
# Line 6822 | Line 6606 | yyreduce:
6606    goto yynewstate;
6607  
6608  
6609 < /*------------------------------------.
6610 < | yyerrlab -- here on detecting error |
6611 < `------------------------------------*/
6609 > /*--------------------------------------.
6610 > | yyerrlab -- here on detecting error.  |
6611 > `--------------------------------------*/
6612   yyerrlab:
6613    /* Make sure we have latest lookahead translation.  See comments at
6614       user semantic actions for why this is necessary.  */
# Line 6875 | Line 6659 | yyerrlab:
6659    if (yyerrstatus == 3)
6660      {
6661        /* If just tried and failed to reuse lookahead token after an
6662 <         error, discard it.  */
6662 >         error, discard it.  */
6663  
6664        if (yychar <= YYEOF)
6665 <        {
6666 <          /* Return failure if at end of input.  */
6667 <          if (yychar == YYEOF)
6668 <            YYABORT;
6669 <        }
6665 >        {
6666 >          /* Return failure if at end of input.  */
6667 >          if (yychar == YYEOF)
6668 >            YYABORT;
6669 >        }
6670        else
6671 <        {
6672 <          yydestruct ("Error: discarding",
6673 <                      yytoken, &yylval);
6674 <          yychar = YYEMPTY;
6675 <        }
6671 >        {
6672 >          yydestruct ("Error: discarding",
6673 >                      yytoken, &yylval);
6674 >          yychar = YYEMPTY;
6675 >        }
6676      }
6677  
6678    /* Else will try to reuse lookahead token after shifting the error
# Line 6907 | Line 6691 | yyerrorlab:
6691    if (/*CONSTCOND*/ 0)
6692       goto yyerrorlab;
6693  
6694 <  /* Do not reclaim the symbols of the rule which action triggered
6694 >  /* Do not reclaim the symbols of the rule whose action triggered
6695       this YYERROR.  */
6696    YYPOPSTACK (yylen);
6697    yylen = 0;
# Line 6920 | Line 6704 | yyerrorlab:
6704   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6705   `-------------------------------------------------------------*/
6706   yyerrlab1:
6707 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6707 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6708  
6709    for (;;)
6710      {
6711        yyn = yypact[yystate];
6712        if (!yypact_value_is_default (yyn))
6713 <        {
6714 <          yyn += YYTERROR;
6715 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6716 <            {
6717 <              yyn = yytable[yyn];
6718 <              if (0 < yyn)
6719 <                break;
6720 <            }
6721 <        }
6713 >        {
6714 >          yyn += YYTERROR;
6715 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6716 >            {
6717 >              yyn = yytable[yyn];
6718 >              if (0 < yyn)
6719 >                break;
6720 >            }
6721 >        }
6722  
6723        /* Pop the current state because it cannot handle the error token.  */
6724        if (yyssp == yyss)
6725 <        YYABORT;
6725 >        YYABORT;
6726  
6727  
6728        yydestruct ("Error: popping",
6729 <                  yystos[yystate], yyvsp);
6729 >                  yystos[yystate], yyvsp);
6730        YYPOPSTACK (1);
6731        yystate = *yyssp;
6732        YY_STACK_PRINT (yyss, yyssp);
# Line 6993 | Line 6777 | yyreturn:
6777        yydestruct ("Cleanup: discarding lookahead",
6778                    yytoken, &yylval);
6779      }
6780 <  /* Do not reclaim the symbols of the rule which action triggered
6780 >  /* Do not reclaim the symbols of the rule whose action triggered
6781       this YYABORT or YYACCEPT.  */
6782    YYPOPSTACK (yylen);
6783    YY_STACK_PRINT (yyss, yyssp);
6784    while (yyssp != yyss)
6785      {
6786        yydestruct ("Cleanup: popping",
6787 <                  yystos[*yyssp], yyvsp);
6787 >                  yystos[*yyssp], yyvsp);
6788        YYPOPSTACK (1);
6789      }
6790   #ifndef yyoverflow
# Line 7011 | Line 6795 | yyreturn:
6795    if (yymsg != yymsgbuf)
6796      YYSTACK_FREE (yymsg);
6797   #endif
6798 <  /* Make sure YYID is used.  */
7015 <  return YYID (yyresult);
6798 >  return yyresult;
6799   }
7017
7018

Diff Legend

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