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

Comparing:
ircd-hybrid/trunk/src/conf_parser.c (file contents), Revision 1793 by michael, Sun Mar 31 14:06:08 2013 UTC vs.
ircd-hybrid/branches/8.2.x/src/conf_parser.c (file contents), Revision 8436 by michael, Thu Mar 29 09:04:53 2018 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.  */
1 > /* A Bison parser, made by GNU Bison 3.0.4.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4 <  
5 <      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6 <  
4 >
5 >   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6 >
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11 <  
11 >
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16 <  
16 >
17     You should have received a copy of the GNU General Public License
18     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19  
# Line 26 | Line 26
26     special exception, which will cause the skeleton and the resulting
27     Bison output files to be licensed under the GNU General Public
28     License without this special exception.
29 <  
29 >
30     This special exception was added by the Free Software Foundation in
31     version 2.2 of Bison.  */
32  
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7"
47 > #define YYBISON_VERSION "3.0.4"
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  
69 #define YY_NO_UNPUT
70 #include <sys/types.h>
71 #include <string.h>
72
68   #include "config.h"
69   #include "stdinc.h"
70   #include "ircd.h"
71   #include "list.h"
72   #include "conf.h"
73   #include "conf_class.h"
74 + #include "conf_cluster.h"
75 + #include "conf_gecos.h"
76 + #include "conf_pseudo.h"
77 + #include "conf_resv.h"
78 + #include "conf_service.h"
79 + #include "conf_shared.h"
80   #include "event.h"
81 + #include "id.h"
82   #include "log.h"
81 #include "client.h"     /* for UMODE_ALL only */
83   #include "irc_string.h"
84   #include "memory.h"
85   #include "modules.h"
86 < #include "s_serv.h"
86 > #include "server.h"
87   #include "hostmask.h"
87 #include "send.h"
88   #include "listener.h"
89 < #include "resv.h"
90 < #include "numeric.h"
91 < #include "s_user.h"
92 <
93 < #ifdef HAVE_LIBCRYPTO
94 < #include <openssl/rsa.h>
95 < #include <openssl/bio.h>
96 < #include <openssl/pem.h>
97 < #include <openssl/dh.h>
98 < #endif
99 <
100 < #include "rsa.h"
89 > #include "user.h"
90 > #include "motd.h"
91  
92   int yylex(void);
93  
94   static struct
95   {
96 <  struct {
96 >  struct
97 >  {
98      dlink_list list;
99    } mask,
100      leaf,
101      hub;
102  
103 <  struct {
103 >  struct
104 >  {
105      char buf[IRCD_BUFSIZE];
106    } name,
107 +    nick,
108      user,
109      host,
110      addr,
111      bind,
112      file,
113      ciph,
114 +    cert,
115      rpass,
116      spass,
117 <    class;
117 >    whois,
118 >    class,
119 >    target,
120 >    prepend,
121 >    command;
122  
123 <  struct {
123 >  struct
124 >  {
125      unsigned int value;
126    } flags,
127      modes,
# Line 138 | Line 137 | static struct
137      max_total,
138      max_global,
139      max_local,
141    max_ident,
140      max_sendq,
141      max_recvq,
142 +    max_channels,
143      cidr_bitlen_ipv4,
144      cidr_bitlen_ipv6,
145      number_per_cidr;
# Line 149 | Line 148 | static struct
148   static void
149   reset_block_state(void)
150   {
151 <  dlink_node *ptr = NULL, *ptr_next = NULL;
151 >  dlink_node *node = NULL, *node_next = NULL;
152  
153 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
153 >  DLINK_FOREACH_SAFE(node, node_next, block_state.mask.list.head)
154    {
155 <    MyFree(ptr->data);
156 <    dlinkDelete(ptr, &block_state.mask.list);
157 <    free_dlink_node(ptr);
155 >    xfree(node->data);
156 >    dlinkDelete(node, &block_state.mask.list);
157 >    free_dlink_node(node);
158    }
159  
160 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
160 >  DLINK_FOREACH_SAFE(node, node_next, block_state.leaf.list.head)
161    {
162 <    MyFree(ptr->data);
163 <    dlinkDelete(ptr, &block_state.leaf.list);
164 <    free_dlink_node(ptr);
162 >    xfree(node->data);
163 >    dlinkDelete(node, &block_state.leaf.list);
164 >    free_dlink_node(node);
165    }
166  
167 <  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
167 >  DLINK_FOREACH_SAFE(node, node_next, block_state.hub.list.head)
168    {
169 <    MyFree(ptr->data);
170 <    dlinkDelete(ptr, &block_state.hub.list);
171 <    free_dlink_node(ptr);
169 >    xfree(node->data);
170 >    dlinkDelete(node, &block_state.hub.list);
171 >    free_dlink_node(node);
172    }
173  
174    memset(&block_state, 0, sizeof(block_state));
175   }
176  
177  
178 < /* Line 371 of yacc.c  */
180 < #line 181 "conf_parser.c"
178 > #line 179 "conf_parser.c" /* yacc.c:339  */
179  
180 < # ifndef YY_NULL
180 > # ifndef YY_NULLPTR
181   #  if defined __cplusplus && 201103L <= __cplusplus
182 < #   define YY_NULL nullptr
182 > #   define YY_NULLPTR nullptr
183   #  else
184 < #   define YY_NULL 0
184 > #   define YY_NULLPTR 0
185   #  endif
186   # endif
187  
# Line 199 | Line 197 | reset_block_state(void)
197     by #include "y.tab.h".  */
198   #ifndef YY_YY_CONF_PARSER_H_INCLUDED
199   # define YY_YY_CONF_PARSER_H_INCLUDED
200 < /* Enabling traces.  */
200 > /* Debug traces.  */
201   #ifndef YYDEBUG
202   # define YYDEBUG 0
203   #endif
# Line 207 | Line 205 | reset_block_state(void)
205   extern int yydebug;
206   #endif
207  
208 < /* Tokens.  */
208 > /* Token type.  */
209   #ifndef YYTOKENTYPE
210   # define YYTOKENTYPE
211 <   /* Put the tokens into the symbol table, so that GDB and other debuggers
212 <      know about them.  */
213 <   enum yytokentype {
214 <     ACCEPT_PASSWORD = 258,
215 <     ADMIN = 259,
216 <     AFTYPE = 260,
217 <     ANTI_NICK_FLOOD = 261,
218 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
219 <     AUTOCONN = 263,
220 <     BYTES = 264,
221 <     KBYTES = 265,
222 <     MBYTES = 266,
223 <     CALLER_ID_WAIT = 267,
224 <     CAN_FLOOD = 268,
225 <     CHANNEL = 269,
226 <     CIDR_BITLEN_IPV4 = 270,
227 <     CIDR_BITLEN_IPV6 = 271,
228 <     CLASS = 272,
229 <     CONNECT = 273,
230 <     CONNECTFREQ = 274,
231 <     DEFAULT_FLOODCOUNT = 275,
232 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
233 <     DEFAULT_SPLIT_USER_COUNT = 277,
234 <     DENY = 278,
235 <     DESCRIPTION = 279,
236 <     DIE = 280,
237 <     DISABLE_AUTH = 281,
238 <     DISABLE_FAKE_CHANNELS = 282,
239 <     DISABLE_REMOTE_COMMANDS = 283,
240 <     DOTS_IN_IDENT = 284,
241 <     EGDPOOL_PATH = 285,
242 <     EMAIL = 286,
243 <     ENCRYPTED = 287,
244 <     EXCEED_LIMIT = 288,
245 <     EXEMPT = 289,
246 <     FAILED_OPER_NOTICE = 290,
247 <     IRCD_FLAGS = 291,
248 <     FLATTEN_LINKS = 292,
249 <     GECOS = 293,
250 <     GENERAL = 294,
251 <     GLINE = 295,
252 <     GLINE_DURATION = 296,
253 <     GLINE_ENABLE = 297,
254 <     GLINE_EXEMPT = 298,
255 <     GLINE_REQUEST_DURATION = 299,
256 <     GLINE_MIN_CIDR = 300,
257 <     GLINE_MIN_CIDR6 = 301,
258 <     GLOBAL_KILL = 302,
259 <     IRCD_AUTH = 303,
260 <     NEED_IDENT = 304,
261 <     HAVENT_READ_CONF = 305,
262 <     HIDDEN = 306,
263 <     HIDDEN_NAME = 307,
264 <     HIDE_SERVER_IPS = 308,
265 <     HIDE_SERVERS = 309,
266 <     HIDE_SPOOF_IPS = 310,
267 <     HOST = 311,
268 <     HUB = 312,
269 <     HUB_MASK = 313,
270 <     IGNORE_BOGUS_TS = 314,
271 <     INVISIBLE_ON_CONNECT = 315,
272 <     IP = 316,
273 <     KILL = 317,
274 <     KILL_CHASE_TIME_LIMIT = 318,
275 <     KLINE = 319,
276 <     KLINE_EXEMPT = 320,
277 <     KNOCK_DELAY = 321,
278 <     KNOCK_DELAY_CHANNEL = 322,
279 <     LEAF_MASK = 323,
280 <     LINKS_DELAY = 324,
281 <     LISTEN = 325,
282 <     T_LOG = 326,
283 <     MAX_ACCEPT = 327,
284 <     MAX_BANS = 328,
285 <     MAX_CHANS_PER_OPER = 329,
286 <     MAX_CHANS_PER_USER = 330,
287 <     MAX_GLOBAL = 331,
288 <     MAX_IDENT = 332,
289 <     MAX_LOCAL = 333,
290 <     MAX_NICK_CHANGES = 334,
291 <     MAX_NICK_LENGTH = 335,
292 <     MAX_NICK_TIME = 336,
293 <     MAX_NUMBER = 337,
294 <     MAX_TARGETS = 338,
295 <     MAX_TOPIC_LENGTH = 339,
296 <     MAX_WATCH = 340,
297 <     MESSAGE_LOCALE = 341,
298 <     MIN_NONWILDCARD = 342,
299 <     MIN_NONWILDCARD_SIMPLE = 343,
300 <     MIN_IDLE = 344,
301 <     MAX_IDLE = 345,
302 <     RANDOM_IDLE = 346,
303 <     HIDE_IDLE_FROM_OPERS = 347,
304 <     MODULE = 348,
305 <     MODULES = 349,
306 <     NAME = 350,
307 <     NEED_PASSWORD = 351,
308 <     NETWORK_DESC = 352,
309 <     NETWORK_NAME = 353,
310 <     NICK = 354,
311 <     NICK_CHANGES = 355,
312 <     NO_CREATE_ON_SPLIT = 356,
313 <     NO_JOIN_ON_SPLIT = 357,
314 <     NO_OPER_FLOOD = 358,
315 <     NO_TILDE = 359,
316 <     NUMBER = 360,
317 <     NUMBER_PER_CIDR = 361,
318 <     NUMBER_PER_IP = 362,
319 <     OPERATOR = 363,
320 <     OPERS_BYPASS_CALLERID = 364,
321 <     OPER_ONLY_UMODES = 365,
322 <     OPER_PASS_RESV = 366,
323 <     OPER_SPY_T = 367,
324 <     OPER_UMODES = 368,
325 <     JOIN_FLOOD_COUNT = 369,
326 <     JOIN_FLOOD_TIME = 370,
327 <     PACE_WAIT = 371,
328 <     PACE_WAIT_SIMPLE = 372,
329 <     PASSWORD = 373,
330 <     PATH = 374,
331 <     PING_COOKIE = 375,
332 <     PING_TIME = 376,
333 <     PORT = 377,
334 <     QSTRING = 378,
335 <     QUIET_ON_BAN = 379,
336 <     REASON = 380,
337 <     REDIRPORT = 381,
338 <     REDIRSERV = 382,
339 <     REGEX_T = 383,
340 <     REHASH = 384,
341 <     REMOTE = 385,
342 <     REMOTEBAN = 386,
343 <     RESTRICT_CHANNELS = 387,
344 <     RSA_PRIVATE_KEY_FILE = 388,
345 <     RSA_PUBLIC_KEY_FILE = 389,
346 <     SSL_CERTIFICATE_FILE = 390,
347 <     SSL_DH_PARAM_FILE = 391,
348 <     T_SSL_CLIENT_METHOD = 392,
349 <     T_SSL_SERVER_METHOD = 393,
350 <     T_SSLV3 = 394,
351 <     T_TLSV1 = 395,
352 <     RESV = 396,
353 <     RESV_EXEMPT = 397,
354 <     SECONDS = 398,
355 <     MINUTES = 399,
356 <     HOURS = 400,
357 <     DAYS = 401,
358 <     WEEKS = 402,
359 <     MONTHS = 403,
360 <     YEARS = 404,
361 <     SENDQ = 405,
362 <     SEND_PASSWORD = 406,
363 <     SERVERHIDE = 407,
364 <     SERVERINFO = 408,
365 <     IRCD_SID = 409,
366 <     TKLINE_EXPIRE_NOTICES = 410,
367 <     T_SHARED = 411,
368 <     T_CLUSTER = 412,
369 <     TYPE = 413,
370 <     SHORT_MOTD = 414,
371 <     SPOOF = 415,
372 <     SPOOF_NOTICE = 416,
373 <     STATS_E_DISABLED = 417,
374 <     STATS_I_OPER_ONLY = 418,
375 <     STATS_K_OPER_ONLY = 419,
376 <     STATS_O_OPER_ONLY = 420,
377 <     STATS_P_OPER_ONLY = 421,
378 <     TBOOL = 422,
379 <     TMASKED = 423,
380 <     TS_MAX_DELTA = 424,
381 <     TS_WARN_DELTA = 425,
382 <     TWODOTS = 426,
383 <     T_ALL = 427,
384 <     T_BOTS = 428,
385 <     T_SOFTCALLERID = 429,
386 <     T_CALLERID = 430,
387 <     T_CCONN = 431,
388 <     T_CCONN_FULL = 432,
389 <     T_SSL_CIPHER_LIST = 433,
390 <     T_DEAF = 434,
391 <     T_DEBUG = 435,
392 <     T_DLINE = 436,
393 <     T_EXTERNAL = 437,
394 <     T_FULL = 438,
395 <     T_INVISIBLE = 439,
396 <     T_IPV4 = 440,
397 <     T_IPV6 = 441,
398 <     T_LOCOPS = 442,
399 <     T_MAX_CLIENTS = 443,
400 <     T_NCHANGE = 444,
401 <     T_OPERWALL = 445,
402 <     T_RECVQ = 446,
403 <     T_REJ = 447,
404 <     T_SERVER = 448,
405 <     T_SERVNOTICE = 449,
406 <     T_SET = 450,
407 <     T_SKILL = 451,
408 <     T_SPY = 452,
409 <     T_SSL = 453,
410 <     T_UMODES = 454,
411 <     T_UNAUTH = 455,
412 <     T_UNDLINE = 456,
413 <     T_UNLIMITED = 457,
414 <     T_UNRESV = 458,
415 <     T_UNXLINE = 459,
416 <     T_GLOBOPS = 460,
417 <     T_WALLOP = 461,
418 <     T_WEBIRC = 462,
419 <     T_RESTART = 463,
420 <     T_SERVICE = 464,
421 <     T_SERVICES_NAME = 465,
422 <     THROTTLE_TIME = 466,
423 <     TRUE_NO_OPER_FLOOD = 467,
424 <     UNKLINE = 468,
425 <     USER = 469,
426 <     USE_EGD = 470,
427 <     USE_LOGGING = 471,
428 <     VHOST = 472,
429 <     VHOST6 = 473,
430 <     XLINE = 474,
431 <     WARN_NO_NLINE = 475,
432 <     T_SIZE = 476,
433 <     T_FILE = 477
434 <   };
211 >  enum yytokentype
212 >  {
213 >    ACCEPT_PASSWORD = 258,
214 >    ADMIN = 259,
215 >    AFTYPE = 260,
216 >    ANTI_NICK_FLOOD = 261,
217 >    ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
218 >    AUTOCONN = 263,
219 >    AWAY_COUNT = 264,
220 >    AWAY_TIME = 265,
221 >    BYTES = 266,
222 >    KBYTES = 267,
223 >    MBYTES = 268,
224 >    CALLER_ID_WAIT = 269,
225 >    CAN_FLOOD = 270,
226 >    CHANNEL = 271,
227 >    CIDR_BITLEN_IPV4 = 272,
228 >    CIDR_BITLEN_IPV6 = 273,
229 >    CLASS = 274,
230 >    CLOSE = 275,
231 >    CONNECT = 276,
232 >    CONNECTFREQ = 277,
233 >    CYCLE_ON_HOST_CHANGE = 278,
234 >    DEFAULT_FLOODCOUNT = 279,
235 >    DEFAULT_FLOODTIME = 280,
236 >    DEFAULT_JOIN_FLOOD_COUNT = 281,
237 >    DEFAULT_JOIN_FLOOD_TIME = 282,
238 >    DEFAULT_MAX_CLIENTS = 283,
239 >    DENY = 284,
240 >    DESCRIPTION = 285,
241 >    DIE = 286,
242 >    DISABLE_AUTH = 287,
243 >    DISABLE_FAKE_CHANNELS = 288,
244 >    DISABLE_REMOTE_COMMANDS = 289,
245 >    DLINE_MIN_CIDR = 290,
246 >    DLINE_MIN_CIDR6 = 291,
247 >    DOTS_IN_IDENT = 292,
248 >    EMAIL = 293,
249 >    ENCRYPTED = 294,
250 >    EXCEED_LIMIT = 295,
251 >    EXEMPT = 296,
252 >    FAILED_OPER_NOTICE = 297,
253 >    FLATTEN_LINKS = 298,
254 >    FLATTEN_LINKS_DELAY = 299,
255 >    FLATTEN_LINKS_FILE = 300,
256 >    GECOS = 301,
257 >    GENERAL = 302,
258 >    HIDDEN = 303,
259 >    HIDDEN_NAME = 304,
260 >    HIDE_CHANS = 305,
261 >    HIDE_IDLE = 306,
262 >    HIDE_IDLE_FROM_OPERS = 307,
263 >    HIDE_SERVER_IPS = 308,
264 >    HIDE_SERVERS = 309,
265 >    HIDE_SERVICES = 310,
266 >    HOST = 311,
267 >    HUB = 312,
268 >    HUB_MASK = 313,
269 >    IGNORE_BOGUS_TS = 314,
270 >    INVISIBLE_ON_CONNECT = 315,
271 >    INVITE_CLIENT_COUNT = 316,
272 >    INVITE_CLIENT_TIME = 317,
273 >    INVITE_DELAY_CHANNEL = 318,
274 >    INVITE_EXPIRE_TIME = 319,
275 >    IP = 320,
276 >    IRCD_AUTH = 321,
277 >    IRCD_FLAGS = 322,
278 >    IRCD_SID = 323,
279 >    JOIN = 324,
280 >    KILL = 325,
281 >    KILL_CHASE_TIME_LIMIT = 326,
282 >    KLINE = 327,
283 >    KLINE_EXEMPT = 328,
284 >    KLINE_MIN_CIDR = 329,
285 >    KLINE_MIN_CIDR6 = 330,
286 >    KNOCK_CLIENT_COUNT = 331,
287 >    KNOCK_CLIENT_TIME = 332,
288 >    KNOCK_DELAY_CHANNEL = 333,
289 >    LEAF_MASK = 334,
290 >    LISTEN = 335,
291 >    MASK = 336,
292 >    MAX_ACCEPT = 337,
293 >    MAX_BANS = 338,
294 >    MAX_BANS_LARGE = 339,
295 >    MAX_CHANNELS = 340,
296 >    MAX_GLOBAL = 341,
297 >    MAX_IDLE = 342,
298 >    MAX_INVITES = 343,
299 >    MAX_LOCAL = 344,
300 >    MAX_NICK_CHANGES = 345,
301 >    MAX_NICK_LENGTH = 346,
302 >    MAX_NICK_TIME = 347,
303 >    MAX_NUMBER = 348,
304 >    MAX_TARGETS = 349,
305 >    MAX_TOPIC_LENGTH = 350,
306 >    MAX_WATCH = 351,
307 >    MIN_IDLE = 352,
308 >    MIN_NONWILDCARD = 353,
309 >    MIN_NONWILDCARD_SIMPLE = 354,
310 >    MODULE = 355,
311 >    MODULES = 356,
312 >    MOTD = 357,
313 >    NAME = 358,
314 >    NEED_IDENT = 359,
315 >    NEED_PASSWORD = 360,
316 >    NETWORK_DESC = 361,
317 >    NETWORK_NAME = 362,
318 >    NICK = 363,
319 >    NO_OPER_FLOOD = 364,
320 >    NO_TILDE = 365,
321 >    NUMBER = 366,
322 >    NUMBER_PER_CIDR = 367,
323 >    NUMBER_PER_IP = 368,
324 >    OPER_ONLY_UMODES = 369,
325 >    OPER_UMODES = 370,
326 >    OPERATOR = 371,
327 >    OPERS_BYPASS_CALLERID = 372,
328 >    PACE_WAIT = 373,
329 >    PACE_WAIT_SIMPLE = 374,
330 >    PASSWORD = 375,
331 >    PATH = 376,
332 >    PING_COOKIE = 377,
333 >    PING_TIME = 378,
334 >    PORT = 379,
335 >    QSTRING = 380,
336 >    RANDOM_IDLE = 381,
337 >    REASON = 382,
338 >    REDIRPORT = 383,
339 >    REDIRSERV = 384,
340 >    REHASH = 385,
341 >    REMOTE = 386,
342 >    REMOTEBAN = 387,
343 >    RESV = 388,
344 >    RESV_EXEMPT = 389,
345 >    RSA_PRIVATE_KEY_FILE = 390,
346 >    SECONDS = 391,
347 >    MINUTES = 392,
348 >    HOURS = 393,
349 >    DAYS = 394,
350 >    WEEKS = 395,
351 >    MONTHS = 396,
352 >    YEARS = 397,
353 >    SEND_PASSWORD = 398,
354 >    SENDQ = 399,
355 >    SERVERHIDE = 400,
356 >    SERVERINFO = 401,
357 >    SHORT_MOTD = 402,
358 >    SPOOF = 403,
359 >    SPOOF_NOTICE = 404,
360 >    SQUIT = 405,
361 >    SSL_CERTIFICATE_FILE = 406,
362 >    SSL_CERTIFICATE_FINGERPRINT = 407,
363 >    SSL_CONNECTION_REQUIRED = 408,
364 >    SSL_DH_ELLIPTIC_CURVE = 409,
365 >    SSL_DH_PARAM_FILE = 410,
366 >    SSL_MESSAGE_DIGEST_ALGORITHM = 411,
367 >    STATS_E_DISABLED = 412,
368 >    STATS_I_OPER_ONLY = 413,
369 >    STATS_K_OPER_ONLY = 414,
370 >    STATS_M_OPER_ONLY = 415,
371 >    STATS_O_OPER_ONLY = 416,
372 >    STATS_P_OPER_ONLY = 417,
373 >    STATS_U_OPER_ONLY = 418,
374 >    T_ALL = 419,
375 >    T_BOTS = 420,
376 >    T_CALLERID = 421,
377 >    T_CCONN = 422,
378 >    T_COMMAND = 423,
379 >    T_CLUSTER = 424,
380 >    T_DEAF = 425,
381 >    T_DEBUG = 426,
382 >    T_DLINE = 427,
383 >    T_EXTERNAL = 428,
384 >    T_FARCONNECT = 429,
385 >    T_FILE = 430,
386 >    T_FULL = 431,
387 >    T_GLOBOPS = 432,
388 >    T_INVISIBLE = 433,
389 >    T_IPV4 = 434,
390 >    T_IPV6 = 435,
391 >    T_LOCOPS = 436,
392 >    T_LOG = 437,
393 >    T_NCHANGE = 438,
394 >    T_NONONREG = 439,
395 >    T_OPME = 440,
396 >    T_PREPEND = 441,
397 >    T_PSEUDO = 442,
398 >    T_RECVQ = 443,
399 >    T_REJ = 444,
400 >    T_RESTART = 445,
401 >    T_SERVER = 446,
402 >    T_SERVICE = 447,
403 >    T_SERVNOTICE = 448,
404 >    T_SET = 449,
405 >    T_SHARED = 450,
406 >    T_SIZE = 451,
407 >    T_SKILL = 452,
408 >    T_SOFTCALLERID = 453,
409 >    T_SPY = 454,
410 >    T_SSL = 455,
411 >    T_SSL_CIPHER_LIST = 456,
412 >    T_TARGET = 457,
413 >    T_UMODES = 458,
414 >    T_UNAUTH = 459,
415 >    T_UNDLINE = 460,
416 >    T_UNLIMITED = 461,
417 >    T_UNRESV = 462,
418 >    T_UNXLINE = 463,
419 >    T_WALLOP = 464,
420 >    T_WALLOPS = 465,
421 >    T_WEBIRC = 466,
422 >    TBOOL = 467,
423 >    THROTTLE_COUNT = 468,
424 >    THROTTLE_TIME = 469,
425 >    TKLINE_EXPIRE_NOTICES = 470,
426 >    TMASKED = 471,
427 >    TS_MAX_DELTA = 472,
428 >    TS_WARN_DELTA = 473,
429 >    TWODOTS = 474,
430 >    TYPE = 475,
431 >    UNKLINE = 476,
432 >    USE_LOGGING = 477,
433 >    USER = 478,
434 >    VHOST = 479,
435 >    VHOST6 = 480,
436 >    WARN_NO_CONNECT_BLOCK = 481,
437 >    WHOIS = 482,
438 >    WHOWAS_HISTORY_LENGTH = 483,
439 >    XLINE = 484,
440 >    XLINE_EXEMPT = 485
441 >  };
442   #endif
443   /* Tokens.  */
444   #define ACCEPT_PASSWORD 258
# Line 442 | Line 447 | extern int yydebug;
447   #define ANTI_NICK_FLOOD 261
448   #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
449   #define AUTOCONN 263
450 < #define BYTES 264
451 < #define KBYTES 265
452 < #define MBYTES 266
453 < #define CALLER_ID_WAIT 267
454 < #define CAN_FLOOD 268
455 < #define CHANNEL 269
456 < #define CIDR_BITLEN_IPV4 270
457 < #define CIDR_BITLEN_IPV6 271
458 < #define CLASS 272
459 < #define CONNECT 273
460 < #define CONNECTFREQ 274
461 < #define DEFAULT_FLOODCOUNT 275
462 < #define DEFAULT_SPLIT_SERVER_COUNT 276
463 < #define DEFAULT_SPLIT_USER_COUNT 277
464 < #define DENY 278
465 < #define DESCRIPTION 279
466 < #define DIE 280
467 < #define DISABLE_AUTH 281
468 < #define DISABLE_FAKE_CHANNELS 282
469 < #define DISABLE_REMOTE_COMMANDS 283
470 < #define DOTS_IN_IDENT 284
471 < #define EGDPOOL_PATH 285
472 < #define EMAIL 286
473 < #define ENCRYPTED 287
474 < #define EXCEED_LIMIT 288
475 < #define EXEMPT 289
476 < #define FAILED_OPER_NOTICE 290
477 < #define IRCD_FLAGS 291
478 < #define FLATTEN_LINKS 292
479 < #define GECOS 293
480 < #define GENERAL 294
481 < #define GLINE 295
482 < #define GLINE_DURATION 296
483 < #define GLINE_ENABLE 297
484 < #define GLINE_EXEMPT 298
485 < #define GLINE_REQUEST_DURATION 299
486 < #define GLINE_MIN_CIDR 300
487 < #define GLINE_MIN_CIDR6 301
488 < #define GLOBAL_KILL 302
489 < #define IRCD_AUTH 303
490 < #define NEED_IDENT 304
491 < #define HAVENT_READ_CONF 305
492 < #define HIDDEN 306
493 < #define HIDDEN_NAME 307
450 > #define AWAY_COUNT 264
451 > #define AWAY_TIME 265
452 > #define BYTES 266
453 > #define KBYTES 267
454 > #define MBYTES 268
455 > #define CALLER_ID_WAIT 269
456 > #define CAN_FLOOD 270
457 > #define CHANNEL 271
458 > #define CIDR_BITLEN_IPV4 272
459 > #define CIDR_BITLEN_IPV6 273
460 > #define CLASS 274
461 > #define CLOSE 275
462 > #define CONNECT 276
463 > #define CONNECTFREQ 277
464 > #define CYCLE_ON_HOST_CHANGE 278
465 > #define DEFAULT_FLOODCOUNT 279
466 > #define DEFAULT_FLOODTIME 280
467 > #define DEFAULT_JOIN_FLOOD_COUNT 281
468 > #define DEFAULT_JOIN_FLOOD_TIME 282
469 > #define DEFAULT_MAX_CLIENTS 283
470 > #define DENY 284
471 > #define DESCRIPTION 285
472 > #define DIE 286
473 > #define DISABLE_AUTH 287
474 > #define DISABLE_FAKE_CHANNELS 288
475 > #define DISABLE_REMOTE_COMMANDS 289
476 > #define DLINE_MIN_CIDR 290
477 > #define DLINE_MIN_CIDR6 291
478 > #define DOTS_IN_IDENT 292
479 > #define EMAIL 293
480 > #define ENCRYPTED 294
481 > #define EXCEED_LIMIT 295
482 > #define EXEMPT 296
483 > #define FAILED_OPER_NOTICE 297
484 > #define FLATTEN_LINKS 298
485 > #define FLATTEN_LINKS_DELAY 299
486 > #define FLATTEN_LINKS_FILE 300
487 > #define GECOS 301
488 > #define GENERAL 302
489 > #define HIDDEN 303
490 > #define HIDDEN_NAME 304
491 > #define HIDE_CHANS 305
492 > #define HIDE_IDLE 306
493 > #define HIDE_IDLE_FROM_OPERS 307
494   #define HIDE_SERVER_IPS 308
495   #define HIDE_SERVERS 309
496 < #define HIDE_SPOOF_IPS 310
496 > #define HIDE_SERVICES 310
497   #define HOST 311
498   #define HUB 312
499   #define HUB_MASK 313
500   #define IGNORE_BOGUS_TS 314
501   #define INVISIBLE_ON_CONNECT 315
502 < #define IP 316
503 < #define KILL 317
504 < #define KILL_CHASE_TIME_LIMIT 318
505 < #define KLINE 319
506 < #define KLINE_EXEMPT 320
507 < #define KNOCK_DELAY 321
508 < #define KNOCK_DELAY_CHANNEL 322
509 < #define LEAF_MASK 323
510 < #define LINKS_DELAY 324
511 < #define LISTEN 325
512 < #define T_LOG 326
513 < #define MAX_ACCEPT 327
514 < #define MAX_BANS 328
515 < #define MAX_CHANS_PER_OPER 329
516 < #define MAX_CHANS_PER_USER 330
517 < #define MAX_GLOBAL 331
518 < #define MAX_IDENT 332
519 < #define MAX_LOCAL 333
520 < #define MAX_NICK_CHANGES 334
521 < #define MAX_NICK_LENGTH 335
522 < #define MAX_NICK_TIME 336
523 < #define MAX_NUMBER 337
524 < #define MAX_TARGETS 338
525 < #define MAX_TOPIC_LENGTH 339
526 < #define MAX_WATCH 340
527 < #define MESSAGE_LOCALE 341
528 < #define MIN_NONWILDCARD 342
529 < #define MIN_NONWILDCARD_SIMPLE 343
530 < #define MIN_IDLE 344
531 < #define MAX_IDLE 345
532 < #define RANDOM_IDLE 346
533 < #define HIDE_IDLE_FROM_OPERS 347
534 < #define MODULE 348
535 < #define MODULES 349
536 < #define NAME 350
537 < #define NEED_PASSWORD 351
538 < #define NETWORK_DESC 352
539 < #define NETWORK_NAME 353
540 < #define NICK 354
541 < #define NICK_CHANGES 355
542 < #define NO_CREATE_ON_SPLIT 356
543 < #define NO_JOIN_ON_SPLIT 357
544 < #define NO_OPER_FLOOD 358
545 < #define NO_TILDE 359
546 < #define NUMBER 360
547 < #define NUMBER_PER_CIDR 361
548 < #define NUMBER_PER_IP 362
549 < #define OPERATOR 363
550 < #define OPERS_BYPASS_CALLERID 364
551 < #define OPER_ONLY_UMODES 365
552 < #define OPER_PASS_RESV 366
553 < #define OPER_SPY_T 367
554 < #define OPER_UMODES 368
555 < #define JOIN_FLOOD_COUNT 369
556 < #define JOIN_FLOOD_TIME 370
557 < #define PACE_WAIT 371
558 < #define PACE_WAIT_SIMPLE 372
559 < #define PASSWORD 373
560 < #define PATH 374
561 < #define PING_COOKIE 375
562 < #define PING_TIME 376
563 < #define PORT 377
564 < #define QSTRING 378
565 < #define QUIET_ON_BAN 379
566 < #define REASON 380
567 < #define REDIRPORT 381
568 < #define REDIRSERV 382
569 < #define REGEX_T 383
570 < #define REHASH 384
571 < #define REMOTE 385
572 < #define REMOTEBAN 386
573 < #define RESTRICT_CHANNELS 387
574 < #define RSA_PRIVATE_KEY_FILE 388
575 < #define RSA_PUBLIC_KEY_FILE 389
576 < #define SSL_CERTIFICATE_FILE 390
577 < #define SSL_DH_PARAM_FILE 391
578 < #define T_SSL_CLIENT_METHOD 392
579 < #define T_SSL_SERVER_METHOD 393
580 < #define T_SSLV3 394
581 < #define T_TLSV1 395
582 < #define RESV 396
583 < #define RESV_EXEMPT 397
584 < #define SECONDS 398
585 < #define MINUTES 399
586 < #define HOURS 400
587 < #define DAYS 401
588 < #define WEEKS 402
589 < #define MONTHS 403
590 < #define YEARS 404
591 < #define SENDQ 405
592 < #define SEND_PASSWORD 406
593 < #define SERVERHIDE 407
594 < #define SERVERINFO 408
595 < #define IRCD_SID 409
596 < #define TKLINE_EXPIRE_NOTICES 410
597 < #define T_SHARED 411
598 < #define T_CLUSTER 412
599 < #define TYPE 413
600 < #define SHORT_MOTD 414
601 < #define SPOOF 415
602 < #define SPOOF_NOTICE 416
603 < #define STATS_E_DISABLED 417
604 < #define STATS_I_OPER_ONLY 418
605 < #define STATS_K_OPER_ONLY 419
606 < #define STATS_O_OPER_ONLY 420
607 < #define STATS_P_OPER_ONLY 421
608 < #define TBOOL 422
609 < #define TMASKED 423
610 < #define TS_MAX_DELTA 424
611 < #define TS_WARN_DELTA 425
612 < #define TWODOTS 426
613 < #define T_ALL 427
614 < #define T_BOTS 428
615 < #define T_SOFTCALLERID 429
616 < #define T_CALLERID 430
617 < #define T_CCONN 431
618 < #define T_CCONN_FULL 432
619 < #define T_SSL_CIPHER_LIST 433
620 < #define T_DEAF 434
621 < #define T_DEBUG 435
622 < #define T_DLINE 436
623 < #define T_EXTERNAL 437
624 < #define T_FULL 438
625 < #define T_INVISIBLE 439
626 < #define T_IPV4 440
627 < #define T_IPV6 441
628 < #define T_LOCOPS 442
629 < #define T_MAX_CLIENTS 443
630 < #define T_NCHANGE 444
631 < #define T_OPERWALL 445
632 < #define T_RECVQ 446
633 < #define T_REJ 447
634 < #define T_SERVER 448
635 < #define T_SERVNOTICE 449
636 < #define T_SET 450
637 < #define T_SKILL 451
638 < #define T_SPY 452
639 < #define T_SSL 453
640 < #define T_UMODES 454
641 < #define T_UNAUTH 455
642 < #define T_UNDLINE 456
643 < #define T_UNLIMITED 457
644 < #define T_UNRESV 458
645 < #define T_UNXLINE 459
646 < #define T_GLOBOPS 460
647 < #define T_WALLOP 461
648 < #define T_WEBIRC 462
649 < #define T_RESTART 463
650 < #define T_SERVICE 464
651 < #define T_SERVICES_NAME 465
652 < #define THROTTLE_TIME 466
653 < #define TRUE_NO_OPER_FLOOD 467
654 < #define UNKLINE 468
655 < #define USER 469
656 < #define USE_EGD 470
657 < #define USE_LOGGING 471
658 < #define VHOST 472
659 < #define VHOST6 473
660 < #define XLINE 474
661 < #define WARN_NO_NLINE 475
662 < #define T_SIZE 476
663 < #define T_FILE 477
664 <
665 <
502 > #define INVITE_CLIENT_COUNT 316
503 > #define INVITE_CLIENT_TIME 317
504 > #define INVITE_DELAY_CHANNEL 318
505 > #define INVITE_EXPIRE_TIME 319
506 > #define IP 320
507 > #define IRCD_AUTH 321
508 > #define IRCD_FLAGS 322
509 > #define IRCD_SID 323
510 > #define JOIN 324
511 > #define KILL 325
512 > #define KILL_CHASE_TIME_LIMIT 326
513 > #define KLINE 327
514 > #define KLINE_EXEMPT 328
515 > #define KLINE_MIN_CIDR 329
516 > #define KLINE_MIN_CIDR6 330
517 > #define KNOCK_CLIENT_COUNT 331
518 > #define KNOCK_CLIENT_TIME 332
519 > #define KNOCK_DELAY_CHANNEL 333
520 > #define LEAF_MASK 334
521 > #define LISTEN 335
522 > #define MASK 336
523 > #define MAX_ACCEPT 337
524 > #define MAX_BANS 338
525 > #define MAX_BANS_LARGE 339
526 > #define MAX_CHANNELS 340
527 > #define MAX_GLOBAL 341
528 > #define MAX_IDLE 342
529 > #define MAX_INVITES 343
530 > #define MAX_LOCAL 344
531 > #define MAX_NICK_CHANGES 345
532 > #define MAX_NICK_LENGTH 346
533 > #define MAX_NICK_TIME 347
534 > #define MAX_NUMBER 348
535 > #define MAX_TARGETS 349
536 > #define MAX_TOPIC_LENGTH 350
537 > #define MAX_WATCH 351
538 > #define MIN_IDLE 352
539 > #define MIN_NONWILDCARD 353
540 > #define MIN_NONWILDCARD_SIMPLE 354
541 > #define MODULE 355
542 > #define MODULES 356
543 > #define MOTD 357
544 > #define NAME 358
545 > #define NEED_IDENT 359
546 > #define NEED_PASSWORD 360
547 > #define NETWORK_DESC 361
548 > #define NETWORK_NAME 362
549 > #define NICK 363
550 > #define NO_OPER_FLOOD 364
551 > #define NO_TILDE 365
552 > #define NUMBER 366
553 > #define NUMBER_PER_CIDR 367
554 > #define NUMBER_PER_IP 368
555 > #define OPER_ONLY_UMODES 369
556 > #define OPER_UMODES 370
557 > #define OPERATOR 371
558 > #define OPERS_BYPASS_CALLERID 372
559 > #define PACE_WAIT 373
560 > #define PACE_WAIT_SIMPLE 374
561 > #define PASSWORD 375
562 > #define PATH 376
563 > #define PING_COOKIE 377
564 > #define PING_TIME 378
565 > #define PORT 379
566 > #define QSTRING 380
567 > #define RANDOM_IDLE 381
568 > #define REASON 382
569 > #define REDIRPORT 383
570 > #define REDIRSERV 384
571 > #define REHASH 385
572 > #define REMOTE 386
573 > #define REMOTEBAN 387
574 > #define RESV 388
575 > #define RESV_EXEMPT 389
576 > #define RSA_PRIVATE_KEY_FILE 390
577 > #define SECONDS 391
578 > #define MINUTES 392
579 > #define HOURS 393
580 > #define DAYS 394
581 > #define WEEKS 395
582 > #define MONTHS 396
583 > #define YEARS 397
584 > #define SEND_PASSWORD 398
585 > #define SENDQ 399
586 > #define SERVERHIDE 400
587 > #define SERVERINFO 401
588 > #define SHORT_MOTD 402
589 > #define SPOOF 403
590 > #define SPOOF_NOTICE 404
591 > #define SQUIT 405
592 > #define SSL_CERTIFICATE_FILE 406
593 > #define SSL_CERTIFICATE_FINGERPRINT 407
594 > #define SSL_CONNECTION_REQUIRED 408
595 > #define SSL_DH_ELLIPTIC_CURVE 409
596 > #define SSL_DH_PARAM_FILE 410
597 > #define SSL_MESSAGE_DIGEST_ALGORITHM 411
598 > #define STATS_E_DISABLED 412
599 > #define STATS_I_OPER_ONLY 413
600 > #define STATS_K_OPER_ONLY 414
601 > #define STATS_M_OPER_ONLY 415
602 > #define STATS_O_OPER_ONLY 416
603 > #define STATS_P_OPER_ONLY 417
604 > #define STATS_U_OPER_ONLY 418
605 > #define T_ALL 419
606 > #define T_BOTS 420
607 > #define T_CALLERID 421
608 > #define T_CCONN 422
609 > #define T_COMMAND 423
610 > #define T_CLUSTER 424
611 > #define T_DEAF 425
612 > #define T_DEBUG 426
613 > #define T_DLINE 427
614 > #define T_EXTERNAL 428
615 > #define T_FARCONNECT 429
616 > #define T_FILE 430
617 > #define T_FULL 431
618 > #define T_GLOBOPS 432
619 > #define T_INVISIBLE 433
620 > #define T_IPV4 434
621 > #define T_IPV6 435
622 > #define T_LOCOPS 436
623 > #define T_LOG 437
624 > #define T_NCHANGE 438
625 > #define T_NONONREG 439
626 > #define T_OPME 440
627 > #define T_PREPEND 441
628 > #define T_PSEUDO 442
629 > #define T_RECVQ 443
630 > #define T_REJ 444
631 > #define T_RESTART 445
632 > #define T_SERVER 446
633 > #define T_SERVICE 447
634 > #define T_SERVNOTICE 448
635 > #define T_SET 449
636 > #define T_SHARED 450
637 > #define T_SIZE 451
638 > #define T_SKILL 452
639 > #define T_SOFTCALLERID 453
640 > #define T_SPY 454
641 > #define T_SSL 455
642 > #define T_SSL_CIPHER_LIST 456
643 > #define T_TARGET 457
644 > #define T_UMODES 458
645 > #define T_UNAUTH 459
646 > #define T_UNDLINE 460
647 > #define T_UNLIMITED 461
648 > #define T_UNRESV 462
649 > #define T_UNXLINE 463
650 > #define T_WALLOP 464
651 > #define T_WALLOPS 465
652 > #define T_WEBIRC 466
653 > #define TBOOL 467
654 > #define THROTTLE_COUNT 468
655 > #define THROTTLE_TIME 469
656 > #define TKLINE_EXPIRE_NOTICES 470
657 > #define TMASKED 471
658 > #define TS_MAX_DELTA 472
659 > #define TS_WARN_DELTA 473
660 > #define TWODOTS 474
661 > #define TYPE 475
662 > #define UNKLINE 476
663 > #define USE_LOGGING 477
664 > #define USER 478
665 > #define VHOST 479
666 > #define VHOST6 480
667 > #define WARN_NO_CONNECT_BLOCK 481
668 > #define WHOIS 482
669 > #define WHOWAS_HISTORY_LENGTH 483
670 > #define XLINE 484
671 > #define XLINE_EXEMPT 485
672  
673 + /* Value type.  */
674   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
675 < typedef union YYSTYPE
675 >
676 > union YYSTYPE
677   {
678 < /* Line 387 of yacc.c  */
666 < #line 138 "conf_parser.y"
678 > #line 141 "conf_parser.y" /* yacc.c:355  */
679  
680    int number;
681    char *string;
682  
683 + #line 684 "conf_parser.c" /* yacc.c:355  */
684 + };
685  
686 < /* Line 387 of yacc.c  */
673 < #line 674 "conf_parser.c"
674 < } YYSTYPE;
686 > typedef union YYSTYPE YYSTYPE;
687   # define YYSTYPE_IS_TRIVIAL 1
676 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
688   # define YYSTYPE_IS_DECLARED 1
689   #endif
690  
691 +
692   extern YYSTYPE yylval;
693  
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
694   int yyparse (void);
691 #else
692 int yyparse ();
693 #endif
694 #endif /* ! YYPARSE_PARAM */
695  
696   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
697  
698   /* Copy the second part of user declarations.  */
699  
700 < /* Line 390 of yacc.c  */
701 < #line 702 "conf_parser.c"
700 > #line 701 "conf_parser.c" /* yacc.c:358  */
701  
702   #ifdef short
703   # undef short
# Line 712 | Line 711 | typedef unsigned char yytype_uint8;
711  
712   #ifdef YYTYPE_INT8
713   typedef YYTYPE_INT8 yytype_int8;
715 #elif (defined __STDC__ || defined __C99__FUNC__ \
716     || defined __cplusplus || defined _MSC_VER)
717 typedef signed char yytype_int8;
714   #else
715 < typedef short int yytype_int8;
715 > typedef signed char yytype_int8;
716   #endif
717  
718   #ifdef YYTYPE_UINT16
# Line 736 | Line 732 | typedef short int yytype_int16;
732   #  define YYSIZE_T __SIZE_TYPE__
733   # elif defined size_t
734   #  define YYSIZE_T size_t
735 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
740 <     || defined __cplusplus || defined _MSC_VER)
735 > # elif ! defined YYSIZE_T
736   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
737   #  define YYSIZE_T size_t
738   # else
# Line 759 | Line 754 | typedef short int yytype_int16;
754   # endif
755   #endif
756  
757 + #ifndef YY_ATTRIBUTE
758 + # if (defined __GNUC__                                               \
759 +      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
760 +     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
761 + #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
762 + # else
763 + #  define YY_ATTRIBUTE(Spec) /* empty */
764 + # endif
765 + #endif
766 +
767 + #ifndef YY_ATTRIBUTE_PURE
768 + # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
769 + #endif
770 +
771 + #ifndef YY_ATTRIBUTE_UNUSED
772 + # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
773 + #endif
774 +
775 + #if !defined _Noreturn \
776 +     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
777 + # if defined _MSC_VER && 1200 <= _MSC_VER
778 + #  define _Noreturn __declspec (noreturn)
779 + # else
780 + #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
781 + # endif
782 + #endif
783 +
784   /* Suppress unused-variable warnings by "using" E.  */
785   #if ! defined lint || defined __GNUC__
786   # define YYUSE(E) ((void) (E))
# Line 766 | Line 788 | typedef short int yytype_int16;
788   # define YYUSE(E) /* empty */
789   #endif
790  
791 < /* Identity function, used to suppress warnings about constant conditions.  */
792 < #ifndef lint
793 < # define YYID(N) (N)
791 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
792 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
793 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
794 >    _Pragma ("GCC diagnostic push") \
795 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
796 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
797 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
798 >    _Pragma ("GCC diagnostic pop")
799   #else
800 < #if (defined __STDC__ || defined __C99__FUNC__ \
774 <     || defined __cplusplus || defined _MSC_VER)
775 < static int
776 < YYID (int yyi)
777 < #else
778 < static int
779 < YYID (yyi)
780 <    int yyi;
800 > # define YY_INITIAL_VALUE(Value) Value
801   #endif
802 < {
803 <  return yyi;
804 < }
802 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
803 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
804 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
805 > #endif
806 > #ifndef YY_INITIAL_VALUE
807 > # define YY_INITIAL_VALUE(Value) /* Nothing. */
808   #endif
809  
810 +
811   #if ! defined yyoverflow || YYERROR_VERBOSE
812  
813   /* The parser invokes alloca or malloc; define the necessary symbols.  */
# Line 801 | Line 825 | YYID (yyi)
825   #    define alloca _alloca
826   #   else
827   #    define YYSTACK_ALLOC alloca
828 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
805 <     || defined __cplusplus || defined _MSC_VER)
828 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
829   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
830        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
831   #     ifndef EXIT_SUCCESS
# Line 814 | Line 837 | YYID (yyi)
837   # endif
838  
839   # ifdef YYSTACK_ALLOC
840 <   /* Pacify GCC's `empty if-body' warning.  */
841 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
840 >   /* Pacify GCC's 'empty if-body' warning.  */
841 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
842   #  ifndef YYSTACK_ALLOC_MAXIMUM
843      /* The OS might guarantee only one guard page at the bottom of the stack,
844         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 831 | Line 854 | YYID (yyi)
854   #  endif
855   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
856         && ! ((defined YYMALLOC || defined malloc) \
857 <             && (defined YYFREE || defined free)))
857 >             && (defined YYFREE || defined free)))
858   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
859   #   ifndef EXIT_SUCCESS
860   #    define EXIT_SUCCESS 0
# Line 839 | Line 862 | YYID (yyi)
862   #  endif
863   #  ifndef YYMALLOC
864   #   define YYMALLOC malloc
865 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
843 <     || defined __cplusplus || defined _MSC_VER)
865 > #   if ! defined malloc && ! defined EXIT_SUCCESS
866   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
867   #   endif
868   #  endif
869   #  ifndef YYFREE
870   #   define YYFREE free
871 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
850 <     || defined __cplusplus || defined _MSC_VER)
871 > #   if ! defined free && ! defined EXIT_SUCCESS
872   void free (void *); /* INFRINGES ON USER NAME SPACE */
873   #   endif
874   #  endif
# Line 857 | Line 878 | void free (void *); /* INFRINGES ON USER
878  
879   #if (! defined yyoverflow \
880       && (! defined __cplusplus \
881 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
881 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
882  
883   /* A type that is properly aligned for any stack member.  */
884   union yyalloc
# Line 882 | Line 903 | union yyalloc
903     elements in the stack, and YYPTR gives the new location of the
904     stack.  Advance YYPTR to a properly aligned location for the next
905     stack.  */
906 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
907 <    do                                                                  \
908 <      {                                                                 \
909 <        YYSIZE_T yynewbytes;                                            \
910 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
911 <        Stack = &yyptr->Stack_alloc;                                    \
912 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
913 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
914 <      }                                                                 \
915 <    while (YYID (0))
906 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
907 >    do                                                                  \
908 >      {                                                                 \
909 >        YYSIZE_T yynewbytes;                                            \
910 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
911 >        Stack = &yyptr->Stack_alloc;                                    \
912 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
913 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
914 >      }                                                                 \
915 >    while (0)
916  
917   #endif
918  
# Line 910 | Line 931 | union yyalloc
931            for (yyi = 0; yyi < (Count); yyi++)   \
932              (Dst)[yyi] = (Src)[yyi];            \
933          }                                       \
934 <      while (YYID (0))
934 >      while (0)
935   #  endif
936   # endif
937   #endif /* !YYCOPY_NEEDED */
# Line 918 | Line 939 | union yyalloc
939   /* YYFINAL -- State number of the termination state.  */
940   #define YYFINAL  2
941   /* YYLAST -- Last index in YYTABLE.  */
942 < #define YYLAST   1211
942 > #define YYLAST   1360
943  
944   /* YYNTOKENS -- Number of terminals.  */
945 < #define YYNTOKENS  228
945 > #define YYNTOKENS  237
946   /* YYNNTS -- Number of nonterminals.  */
947 < #define YYNNTS  290
947 > #define YYNNTS  296
948   /* YYNRULES -- Number of rules.  */
949 < #define YYNRULES  643
950 < /* YYNRULES -- Number of states.  */
951 < #define YYNSTATES  1259
949 > #define YYNRULES  670
950 > /* YYNSTATES -- Number of states.  */
951 > #define YYNSTATES  1324
952  
953 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
953 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
954 >   by yylex, with out-of-bounds checking.  */
955   #define YYUNDEFTOK  2
956 < #define YYMAXUTOK   477
956 > #define YYMAXUTOK   485
957  
958 < #define YYTRANSLATE(YYX)                                                \
958 > #define YYTRANSLATE(YYX)                                                \
959    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
960  
961 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
961 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
962 >   as returned by yylex, without out-of-bounds checking.  */
963   static const yytype_uint8 yytranslate[] =
964   {
965         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
966         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969 <       2,     2,     2,     2,   227,     2,     2,     2,     2,     2,
970 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   223,
971 <       2,   226,     2,     2,     2,     2,     2,     2,     2,     2,
969 >       2,     2,     2,     2,   235,     2,     2,     2,     2,     2,
970 >       2,     2,     2,     2,     2,     2,     2,     2,   236,   231,
971 >       2,   234,     2,     2,     2,     2,     2,     2,     2,     2,
972         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
973         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
974         2,     2,     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,   225,     2,   224,     2,     2,     2,     2,
977 >       2,     2,     2,   233,     2,   232,     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,     2,     2,     2,     2,     2,     2,     2,
# Line 986 | Line 1009 | static const yytype_uint8 yytranslate[]
1009       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1010       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1011       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1012 <     215,   216,   217,   218,   219,   220,   221,   222
1012 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1013 >     225,   226,   227,   228,   229,   230
1014   };
1015  
1016   #if YYDEBUG
1017 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
994 <   YYRHS.  */
995 < static const yytype_uint16 yyprhs[] =
996 < {
997 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
998 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
999 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1000 <      63,    67,    71,    75,    79,    83,    87,    88,    90,    93,
1001 <      97,   101,   105,   111,   114,   116,   118,   120,   123,   128,
1002 <     133,   139,   142,   144,   146,   148,   150,   152,   154,   156,
1003 <     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1004 <     178,   181,   186,   191,   195,   197,   199,   201,   205,   207,
1005 <     209,   211,   216,   221,   226,   231,   236,   241,   246,   251,
1006 <     256,   261,   266,   271,   276,   281,   286,   292,   295,   297,
1007 <     299,   301,   303,   306,   311,   316,   321,   327,   330,   332,
1008 <     334,   336,   339,   344,   345,   352,   355,   357,   359,   361,
1009 <     363,   366,   371,   376,   381,   382,   388,   392,   394,   396,
1010 <     398,   400,   402,   404,   406,   408,   409,   416,   419,   421,
1011 <     423,   425,   427,   429,   431,   433,   435,   437,   440,   445,
1012 <     450,   455,   460,   465,   470,   471,   477,   481,   483,   485,
1013 <     487,   489,   491,   493,   495,   497,   499,   501,   503,   505,
1014 <     507,   509,   511,   513,   515,   517,   519,   521,   523,   524,
1015 <     530,   534,   536,   538,   540,   542,   544,   546,   548,   550,
1016 <     552,   554,   556,   558,   560,   562,   564,   566,   568,   570,
1017 <     572,   574,   575,   582,   585,   587,   589,   591,   593,   595,
1018 <     597,   599,   601,   603,   605,   607,   609,   611,   613,   615,
1019 <     617,   619,   622,   627,   632,   637,   642,   647,   652,   657,
1020 <     662,   667,   672,   677,   682,   687,   692,   697,   698,   704,
1021 <     708,   710,   712,   714,   715,   722,   723,   729,   733,   735,
1022 <     737,   739,   741,   744,   746,   748,   750,   752,   754,   757,
1023 <     758,   764,   768,   770,   772,   776,   781,   786,   787,   794,
1024 <     797,   799,   801,   803,   805,   807,   809,   811,   813,   815,
1025 <     818,   823,   828,   833,   838,   839,   845,   849,   851,   853,
1026 <     855,   857,   859,   861,   863,   865,   867,   869,   871,   876,
1027 <     881,   886,   887,   894,   897,   899,   901,   903,   905,   908,
1028 <     913,   918,   923,   929,   932,   934,   936,   938,   943,   944,
1029 <     951,   954,   956,   958,   960,   962,   965,   970,   975,   976,
1030 <     982,   986,   988,   990,   992,   994,   996,   998,  1000,  1002,
1031 <    1004,  1006,  1008,  1009,  1016,  1019,  1021,  1023,  1025,  1028,
1032 <    1033,  1034,  1040,  1044,  1046,  1048,  1050,  1052,  1054,  1056,
1033 <    1058,  1060,  1062,  1064,  1066,  1067,  1074,  1077,  1079,  1081,
1034 <    1083,  1085,  1087,  1089,  1091,  1093,  1095,  1097,  1099,  1101,
1035 <    1103,  1105,  1108,  1113,  1118,  1123,  1128,  1133,  1138,  1143,
1036 <    1148,  1149,  1155,  1159,  1161,  1163,  1165,  1170,  1175,  1180,
1037 <    1185,  1190,  1191,  1198,  1199,  1205,  1209,  1211,  1213,  1216,
1038 <    1218,  1220,  1222,  1224,  1226,  1231,  1236,  1237,  1244,  1247,
1039 <    1249,  1251,  1253,  1255,  1260,  1265,  1271,  1274,  1276,  1278,
1040 <    1280,  1285,  1286,  1293,  1294,  1300,  1304,  1306,  1308,  1311,
1041 <    1313,  1315,  1317,  1319,  1321,  1326,  1331,  1337,  1340,  1342,
1042 <    1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,
1043 <    1364,  1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,
1044 <    1384,  1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1402,
1045 <    1404,  1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,
1046 <    1424,  1426,  1428,  1430,  1432,  1434,  1436,  1438,  1440,  1442,
1047 <    1447,  1452,  1457,  1462,  1467,  1472,  1477,  1482,  1487,  1492,
1048 <    1497,  1502,  1507,  1512,  1517,  1522,  1527,  1532,  1537,  1542,
1049 <    1547,  1552,  1557,  1562,  1567,  1572,  1577,  1582,  1587,  1592,
1050 <    1597,  1602,  1607,  1612,  1617,  1622,  1627,  1632,  1637,  1642,
1051 <    1647,  1652,  1657,  1662,  1667,  1672,  1673,  1679,  1683,  1685,
1052 <    1687,  1689,  1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,
1053 <    1707,  1709,  1711,  1713,  1715,  1717,  1719,  1721,  1723,  1725,
1054 <    1726,  1732,  1736,  1738,  1740,  1742,  1744,  1746,  1748,  1750,
1055 <    1752,  1754,  1756,  1758,  1760,  1762,  1764,  1766,  1768,  1770,
1056 <    1772,  1774,  1776,  1778,  1783,  1788,  1793,  1799,  1802,  1804,
1057 <    1806,  1808,  1810,  1812,  1814,  1816,  1818,  1820,  1822,  1824,
1058 <    1826,  1828,  1830,  1832,  1834,  1839,  1844,  1849,  1854,  1859,
1059 <    1864,  1869,  1874,  1879,  1884,  1889,  1894,  1899,  1904,  1910,
1060 <    1913,  1915,  1917,  1919,  1921,  1923,  1925,  1927,  1929,  1934,
1061 <    1939,  1944,  1949,  1954
1062 < };
1063 <
1064 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1065 < static const yytype_int16 yyrhs[] =
1066 < {
1067 <     229,     0,    -1,    -1,   229,   230,    -1,   264,    -1,   270,
1068 <      -1,   284,    -1,   492,    -1,   302,    -1,   325,    -1,   339,
1069 <      -1,   240,    -1,   509,    -1,   354,    -1,   361,    -1,   365,
1070 <      -1,   375,    -1,   384,    -1,   404,    -1,   414,    -1,   420,
1071 <      -1,   434,    -1,   424,    -1,   235,    -1,     1,   223,    -1,
1072 <       1,   224,    -1,    -1,   232,    -1,   105,   231,    -1,   105,
1073 <     143,   231,    -1,   105,   144,   231,    -1,   105,   145,   231,
1074 <      -1,   105,   146,   231,    -1,   105,   147,   231,    -1,   105,
1075 <     148,   231,    -1,   105,   149,   231,    -1,    -1,   234,    -1,
1076 <     105,   233,    -1,   105,     9,   233,    -1,   105,    10,   233,
1077 <      -1,   105,    11,   233,    -1,    94,   225,   236,   224,   223,
1078 <      -1,   236,   237,    -1,   237,    -1,   238,    -1,   239,    -1,
1079 <       1,   223,    -1,    93,   226,   123,   223,    -1,   119,   226,
1080 <     123,   223,    -1,   153,   225,   241,   224,   223,    -1,   241,
1081 <     242,    -1,   242,    -1,   253,    -1,   258,    -1,   263,    -1,
1082 <     255,    -1,   256,    -1,   257,    -1,   260,    -1,   261,    -1,
1083 <     262,    -1,   251,    -1,   250,    -1,   259,    -1,   254,    -1,
1084 <     249,    -1,   243,    -1,   244,    -1,   252,    -1,     1,   223,
1085 <      -1,   137,   226,   245,   223,    -1,   138,   226,   247,   223,
1086 <      -1,   245,   227,   246,    -1,   246,    -1,   139,    -1,   140,
1087 <      -1,   247,   227,   248,    -1,   248,    -1,   139,    -1,   140,
1088 <      -1,   135,   226,   123,   223,    -1,   133,   226,   123,   223,
1089 <      -1,   136,   226,   123,   223,    -1,   178,   226,   123,   223,
1090 <      -1,    95,   226,   123,   223,    -1,   154,   226,   123,   223,
1091 <      -1,    24,   226,   123,   223,    -1,    98,   226,   123,   223,
1092 <      -1,    97,   226,   123,   223,    -1,   217,   226,   123,   223,
1093 <      -1,   218,   226,   123,   223,    -1,   188,   226,   105,   223,
1094 <      -1,    80,   226,   105,   223,    -1,    84,   226,   105,   223,
1095 <      -1,    57,   226,   167,   223,    -1,     4,   225,   265,   224,
1096 <     223,    -1,   265,   266,    -1,   266,    -1,   267,    -1,   269,
1097 <      -1,   268,    -1,     1,   223,    -1,    95,   226,   123,   223,
1098 <      -1,    31,   226,   123,   223,    -1,    24,   226,   123,   223,
1099 <      -1,    71,   225,   271,   224,   223,    -1,   271,   272,    -1,
1100 <     272,    -1,   273,    -1,   274,    -1,     1,   223,    -1,   216,
1101 <     226,   167,   223,    -1,    -1,   275,   222,   225,   276,   224,
1102 <     223,    -1,   276,   277,    -1,   277,    -1,   278,    -1,   280,
1103 <      -1,   279,    -1,     1,   223,    -1,    95,   226,   123,   223,
1104 <      -1,   221,   226,   234,   223,    -1,   221,   226,   202,   223,
1105 <      -1,    -1,   158,   281,   226,   282,   223,    -1,   282,   227,
1106 <     283,    -1,   283,    -1,   214,    -1,   108,    -1,    40,    -1,
1107 <     181,    -1,    64,    -1,    62,    -1,   180,    -1,    -1,   108,
1108 <     285,   225,   286,   224,   223,    -1,   286,   287,    -1,   287,
1109 <      -1,   288,    -1,   289,    -1,   290,    -1,   294,    -1,   293,
1110 <      -1,   291,    -1,   292,    -1,   298,    -1,     1,   223,    -1,
1111 <      95,   226,   123,   223,    -1,   214,   226,   123,   223,    -1,
1112 <     118,   226,   123,   223,    -1,    32,   226,   167,   223,    -1,
1113 <     134,   226,   123,   223,    -1,    17,   226,   123,   223,    -1,
1114 <      -1,   199,   295,   226,   296,   223,    -1,   296,   227,   297,
1115 <      -1,   297,    -1,   173,    -1,   176,    -1,   177,    -1,   179,
1116 <      -1,   180,    -1,   183,    -1,    51,    -1,   196,    -1,   189,
1117 <      -1,   192,    -1,   200,    -1,   197,    -1,   182,    -1,   190,
1118 <      -1,   194,    -1,   184,    -1,   206,    -1,   174,    -1,   175,
1119 <      -1,   187,    -1,    -1,    36,   299,   226,   300,   223,    -1,
1120 <     300,   227,   301,    -1,   301,    -1,    47,    -1,   130,    -1,
1121 <      64,    -1,   213,    -1,   181,    -1,   201,    -1,   219,    -1,
1122 <      40,    -1,    25,    -1,   208,    -1,   129,    -1,     4,    -1,
1123 <     100,    -1,   190,    -1,   205,    -1,   112,    -1,   131,    -1,
1124 <     195,    -1,    93,    -1,    -1,    17,   303,   225,   304,   224,
1125 <     223,    -1,   304,   305,    -1,   305,    -1,   306,    -1,   316,
1126 <      -1,   317,    -1,   307,    -1,   318,    -1,   308,    -1,   309,
1127 <      -1,   310,    -1,   311,    -1,   312,    -1,   313,    -1,   314,
1128 <      -1,   315,    -1,   319,    -1,   320,    -1,   321,    -1,     1,
1129 <     223,    -1,    95,   226,   123,   223,    -1,   121,   226,   232,
1130 <     223,    -1,   107,   226,   105,   223,    -1,    19,   226,   232,
1131 <     223,    -1,    82,   226,   105,   223,    -1,    76,   226,   105,
1132 <     223,    -1,    78,   226,   105,   223,    -1,    77,   226,   105,
1133 <     223,    -1,   150,   226,   234,   223,    -1,   191,   226,   234,
1134 <     223,    -1,    15,   226,   105,   223,    -1,    16,   226,   105,
1135 <     223,    -1,   106,   226,   105,   223,    -1,    89,   226,   232,
1136 <     223,    -1,    90,   226,   232,   223,    -1,    -1,    36,   322,
1137 <     226,   323,   223,    -1,   323,   227,   324,    -1,   324,    -1,
1138 <      91,    -1,    92,    -1,    -1,    70,   326,   225,   331,   224,
1139 <     223,    -1,    -1,    36,   328,   226,   329,   223,    -1,   329,
1140 <     227,   330,    -1,   330,    -1,   198,    -1,    51,    -1,   193,
1141 <      -1,   331,   332,    -1,   332,    -1,   333,    -1,   327,    -1,
1142 <     337,    -1,   338,    -1,     1,   223,    -1,    -1,   122,   226,
1143 <     335,   334,   223,    -1,   335,   227,   336,    -1,   336,    -1,
1144 <     105,    -1,   105,   171,   105,    -1,    61,   226,   123,   223,
1145 <      -1,    56,   226,   123,   223,    -1,    -1,    48,   340,   225,
1146 <     341,   224,   223,    -1,   341,   342,    -1,   342,    -1,   343,
1147 <      -1,   344,    -1,   345,    -1,   347,    -1,   351,    -1,   352,
1148 <      -1,   353,    -1,   346,    -1,     1,   223,    -1,   214,   226,
1149 <     123,   223,    -1,   118,   226,   123,   223,    -1,    17,   226,
1150 <     123,   223,    -1,    32,   226,   167,   223,    -1,    -1,    36,
1151 <     348,   226,   349,   223,    -1,   349,   227,   350,    -1,   350,
1152 <      -1,   161,    -1,    33,    -1,    65,    -1,    49,    -1,    13,
1153 <      -1,   104,    -1,    43,    -1,   142,    -1,   207,    -1,    96,
1154 <      -1,   160,   226,   123,   223,    -1,   127,   226,   123,   223,
1155 <      -1,   126,   226,   105,   223,    -1,    -1,   141,   355,   225,
1156 <     356,   224,   223,    -1,   356,   357,    -1,   357,    -1,   358,
1157 <      -1,   359,    -1,   360,    -1,     1,   223,    -1,   125,   226,
1158 <     123,   223,    -1,    14,   226,   123,   223,    -1,    99,   226,
1159 <     123,   223,    -1,   209,   225,   362,   224,   223,    -1,   362,
1160 <     363,    -1,   363,    -1,   364,    -1,     1,    -1,    95,   226,
1161 <     123,   223,    -1,    -1,   156,   366,   225,   367,   224,   223,
1162 <      -1,   367,   368,    -1,   368,    -1,   369,    -1,   370,    -1,
1163 <     371,    -1,     1,   223,    -1,    95,   226,   123,   223,    -1,
1164 <     214,   226,   123,   223,    -1,    -1,   158,   372,   226,   373,
1165 <     223,    -1,   373,   227,   374,    -1,   374,    -1,    64,    -1,
1166 <     213,    -1,   181,    -1,   201,    -1,   219,    -1,   204,    -1,
1167 <     141,    -1,   203,    -1,   187,    -1,   172,    -1,    -1,   157,
1168 <     376,   225,   377,   224,   223,    -1,   377,   378,    -1,   378,
1169 <      -1,   379,    -1,   380,    -1,     1,   223,    -1,    95,   226,
1170 <     123,   223,    -1,    -1,   158,   381,   226,   382,   223,    -1,
1171 <     382,   227,   383,    -1,   383,    -1,    64,    -1,   213,    -1,
1172 <     181,    -1,   201,    -1,   219,    -1,   204,    -1,   141,    -1,
1173 <     203,    -1,   187,    -1,   172,    -1,    -1,    18,   385,   225,
1174 <     386,   224,   223,    -1,   386,   387,    -1,   387,    -1,   388,
1175 <      -1,   389,    -1,   390,    -1,   391,    -1,   392,    -1,   394,
1176 <      -1,   393,    -1,   403,    -1,   395,    -1,   400,    -1,   401,
1177 <      -1,   402,    -1,   399,    -1,     1,   223,    -1,    95,   226,
1178 <     123,   223,    -1,    56,   226,   123,   223,    -1,   217,   226,
1179 <     123,   223,    -1,   151,   226,   123,   223,    -1,     3,   226,
1180 <     123,   223,    -1,   122,   226,   105,   223,    -1,     5,   226,
1181 <     185,   223,    -1,     5,   226,   186,   223,    -1,    -1,    36,
1182 <     396,   226,   397,   223,    -1,   397,   227,   398,    -1,   398,
1183 <      -1,     8,    -1,   198,    -1,    32,   226,   167,   223,    -1,
1184 <      58,   226,   123,   223,    -1,    68,   226,   123,   223,    -1,
1185 <      17,   226,   123,   223,    -1,   178,   226,   123,   223,    -1,
1186 <      -1,    62,   405,   225,   410,   224,   223,    -1,    -1,   158,
1187 <     407,   226,   408,   223,    -1,   408,   227,   409,    -1,   409,
1188 <      -1,   128,    -1,   410,   411,    -1,   411,    -1,   412,    -1,
1189 <     413,    -1,   406,    -1,     1,    -1,   214,   226,   123,   223,
1190 <      -1,   125,   226,   123,   223,    -1,    -1,    23,   415,   225,
1191 <     416,   224,   223,    -1,   416,   417,    -1,   417,    -1,   418,
1192 <      -1,   419,    -1,     1,    -1,    61,   226,   123,   223,    -1,
1193 <     125,   226,   123,   223,    -1,    34,   225,   421,   224,   223,
1194 <      -1,   421,   422,    -1,   422,    -1,   423,    -1,     1,    -1,
1195 <      61,   226,   123,   223,    -1,    -1,    38,   425,   225,   430,
1196 <     224,   223,    -1,    -1,   158,   427,   226,   428,   223,    -1,
1197 <     428,   227,   429,    -1,   429,    -1,   128,    -1,   430,   431,
1198 <      -1,   431,    -1,   432,    -1,   433,    -1,   426,    -1,     1,
1199 <      -1,    95,   226,   123,   223,    -1,   125,   226,   123,   223,
1200 <      -1,    39,   225,   435,   224,   223,    -1,   435,   436,    -1,
1201 <     436,    -1,   445,    -1,   446,    -1,   448,    -1,   449,    -1,
1202 <     450,    -1,   451,    -1,   452,    -1,   453,    -1,   454,    -1,
1203 <     455,    -1,   444,    -1,   457,    -1,   458,    -1,   473,    -1,
1204 <     460,    -1,   462,    -1,   464,    -1,   463,    -1,   467,    -1,
1205 <     461,    -1,   468,    -1,   469,    -1,   470,    -1,   471,    -1,
1206 <     472,    -1,   485,    -1,   474,    -1,   475,    -1,   476,    -1,
1207 <     481,    -1,   465,    -1,   466,    -1,   491,    -1,   489,    -1,
1208 <     490,    -1,   447,    -1,   480,    -1,   456,    -1,   478,    -1,
1209 <     479,    -1,   443,    -1,   438,    -1,   439,    -1,   440,    -1,
1210 <     441,    -1,   442,    -1,   459,    -1,   437,    -1,   477,    -1,
1211 <       1,    -1,    85,   226,   105,   223,    -1,    42,   226,   167,
1212 <     223,    -1,    41,   226,   232,   223,    -1,    44,   226,   232,
1213 <     223,    -1,    45,   226,   105,   223,    -1,    46,   226,   105,
1214 <     223,    -1,   155,   226,   167,   223,    -1,    63,   226,   232,
1215 <     223,    -1,    55,   226,   167,   223,    -1,    59,   226,   167,
1216 <     223,    -1,    28,   226,   167,   223,    -1,    35,   226,   167,
1217 <     223,    -1,     6,   226,   167,   223,    -1,    81,   226,   232,
1218 <     223,    -1,    79,   226,   105,   223,    -1,    72,   226,   105,
1219 <     223,    -1,     7,   226,   232,   223,    -1,   170,   226,   232,
1220 <     223,    -1,   169,   226,   232,   223,    -1,    50,   226,   105,
1221 <     223,    -1,    60,   226,   167,   223,    -1,   220,   226,   167,
1222 <     223,    -1,   162,   226,   167,   223,    -1,   165,   226,   167,
1223 <     223,    -1,   166,   226,   167,   223,    -1,   164,   226,   167,
1224 <     223,    -1,   164,   226,   168,   223,    -1,   163,   226,   167,
1225 <     223,    -1,   163,   226,   168,   223,    -1,   116,   226,   232,
1226 <     223,    -1,    12,   226,   232,   223,    -1,   109,   226,   167,
1227 <     223,    -1,   117,   226,   232,   223,    -1,   159,   226,   167,
1228 <     223,    -1,   103,   226,   167,   223,    -1,   212,   226,   167,
1229 <     223,    -1,   111,   226,   167,   223,    -1,    86,   226,   123,
1230 <     223,    -1,    29,   226,   105,   223,    -1,    83,   226,   105,
1231 <     223,    -1,   215,   226,   167,   223,    -1,    30,   226,   123,
1232 <     223,    -1,   210,   226,   123,   223,    -1,   120,   226,   167,
1233 <     223,    -1,    26,   226,   167,   223,    -1,   211,   226,   232,
1234 <     223,    -1,    -1,   113,   482,   226,   483,   223,    -1,   483,
1235 <     227,   484,    -1,   484,    -1,   173,    -1,   176,    -1,   177,
1236 <      -1,   179,    -1,   180,    -1,   183,    -1,    51,    -1,   196,
1237 <      -1,   189,    -1,   192,    -1,   200,    -1,   197,    -1,   182,
1238 <      -1,   190,    -1,   194,    -1,   184,    -1,   206,    -1,   174,
1239 <      -1,   175,    -1,   187,    -1,    -1,   110,   486,   226,   487,
1240 <     223,    -1,   487,   227,   488,    -1,   488,    -1,   173,    -1,
1241 <     176,    -1,   177,    -1,   179,    -1,   180,    -1,   183,    -1,
1242 <     196,    -1,    51,    -1,   189,    -1,   192,    -1,   200,    -1,
1243 <     197,    -1,   182,    -1,   190,    -1,   194,    -1,   184,    -1,
1244 <     206,    -1,   174,    -1,   175,    -1,   187,    -1,    87,   226,
1245 <     105,   223,    -1,    88,   226,   105,   223,    -1,    20,   226,
1246 <     105,   223,    -1,    14,   225,   493,   224,   223,    -1,   493,
1247 <     494,    -1,   494,    -1,   502,    -1,   497,    -1,   498,    -1,
1248 <     499,    -1,   500,    -1,   501,    -1,   503,    -1,   504,    -1,
1249 <     505,    -1,   496,    -1,   506,    -1,   507,    -1,   508,    -1,
1250 <     495,    -1,     1,    -1,    27,   226,   167,   223,    -1,   132,
1251 <     226,   167,   223,    -1,    66,   226,   232,   223,    -1,    67,
1252 <     226,   232,   223,    -1,    75,   226,   105,   223,    -1,    74,
1253 <     226,   105,   223,    -1,   124,   226,   167,   223,    -1,    73,
1254 <     226,   105,   223,    -1,    22,   226,   105,   223,    -1,    21,
1255 <     226,   105,   223,    -1,   101,   226,   167,   223,    -1,   102,
1256 <     226,   167,   223,    -1,   114,   226,   105,   223,    -1,   115,
1257 <     226,   232,   223,    -1,   152,   225,   510,   224,   223,    -1,
1258 <     510,   511,    -1,   511,    -1,   512,    -1,   513,    -1,   515,
1259 <      -1,   516,    -1,   514,    -1,   517,    -1,     1,    -1,    37,
1260 <     226,   167,   223,    -1,    54,   226,   167,   223,    -1,    52,
1261 <     226,   123,   223,    -1,    69,   226,   232,   223,    -1,    51,
1262 <     226,   167,   223,    -1,    53,   226,   167,   223,    -1
1263 < };
1264 <
1265 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1017 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1018   static const yytype_uint16 yyrline[] =
1019   {
1020 <       0,   364,   364,   365,   368,   369,   370,   371,   372,   373,
1021 <     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
1022 <     384,   385,   386,   387,   388,   389,   393,   393,   394,   398,
1023 <     402,   406,   410,   414,   418,   422,   428,   428,   429,   430,
1024 <     431,   432,   439,   442,   442,   443,   443,   443,   445,   451,
1025 <     458,   460,   460,   461,   461,   462,   462,   463,   463,   464,
1026 <     464,   465,   465,   466,   466,   467,   467,   468,   468,   469,
1027 <     470,   473,   474,   476,   476,   477,   483,   491,   491,   492,
1028 <     498,   506,   548,   607,   635,   643,   658,   673,   682,   696,
1029 <     705,   733,   763,   788,   810,   832,   841,   843,   843,   844,
1030 <     844,   845,   845,   847,   856,   865,   877,   878,   878,   880,
1031 <     880,   881,   883,   890,   890,   903,   904,   906,   906,   907,
1032 <     907,   909,   917,   920,   926,   925,   931,   931,   932,   936,
1033 <     940,   944,   948,   952,   956,   967,   966,  1043,  1043,  1044,
1034 <    1044,  1044,  1045,  1045,  1045,  1046,  1046,  1046,  1048,  1054,
1035 <    1060,  1066,  1077,  1083,  1090,  1089,  1095,  1095,  1096,  1100,
1036 <    1104,  1108,  1112,  1116,  1120,  1124,  1128,  1132,  1136,  1140,
1037 <    1144,  1148,  1152,  1156,  1160,  1164,  1168,  1172,  1179,  1178,
1038 <    1184,  1184,  1185,  1189,  1193,  1197,  1201,  1205,  1209,  1213,
1039 <    1217,  1221,  1225,  1229,  1233,  1237,  1241,  1245,  1249,  1253,
1040 <    1257,  1268,  1267,  1328,  1328,  1329,  1330,  1330,  1331,  1332,
1041 <    1333,  1334,  1335,  1336,  1337,  1338,  1339,  1339,  1340,  1341,
1042 <    1342,  1343,  1345,  1351,  1357,  1363,  1369,  1375,  1381,  1387,
1043 <    1393,  1399,  1406,  1412,  1418,  1424,  1433,  1443,  1442,  1448,
1044 <    1448,  1449,  1453,  1464,  1463,  1470,  1469,  1474,  1474,  1475,
1045 <    1479,  1483,  1489,  1489,  1490,  1490,  1490,  1490,  1490,  1492,
1046 <    1492,  1494,  1494,  1496,  1510,  1530,  1536,  1546,  1545,  1587,
1047 <    1587,  1588,  1588,  1588,  1588,  1589,  1589,  1589,  1590,  1590,
1048 <    1592,  1598,  1604,  1610,  1622,  1621,  1627,  1627,  1628,  1632,
1049 <    1636,  1640,  1644,  1648,  1652,  1656,  1660,  1664,  1670,  1684,
1050 <    1693,  1707,  1706,  1715,  1715,  1716,  1716,  1716,  1716,  1718,
1051 <    1724,  1733,  1742,  1744,  1744,  1745,  1745,  1747,  1763,  1762,
1052 <    1787,  1787,  1788,  1788,  1788,  1788,  1790,  1796,  1816,  1815,
1053 <    1821,  1821,  1822,  1826,  1830,  1834,  1838,  1842,  1846,  1850,
1054 <    1854,  1858,  1868,  1867,  1888,  1888,  1889,  1889,  1889,  1891,
1055 <    1898,  1897,  1903,  1903,  1904,  1908,  1912,  1916,  1920,  1924,
1056 <    1928,  1932,  1936,  1940,  1950,  1949,  2015,  2015,  2016,  2016,
1057 <    2016,  2017,  2017,  2018,  2018,  2018,  2019,  2019,  2019,  2020,
1058 <    2020,  2021,  2023,  2029,  2035,  2041,  2054,  2067,  2073,  2077,
1059 <    2086,  2085,  2090,  2090,  2091,  2095,  2101,  2112,  2118,  2124,
1060 <    2130,  2146,  2145,  2208,  2207,  2213,  2213,  2214,  2220,  2220,
1061 <    2221,  2221,  2221,  2221,  2223,  2243,  2253,  2252,  2279,  2279,
1062 <    2280,  2280,  2280,  2282,  2288,  2297,  2299,  2299,  2300,  2300,
1063 <    2302,  2320,  2319,  2365,  2364,  2370,  2370,  2371,  2377,  2377,
1064 <    2378,  2378,  2378,  2378,  2380,  2386,  2395,  2398,  2398,  2399,
1065 <    2399,  2400,  2400,  2401,  2401,  2402,  2402,  2403,  2403,  2404,
1066 <    2405,  2406,  2406,  2407,  2407,  2408,  2408,  2409,  2409,  2410,
1067 <    2410,  2411,  2411,  2412,  2413,  2413,  2414,  2414,  2415,  2415,
1068 <    2416,  2416,  2417,  2417,  2418,  2419,  2419,  2420,  2421,  2422,
1069 <    2422,  2423,  2423,  2424,  2425,  2426,  2427,  2427,  2428,  2431,
1070 <    2436,  2442,  2448,  2454,  2459,  2464,  2469,  2474,  2479,  2484,
1071 <    2489,  2494,  2499,  2504,  2509,  2514,  2519,  2524,  2530,  2541,
1072 <    2546,  2551,  2556,  2561,  2566,  2569,  2574,  2577,  2582,  2587,
1073 <    2592,  2597,  2602,  2607,  2612,  2617,  2622,  2633,  2638,  2643,
1074 <    2648,  2657,  2666,  2671,  2676,  2682,  2681,  2686,  2686,  2687,
1075 <    2690,  2693,  2696,  2699,  2702,  2705,  2708,  2711,  2714,  2717,
1076 <    2720,  2723,  2726,  2729,  2732,  2735,  2738,  2741,  2744,  2750,
1077 <    2749,  2754,  2754,  2755,  2758,  2761,  2764,  2767,  2770,  2773,
1078 <    2776,  2779,  2782,  2785,  2788,  2791,  2794,  2797,  2800,  2803,
1079 <    2806,  2809,  2812,  2817,  2822,  2827,  2836,  2839,  2839,  2840,
1080 <    2841,  2841,  2842,  2842,  2843,  2843,  2844,  2845,  2845,  2846,
1081 <    2847,  2847,  2848,  2848,  2850,  2855,  2860,  2865,  2870,  2875,
1082 <    2880,  2885,  2890,  2895,  2900,  2905,  2910,  2915,  2923,  2926,
1083 <    2926,  2927,  2927,  2928,  2929,  2929,  2930,  2931,  2933,  2939,
1084 <    2945,  2954,  2968,  2974
1020 >       0,   375,   375,   376,   379,   380,   381,   382,   383,   384,
1021 >     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1022 >     395,   396,   397,   398,   399,   400,   401,   402,   406,   406,
1023 >     407,   408,   409,   410,   411,   412,   413,   414,   417,   417,
1024 >     418,   419,   420,   421,   428,   430,   430,   431,   431,   431,
1025 >     433,   439,   449,   451,   451,   452,   453,   454,   455,   456,
1026 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1027 >     467,   468,   469,   472,   481,   490,   499,   508,   517,   526,
1028 >     541,   556,   566,   580,   589,   617,   645,   670,   692,   714,
1029 >     724,   726,   726,   727,   728,   729,   730,   732,   741,   750,
1030 >     764,   763,   781,   781,   782,   782,   782,   784,   790,   801,
1031 >     800,   819,   819,   820,   820,   820,   820,   820,   822,   828,
1032 >     834,   840,   862,   863,   863,   865,   865,   866,   868,   875,
1033 >     875,   888,   889,   891,   891,   892,   892,   894,   902,   905,
1034 >     911,   910,   916,   916,   917,   921,   925,   929,   933,   937,
1035 >     941,   945,   956,   955,  1016,  1016,  1017,  1018,  1019,  1020,
1036 >    1021,  1022,  1023,  1024,  1025,  1026,  1027,  1029,  1035,  1041,
1037 >    1047,  1053,  1064,  1070,  1081,  1088,  1087,  1093,  1093,  1094,
1038 >    1098,  1102,  1106,  1110,  1114,  1118,  1122,  1126,  1130,  1134,
1039 >    1138,  1142,  1146,  1150,  1154,  1158,  1162,  1166,  1170,  1174,
1040 >    1178,  1185,  1184,  1190,  1190,  1191,  1195,  1199,  1203,  1207,
1041 >    1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,  1243,  1247,
1042 >    1251,  1255,  1259,  1263,  1267,  1271,  1275,  1279,  1283,  1287,
1043 >    1291,  1295,  1299,  1303,  1314,  1313,  1369,  1369,  1370,  1371,
1044 >    1372,  1373,  1374,  1375,  1376,  1377,  1378,  1379,  1380,  1381,
1045 >    1382,  1383,  1384,  1385,  1386,  1388,  1394,  1400,  1406,  1412,
1046 >    1418,  1424,  1430,  1436,  1442,  1449,  1455,  1461,  1467,  1476,
1047 >    1486,  1485,  1491,  1491,  1492,  1496,  1507,  1506,  1513,  1512,
1048 >    1517,  1517,  1518,  1522,  1526,  1532,  1532,  1533,  1533,  1533,
1049 >    1533,  1533,  1535,  1535,  1537,  1537,  1539,  1552,  1569,  1575,
1050 >    1586,  1585,  1631,  1631,  1632,  1633,  1634,  1635,  1636,  1637,
1051 >    1638,  1639,  1640,  1642,  1648,  1654,  1660,  1672,  1671,  1677,
1052 >    1677,  1678,  1682,  1686,  1690,  1694,  1698,  1702,  1706,  1710,
1053 >    1714,  1720,  1734,  1743,  1757,  1756,  1771,  1771,  1772,  1772,
1054 >    1772,  1772,  1774,  1780,  1786,  1796,  1798,  1798,  1799,  1799,
1055 >    1801,  1818,  1817,  1840,  1840,  1841,  1841,  1841,  1841,  1843,
1056 >    1849,  1869,  1868,  1874,  1874,  1875,  1879,  1883,  1887,  1891,
1057 >    1895,  1899,  1903,  1907,  1911,  1922,  1921,  1940,  1940,  1941,
1058 >    1941,  1941,  1943,  1950,  1949,  1955,  1955,  1956,  1960,  1964,
1059 >    1968,  1972,  1976,  1980,  1984,  1988,  1992,  2003,  2002,  2074,
1060 >    2074,  2075,  2076,  2077,  2078,  2079,  2080,  2081,  2082,  2083,
1061 >    2084,  2085,  2086,  2087,  2088,  2089,  2091,  2097,  2103,  2109,
1062 >    2122,  2135,  2141,  2147,  2151,  2158,  2157,  2162,  2162,  2163,
1063 >    2167,  2173,  2184,  2190,  2196,  2202,  2218,  2217,  2243,  2243,
1064 >    2244,  2244,  2244,  2246,  2266,  2277,  2276,  2303,  2303,  2304,
1065 >    2304,  2304,  2306,  2312,  2322,  2324,  2324,  2325,  2325,  2327,
1066 >    2345,  2344,  2365,  2365,  2366,  2366,  2366,  2368,  2374,  2384,
1067 >    2386,  2386,  2387,  2388,  2389,  2390,  2391,  2392,  2393,  2394,
1068 >    2395,  2396,  2397,  2398,  2399,  2400,  2401,  2402,  2403,  2404,
1069 >    2405,  2406,  2407,  2408,  2409,  2410,  2411,  2412,  2413,  2414,
1070 >    2415,  2416,  2417,  2418,  2419,  2420,  2421,  2422,  2423,  2424,
1071 >    2425,  2426,  2427,  2428,  2429,  2430,  2431,  2432,  2433,  2434,
1072 >    2437,  2442,  2447,  2452,  2457,  2463,  2468,  2473,  2478,  2483,
1073 >    2488,  2493,  2498,  2503,  2508,  2513,  2518,  2523,  2528,  2533,
1074 >    2539,  2544,  2549,  2554,  2559,  2564,  2569,  2574,  2577,  2582,
1075 >    2585,  2590,  2595,  2600,  2605,  2610,  2615,  2620,  2625,  2630,
1076 >    2635,  2640,  2645,  2651,  2650,  2655,  2655,  2656,  2659,  2662,
1077 >    2665,  2668,  2671,  2674,  2677,  2680,  2683,  2686,  2689,  2692,
1078 >    2695,  2698,  2701,  2704,  2707,  2710,  2713,  2716,  2719,  2725,
1079 >    2724,  2729,  2729,  2730,  2733,  2736,  2739,  2742,  2745,  2748,
1080 >    2751,  2754,  2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,
1081 >    2781,  2784,  2787,  2792,  2797,  2802,  2807,  2816,  2818,  2818,
1082 >    2819,  2820,  2821,  2822,  2823,  2824,  2825,  2826,  2827,  2828,
1083 >    2829,  2830,  2831,  2832,  2833,  2835,  2840,  2845,  2850,  2855,
1084 >    2860,  2865,  2870,  2875,  2880,  2885,  2890,  2895,  2900,  2909,
1085 >    2911,  2911,  2912,  2913,  2914,  2915,  2916,  2917,  2918,  2919,
1086 >    2920,  2921,  2923,  2929,  2945,  2954,  2960,  2966,  2972,  2981,
1087 >    2987
1088   };
1089   #endif
1090  
# Line 1339 | Line 1094 | static const yytype_uint16 yyrline[] =
1094   static const char *const yytname[] =
1095   {
1096    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1097 <  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1098 <  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1099 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1100 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1101 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1102 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1103 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1104 <  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1105 <  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1106 <  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1107 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1108 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1109 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1110 <  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1111 <  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1112 <  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1113 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1114 <  "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER",
1115 <  "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH", "MESSAGE_LOCALE",
1116 <  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MIN_IDLE", "MAX_IDLE",
1117 <  "RANDOM_IDLE", "HIDE_IDLE_FROM_OPERS", "MODULE", "MODULES", "NAME",
1118 <  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1119 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1120 <  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1121 <  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1122 <  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1123 <  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1124 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1125 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1126 <  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1127 <  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1128 <  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1129 <  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS",
1130 <  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1131 <  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1132 <  "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1133 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1134 <  "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1135 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1136 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1137 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1138 <  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1139 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1140 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1141 <  "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART", "T_SERVICE",
1142 <  "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE",
1143 <  "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1144 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1145 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1146 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1147 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1148 <  "serverinfo_item", "serverinfo_ssl_client_method",
1149 <  "serverinfo_ssl_server_method", "client_method_types",
1150 <  "client_method_type_item", "server_method_types",
1151 <  "server_method_type_item", "serverinfo_ssl_certificate_file",
1097 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1098 >  "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1099 >  "CAN_FLOOD", "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS",
1100 >  "CLOSE", "CONNECT", "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE",
1101 >  "DEFAULT_FLOODCOUNT", "DEFAULT_FLOODTIME", "DEFAULT_JOIN_FLOOD_COUNT",
1102 >  "DEFAULT_JOIN_FLOOD_TIME", "DEFAULT_MAX_CLIENTS", "DENY", "DESCRIPTION",
1103 >  "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1104 >  "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR", "DLINE_MIN_CIDR6",
1105 >  "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1106 >  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "FLATTEN_LINKS_DELAY",
1107 >  "FLATTEN_LINKS_FILE", "GECOS", "GENERAL", "HIDDEN", "HIDDEN_NAME",
1108 >  "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS",
1109 >  "HIDE_SERVERS", "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK",
1110 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT",
1111 >  "INVITE_CLIENT_TIME", "INVITE_DELAY_CHANNEL", "INVITE_EXPIRE_TIME", "IP",
1112 >  "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN", "KILL",
1113 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR",
1114 >  "KLINE_MIN_CIDR6", "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME",
1115 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LISTEN", "MASK", "MAX_ACCEPT",
1116 >  "MAX_BANS", "MAX_BANS_LARGE", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDLE",
1117 >  "MAX_INVITES", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1118 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1119 >  "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1120 >  "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1121 >  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_OPER_FLOOD", "NO_TILDE",
1122 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1123 >  "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1124 >  "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1125 >  "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1126 >  "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1127 >  "RSA_PRIVATE_KEY_FILE", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1128 >  "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ", "SERVERHIDE", "SERVERINFO",
1129 >  "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "SQUIT", "SSL_CERTIFICATE_FILE",
1130 >  "SSL_CERTIFICATE_FINGERPRINT", "SSL_CONNECTION_REQUIRED",
1131 >  "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1132 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1133 >  "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY", "STATS_O_OPER_ONLY",
1134 >  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1135 >  "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF", "T_DEBUG",
1136 >  "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1137 >  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_NCHANGE",
1138 >  "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ", "T_REJ",
1139 >  "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1140 >  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1141 >  "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1142 >  "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1143 >  "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1144 >  "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1145 >  "TWODOTS", "TYPE", "UNKLINE", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1146 >  "WARN_NO_CONNECT_BLOCK", "WHOIS", "WHOWAS_HISTORY_LENGTH", "XLINE",
1147 >  "XLINE_EXEMPT", "';'", "'}'", "'{'", "'='", "','", "':'", "$accept",
1148 >  "conf", "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1149 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1150 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1151 >  "serverinfo_item", "serverinfo_ssl_certificate_file",
1152    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1153 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1153 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1154 >  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1155    "serverinfo_description", "serverinfo_network_name",
1156    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1157 <  "serverinfo_max_clients", "serverinfo_max_nick_length",
1157 >  "serverinfo_default_max_clients", "serverinfo_max_nick_length",
1158    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1159    "admin_items", "admin_item", "admin_name", "admin_email",
1160 <  "admin_description", "logging_entry", "logging_items", "logging_item",
1161 <  "logging_use_logging", "logging_file_entry", "$@1", "logging_file_items",
1160 >  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1161 >  "motd_mask", "motd_file", "pseudo_entry", "$@2", "pseudo_items",
1162 >  "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1163 >  "pseudo_target", "logging_entry", "logging_items", "logging_item",
1164 >  "logging_use_logging", "logging_file_entry", "$@3", "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",
1166 >  "logging_file_type", "$@4", "logging_file_type_items",
1167 >  "logging_file_type_item", "oper_entry", "$@5", "oper_items", "oper_item",
1168 >  "oper_name", "oper_user", "oper_password", "oper_whois",
1169 >  "oper_encrypted", "oper_ssl_certificate_fingerprint",
1170 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@6",
1171 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@7",
1172 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@8",
1173    "class_items", "class_item", "class_name", "class_ping_time",
1174 <  "class_number_per_ip", "class_connectfreq", "class_max_number",
1175 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1174 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1175 >  "class_max_number", "class_max_global", "class_max_local", "class_sendq",
1176    "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1177    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1178 <  "class_flags", "$@7", "class_flags_items", "class_flags_item",
1179 <  "listen_entry", "$@8", "listen_flags", "$@9", "listen_flags_items",
1178 >  "class_flags", "$@9", "class_flags_items", "class_flags_item",
1179 >  "listen_entry", "$@10", "listen_flags", "$@11", "listen_flags_items",
1180    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1181 <  "$@10", "port_items", "port_item", "listen_address", "listen_host",
1182 <  "auth_entry", "$@11", "auth_items", "auth_item", "auth_user",
1183 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@12",
1181 >  "$@12", "port_items", "port_item", "listen_address", "listen_host",
1182 >  "auth_entry", "$@13", "auth_items", "auth_item", "auth_user",
1183 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@14",
1184    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1185 <  "auth_redir_port", "resv_entry", "$@13", "resv_items", "resv_item",
1186 <  "resv_creason", "resv_channel", "resv_nick", "service_entry",
1187 <  "service_items", "service_item", "service_name", "shared_entry", "$@14",
1185 >  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1186 >  "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1187 >  "service_items", "service_item", "service_name", "shared_entry", "$@16",
1188    "shared_items", "shared_item", "shared_name", "shared_user",
1189 <  "shared_type", "$@15", "shared_types", "shared_type_item",
1190 <  "cluster_entry", "$@16", "cluster_items", "cluster_item", "cluster_name",
1191 <  "cluster_type", "$@17", "cluster_types", "cluster_type_item",
1192 <  "connect_entry", "$@18", "connect_items", "connect_item", "connect_name",
1189 >  "shared_type", "$@17", "shared_types", "shared_type_item",
1190 >  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1191 >  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1192 >  "connect_entry", "$@20", "connect_items", "connect_item", "connect_name",
1193    "connect_host", "connect_vhost", "connect_send_password",
1194 <  "connect_accept_password", "connect_port", "connect_aftype",
1195 <  "connect_flags", "$@19", "connect_flags_items", "connect_flags_item",
1196 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1197 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@20",
1198 <  "kill_type", "$@21", "kill_type_items", "kill_type_item", "kill_items",
1199 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1194 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1195 >  "connect_port", "connect_aftype", "connect_flags", "$@21",
1196 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1197 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1198 >  "connect_ssl_cipher_list", "kill_entry", "$@22", "kill_items",
1199 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@23",
1200    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1201 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1442 <  "gecos_flags", "$@24", "gecos_flags_items", "gecos_flags_item",
1201 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@24",
1202    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1203 <  "general_entry", "general_items", "general_item", "general_max_watch",
1204 <  "general_gline_enable", "general_gline_duration",
1205 <  "general_gline_request_duration", "general_gline_min_cidr",
1206 <  "general_gline_min_cidr6", "general_tkline_expire_notices",
1207 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1208 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1209 <  "general_failed_oper_notice", "general_anti_nick_flood",
1210 <  "general_max_nick_time", "general_max_nick_changes",
1211 <  "general_max_accept", "general_anti_spam_exit_message_time",
1212 <  "general_ts_warn_delta", "general_ts_max_delta",
1213 <  "general_havent_read_conf", "general_invisible_on_connect",
1214 <  "general_warn_no_nline", "general_stats_e_disabled",
1215 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1203 >  "general_entry", "general_items", "general_item", "general_away_count",
1204 >  "general_away_time", "general_max_watch",
1205 >  "general_whowas_history_length", "general_cycle_on_host_change",
1206 >  "general_dline_min_cidr", "general_dline_min_cidr6",
1207 >  "general_kline_min_cidr", "general_kline_min_cidr6",
1208 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1209 >  "general_ignore_bogus_ts", "general_failed_oper_notice",
1210 >  "general_anti_nick_flood", "general_max_nick_time",
1211 >  "general_max_nick_changes", "general_max_accept",
1212 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1213 >  "general_ts_max_delta", "general_invisible_on_connect",
1214 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1215 >  "general_stats_m_oper_only", "general_stats_o_oper_only",
1216 >  "general_stats_P_oper_only", "general_stats_u_oper_only",
1217    "general_stats_k_oper_only", "general_stats_i_oper_only",
1218    "general_pace_wait", "general_caller_id_wait",
1219    "general_opers_bypass_callerid", "general_pace_wait_simple",
1220 <  "general_short_motd", "general_no_oper_flood",
1221 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1222 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1223 <  "general_use_egd", "general_egdpool_path", "general_services_name",
1224 <  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1225 <  "general_oper_umodes", "$@25", "umode_oitems", "umode_oitem",
1226 <  "general_oper_only_umodes", "$@26", "umode_items", "umode_item",
1467 <  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1468 <  "general_default_floodcount", "channel_entry", "channel_items",
1220 >  "general_short_motd", "general_no_oper_flood", "general_dots_in_ident",
1221 >  "general_max_targets", "general_ping_cookie", "general_disable_auth",
1222 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1223 >  "$@25", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1224 >  "$@26", "umode_items", "umode_item", "general_min_nonwildcard",
1225 >  "general_min_nonwildcard_simple", "general_default_floodcount",
1226 >  "general_default_floodtime", "channel_entry", "channel_items",
1227    "channel_item", "channel_disable_fake_channels",
1228 <  "channel_restrict_channels", "channel_knock_delay",
1229 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1230 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1231 <  "channel_default_split_user_count", "channel_default_split_server_count",
1232 <  "channel_no_create_on_split", "channel_no_join_on_split",
1233 <  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1234 <  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1235 <  "serverhide_hide_servers", "serverhide_hidden_name",
1236 <  "serverhide_links_delay", "serverhide_hidden",
1237 <  "serverhide_hide_server_ips", YY_NULL
1228 >  "channel_invite_client_count", "channel_invite_client_time",
1229 >  "channel_invite_delay_channel", "channel_invite_expire_time",
1230 >  "channel_knock_client_count", "channel_knock_client_time",
1231 >  "channel_knock_delay_channel", "channel_max_channels",
1232 >  "channel_max_invites", "channel_max_bans", "channel_max_bans_large",
1233 >  "channel_default_join_flood_count", "channel_default_join_flood_time",
1234 >  "serverhide_entry", "serverhide_items", "serverhide_item",
1235 >  "serverhide_flatten_links", "serverhide_flatten_links_delay",
1236 >  "serverhide_flatten_links_file", "serverhide_disable_remote_commands",
1237 >  "serverhide_hide_servers", "serverhide_hide_services",
1238 >  "serverhide_hidden_name", "serverhide_hidden",
1239 >  "serverhide_hide_server_ips", YY_NULLPTR
1240   };
1241   #endif
1242  
1243   # ifdef YYPRINT
1244 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1245 <   token YYLEX-NUM.  */
1244 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1245 >   (internal) symbol number NUM (which must be that of a token).  */
1246   static const yytype_uint16 yytoknum[] =
1247   {
1248         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1507 | Line 1267 | static const yytype_uint16 yytoknum[] =
1267       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1268       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1269       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1270 <     475,   476,   477,    59,   125,   123,    61,    44
1270 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1271 >     485,    59,   125,   123,    61,    44,    58
1272   };
1273   # endif
1274  
1275 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1515 < static const yytype_uint16 yyr1[] =
1516 < {
1517 <       0,   228,   229,   229,   230,   230,   230,   230,   230,   230,
1518 <     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
1519 <     230,   230,   230,   230,   230,   230,   231,   231,   232,   232,
1520 <     232,   232,   232,   232,   232,   232,   233,   233,   234,   234,
1521 <     234,   234,   235,   236,   236,   237,   237,   237,   238,   239,
1522 <     240,   241,   241,   242,   242,   242,   242,   242,   242,   242,
1523 <     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
1524 <     242,   243,   244,   245,   245,   246,   246,   247,   247,   248,
1525 <     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1526 <     258,   259,   260,   261,   262,   263,   264,   265,   265,   266,
1527 <     266,   266,   266,   267,   268,   269,   270,   271,   271,   272,
1528 <     272,   272,   273,   275,   274,   276,   276,   277,   277,   277,
1529 <     277,   278,   279,   279,   281,   280,   282,   282,   283,   283,
1530 <     283,   283,   283,   283,   283,   285,   284,   286,   286,   287,
1531 <     287,   287,   287,   287,   287,   287,   287,   287,   288,   289,
1532 <     290,   291,   292,   293,   295,   294,   296,   296,   297,   297,
1533 <     297,   297,   297,   297,   297,   297,   297,   297,   297,   297,
1534 <     297,   297,   297,   297,   297,   297,   297,   297,   299,   298,
1535 <     300,   300,   301,   301,   301,   301,   301,   301,   301,   301,
1536 <     301,   301,   301,   301,   301,   301,   301,   301,   301,   301,
1537 <     301,   303,   302,   304,   304,   305,   305,   305,   305,   305,
1538 <     305,   305,   305,   305,   305,   305,   305,   305,   305,   305,
1539 <     305,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1540 <     314,   315,   316,   317,   318,   319,   320,   322,   321,   323,
1541 <     323,   324,   324,   326,   325,   328,   327,   329,   329,   330,
1542 <     330,   330,   331,   331,   332,   332,   332,   332,   332,   334,
1543 <     333,   335,   335,   336,   336,   337,   338,   340,   339,   341,
1544 <     341,   342,   342,   342,   342,   342,   342,   342,   342,   342,
1545 <     343,   344,   345,   346,   348,   347,   349,   349,   350,   350,
1546 <     350,   350,   350,   350,   350,   350,   350,   350,   351,   352,
1547 <     353,   355,   354,   356,   356,   357,   357,   357,   357,   358,
1548 <     359,   360,   361,   362,   362,   363,   363,   364,   366,   365,
1549 <     367,   367,   368,   368,   368,   368,   369,   370,   372,   371,
1550 <     373,   373,   374,   374,   374,   374,   374,   374,   374,   374,
1551 <     374,   374,   376,   375,   377,   377,   378,   378,   378,   379,
1552 <     381,   380,   382,   382,   383,   383,   383,   383,   383,   383,
1553 <     383,   383,   383,   383,   385,   384,   386,   386,   387,   387,
1554 <     387,   387,   387,   387,   387,   387,   387,   387,   387,   387,
1555 <     387,   387,   388,   389,   390,   391,   392,   393,   394,   394,
1556 <     396,   395,   397,   397,   398,   398,   399,   400,   401,   402,
1557 <     403,   405,   404,   407,   406,   408,   408,   409,   410,   410,
1558 <     411,   411,   411,   411,   412,   413,   415,   414,   416,   416,
1559 <     417,   417,   417,   418,   419,   420,   421,   421,   422,   422,
1560 <     423,   425,   424,   427,   426,   428,   428,   429,   430,   430,
1561 <     431,   431,   431,   431,   432,   433,   434,   435,   435,   436,
1562 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1563 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1564 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1565 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
1566 <     436,   436,   436,   436,   436,   436,   436,   436,   436,   437,
1567 <     438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1568 <     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
1569 <     458,   459,   460,   461,   462,   462,   463,   463,   464,   465,
1570 <     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1571 <     476,   477,   478,   479,   480,   482,   481,   483,   483,   484,
1572 <     484,   484,   484,   484,   484,   484,   484,   484,   484,   484,
1573 <     484,   484,   484,   484,   484,   484,   484,   484,   484,   486,
1574 <     485,   487,   487,   488,   488,   488,   488,   488,   488,   488,
1575 <     488,   488,   488,   488,   488,   488,   488,   488,   488,   488,
1576 <     488,   488,   488,   489,   490,   491,   492,   493,   493,   494,
1577 <     494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
1578 <     494,   494,   494,   494,   495,   496,   497,   498,   499,   500,
1579 <     501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
1580 <     510,   511,   511,   511,   511,   511,   511,   511,   512,   513,
1581 <     514,   515,   516,   517
1582 < };
1275 > #define YYPACT_NINF -749
1276  
1277 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1278 < static const yytype_uint8 yyr2[] =
1277 > #define yypact_value_is_default(Yystate) \
1278 >  (!!((Yystate) == (-749)))
1279 >
1280 > #define YYTABLE_NINF -130
1281 >
1282 > #define yytable_value_is_error(Yytable_value) \
1283 >  0
1284 >
1285 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1286 >     STATE-NUM.  */
1287 > static const yytype_int16 yypact[] =
1288   {
1289 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1290 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1291 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1292 <       3,     3,     3,     3,     3,     3,     0,     1,     2,     3,
1293 <       3,     3,     5,     2,     1,     1,     1,     2,     4,     4,
1294 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1295 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1296 <       2,     4,     4,     3,     1,     1,     1,     3,     1,     1,
1297 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1298 <       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1299 <       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1300 <       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1301 <       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1302 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1303 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1304 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1305 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1306 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1307 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1308 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1309 <       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1310 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1311 <       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1312 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1313 <       1,     1,     1,     0,     6,     0,     5,     3,     1,     1,
1314 <       1,     1,     2,     1,     1,     1,     1,     1,     2,     0,
1315 <       5,     3,     1,     1,     3,     4,     4,     0,     6,     2,
1316 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1317 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1318 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1319 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1320 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1321 <       2,     1,     1,     1,     1,     2,     4,     4,     0,     5,
1322 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1323 <       1,     1,     0,     6,     2,     1,     1,     1,     2,     4,
1324 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1325 <       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1326 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1327 <       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1328 <       0,     5,     3,     1,     1,     1,     4,     4,     4,     4,
1329 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1330 <       1,     1,     1,     1,     4,     4,     0,     6,     2,     1,
1331 <       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
1332 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1333 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1334 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1335 <       1,     1,     1,     1,     1,     1,     1,     1,     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,     4,
1339 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1340 <       4,     4,     4,     4,     4,     4,     4,     4,     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,     0,     5,     3,     1,     1,
1344 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1345 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1346 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1347 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1348 <       1,     1,     1,     4,     4,     4,     5,     2,     1,     1,
1349 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1350 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1351 <       4,     4,     4,     4,     4,     4,     4,     4,     5,     2,
1352 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1353 <       4,     4,     4,     4
1289 >    -749,   715,  -749,  -202,  -215,  -195,  -749,  -749,  -749,  -189,
1290 >    -749,  -181,  -749,  -749,  -749,  -179,  -749,  -749,  -749,  -161,
1291 >    -149,  -749,  -146,  -749,   -73,  -749,  -749,  -749,  -749,  -749,
1292 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1293 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1294 >    -749,    23,   891,   -70,   -64,   -63,    11,   -53,   387,   -50,
1295 >     -38,   -37,   107,   -32,   -20,    -9,   937,   551,    40,    19,
1296 >      45,    22,    48,     9,    -1,    26,    32,     2,  -749,  -749,
1297 >    -749,  -749,  -749,    71,    77,    88,    93,    95,   102,   108,
1298 >     115,   116,   122,   123,   124,   128,   129,   276,  -749,  -749,
1299 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1300 >    -749,  -749,  -749,   661,   570,    41,  -749,   132,    14,  -749,
1301 >    -749,    15,  -749,   133,   137,   138,   139,   140,   141,   148,
1302 >     150,   155,   157,   158,   161,   165,   166,   168,   169,   171,
1303 >     174,   179,   180,   181,   186,   187,   191,   192,   193,  -749,
1304 >    -749,   196,   198,   199,   203,   205,   206,   215,   216,   217,
1305 >     220,   222,   229,   231,   232,   233,   234,   237,   239,   240,
1306 >      57,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1307 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1308 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1309 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1310 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,   316,
1311 >      38,   314,   159,   241,   242,    13,  -749,  -749,  -749,   156,
1312 >     367,    54,  -749,   244,   248,   250,   254,   256,   257,   263,
1313 >     264,   265,   144,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1314 >    -749,  -749,  -749,   224,   269,   273,   280,   283,   284,   292,
1315 >     293,   294,   298,   299,   301,   302,   304,   307,   309,   317,
1316 >     319,    55,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1317 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1318 >      74,   228,   321,    27,  -749,  -749,  -749,   120,   183,  -749,
1319 >     322,    18,  -749,  -749,     7,  -749,   385,   396,   417,   326,
1320 >    -749,   306,   447,    78,   448,   447,   447,   447,   451,   447,
1321 >     447,   454,   457,   461,   463,   345,  -749,   346,   344,   348,
1322 >     349,  -749,   350,   351,   352,   353,   358,   361,   363,   364,
1323 >     369,   372,   373,   376,   221,  -749,  -749,  -749,  -749,  -749,
1324 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1325 >    -749,  -749,   362,   377,   378,   380,   382,   383,   384,  -749,
1326 >     386,   388,   391,   393,   395,   398,   399,    30,  -749,  -749,
1327 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1328 >    -749,  -749,  -749,  -749,   400,   401,    25,  -749,  -749,  -749,
1329 >     505,   405,  -749,  -749,   404,   406,    21,  -749,  -749,  -749,
1330 >     427,   447,   532,   447,   447,   432,   534,   447,   435,   537,
1331 >     540,   541,   441,   443,   444,   447,   548,   549,   550,   553,
1332 >     447,   554,   555,   556,   558,   458,   437,   446,   465,   447,
1333 >     447,   470,   472,   483,  -191,  -171,   485,   488,   492,   496,
1334 >     564,   447,   497,   447,   447,   498,   592,   480,  -749,   486,
1335 >     484,   487,  -749,   489,   490,   493,   495,   499,   184,  -749,
1336 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,   501,
1337 >     503,    59,  -749,  -749,  -749,   494,   504,   507,  -749,   511,
1338 >    -749,     3,  -749,  -749,  -749,  -749,  -749,   589,   601,   508,
1339 >    -749,   518,   517,   519,    33,  -749,  -749,  -749,   524,   523,
1340 >     525,  -749,   526,   529,   531,   533,  -749,   535,   536,   225,
1341 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1342 >    -749,   546,   538,   544,   545,    10,  -749,  -749,  -749,  -749,
1343 >     520,   568,   447,   605,   571,   641,   575,   578,   586,   572,
1344 >    -749,  -749,   657,   676,   594,   683,   671,   701,   688,   689,
1345 >     693,   695,   696,   697,   702,   703,   704,   707,   708,   595,
1346 >    -749,   603,   609,  -749,    64,  -749,  -749,  -749,  -749,   632,
1347 >     614,  -749,   185,   615,   613,   616,   617,   618,    61,  -749,
1348 >    -749,  -749,  -749,  -749,   728,   623,  -749,   624,   622,  -749,
1349 >     630,    35,  -749,  -749,  -749,  -749,   636,   638,   640,  -749,
1350 >     643,   700,   646,   647,   648,   649,   651,   652,   655,   656,
1351 >     662,   663,   664,   667,   668,  -749,  -749,   761,   777,   447,
1352 >     666,   795,   802,   447,   804,   809,   447,   798,   814,   815,
1353 >     447,   817,   817,   698,  -749,  -749,   805,    89,   807,   721,
1354 >     816,   818,   705,   819,   820,   823,   821,   824,   825,   826,
1355 >     709,  -749,   831,   832,   717,  -749,   727,  -749,   834,   835,
1356 >     730,  -749,   731,   732,   733,   734,   735,   739,   741,   742,
1357 >     746,   747,   752,   753,   756,   757,   758,   762,   763,   764,
1358 >     765,   766,   767,   768,   769,   770,   771,   772,   626,   692,
1359 >     773,   774,   775,   776,   778,   779,   780,   781,   782,   783,
1360 >     784,   785,   786,   787,   788,   789,   790,   791,   792,   793,
1361 >     794,  -749,  -749,   883,   822,   796,   901,   916,   903,   904,
1362 >     906,   801,  -749,   908,   910,   806,  -749,  -749,   911,   913,
1363 >     808,   928,   810,  -749,   812,   813,  -749,  -749,   915,   920,
1364 >     827,  -749,  -749,   921,   836,   828,   922,   924,   925,   839,
1365 >     829,   927,   929,   830,  -749,  -749,   930,   931,   932,   833,
1366 >    -749,   837,   838,   840,   841,   842,   843,   844,   845,   846,
1367 >    -749,   847,   848,   849,   850,   851,   852,   853,   854,   855,
1368 >     856,   857,   858,   859,   860,   861,   862,   863,  -749,  -749,
1369 >     934,   864,   865,  -749,   866,  -749,    56,  -749,   935,   940,
1370 >     941,   942,   868,  -749,   869,  -749,  -749,   945,   867,   970,
1371 >     871,  -749,  -749,  -749,  -749,  -749,   447,   447,   447,   447,
1372 >     447,   447,   447,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1373 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,   872,   873,
1374 >     874,   -15,   875,   876,   877,   878,   879,   880,   881,   882,
1375 >     884,   885,   287,   886,   887,  -749,   888,   889,   890,   892,
1376 >     893,   894,   895,     5,   896,   897,   898,   899,   900,   902,
1377 >     905,  -749,   907,   909,  -749,  -749,   912,   914,  -749,  -749,
1378 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1379 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1380 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1381 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1382 >    -749,  -749,  -749,  -749,  -749,  -188,  -749,  -749,  -749,  -749,
1383 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1384 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -185,
1385 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1386 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1387 >    -749,  -749,   917,   918,   420,   919,   923,   926,   933,   936,
1388 >    -749,   938,   939,  -749,   943,   944,     0,   946,   947,  -749,
1389 >    -749,  -749,  -749,   948,   949,  -749,   950,   952,   491,   953,
1390 >     954,   955,   956,   738,   957,   958,  -749,   959,   960,   961,
1391 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1392 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1393 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,   962,   308,  -749,
1394 >    -749,   963,   964,   965,  -749,    16,  -749,  -749,  -749,  -749,
1395 >     966,   969,   971,   972,  -749,  -749,   973,   359,   974,  -749,
1396 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1397 >    -749,  -749,  -158,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1398 >    -749,  -749,  -749,  -749,   817,   817,   817,  -749,  -749,  -749,
1399 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1400 >    -157,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1401 >    -749,  -749,  -749,  -749,   626,  -749,   692,  -749,  -749,  -749,
1402 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -135,
1403 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1404 >    -749,  -749,  -749,  -133,  -749,  1003,   928,   975,  -749,  -749,
1405 >    -749,  -749,  -749,  -749,   976,  -749,   977,   978,  -749,  -749,
1406 >     979,   980,  -749,  -749,   981,  -749,  -749,  -749,  -749,  -749,
1407 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,   -95,  -749,  -749,
1408 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1409 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1410 >    -749,  -749,  -749,  -749,  -749,   -10,  -749,  -749,  -749,  -749,
1411 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1412 >    -749,  -749,  -749,    66,  -749,  -749,   997,   -84,   967,   987,
1413 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1414 >    -749,  -749,  -749,  -749,  -749,  -749,    85,  -749,  -749,  -749,
1415 >     -15,  -749,  -749,  -749,  -749,     5,  -749,  -749,  -749,   420,
1416 >    -749,     0,  -749,  -749,  -749,  1001,  1002,  1006,  1008,  1011,
1417 >    1013,  -749,   491,  -749,   738,  -749,   308,   988,   989,   990,
1418 >     271,  -749,  -749,   359,  -749,  -749,  -749,  -749,  -749,  -749,
1419 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1420 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,    90,  -749,
1421 >    -749,  -749,   271,  -749
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,   234,   397,   445,     0,
1430 >     460,     0,   300,   436,   276,     0,   100,   152,   334,     0,
1431 >       0,   375,     0,   109,     0,   351,     3,    23,    11,     4,
1432 >      24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1433 >      16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1434 >      27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1435         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1436 +       0,     0,     0,     0,     0,     0,     0,     0,    92,    93,
1437 +      95,    94,   634,     0,     0,     0,     0,     0,     0,     0,
1438 +       0,     0,     0,     0,     0,     0,     0,     0,   619,   633,
1439 +     622,   623,   624,   625,   626,   627,   628,   629,   630,   620,
1440 +     621,   631,   632,     0,     0,     0,   458,     0,     0,   456,
1441 +     457,     0,   519,     0,     0,     0,     0,     0,     0,     0,
1442         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1443 <       0,     0,    98,    99,   101,   100,   613,     0,     0,     0,
1443 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   589,
1444 >     563,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1445         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1446 <       0,     0,   598,   612,   608,   600,   601,   602,   603,   604,
1447 <     599,   605,   606,   607,   609,   610,   611,     0,     0,     0,
1448 <     429,     0,     0,   427,   428,     0,   498,     0,     0,     0,
1446 >       0,   471,   472,   473,   517,   480,   518,   512,   513,   514,
1447 >     515,   511,   484,   474,   475,   476,   477,   478,   479,   481,
1448 >     482,   483,   485,   486,   516,   490,   491,   492,   493,   489,
1449 >     488,   494,   501,   502,   495,   496,   497,   487,   499,   509,
1450 >     510,   507,   508,   500,   498,   505,   506,   503,   504,     0,
1451 >       0,     0,     0,     0,     0,     0,    46,    47,    48,     0,
1452 >       0,     0,   661,     0,     0,     0,     0,     0,     0,     0,
1453 >       0,     0,     0,   651,   652,   653,   654,   655,   656,   657,
1454 >     659,   658,   660,     0,     0,     0,     0,     0,     0,     0,
1455         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1456 +       0,     0,    54,    69,    66,    64,    70,    71,    65,    55,
1457 +      68,    58,    59,    60,    56,    67,    61,    62,    63,    57,
1458 +       0,     0,     0,     0,   124,   125,   126,     0,     0,   349,
1459 +       0,     0,   347,   348,     0,    96,     0,     0,     0,     0,
1460 +      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1461 +       0,     0,     0,     0,     0,     0,   618,     0,     0,     0,
1462 +       0,   270,     0,     0,     0,     0,     0,     0,     0,     0,
1463 +       0,     0,     0,     0,     0,   237,   238,   241,   243,   244,
1464 +     245,   246,   247,   248,   249,   250,   239,   240,   242,   251,
1465 +     252,   253,     0,     0,     0,     0,     0,     0,     0,   425,
1466 +       0,     0,     0,     0,     0,     0,     0,     0,   400,   401,
1467 +     402,   403,   404,   405,   406,   408,   407,   410,   414,   411,
1468 +     412,   413,   409,   451,     0,     0,     0,   448,   449,   450,
1469 +       0,     0,   455,   466,     0,     0,     0,   463,   464,   465,
1470         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1673       0,     0,     0,     0,     0,     0,   569,     0,   545,     0,
1471         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1675       0,     0,     0,     0,     0,     0,     0,   448,   496,   490,
1676     491,   492,   493,   494,   489,   459,   449,   450,   484,   451,
1677     452,   453,   454,   455,   456,   457,   458,   486,   460,   461,
1678     495,   463,   468,   464,   466,   465,   479,   480,   467,   469,
1679     470,   471,   472,   473,   462,   475,   476,   477,   497,   487,
1680     488,   485,   478,   474,   482,   483,   481,     0,     0,     0,
1681       0,     0,     0,   108,   109,   110,     0,     0,     0,     0,
1682       0,    44,    45,    46,     0,     0,   637,     0,     0,     0,
1683       0,     0,     0,     0,   630,   631,   632,   635,   633,   634,
1684     636,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1472         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1686      52,    67,    68,    66,    63,    62,    69,    53,    65,    56,
1687      57,    58,    54,    64,    59,    60,    61,    55,     0,     0,
1688     316,     0,     0,   314,   315,   102,     0,     0,     0,     0,
1689      97,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1690       0,     0,     0,     0,     0,     0,   597,     0,     0,     0,
1691       0,   237,     0,     0,     0,     0,     0,     0,     0,     0,
1692       0,     0,     0,     0,     0,   204,   205,   208,   210,   211,
1693     212,   213,   214,   215,   216,   217,   206,   207,   209,   218,
1694     219,   220,     0,     0,     0,     0,     0,   390,     0,     0,
1695       0,     0,     0,     0,     0,     0,     0,   367,   368,   369,
1696     370,   371,   372,   374,   373,   376,   380,   377,   378,   379,
1697     375,   422,     0,     0,     0,   419,   420,   421,     0,     0,
1698     426,   443,     0,     0,   433,   442,     0,   439,   440,   441,
1473         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1474 +       0,     0,     0,     0,     0,     0,     0,     0,   470,     0,
1475 +       0,     0,   317,     0,     0,     0,     0,     0,     0,   303,
1476 +     304,   305,   306,   311,   307,   308,   309,   310,   442,     0,
1477 +       0,     0,   439,   440,   441,     0,     0,     0,   278,     0,
1478 +     288,     0,   286,   287,   289,   290,    49,     0,     0,     0,
1479 +      45,     0,     0,     0,     0,   103,   104,   105,     0,     0,
1480 +       0,   201,     0,     0,     0,     0,   175,     0,     0,     0,
1481 +     155,   156,   157,   158,   159,   162,   163,   164,   161,   160,
1482 +     165,     0,     0,     0,     0,     0,   337,   338,   339,   340,
1483         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484 +     650,    72,     0,     0,     0,     0,     0,     0,     0,     0,
1485         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1486 +      53,     0,     0,   383,     0,   378,   379,   380,   127,     0,
1487 +       0,   123,     0,     0,     0,     0,     0,     0,     0,   112,
1488 +     113,   115,   114,   116,     0,     0,   346,     0,     0,   361,
1489 +       0,     0,   354,   355,   356,   357,     0,     0,     0,    90,
1490 +       0,    28,     0,     0,     0,     0,     0,     0,     0,     0,
1491 +       0,     0,     0,     0,     0,   617,   254,     0,     0,     0,
1492         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1493 +       0,     0,     0,     0,   236,   415,     0,     0,     0,     0,
1494         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1495 <     447,     0,     0,     0,   284,     0,     0,     0,     0,     0,
1496 <       0,   270,   271,   272,   273,   278,   274,   275,   276,   277,
1706 <     413,     0,   403,     0,   412,     0,   409,   410,   411,     0,
1707 <     245,     0,     0,     0,   255,     0,   253,   254,   256,   257,
1708 <     111,     0,     0,   107,     0,    47,     0,     0,     0,    43,
1709 <       0,     0,     0,   178,     0,     0,     0,   154,     0,     0,
1710 <     138,   139,   140,   141,   144,   145,   143,   142,   146,     0,
1711 <       0,     0,     0,     0,   304,   305,   306,   307,     0,     0,
1712 <       0,     0,     0,     0,     0,   629,    70,     0,     0,     0,
1495 >       0,   399,     0,     0,     0,   447,     0,   454,     0,     0,
1496 >       0,   462,     0,     0,     0,     0,     0,     0,     0,     0,
1497         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1714       0,     0,     0,     0,     0,    51,     0,     0,   328,     0,
1715       0,   321,   322,   323,   324,     0,     0,   350,     0,   345,
1716     346,   347,     0,     0,   313,     0,     0,     0,    96,     0,
1717       0,     0,    26,     0,     0,     0,     0,     0,     0,     0,
1718       0,     0,     0,     0,   596,   221,     0,     0,     0,     0,
1498         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720       0,     0,     0,   203,   381,     0,     0,     0,     0,     0,
1721       0,     0,     0,     0,     0,     0,     0,     0,     0,   366,
1722       0,     0,     0,   418,     0,   425,     0,     0,     0,     0,
1723     438,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1501 +       0,   469,   312,     0,     0,     0,     0,     0,     0,     0,
1502 +       0,     0,   302,     0,     0,     0,   438,   291,     0,     0,
1503 +       0,     0,     0,   285,     0,     0,    44,   106,     0,     0,
1504 +       0,   102,   166,     0,     0,     0,     0,     0,     0,     0,
1505 +       0,     0,     0,     0,   154,   341,     0,     0,     0,     0,
1506 +     336,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507 +     649,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1508 +       0,     0,     0,     0,     0,     0,     0,     0,    52,   381,
1509 +       0,     0,     0,   377,     0,   122,     0,   117,     0,     0,
1510 +       0,     0,     0,   111,     0,   345,   358,     0,     0,     0,
1511 +       0,   353,    99,    98,    97,   647,    28,    28,    28,    28,
1512 +      28,    28,    28,    30,    29,   648,   635,   636,   637,   638,
1513 +     639,   640,   641,   642,   645,   646,   643,   644,     0,     0,
1514         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1515 +       0,     0,    38,     0,     0,   235,     0,     0,     0,     0,
1516         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1517 <       0,     0,   446,   279,     0,     0,     0,     0,     0,     0,
1518 <       0,     0,     0,   269,     0,     0,     0,     0,   408,   258,
1519 <       0,     0,     0,     0,     0,   252,     0,   106,     0,     0,
1520 <       0,    42,   147,     0,     0,     0,     0,     0,     0,     0,
1521 <       0,     0,   137,   308,     0,     0,     0,     0,   303,     0,
1522 <       0,     0,     0,     0,     0,   628,     0,     0,     0,     0,
1523 <       0,     0,     0,     0,     0,     0,    75,    76,     0,    74,
1524 <      79,    80,     0,    78,     0,     0,     0,     0,     0,    50,
1525 <     325,     0,     0,     0,     0,   320,   348,     0,     0,     0,
1526 <     344,     0,   312,   105,   104,   103,   623,   622,   614,    26,
1527 <      26,    26,    26,    26,    26,    26,    28,    27,   616,   617,
1528 <     621,   619,   618,   624,   625,   626,   627,   620,   615,     0,
1529 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1530 <       0,     0,     0,    36,     0,     0,   202,     0,     0,     0,
1531 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1532 <       0,   365,     0,     0,   417,   430,     0,     0,     0,   432,
1533 <     511,   515,   529,   595,   543,   509,   537,   540,   510,   501,
1534 <     500,   502,   503,   504,   518,   507,   508,   519,   506,   514,
1535 <     513,   512,   538,   499,   536,   593,   594,   533,   530,   580,
1536 <     573,   590,   591,   574,   575,   576,   577,   585,   578,   588,
1537 <     592,   581,   586,   582,   587,   579,   584,   583,   589,     0,
1538 <     572,   535,   555,   549,   566,   567,   550,   551,   552,   553,
1539 <     561,   554,   564,   568,   557,   562,   558,   563,   556,   560,
1540 <     559,   565,     0,   548,   528,   531,   542,   505,   532,   521,
1541 <     526,   527,   524,   525,   522,   523,   517,   516,   541,   544,
1542 <     534,   539,   520,     0,     0,     0,     0,     0,     0,     0,
1543 <       0,   268,     0,     0,     0,   402,     0,     0,     0,   263,
1544 <     259,   262,   244,   112,     0,     0,   124,     0,     0,   116,
1545 <     117,   119,   118,    48,    49,     0,     0,     0,     0,     0,
1546 <       0,     0,     0,   136,     0,     0,     0,   302,   638,   642,
1547 <     640,   643,   639,   641,    87,    95,    93,    94,    85,    89,
1548 <      88,    82,    81,    83,    71,     0,    72,     0,    86,    84,
1549 <      92,    90,    91,     0,     0,     0,   319,     0,     0,   343,
1550 <     317,    29,    30,    31,    32,    33,    34,    35,   232,   233,
1551 <     225,   241,   242,     0,   240,   227,   229,   228,   226,   235,
1552 <     236,   222,   234,   224,   223,    36,    36,    36,    38,    37,
1553 <     230,   231,   386,   388,   389,   399,   396,   394,   395,     0,
1554 <     393,   383,   397,   398,   382,   387,   385,   400,   384,   423,
1555 <     424,   444,   445,   437,     0,   436,   570,     0,   546,     0,
1556 <     282,   283,   292,   289,   294,   291,   290,   297,   293,   295,
1557 <     288,   296,     0,   287,   281,   300,   299,   298,   280,   415,
1558 <     407,     0,   406,   414,   250,   251,   249,     0,   248,   266,
1559 <     265,     0,     0,     0,   120,     0,     0,     0,     0,   115,
1560 <     153,   151,   193,   190,   189,   182,   184,   200,   194,   197,
1561 <     192,   183,   198,   186,   195,   199,   187,   196,   191,   185,
1773 <     188,     0,   181,   148,   150,   152,   164,   158,   175,   176,
1774 <     159,   160,   161,   162,   170,   163,   173,   177,   166,   171,
1775 <     167,   172,   165,   169,   168,   174,     0,   157,   149,   310,
1776 <     311,   309,    73,    77,   326,   332,   338,   341,   334,   340,
1777 <     335,   339,   337,   333,   336,     0,   331,   327,   349,   354,
1778 <     360,   363,   356,   362,   357,   361,   359,   355,   358,     0,
1779 <     353,   238,     0,    39,    40,    41,   391,     0,   434,     0,
1780 <     571,   547,   285,     0,   404,     0,   246,     0,   264,   261,
1781 <     260,     0,     0,     0,     0,   114,   179,     0,   155,     0,
1782 <     329,     0,   351,     0,   239,   392,   435,   286,   405,   247,
1783 <     121,   130,   133,   132,   129,   134,   131,   128,     0,   127,
1784 <     123,   122,   180,   156,   330,   352,   125,     0,   126
1517 >       0,   398,     0,     0,   446,   459,     0,     0,   461,   533,
1518 >     537,   520,   521,   552,   524,   615,   616,   560,   525,   526,
1519 >     557,   532,   531,   540,   530,   527,   528,   536,   535,   534,
1520 >     558,   522,   613,   614,   556,   599,   593,   609,   594,   595,
1521 >     596,   604,   612,   597,   606,   610,   600,   611,   601,   605,
1522 >     598,   608,   603,   602,   607,     0,   592,   572,   573,   574,
1523 >     567,   585,   568,   569,   570,   580,   588,   571,   582,   586,
1524 >     576,   587,   577,   581,   575,   584,   579,   578,   583,     0,
1525 >     566,   553,   551,   554,   559,   555,   542,   549,   550,   547,
1526 >     548,   543,   544,   545,   546,   561,   562,   529,   539,   538,
1527 >     541,   523,     0,     0,     0,     0,     0,     0,     0,     0,
1528 >     301,     0,     0,   437,     0,     0,     0,   296,   292,   295,
1529 >     277,    50,    51,     0,     0,   101,     0,     0,     0,     0,
1530 >       0,     0,     0,     0,     0,     0,   153,     0,     0,     0,
1531 >     335,   665,   662,   663,   664,   669,   668,   670,   666,   667,
1532 >      86,    81,    89,    80,    87,    88,    79,    83,    82,    74,
1533 >      73,    78,    75,    77,    76,    84,    85,     0,     0,   376,
1534 >     128,     0,     0,     0,   140,     0,   132,   133,   135,   134,
1535 >       0,     0,     0,     0,   110,   350,     0,     0,     0,   352,
1536 >      31,    32,    33,    34,    35,    36,    37,   265,   266,   258,
1537 >     275,   274,     0,   273,   259,   261,   269,   262,   260,   268,
1538 >     255,   267,   257,   256,    38,    38,    38,    40,    39,   263,
1539 >     264,   420,   423,   424,   434,   431,   417,   432,   429,   430,
1540 >       0,   428,   433,   416,   422,   419,   421,   435,   418,   452,
1541 >     453,   467,   468,   590,     0,   564,     0,   315,   316,   326,
1542 >     322,   323,   325,   330,   327,   328,   321,   329,   324,     0,
1543 >     320,   314,   333,   332,   331,   313,   444,   443,   299,   298,
1544 >     283,   284,   282,     0,   281,     0,     0,     0,   107,   108,
1545 >     174,   171,   221,   233,   208,   217,     0,   206,   211,   227,
1546 >       0,   220,   225,   231,   210,   213,   222,   224,   228,   218,
1547 >     226,   214,   232,   216,   223,   212,   215,     0,   204,   167,
1548 >     169,   172,   173,   184,   185,   186,   179,   197,   180,   181,
1549 >     182,   192,   200,   183,   194,   198,   188,   199,   189,   193,
1550 >     187,   196,   191,   190,   195,     0,   178,   168,   170,   344,
1551 >     342,   343,   382,   387,   393,   396,   389,   395,   390,   394,
1552 >     392,   388,   391,     0,   386,   136,     0,     0,     0,     0,
1553 >     131,   119,   118,   120,   121,   359,   365,   371,   374,   367,
1554 >     373,   368,   372,   370,   366,   369,     0,   364,   360,   271,
1555 >       0,    41,    42,    43,   426,     0,   591,   565,   318,     0,
1556 >     279,     0,   297,   294,   293,     0,     0,     0,     0,     0,
1557 >       0,   202,     0,   176,     0,   384,     0,     0,     0,     0,
1558 >       0,   130,   362,     0,   272,   427,   319,   280,   207,   230,
1559 >     205,   229,   219,   209,   203,   177,   385,   137,   139,   138,
1560 >     150,   149,   145,   147,   151,   148,   144,   146,     0,   143,
1561 >     363,   141,     0,   142
1562   };
1563  
1564 < /* YYDEFGOTO[NTERM-NUM].  */
1565 < static const yytype_int16 yydefgoto[] =
1789 < {
1790 <      -1,     1,    24,   796,   797,  1048,  1049,    25,   230,   231,
1791 <     232,   233,    26,   269,   270,   271,   272,   758,   759,   762,
1792 <     763,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1793 <     282,   283,   284,   285,   286,   287,    27,    71,    72,    73,
1794 <      74,    75,    28,   222,   223,   224,   225,   226,   968,   969,
1795 <     970,   971,   972,  1116,  1248,  1249,    29,    60,   509,   510,
1796 <     511,   512,   513,   514,   515,   516,   517,   729,  1166,  1167,
1797 <     518,   725,  1141,  1142,    30,    49,   334,   335,   336,   337,
1798 <     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
1799 <     348,   349,   350,   351,   599,  1033,  1034,    31,    57,   484,
1800 <     710,  1107,  1108,   485,   486,   487,  1113,   960,   961,   488,
1801 <     489,    32,    55,   460,   461,   462,   463,   464,   465,   466,
1802 <     696,  1092,  1093,   467,   468,   469,    33,    61,   523,   524,
1803 <     525,   526,   527,    34,   292,   293,   294,    35,    64,   560,
1804 <     561,   562,   563,   564,   772,  1185,  1186,    36,    65,   568,
1805 <     569,   570,   571,   778,  1199,  1200,    37,    50,   366,   367,
1806 <     368,   369,   370,   371,   372,   373,   374,   375,   619,  1059,
1807 <    1060,   376,   377,   378,   379,   380,    38,    56,   474,   705,
1808 <    1101,  1102,   475,   476,   477,   478,    39,    51,   384,   385,
1809 <     386,   387,    40,   112,   113,   114,    41,    53,   395,   638,
1810 <    1074,  1075,   396,   397,   398,   399,    42,   166,   167,   168,
1811 <     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1812 <     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1813 <     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1814 <     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1815 <     209,   210,   211,   212,   431,   922,   923,   213,   429,   899,
1816 <     900,   214,   215,   216,    43,    91,    92,    93,    94,    95,
1817 <      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1818 <     106,    44,   243,   244,   245,   246,   247,   248,   249,   250
1819 < };
1820 <
1821 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1822 <   STATE-NUM.  */
1823 < #define YYPACT_NINF -954
1824 < static const yytype_int16 yypact[] =
1564 >  /* YYPGOTO[NTERM-NUM].  */
1565 > static const yytype_int16 yypgoto[] =
1566   {
1567 <    -954,   667,  -954,  -157,  -216,  -210,  -954,  -954,  -954,  -202,
1568 <    -954,  -199,  -954,  -954,  -954,  -196,  -188,  -954,  -954,  -183,
1569 <    -169,  -954,  -954,  -161,  -954,  -954,  -954,  -954,  -954,  -954,
1570 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1571 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,    23,   794,  -150,
1572 <    -147,  -145,    12,  -121,   408,  -115,  -105,  -100,    50,    89,
1573 <     -91,   -75,   332,   324,   -52,   -45,     6,   -53,   -39,   -19,
1574 <      -3,    19,  -954,  -954,  -954,  -954,  -954,    34,    37,    39,
1575 <      62,    69,    80,    83,    85,    97,   112,   118,   125,   131,
1576 <     142,   292,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1577 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,   621,   526,     7,
1578 <    -954,   153,    18,  -954,  -954,    31,  -954,   156,   161,   162,
1579 <     163,   165,   166,   169,   170,   171,   172,   174,   176,   177,
1580 <     179,   184,   186,   187,   197,   199,   200,   201,   203,   204,
1581 <     206,   209,   214,   215,   216,   218,  -954,   219,  -954,   220,
1582 <     221,   222,   239,   243,   247,   249,   250,   251,   255,   256,
1583 <     257,   258,   259,   260,   262,   264,   116,  -954,  -954,  -954,
1584 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1585 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1586 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1587 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1588 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,   438,   185,    27,
1589 <     -14,   271,    45,  -954,  -954,  -954,    17,    74,   272,   273,
1590 <      81,  -954,  -954,  -954,   338,   123,  -954,   275,   277,   278,
1591 <     279,   282,   283,    33,  -954,  -954,  -954,  -954,  -954,  -954,
1592 <    -954,    92,   287,   288,   294,   297,   300,   304,   306,   307,
1593 <     308,   309,   310,   312,   314,   325,   327,   328,   329,   154,
1594 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1595 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,    10,    11,
1596 <    -954,   331,    20,  -954,  -954,  -954,   343,   387,   436,   157,
1856 <    -954,   456,   461,   244,   471,   471,   474,   476,   478,   418,
1857 <     419,   483,   471,   422,   424,   369,  -954,   370,   371,   373,
1858 <     375,  -954,   376,   377,   381,   382,   384,   385,   388,   390,
1859 <     391,   399,   400,   404,   240,  -954,  -954,  -954,  -954,  -954,
1860 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1861 <    -954,  -954,   372,   407,   409,   412,   413,  -954,   416,   420,
1862 <     423,   427,   429,   433,   434,   435,    13,  -954,  -954,  -954,
1863 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1864 <    -954,  -954,   437,   440,     4,  -954,  -954,  -954,   490,   411,
1865 <    -954,  -954,   443,   446,  -954,  -954,    38,  -954,  -954,  -954,
1866 <     460,   471,   471,   539,   487,   495,   540,   527,   497,   471,
1867 <     506,   471,   569,   570,   574,   511,   515,   519,   471,   582,
1868 <     586,   471,   587,   588,   572,   591,   595,   535,   542,   486,
1869 <     546,   488,   471,   471,   550,   551,   552,   553,   -55,   -15,
1870 <     554,   555,   471,   471,   600,   471,   557,   558,   559,   507,
1871 <    -954,   508,   509,   510,  -954,   513,   514,   518,   525,   532,
1872 <      21,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1873 <    -954,   533,  -954,   538,  -954,    40,  -954,  -954,  -954,   522,
1874 <    -954,   548,   562,   566,  -954,    16,  -954,  -954,  -954,  -954,
1875 <    -954,   565,   543,  -954,   516,  -954,   610,   645,   549,  -954,
1876 <     575,   567,   576,  -954,   579,   580,   583,  -954,   584,    59,
1877 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,   577,
1878 <     592,   596,   599,    60,  -954,  -954,  -954,  -954,   609,   611,
1879 <     654,   618,   647,   471,   594,  -954,  -954,   703,   660,   723,
1880 <     729,   714,   718,   721,   724,   726,   731,   181,   223,   732,
1881 <     735,   754,   740,   741,   642,  -954,   643,   644,  -954,   646,
1882 <     110,  -954,  -954,  -954,  -954,   652,   651,  -954,    88,  -954,
1883 <    -954,  -954,   755,   657,  -954,   658,   659,   661,  -954,   662,
1884 <     663,   664,   401,   665,   668,   669,   671,   674,   675,   676,
1885 <     677,   678,   679,   680,  -954,  -954,   774,   785,   471,   681,
1886 <     788,   799,   800,   801,   471,   471,   787,   806,   807,   471,
1887 <     808,   808,   691,  -954,  -954,   792,    35,   793,   750,   693,
1888 <     797,   798,   802,   804,   817,   805,   809,   810,   700,  -954,
1889 <     811,   812,   701,  -954,   706,  -954,   813,   814,   704,   708,
1890 <    -954,   715,   716,   717,   719,   720,   722,   725,   727,   728,
1891 <     730,   733,   734,   736,   737,   738,   739,   742,   743,   744,
1892 <     745,   746,   747,   748,   749,   751,   752,   753,   756,   757,
1893 <     573,   758,   607,   759,   760,   761,   762,   763,   764,   765,
1894 <     766,   767,   768,   769,   770,   771,   772,   773,   775,   776,
1895 <     777,   778,  -954,  -954,   818,   779,   780,   821,   842,   826,
1896 <     829,   831,   781,  -954,   832,   782,   835,   784,  -954,  -954,
1897 <     783,   840,   841,   868,   789,  -954,   790,  -954,    32,   791,
1898 <     795,  -954,  -954,   854,   830,   796,   855,   879,   880,   803,
1899 <     882,   815,  -954,  -954,   887,   888,   892,   816,  -954,   819,
1900 <     820,   822,   823,   824,   825,  -954,   827,   828,   833,   834,
1901 <     836,   837,   838,   839,   843,   844,  -954,  -954,  -192,  -954,
1902 <    -954,  -954,  -187,  -954,   845,   846,   847,   848,   849,  -954,
1903 <    -954,   893,   850,   894,   851,  -954,  -954,   896,   852,   856,
1904 <    -954,   857,  -954,  -954,  -954,  -954,  -954,  -954,  -954,   471,
1905 <     471,   471,   471,   471,   471,   471,  -954,  -954,  -954,  -954,
1906 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,   858,
1907 <     859,   860,   284,   861,   862,   863,   864,   865,   866,   867,
1908 <     869,   870,   871,    87,   872,   873,  -954,   874,   875,   876,
1909 <     877,   878,    -4,   881,   883,   884,   885,   886,   889,   890,
1910 <     891,  -954,   895,   897,  -954,  -954,   898,   899,   900,  -954,
1911 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1912 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1913 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1914 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1915 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -179,
1916 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1917 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1918 <    -954,  -954,  -168,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1919 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1920 <    -954,  -954,  -954,   901,   902,   547,   903,   904,   905,   906,
1921 <     907,  -954,   908,   909,   910,  -954,   -26,   911,   912,   853,
1922 <     913,  -954,  -954,  -954,   914,   915,  -954,   916,    26,  -954,
1923 <    -954,  -954,  -954,  -954,  -954,   920,   921,   475,   922,   923,
1924 <     924,   656,   925,  -954,   926,   927,   928,  -954,  -954,  -954,
1925 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1926 <    -954,  -954,  -954,  -954,  -954,   181,  -954,   223,  -954,  -954,
1927 <    -954,  -954,  -954,   929,   428,   930,  -954,   931,   670,  -954,
1928 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1929 <    -954,  -954,  -954,  -165,  -954,  -954,  -954,  -954,  -954,  -954,
1930 <    -954,  -954,  -954,  -954,  -954,   808,   808,   808,  -954,  -954,
1931 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,   -17,
1932 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1933 <    -954,  -954,  -954,  -954,    47,  -954,  -954,   573,  -954,   607,
1934 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1935 <    -954,  -954,    71,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1936 <    -954,    77,  -954,  -954,  -954,  -954,  -954,   114,  -954,  -954,
1937 <    -954,   918,   868,   932,  -954,   917,   933,   -99,   934,  -954,
1938 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1939 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1940 <    -954,   126,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1941 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1942 <    -954,  -954,  -954,  -954,  -954,  -954,   127,  -954,  -954,  -954,
1943 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1944 <    -954,  -954,  -954,  -954,  -954,   129,  -954,  -954,  -954,  -954,
1945 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,   137,
1946 <    -954,  -954,   284,  -954,  -954,  -954,  -954,    -4,  -954,   900,
1947 <    -954,  -954,  -954,   547,  -954,   909,  -954,   -26,  -954,  -954,
1948 <    -954,   935,   237,   937,   938,  -954,  -954,   475,  -954,   656,
1949 <    -954,   428,  -954,   670,  -954,  -954,  -954,  -954,  -954,  -954,
1950 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,   150,  -954,
1951 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,   237,  -954
1567 >    -749,  -749,  -749,  -139,  -310,  -748,  -641,  -749,  -749,   951,
1568 >    -749,  -749,  -749,  -749,   968,  -749,  -749,  -749,  -749,  -749,
1569 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1570 >    -749,  -749,  -749,  -749,  1057,  -749,  -749,  -749,  -749,  -749,
1571 >    -749,   635,  -749,  -749,  -749,  -749,  -749,   559,  -749,  -749,
1572 >    -749,  -749,  -749,  -749,   760,  -749,  -749,  -749,  -749,    91,
1573 >    -749,  -749,  -749,  -749,  -749,  -170,  -749,  -749,  -749,   634,
1574 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1575 >    -749,  -129,  -749,  -749,  -749,  -131,  -749,  -749,  -749,   982,
1576 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1577 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -104,  -749,
1578 >    -749,  -749,  -749,  -749,  -113,  -749,   669,  -749,  -749,  -749,
1579 >       6,  -749,  -749,  -749,  -749,  -749,   691,  -749,  -749,  -749,
1580 >    -749,  -749,  -749,  -749,  -108,  -749,  -749,  -749,  -749,  -749,
1581 >    -749,   628,  -749,  -749,  -749,  -749,  -749,   870,  -749,  -749,
1582 >    -749,  -749,   565,  -749,  -749,  -749,  -749,  -749,  -125,  -749,
1583 >    -749,  -749,   598,  -749,  -749,  -749,  -749,  -109,  -749,  -749,
1584 >    -749,   983,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1585 >    -749,  -749,  -749,   -92,  -749,  -749,  -749,  -749,  -749,  -749,
1586 >    -749,  -749,   714,  -749,  -749,  -749,  -749,  -749,   800,  -749,
1587 >    -749,  -749,  -749,  1060,  -749,  -749,  -749,  -749,   803,  -749,
1588 >    -749,  -749,  -749,  1037,  -749,  -749,  -749,  -749,  -749,  -749,
1589 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1590 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1591 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1592 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,    82,  -749,
1593 >    -749,  -749,    86,  -749,  -749,  -749,  -749,  -749,  -749,  1114,
1594 >    -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,  -749,
1595 >    -749,  -749,  -749,  -749,  -749,  -749,   984,  -749,  -749,  -749,
1596 >    -749,  -749,  -749,  -749,  -749,  -749
1597   };
1598  
1599 < /* YYPGOTO[NTERM-NUM].  */
1600 < static const yytype_int16 yypgoto[] =
1599 >  /* YYDEFGOTO[NTERM-NUM].  */
1600 > static const yytype_int16 yydefgoto[] =
1601   {
1602 <    -954,  -954,  -954,  -577,  -302,  -953,  -610,  -954,  -954,   936,
1603 <    -954,  -954,  -954,  -954,   786,  -954,  -954,  -954,    15,  -954,
1604 <      14,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1605 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,   954,  -954,
1606 <    -954,  -954,  -954,  -954,   940,  -954,  -954,  -954,  -954,    58,
1607 <    -954,  -954,  -954,  -954,  -954,  -230,  -954,  -954,  -954,   521,
1608 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -198,
1609 <    -954,  -954,  -954,  -195,  -954,  -954,  -954,   699,  -954,  -954,
1610 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1611 <    -954,  -954,  -954,  -954,  -954,  -954,  -167,  -954,  -954,  -954,
1612 <    -954,  -954,  -181,  -954,   556,  -954,  -954,  -954,   -78,  -954,
1613 <    -954,  -954,  -954,  -954,   589,  -954,  -954,  -954,  -954,  -954,
1614 <    -954,  -954,  -160,  -954,  -954,  -954,  -954,  -954,  -954,   529,
1615 <    -954,  -954,  -954,  -954,  -954,   919,  -954,  -954,  -954,  -954,
1616 <     484,  -954,  -954,  -954,  -954,  -954,  -177,  -954,  -954,  -954,
1617 <     496,  -954,  -954,  -954,  -954,  -175,  -954,  -954,  -954,   697,
1618 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1619 <    -142,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1620 <    -954,  -140,  -954,   598,  -954,  -954,  -954,  -954,  -954,   707,
1621 <    -954,  -954,  -954,  -954,   965,  -954,  -954,  -954,  -954,  -954,
1622 <    -954,  -107,  -954,   709,  -954,  -954,  -954,  -954,   944,  -954,
1623 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1624 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1625 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1626 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1627 <    -954,  -954,  -954,  -954,  -954,  -954,    24,  -954,  -954,  -954,
1628 <      42,  -954,  -954,  -954,  -954,  -954,  1020,  -954,  -954,  -954,
1629 <    -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,  -954,
1630 <    -954,  -954,  -954,   939,  -954,  -954,  -954,  -954,  -954,  -954
1602 >      -1,     1,    26,   833,   834,  1097,  1098,    27,   225,   226,
1603 >     227,   228,    28,   271,   272,   273,   274,   275,   276,   277,
1604 >     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
1605 >     288,   289,    29,    77,    78,    79,    80,    81,    30,    63,
1606 >     504,   505,   506,   507,    31,    70,   588,   589,   590,   591,
1607 >     592,   593,    32,   293,   294,   295,   296,   297,  1055,  1056,
1608 >    1057,  1058,  1059,  1238,  1318,  1319,    33,    64,   519,   520,
1609 >     521,   522,   523,   524,   525,   526,   527,   528,   529,   760,
1610 >    1215,  1216,   530,   755,  1187,  1188,    34,    53,   344,   345,
1611 >     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
1612 >     356,   357,   358,   359,   360,   361,   630,  1082,  1083,    35,
1613 >      61,   490,   740,  1153,  1154,   491,   492,   493,  1157,   998,
1614 >     999,   494,   495,    36,    59,   468,   469,   470,   471,   472,
1615 >     473,   474,   725,  1139,  1140,   475,   476,   477,    37,    65,
1616 >     535,   536,   537,   538,   539,    38,   301,   302,   303,    39,
1617 >      72,   601,   602,   603,   604,   605,   818,  1256,  1257,    40,
1618 >      68,   574,   575,   576,   577,   801,  1233,  1234,    41,    54,
1619 >     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1620 >     387,   652,  1110,  1111,   388,   389,   390,   391,   392,    42,
1621 >      60,   481,   482,   483,   484,    43,    55,   396,   397,   398,
1622 >     399,    44,   118,   119,   120,    45,    57,   406,   407,   408,
1623 >     409,    46,   170,   171,   172,   173,   174,   175,   176,   177,
1624 >     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1625 >     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1626 >     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1627 >     208,   209,   210,   211,   212,   213,   437,   959,   960,   214,
1628 >     436,   935,   936,   215,   216,   217,   218,    47,    97,    98,
1629 >      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1630 >     109,   110,   111,   112,    48,   242,   243,   244,   245,   246,
1631 >     247,   248,   249,   250,   251,   252
1632   };
1633  
1634 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1635 <   positive, shift that token.  If negative, reduce the rule which
1636 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1991 < #define YYTABLE_NINF -114
1634 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1635 >     positive, shift that token.  If negative, reduce the rule whose
1636 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1637   static const yytype_int16 yytable[] =
1638   {
1639 <     824,   825,   583,   584,  1057,   381,   823,   290,   381,    47,
1640 <     591,   556,   565,   110,   352,    48,   353,   479,   354,   110,
1641 <      67,   290,   451,    52,    67,  1104,    54,   964,   479,    58,
1642 <     355,  1004,   391,   964,   236,  1005,  1006,    59,   452,   391,
1643 <    1007,   470,    62,    68,  1076,   356,   220,    68,  1077,   357,
1644 <      69,   220,   480,   453,    69,  1078,    63,   454,  1201,  1079,
1645 <     500,   519,  1202,   480,    66,   382,    45,    46,   382,   358,
1646 <     237,   359,   481,   111,   520,   107,   501,   482,   108,   111,
1647 <     109,   360,   227,   481,   238,   239,   240,   241,   482,   565,
1648 <     227,   502,  1203,  1204,  1205,   503,  1045,  1046,  1047,   642,
1649 <     643,   291,   242,  1223,   115,   557,   566,   650,   361,   652,
1650 <     217,   556,   679,   680,    70,   291,   659,   116,    70,   662,
1651 <     218,   965,   117,   118,   519,   219,   392,   965,   119,   383,
1652 <     673,   674,   383,   392,   234,   362,   120,   520,   483,   455,
1653 <     685,   686,   121,   688,   122,   123,   124,   456,   457,   483,
1654 <     235,   125,   681,   682,   504,   251,   393,   126,   127,   521,
1655 <     128,   129,   130,   393,   363,   471,   131,  1105,   558,   567,
1656 <     295,   132,  1106,   288,   228,   133,   134,   505,   252,   135,
1657 <     289,   458,   228,   566,   966,   522,   470,   296,   136,   394,
1658 <     966,   364,   823,   506,  1058,   137,   394,   138,   472,   139,
1659 <     229,   140,   141,   142,   143,   557,  1206,   297,   229,   490,
1660 <    1207,   253,  1021,  1022,  1023,  1024,  1025,  1026,  1027,   144,
1661 <     828,   829,   521,   298,   559,   145,   146,   147,   632,   148,
1662 <     365,   744,   149,   150,   254,   459,   151,   628,   255,   494,
1663 <     714,   317,   389,   299,   573,   702,   567,   967,   522,   256,
1664 <    1118,   257,   258,   967,   473,   318,   319,   534,   507,   320,
1665 <     301,   221,   639,   302,   707,   303,   221,  -113,   558,   492,
1666 <    1208,   152,  -113,   508,  1209,   153,   321,  1241,   154,   155,
1667 <     156,   157,   158,   731,   737,   159,   160,   259,   304,   260,
1668 <     261,   262,   263,    76,  1212,   305,   811,   495,  1213,  1242,
1669 <    1214,  1243,   817,   818,  1215,   498,   306,   822,   264,   307,
1670 <     471,   308,   779,    77,    78,   536,   322,   323,   324,    79,
1671 <     756,   757,   325,   309,   559,   251,   161,   162,   163,   326,
1672 <     327,   164,   265,   236,   774,   328,   165,  1216,   310,   500,
1673 <     449,  1217,   266,   472,   311,  1244,   329,   330,   252,  1226,
1674 <    1228,   312,  1230,  1227,  1229,   501,  1231,   313,    80,    81,
1675 <    1232,   331,   760,   761,  1233,    82,    83,    84,   314,   237,
1676 <     502,   267,   268,  1256,   503,  1031,  1032,  1257,   554,   388,
1677 <     578,   253,   400,   238,   239,   240,   241,   401,   402,   403,
1678 <     332,   404,   405,    85,    86,   406,   407,   408,   409,   473,
1679 <     410,   242,   411,   412,   254,   413,    87,    88,   255,   116,
1680 <     414,   581,   415,   416,   117,   118,    89,  1245,  1246,   256,
1681 <     119,   257,   258,   417,    90,   418,   419,   420,   120,   421,
1682 <     422,   333,   423,   504,   121,   424,   122,   123,   124,   451,
1683 <     425,   426,   427,   125,   428,   430,   432,   433,   434,   126,
1684 <     127,  1247,   128,   129,   130,   452,   505,   259,   131,   260,
1685 <     261,   262,   263,   132,   612,   435,   575,   133,   134,   436,
1686 <     453,   135,   506,   437,   454,   438,   439,   440,   264,  1122,
1687 <     136,   441,   442,   443,   444,   445,   446,   137,   447,   138,
1688 <     448,   139,  1175,   140,   141,   142,   143,   491,   496,   497,
1689 <    1123,   528,   265,   529,   530,   531,   582,  1224,   532,   533,
1690 <     576,   144,   266,   537,   538,  1124,   315,   145,   146,   147,
1691 <     539,   148,  1125,   540,   149,   150,   541,   352,   151,   353,
1692 <     542,   354,   543,   544,   545,   546,   547,   507,   548,  1126,
1693 <     549,   267,   268,   355,   789,   790,   791,   792,   793,   794,
1694 <     795,   550,   508,   551,   552,   553,   455,   572,   356,   577,
1695 <    1082,   579,   357,   152,   456,   457,   580,   153,  1127,  1176,
1696 <     154,   155,   156,   157,   158,  1128,   582,   159,   160,   585,
1697 <    1083,   586,   358,   587,   359,   588,   589,  1129,   590,   592,
1698 <    1084,   593,   594,   595,   360,   614,  1085,   596,   458,   597,
1699 <    1177,   598,   600,   601,  1130,  1131,  1132,   602,   603,  1178,
1700 <     604,   605,  1086,   634,   606,  1179,   607,   608,   161,   162,
1701 <     163,   361,   317,   164,   879,   609,   610,   641,   165,  1180,
1702 <     611,  1181,  1182,   615,   635,   616,   318,   319,   617,   618,
1703 <     320,  1183,   620,  1087,   644,   647,   621,  1184,   362,   622,
1704 <     648,  1088,   459,   623,   645,   624,  1133,   321,   902,   625,
1705 <     626,   627,   646,   630,   649,  1134,   631,     2,     3,   636,
1706 <    1135,     4,   637,   651,   653,   654,  1136,   363,   656,   655,
1707 <    1137,     5,   657,  1138,     6,     7,   658,   660,  1139,  1089,
1708 <       8,   661,   663,   664,  1140,   665,   666,   322,   323,   324,
1709 <     667,     9,   668,   325,   364,    10,    11,  1146,  1090,   669,
1710 <     326,   327,   670,   671,   672,    12,   328,   675,   676,   677,
1711 <     678,   683,   684,   687,   689,   690,   691,   329,   330,    13,
1712 <     692,   693,   716,   719,  1189,   694,   695,    14,    15,   697,
1713 <     698,   718,   331,   365,   699,   709,   880,   881,   882,   883,
1714 <     884,   700,   885,   886,  1091,   887,   888,   889,   701,   704,
1715 <     890,    16,   891,   892,   706,   893,   717,   894,   720,   895,
1716 <     896,   332,   721,   897,   711,    17,   739,   741,   740,   898,
1717 <     903,   904,   905,   906,   907,   742,   908,   909,   712,   910,
1718 <     911,   912,   713,   723,   913,    76,   914,   915,   722,   916,
1719 <     733,   917,   724,   918,   919,   726,   727,   920,    18,   728,
1720 <     730,  1190,   333,   921,   743,    77,    78,   745,   734,    19,
1721 <      20,    79,   735,    21,    22,   736,   746,   747,   748,  1147,
1722 <    1148,  1149,  1150,  1151,   749,  1152,  1153,   750,  1154,  1155,
1723 <    1156,   751,  1191,  1157,   752,  1158,  1159,   753,  1160,   754,
1724 <    1161,  1192,  1162,  1163,   755,   764,  1164,  1193,   765,   766,
1725 <      80,    81,  1165,   767,   768,   769,   770,    82,    83,    84,
1726 <     771,  1194,   773,  1195,  1196,   776,    23,   777,   781,   809,
1727 <     782,   783,   784,  1197,   785,   786,   787,   788,   798,  1198,
1728 <     810,   799,   800,   813,   801,    85,    86,   802,   803,   804,
1729 <     805,   806,   807,   808,   814,   815,   816,   812,    87,    88,
1730 <     819,   820,   821,   823,   826,   827,   830,   831,    89,   832,
1731 <     833,   834,   837,   841,   844,   835,    90,   836,   838,   845,
1732 <     848,   849,   839,   840,   842,   843,   846,   847,   850,   851,
1733 <     852,   943,   853,   854,   946,   855,   944,   947,   856,   948,
1734 <     857,   858,   949,   859,   950,   952,   860,   861,   954,   862,
1735 <     863,   864,   865,   957,   958,   866,   867,   868,   869,   870,
1736 <     871,   872,   873,   959,   874,   875,   876,   975,   978,   877,
1737 <     878,   901,   924,   925,   926,   927,   928,   929,   930,   931,
1738 <     932,   933,   934,   935,   936,   937,   938,   976,   939,   940,
1739 <     941,   942,   979,   980,   951,   982,   945,   955,   953,   956,
1740 <     984,   985,   962,   963,   973,   986,  1013,  1015,   974,  1017,
1741 <    1172,  1173,   977,  1218,  1111,   300,  1119,  1258,  1073,   981,
1742 <     732,  1253,  1252,   613,  1219,  1234,  1239,  1100,   983,   987,
1743 <    1221,   715,   988,   989,   775,   990,   991,   992,   993,   703,
1744 <     994,   995,   738,  1237,  1254,   555,   996,   997,  1255,   998,
1745 <     999,  1000,  1001,   629,   780,  1235,  1002,  1003,  1008,  1009,
1746 <    1010,  1011,  1012,   708,  1016,  1238,  1014,   390,  1018,  1019,
1747 <    1020,  1028,  1029,  1030,  1035,  1036,  1037,  1038,  1039,  1040,
1748 <    1041,   633,  1042,  1043,  1044,  1050,  1051,  1052,  1053,  1054,
1749 <    1055,  1056,  1236,  1211,  1061,   640,  1062,  1063,  1064,  1065,
1750 <     450,   316,  1066,  1067,  1068,     0,     0,     0,  1069,  1210,
1751 <    1070,  1071,  1072,     0,  1080,  1081,  1094,  1095,  1096,  1097,
1752 <    1098,  1099,     0,  1103,  1109,  1110,     0,  1114,     0,     0,
1753 <    1112,  1115,  1117,  1120,  1121,  1143,  1144,  1145,  1168,  1169,
1754 <    1170,  1171,  1174,  1187,  1188,  1220,     0,  1225,  1240,  1222,
1755 <    1250,  1251,   493,     0,     0,     0,   499,     0,     0,     0,
1639 >     863,   864,   612,    73,   485,   615,   616,   617,   597,   619,
1640 >     620,   531,   116,  1108,   222,   116,   403,  1051,    51,   299,
1641 >     291,   706,   403,   299,    73,   707,   393,   862,   291,    49,
1642 >      50,   362,    74,   363,   501,   364,   597,  1080,    52,   478,
1643 >      75,   708,   393,  1123,    56,   709,  1125,  1124,  1150,   365,
1644 >    1126,   532,    58,    74,    62,   531,   253,  1051,   122,   486,
1645 >     478,    75,   583,   123,   124,   571,   125,   126,   487,   366,
1646 >     488,   127,    66,  1259,  1264,   571,   117,  1260,  1265,   117,
1647 >     128,   129,   130,   254,    67,   255,   367,    69,   368,   131,
1648 >     394,   533,   132,   133,   134,   532,  1268,   369,  1270,   135,
1649 >    1269,   673,  1271,   675,   676,    76,   394,   679,   222,   370,
1650 >     598,  1081,   256,   223,   502,   687,   136,   137,   404,  1052,
1651 >     692,   300,  1288,   257,   404,   300,    76,   489,   138,   701,
1652 >     702,   139,   140,   371,   224,   533,  1281,   534,   598,   141,
1653 >    1282,   715,   405,   717,   718,   232,   258,   142,   405,   143,
1654 >     259,   144,   395,   145,   372,   146,   147,   501,   260,  1052,
1655 >      71,   261,   262,   113,   584,   479,   148,   572,   395,   114,
1656 >     115,   149,   150,   373,   151,   152,   153,   572,   233,   154,
1657 >     121,   534,   374,   219,   583,   459,   479,   234,   235,   236,
1658 >     263,  1151,   237,   238,  -129,   220,   221,   239,   240,   241,
1659 >    1152,   229,  -129,   460,   155,  1109,   264,   223,   503,   265,
1660 >     266,   267,  1053,   230,   156,   157,   158,   159,   160,   161,
1661 >     162,  1283,   327,   461,   231,  1284,   508,   599,   224,   585,
1662 >     600,   375,   773,   306,   309,   742,  1054,   502,   328,   329,
1663 >     305,   292,   769,   330,   509,   499,   401,   586,  1239,   292,
1664 >     595,   462,  1053,   670,   376,   599,   268,   664,   600,   580,
1665 >     307,   480,   660,   587,   510,   750,   308,   820,   867,   868,
1666 >     163,   164,   165,   290,   166,   167,  1054,    82,   298,   269,
1667 >     270,   304,   480,   168,   573,   169,   584,   569,   331,   457,
1668 >     613,   735,   511,   812,   573,   582,   802,  1285,  1094,  1095,
1669 >    1096,  1286,    83,    84,   463,   311,   332,   333,   334,    85,
1670 >     335,   312,   464,   465,   336,   485,  1292,   459,   337,   850,
1671 >    1293,  1321,   313,   854,   338,  1322,   857,   314,   512,   315,
1672 >     861,   503,   466,   339,   340,   460,   316,    86,    87,    88,
1673 >      89,  1310,   317,  1311,   341,   513,  1261,  1262,  1263,   318,
1674 >     319,   585,    90,    91,    92,   461,   320,   321,   322,    93,
1675 >      94,    95,   323,   324,    96,   342,   400,   410,   508,   586,
1676 >     486,   411,   412,   413,   414,   415,   549,   514,   515,   487,
1677 >    1223,   488,   416,   462,   417,   587,   509,  1312,   122,   418,
1678 >     496,   419,   420,   123,   124,   421,   125,   126,   862,   422,
1679 >     423,   127,   424,   425,  1313,   426,   510,   467,   427,   343,
1680 >     128,   129,   130,   428,   429,   430,   731,   610,   806,   131,
1681 >     431,   432,   132,   133,   134,   433,   434,   435,   516,   135,
1682 >     438,  1246,   439,   440,   511,  1129,   463,   441,   489,   442,
1683 >     443,  1224,  1314,  1315,   464,   465,   136,   137,   517,   444,
1684 >     445,   446,   518,   643,   447,   551,   448,   763,   138,   578,
1685 >    1130,   139,   140,   449,   466,   450,   451,   452,   453,   141,
1686 >     512,   454,  1225,   455,   456,   497,   498,   142,   540,   143,
1687 >    1226,   144,   541,   145,   542,   146,   147,   513,   543,  1227,
1688 >     544,   545,  1247,  1131,  1316,  1162,   148,   546,   547,   548,
1689 >    1317,   149,   150,   552,   151,   152,   153,   553,   325,   154,
1690 >     606,  1163,  1164,  1228,   554,  1229,  1230,   555,   556,   514,
1691 >     515,   607,  1165,  1248,  1132,  1133,   557,   558,   559,  1231,
1692 >    1134,  1249,   560,   561,   155,   562,   563,  1232,   564,   467,
1693 >    1250,   565,   608,   566,   156,   157,   158,   159,   160,   161,
1694 >     162,   567,   253,   568,  1135,   579,   594,   609,   611,   614,
1695 >    1166,  1167,   618,  1168,  1251,   621,  1252,  1253,   622,  1136,
1696 >     516,   362,   623,   363,   624,   364,   625,   626,   627,   254,
1697 >    1254,   255,   628,   629,   631,   632,   633,   634,  1255,   365,
1698 >     517,  1169,   635,   645,   518,   636,  1289,   637,   638,  1170,
1699 >     163,   164,   165,   639,   166,   167,   640,   641,   256,   366,
1700 >     642,   646,   647,   168,   648,   169,   649,   650,   651,   257,
1701 >     653,  1171,   654,  1172,  1173,   655,   367,   656,   368,   657,
1702 >     666,  1137,   658,   659,   662,   663,   667,   369,   668,   672,
1703 >     669,  1174,   258,   674,   677,   678,   259,   680,   681,   370,
1704 >    1138,   682,   683,   684,   260,   685,   686,   261,   262,   688,
1705 >     689,   690,   327,  1175,   691,   693,   694,   695,  1176,   696,
1706 >     697,   698,  1177,   371,   915,   714,  1178,   700,   328,   329,
1707 >     699,  1179,   703,   330,   704,  1180,   263,  1070,  1071,  1072,
1708 >    1073,  1074,  1075,  1076,   372,   705,  1181,   710,  1182,  1183,
1709 >     711,  1184,   264,   720,   712,   265,   266,   267,   713,   716,
1710 >     719,   721,  1185,   373,   744,     2,     3,   722,   723,     4,
1711 >    1186,   724,   374,   726,   727,   737,   745,   728,   331,   729,
1712 >     774,     5,   771,   730,     6,   733,     7,   734,   738,   746,
1713 >     937,   739,   938,   939,     8,   741,   332,   333,   334,   747,
1714 >     335,   748,   268,   749,   336,   752,     9,   753,   337,   754,
1715 >     756,    10,    11,   757,   338,   758,   776,   759,   781,   761,
1716 >     762,   375,   766,   339,   340,   269,   270,   765,   767,   768,
1717 >     772,    12,   785,   775,   341,    13,  1193,   777,  1194,  1195,
1718 >     778,   916,   917,   918,   376,    14,   919,   920,   779,   921,
1719 >     922,   782,   923,   780,   924,   342,   783,   925,   784,   926,
1720 >     927,   611,   786,   787,   788,   928,    15,    16,   789,   929,
1721 >     790,   791,   792,   930,   931,   932,   798,   793,   794,   795,
1722 >     933,    17,   796,   797,   799,   934,   826,   827,   828,   829,
1723 >     830,   831,   832,   800,   804,   805,   807,   808,    18,   343,
1724 >     809,   810,   811,   814,   815,   816,   817,   940,   941,   942,
1725 >      19,    20,   943,   944,   819,   945,   946,   822,   947,   823,
1726 >     948,   824,   848,   949,   825,   950,   951,   835,   836,   837,
1727 >     838,   952,   839,   840,    21,   953,   841,   842,   849,   954,
1728 >     955,   956,    82,   843,   844,   845,   957,    22,   846,   847,
1729 >     851,   958,    23,  1196,  1197,  1198,   852,    24,  1199,  1200,
1730 >      25,  1201,  1202,   853,  1203,   855,  1204,    83,    84,  1205,
1731 >     856,  1206,  1207,   858,    85,   859,   860,  1208,   862,   865,
1732 >     866,  1209,   869,   870,   876,  1210,  1211,  1212,   232,   873,
1733 >     881,   871,  1213,   872,   874,   875,   877,  1214,   884,   878,
1734 >     879,   880,    86,    87,    88,    89,   882,   883,   885,   886,
1735 >     887,   888,   889,   890,   891,   892,   893,    90,    91,    92,
1736 >     894,   233,   895,   896,    93,    94,    95,   897,   898,    96,
1737 >     234,   235,   236,   899,   900,   237,   238,   901,   902,   903,
1738 >     239,   240,   241,   904,   905,   906,   907,   908,   909,   910,
1739 >     911,   912,   913,   914,   961,   962,   963,   964,   982,   965,
1740 >     966,   967,   968,   969,   970,   971,   972,   973,   974,   975,
1741 >     976,   977,   978,   979,   980,   981,   985,   986,   987,   988,
1742 >     984,   989,   990,   991,   983,   992,   994,   993,   995,   997,
1743 >    1003,  1000,   996,  1001,  1002,  1004,  1006,  1009,  1007,  1010,
1744 >    1011,  1012,  1014,   581,  1015,  1017,  1018,  1019,  1005,  1047,
1745 >    1060,  1016,  1008,  1013,  1020,  1061,  1062,  1063,  1021,  1022,
1746 >    1066,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1030,  1031,
1747 >    1032,  1033,  1034,  1035,  1036,  1037,  1038,  1039,  1040,  1041,
1748 >    1042,  1043,  1044,  1045,  1046,  1068,  1049,  1050,  1048,  1064,
1749 >    1065,  1067,  1069,  1077,  1078,  1079,  1084,  1085,  1086,  1087,
1750 >    1088,  1089,  1090,  1091,  1272,  1092,  1093,  1099,  1100,  1101,
1751 >    1102,  1103,  1287,  1104,  1105,  1106,  1107,  1112,  1113,  1114,
1752 >    1115,  1116,  1298,  1117,   310,  1299,  1118,  1300,  1119,   751,
1753 >    1120,  1301,  1302,  1121,  1303,  1122,  1240,   813,  1127,  1128,
1754 >    1141,  1304,  1323,   764,  1142,  1305,  1294,  1143,  1297,   732,
1755 >     743,  1296,  1273,   770,  1144,  1155,   821,  1145,  1320,  1146,
1756 >    1147,   596,   803,  1295,  1148,  1149,   500,  1306,   402,  1158,
1757 >    1159,  1160,  1156,  1161,  1189,  1190,  1191,  1192,  1217,  1218,
1758 >    1219,  1220,  1221,  1222,  1235,   736,   665,  1241,  1236,  1237,
1759 >    1242,  1290,  1243,  1244,  1245,  1258,  1274,   458,  1267,   671,
1760 >    1266,   326,  1275,  1276,  1277,  1278,  1279,  1280,  1291,  1307,
1761 >    1308,  1309,     0,     0,     0,     0,   550,     0,     0,     0,
1762 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   570,
1763 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1764 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1765 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1766 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1768 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1769 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1770         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 <       0,     0,   535,     0,     0,     0,     0,     0,     0,     0,
1771 >       0,     0,     0,     0,     0,     0,   644,     0,     0,     0,
1772         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1773         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774 <       0,   574
1774 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1775 >     661
1776   };
1777  
2118 #define yypact_value_is_default(Yystate) \
2119  (!!((Yystate) == (-954)))
2120
2121 #define yytable_value_is_error(Yytable_value) \
2122  YYID (0)
2123
1778   static const yytype_int16 yycheck[] =
1779   {
1780 <     610,   611,   304,   305,     8,     1,   105,     1,     1,   225,
1781 <     312,     1,     1,     1,     1,   225,     3,     1,     5,     1,
1782 <       1,     1,     1,   225,     1,    51,   225,     1,     1,   225,
1783 <      17,   223,     1,     1,     1,   227,   223,   225,    17,     1,
1784 <     227,     1,   225,    24,   223,    32,     1,    24,   227,    36,
1785 <      31,     1,    36,    32,    31,   223,   225,    36,   223,   227,
1786 <       1,     1,   227,    36,   225,    61,   223,   224,    61,    56,
1787 <      37,    58,    56,    61,    14,   225,    17,    61,   225,    61,
1788 <     225,    68,     1,    56,    51,    52,    53,    54,    61,     1,
1789 <       1,    32,  1045,  1046,  1047,    36,     9,    10,    11,   401,
1790 <     402,    95,    69,   202,   225,    95,    95,   409,    95,   411,
1791 <     225,     1,   167,   168,    95,    95,   418,     1,    95,   421,
1792 <     225,    95,     6,     7,     1,   225,    95,    95,    12,   125,
1793 <     432,   433,   125,    95,   225,   122,    20,    14,   122,   118,
1794 <     442,   443,    26,   445,    28,    29,    30,   126,   127,   122,
1795 <     225,    35,   167,   168,    95,     1,   125,    41,    42,    99,
1796 <      44,    45,    46,   125,   151,   125,    50,   193,   158,   158,
1797 <     223,    55,   198,   225,    93,    59,    60,   118,    24,    63,
1798 <     225,   160,    93,    95,   158,   125,     1,   226,    72,   158,
1799 <     158,   178,   105,   134,   198,    79,   158,    81,   158,    83,
1800 <     119,    85,    86,    87,    88,    95,   223,   226,   119,   223,
1801 <     227,    57,   789,   790,   791,   792,   793,   794,   795,   103,
1802 <     185,   186,    99,   226,   214,   109,   110,   111,   224,   113,
1803 <     217,   533,   116,   117,    80,   214,   120,   224,    84,   222,
1804 <     224,     1,   224,   224,   224,   224,   158,   221,   125,    95,
1805 <     224,    97,    98,   221,   214,    15,    16,   224,   199,    19,
1806 <     226,   216,   224,   226,   224,   226,   216,   222,   158,   224,
1807 <     223,   155,   222,   214,   227,   159,    36,    40,   162,   163,
1808 <     164,   165,   166,   224,   224,   169,   170,   133,   226,   135,
1809 <     136,   137,   138,     1,   223,   226,   598,   223,   227,    62,
1810 <     223,    64,   604,   605,   227,   224,   226,   609,   154,   226,
1811 <     125,   226,   224,    21,    22,   223,    76,    77,    78,    27,
1812 <     139,   140,    82,   226,   214,     1,   210,   211,   212,    89,
1813 <      90,   215,   178,     1,   224,    95,   220,   223,   226,     1,
1814 <     224,   227,   188,   158,   226,   108,   106,   107,    24,   223,
1815 <     223,   226,   223,   227,   227,    17,   227,   226,    66,    67,
1816 <     223,   121,   139,   140,   227,    73,    74,    75,   226,    37,
1817 <      32,   217,   218,   223,    36,    91,    92,   227,   224,   226,
1818 <     223,    57,   226,    51,    52,    53,    54,   226,   226,   226,
1819 <     150,   226,   226,   101,   102,   226,   226,   226,   226,   214,
1820 <     226,    69,   226,   226,    80,   226,   114,   115,    84,     1,
1821 <     226,   167,   226,   226,     6,     7,   124,   180,   181,    95,
1822 <      12,    97,    98,   226,   132,   226,   226,   226,    20,   226,
1823 <     226,   191,   226,    95,    26,   226,    28,    29,    30,     1,
1824 <     226,   226,   226,    35,   226,   226,   226,   226,   226,    41,
1825 <      42,   214,    44,    45,    46,    17,   118,   133,    50,   135,
1826 <     136,   137,   138,    55,   224,   226,   123,    59,    60,   226,
1827 <      32,    63,   134,   226,    36,   226,   226,   226,   154,     4,
1828 <      72,   226,   226,   226,   226,   226,   226,    79,   226,    81,
1829 <     226,    83,    64,    85,    86,    87,    88,   226,   226,   226,
1830 <      25,   226,   178,   226,   226,   226,   105,  1117,   226,   226,
1831 <     123,   103,   188,   226,   226,    40,   224,   109,   110,   111,
1832 <     226,   113,    47,   226,   116,   117,   226,     1,   120,     3,
1833 <     226,     5,   226,   226,   226,   226,   226,   199,   226,    64,
1834 <     226,   217,   218,    17,   143,   144,   145,   146,   147,   148,
1835 <     149,   226,   214,   226,   226,   226,   118,   226,    32,   123,
1836 <      13,   105,    36,   155,   126,   127,   105,   159,    93,   141,
1837 <     162,   163,   164,   165,   166,   100,   105,   169,   170,   105,
1838 <      33,   105,    56,   105,    58,   167,   167,   112,   105,   167,
1839 <      43,   167,   223,   223,    68,   223,    49,   226,   160,   226,
1840 <     172,   226,   226,   226,   129,   130,   131,   226,   226,   181,
1841 <     226,   226,    65,   123,   226,   187,   226,   226,   210,   211,
1842 <     212,    95,     1,   215,    51,   226,   226,   167,   220,   201,
1843 <     226,   203,   204,   226,   223,   226,    15,    16,   226,   226,
1844 <      19,   213,   226,    96,   105,   105,   226,   219,   122,   226,
1845 <     123,   104,   214,   226,   167,   226,   181,    36,    51,   226,
1846 <     226,   226,   167,   226,   167,   190,   226,     0,     1,   226,
1847 <     195,     4,   226,   167,   105,   105,   201,   151,   167,   105,
1848 <     205,    14,   167,   208,    17,    18,   167,   105,   213,   142,
1849 <      23,   105,   105,   105,   219,   123,   105,    76,    77,    78,
1850 <     105,    34,   167,    82,   178,    38,    39,    51,   161,   167,
1851 <      89,    90,   226,   167,   226,    48,    95,   167,   167,   167,
1852 <     167,   167,   167,   123,   167,   167,   167,   106,   107,    62,
1853 <     223,   223,   167,   123,    64,   226,   226,    70,    71,   226,
1854 <     226,   225,   121,   217,   226,   223,   173,   174,   175,   176,
1855 <     177,   226,   179,   180,   207,   182,   183,   184,   226,   226,
1856 <     187,    94,   189,   190,   226,   192,   223,   194,   123,   196,
1857 <     197,   150,   223,   200,   226,   108,   167,   123,   167,   206,
1858 <     173,   174,   175,   176,   177,   167,   179,   180,   226,   182,
1859 <     183,   184,   226,   226,   187,     1,   189,   190,   223,   192,
1860 <     223,   194,   226,   196,   197,   226,   226,   200,   141,   226,
1861 <     226,   141,   191,   206,   167,    21,    22,   223,   226,   152,
1862 <     153,    27,   226,   156,   157,   226,   123,   167,   105,   173,
1863 <     174,   175,   176,   177,   105,   179,   180,   123,   182,   183,
1864 <     184,   123,   172,   187,   123,   189,   190,   123,   192,   123,
1865 <     194,   181,   196,   197,   123,   123,   200,   187,   123,   105,
1866 <      66,    67,   206,   123,   123,   223,   223,    73,    74,    75,
1867 <     226,   201,   226,   203,   204,   223,   209,   226,   123,   105,
1868 <     223,   223,   223,   213,   223,   223,   223,   223,   223,   219,
1869 <     105,   223,   223,   105,   223,   101,   102,   223,   223,   223,
1870 <     223,   223,   223,   223,   105,   105,   105,   226,   114,   115,
1871 <     123,   105,   105,   105,   223,   123,   123,   167,   124,   226,
1872 <     123,   123,   105,   223,   223,   123,   132,   123,   123,   223,
1873 <     226,   223,   123,   123,   123,   123,   123,   123,   223,   223,
1874 <     223,   123,   223,   223,   123,   223,   167,   105,   223,   123,
1875 <     223,   223,   123,   223,   123,   123,   223,   223,   123,   223,
1876 <     223,   223,   223,   123,   123,   223,   223,   223,   223,   223,
1877 <     223,   223,   223,   105,   223,   223,   223,   123,   123,   223,
1878 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1879 <     223,   223,   223,   223,   223,   223,   223,   167,   223,   223,
1880 <     223,   223,   123,   123,   223,   123,   226,   223,   226,   226,
1881 <     123,   123,   223,   223,   223,   123,   123,   123,   223,   123,
1882 <    1005,  1007,   226,   105,   171,    71,   968,  1257,   128,   226,
1883 <     509,  1229,  1227,   334,  1112,  1202,  1217,   128,   223,   223,
1884 <     123,   485,   223,   223,   560,   223,   223,   223,   223,   460,
1885 <     223,   223,   523,  1213,  1231,   269,   223,   223,  1233,   223,
1886 <     223,   223,   223,   366,   568,  1207,   223,   223,   223,   223,
1887 <     223,   223,   223,   475,   223,  1215,   226,   112,   226,   223,
1888 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1889 <     223,   384,   223,   223,   223,   223,   223,   223,   223,   223,
1890 <     223,   223,  1209,  1079,   223,   396,   223,   223,   223,   223,
1891 <     166,    91,   223,   223,   223,    -1,    -1,    -1,   223,  1077,
1892 <     223,   223,   223,    -1,   223,   223,   223,   223,   223,   223,
1893 <     223,   223,    -1,   223,   223,   223,    -1,   223,    -1,    -1,
1894 <     227,   226,   226,   223,   223,   223,   223,   223,   223,   223,
1895 <     223,   223,   223,   223,   223,   223,    -1,   223,   223,   226,
1896 <     223,   223,   222,    -1,    -1,    -1,   230,    -1,    -1,    -1,
1780 >     641,   642,   312,     1,     1,   315,   316,   317,     1,   319,
1781 >     320,     1,     1,     8,     1,     1,     1,     1,   233,     1,
1782 >       1,   212,     1,     1,     1,   216,     1,   111,     1,   231,
1783 >     232,     1,    30,     3,     1,     5,     1,    52,   233,     1,
1784 >      38,   212,     1,   231,   233,   216,   231,   235,    48,    19,
1785 >     235,    41,   233,    30,   233,     1,     1,     1,     1,    56,
1786 >       1,    38,     1,     6,     7,     1,     9,    10,    65,    39,
1787 >      67,    14,   233,   231,   231,     1,    65,   235,   235,    65,
1788 >      23,    24,    25,    28,   233,    30,    56,   233,    58,    32,
1789 >      65,    81,    35,    36,    37,    41,   231,    67,   231,    42,
1790 >     235,   411,   235,   413,   414,   103,    65,   417,     1,    79,
1791 >     103,   126,    57,   100,    81,   425,    59,    60,   103,   103,
1792 >     430,   103,   206,    68,   103,   103,   103,   124,    71,   439,
1793 >     440,    74,    75,   103,   121,    81,   231,   127,   103,    82,
1794 >     235,   451,   127,   453,   454,     1,    91,    90,   127,    92,
1795 >      95,    94,   127,    96,   124,    98,    99,     1,   103,   103,
1796 >     233,   106,   107,   233,   103,   127,   109,   103,   127,   233,
1797 >     233,   114,   115,   143,   117,   118,   119,   103,    34,   122,
1798 >     233,   127,   152,   233,     1,     1,   127,    43,    44,    45,
1799 >     135,   191,    48,    49,   175,   233,   233,    53,    54,    55,
1800 >     200,   233,   175,    19,   147,   200,   151,   100,   175,   154,
1801 >     155,   156,   196,   233,   157,   158,   159,   160,   161,   162,
1802 >     163,   231,     1,    39,   233,   235,     1,   220,   121,   168,
1803 >     223,   201,   542,   234,   232,   232,   220,    81,    17,    18,
1804 >     231,   222,   232,    22,    19,   232,   232,   186,   232,   222,
1805 >     232,    67,   196,   232,   224,   220,   201,   232,   223,   232,
1806 >     234,   223,   232,   202,    39,   232,   234,   232,   179,   180,
1807 >     213,   214,   215,   233,   217,   218,   220,     1,   233,   224,
1808 >     225,   233,   223,   226,   220,   228,   103,   232,    67,   232,
1809 >     212,   232,    67,   232,   220,   175,   232,   231,    11,    12,
1810 >      13,   235,    26,    27,   120,   234,    85,    86,    87,    33,
1811 >      89,   234,   128,   129,    93,     1,   231,     1,    97,   629,
1812 >     235,   231,   234,   633,   103,   235,   636,   234,   103,   234,
1813 >     640,   175,   148,   112,   113,    19,   234,    61,    62,    63,
1814 >      64,    70,   234,    72,   123,   120,  1094,  1095,  1096,   234,
1815 >     234,   168,    76,    77,    78,    39,   234,   234,   234,    83,
1816 >      84,    85,   234,   234,    88,   144,   234,   234,     1,   186,
1817 >      56,   234,   234,   234,   234,   234,   232,   152,   153,    65,
1818 >      72,    67,   234,    67,   234,   202,    19,   116,     1,   234,
1819 >     231,   234,   234,     6,     7,   234,     9,    10,   111,   234,
1820 >     234,    14,   234,   234,   133,   234,    39,   223,   234,   188,
1821 >      23,    24,    25,   234,   234,   234,   232,   111,   233,    32,
1822 >     234,   234,    35,    36,    37,   234,   234,   234,   203,    42,
1823 >     234,    72,   234,   234,    67,    15,   120,   234,   124,   234,
1824 >     234,   133,   171,   172,   128,   129,    59,    60,   223,   234,
1825 >     234,   234,   227,   232,   234,   231,   234,   232,    71,   231,
1826 >      40,    74,    75,   234,   148,   234,   234,   234,   234,    82,
1827 >     103,   234,   164,   234,   234,   234,   234,    90,   234,    92,
1828 >     172,    94,   234,    96,   234,    98,    99,   120,   234,   181,
1829 >     234,   234,   133,    73,   223,     4,   109,   234,   234,   234,
1830 >     229,   114,   115,   234,   117,   118,   119,   234,   232,   122,
1831 >     125,    20,    21,   205,   234,   207,   208,   234,   234,   152,
1832 >     153,   125,    31,   164,   104,   105,   234,   234,   234,   221,
1833 >     110,   172,   234,   234,   147,   234,   234,   229,   234,   223,
1834 >     181,   234,   125,   234,   157,   158,   159,   160,   161,   162,
1835 >     163,   234,     1,   234,   134,   234,   234,   231,   111,   111,
1836 >      69,    70,   111,    72,   205,   111,   207,   208,   111,   149,
1837 >     203,     1,   111,     3,   111,     5,   231,   231,   234,    28,
1838 >     221,    30,   234,   234,   234,   234,   234,   234,   229,    19,
1839 >     223,   100,   234,   231,   227,   234,  1237,   234,   234,   108,
1840 >     213,   214,   215,   234,   217,   218,   234,   234,    57,    39,
1841 >     234,   234,   234,   226,   234,   228,   234,   234,   234,    68,
1842 >     234,   130,   234,   132,   133,   234,    56,   234,    58,   234,
1843 >     125,   211,   234,   234,   234,   234,   231,    67,   234,   212,
1844 >     234,   150,    91,   111,   212,   111,    95,   212,   111,    79,
1845 >     230,   111,   111,   212,   103,   212,   212,   106,   107,   111,
1846 >     111,   111,     1,   172,   111,   111,   111,   111,   177,   111,
1847 >     212,   234,   181,   103,    48,   111,   185,   212,    17,    18,
1848 >     234,   190,   212,    22,   212,   194,   135,   826,   827,   828,
1849 >     829,   830,   831,   832,   124,   212,   205,   212,   207,   208,
1850 >     212,   210,   151,   111,   212,   154,   155,   156,   212,   212,
1851 >     212,   231,   221,   143,   125,     0,     1,   231,   234,     4,
1852 >     229,   234,   152,   234,   234,   231,   125,   234,    67,   234,
1853 >     125,    16,   212,   234,    19,   234,    21,   234,   234,   231,
1854 >      48,   234,    50,    51,    29,   234,    85,    86,    87,   231,
1855 >      89,   234,   201,   234,    93,   231,    41,   234,    97,   234,
1856 >     234,    46,    47,   234,   103,   234,   125,   234,   111,   234,
1857 >     234,   201,   234,   112,   113,   224,   225,   231,   234,   234,
1858 >     212,    66,   111,   212,   123,    70,    48,   212,    50,    51,
1859 >     212,   165,   166,   167,   224,    80,   170,   171,   212,   173,
1860 >     174,   125,   176,   231,   178,   144,   212,   181,   125,   183,
1861 >     184,   111,   111,   125,   125,   189,   101,   102,   125,   193,
1862 >     125,   125,   125,   197,   198,   199,   231,   125,   125,   125,
1863 >     204,   116,   125,   125,   231,   209,   136,   137,   138,   139,
1864 >     140,   141,   142,   234,   212,   231,   231,   234,   133,   188,
1865 >     234,   234,   234,   125,   231,   231,   234,   165,   166,   167,
1866 >     145,   146,   170,   171,   234,   173,   174,   231,   176,   231,
1867 >     178,   231,   111,   181,   231,   183,   184,   231,   231,   231,
1868 >     231,   189,   231,   231,   169,   193,   231,   231,   111,   197,
1869 >     198,   199,     1,   231,   231,   231,   204,   182,   231,   231,
1870 >     234,   209,   187,   165,   166,   167,   111,   192,   170,   171,
1871 >     195,   173,   174,   111,   176,   111,   178,    26,    27,   181,
1872 >     111,   183,   184,   125,    33,   111,   111,   189,   111,   231,
1873 >     125,   193,   125,   212,   111,   197,   198,   199,     1,   234,
1874 >     231,   125,   204,   125,   125,   125,   125,   209,   231,   125,
1875 >     125,   125,    61,    62,    63,    64,   125,   125,   231,   125,
1876 >     125,   231,   231,   231,   231,   231,   231,    76,    77,    78,
1877 >     231,    34,   231,   231,    83,    84,    85,   231,   231,    88,
1878 >      43,    44,    45,   231,   231,    48,    49,   231,   231,   231,
1879 >      53,    54,    55,   231,   231,   231,   231,   231,   231,   231,
1880 >     231,   231,   231,   231,   231,   231,   231,   231,   125,   231,
1881 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1882 >     231,   231,   231,   231,   231,   231,   125,   111,   125,   125,
1883 >     234,   125,   231,   125,   212,   125,   125,   231,   125,   111,
1884 >     125,   231,   234,   231,   231,   125,   125,   125,   212,   125,
1885 >     125,   212,   125,   293,   125,   125,   125,   125,   231,   125,
1886 >     125,   231,   234,   234,   231,   125,   125,   125,   231,   231,
1887 >     125,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1888 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1889 >     231,   231,   231,   231,   231,   125,   231,   231,   234,   231,
1890 >     231,   234,   231,   231,   231,   231,   231,   231,   231,   231,
1891 >     231,   231,   231,   231,   111,   231,   231,   231,   231,   231,
1892 >     231,   231,   125,   231,   231,   231,   231,   231,   231,   231,
1893 >     231,   231,   131,   231,    77,   133,   231,   131,   231,   504,
1894 >     231,   133,   131,   231,   131,   231,  1055,   588,   231,   231,
1895 >     231,  1282,  1322,   519,   231,  1284,  1260,   231,  1271,   468,
1896 >     491,  1269,  1156,   535,   231,   219,   601,   231,  1293,   231,
1897 >     231,   301,   574,  1265,   231,   231,   225,  1286,   118,   231,
1898 >     231,   231,   235,   231,   231,   231,   231,   231,   231,   231,
1899 >     231,   231,   231,   231,   231,   481,   396,   231,   234,   234,
1900 >     231,   234,   231,   231,   231,   231,   231,   170,  1126,   406,
1901 >    1124,    97,   236,   236,   236,   236,   236,   236,   231,   231,
1902 >     231,   231,    -1,    -1,    -1,    -1,   242,    -1,    -1,    -1,
1903 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   271,
1904 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1905 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1906 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1907 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1908        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2244      -1,    -1,   243,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1909        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1910        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1911 <      -1,   292
1911 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1912 >      -1,    -1,    -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,
1913 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1914 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1915 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1916 >     377
1917   };
1918  
1919 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1920 <   symbol of state STATE-NUM.  */
1919 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1920 >     symbol of state STATE-NUM.  */
1921   static const yytype_uint16 yystos[] =
1922   {
1923 <       0,   229,     0,     1,     4,    14,    17,    18,    23,    34,
1924 <      38,    39,    48,    62,    70,    71,    94,   108,   141,   152,
1925 <     153,   156,   157,   209,   230,   235,   240,   264,   270,   284,
1926 <     302,   325,   339,   354,   361,   365,   375,   384,   404,   414,
1927 <     420,   424,   434,   492,   509,   223,   224,   225,   225,   303,
1928 <     385,   415,   225,   425,   225,   340,   405,   326,   225,   225,
1929 <     285,   355,   225,   225,   366,   376,   225,     1,    24,    31,
1930 <      95,   265,   266,   267,   268,   269,     1,    21,    22,    27,
1931 <      66,    67,    73,    74,    75,   101,   102,   114,   115,   124,
1932 <     132,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1933 <     502,   503,   504,   505,   506,   507,   508,   225,   225,   225,
1934 <       1,    61,   421,   422,   423,   225,     1,     6,     7,    12,
1935 <      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
1936 <      46,    50,    55,    59,    60,    63,    72,    79,    81,    83,
1937 <      85,    86,    87,    88,   103,   109,   110,   111,   113,   116,
1938 <     117,   120,   155,   159,   162,   163,   164,   165,   166,   169,
1939 <     170,   210,   211,   212,   215,   220,   435,   436,   437,   438,
2271 <     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1923 >       0,   238,     0,     1,     4,    16,    19,    21,    29,    41,
1924 >      46,    47,    66,    70,    80,   101,   102,   116,   133,   145,
1925 >     146,   169,   182,   187,   192,   195,   239,   244,   249,   269,
1926 >     275,   281,   289,   303,   323,   346,   360,   375,   382,   386,
1927 >     396,   405,   426,   432,   438,   442,   448,   504,   521,   231,
1928 >     232,   233,   233,   324,   406,   433,   233,   443,   233,   361,
1929 >     427,   347,   233,   276,   304,   376,   233,   233,   397,   233,
1930 >     282,   233,   387,     1,    30,    38,   103,   270,   271,   272,
1931 >     273,   274,     1,    26,    27,    33,    61,    62,    63,    64,
1932 >      76,    77,    78,    83,    84,    85,    88,   505,   506,   507,
1933 >     508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
1934 >     518,   519,   520,   233,   233,   233,     1,    65,   439,   440,
1935 >     441,   233,     1,     6,     7,     9,    10,    14,    23,    24,
1936 >      25,    32,    35,    36,    37,    42,    59,    60,    71,    74,
1937 >      75,    82,    90,    92,    94,    96,    98,    99,   109,   114,
1938 >     115,   117,   118,   119,   122,   147,   157,   158,   159,   160,
1939 >     161,   162,   163,   213,   214,   215,   217,   218,   226,   228,
1940       449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
1941       459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1942       469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
1943 <     479,   480,   481,   485,   489,   490,   491,   225,   225,   225,
1944 <       1,   216,   271,   272,   273,   274,   275,     1,    93,   119,
1945 <     236,   237,   238,   239,   225,   225,     1,    37,    51,    52,
1946 <      53,    54,    69,   510,   511,   512,   513,   514,   515,   516,
1947 <     517,     1,    24,    57,    80,    84,    95,    97,    98,   133,
1948 <     135,   136,   137,   138,   154,   178,   188,   217,   218,   241,
1949 <     242,   243,   244,   249,   250,   251,   252,   253,   254,   255,
1950 <     256,   257,   258,   259,   260,   261,   262,   263,   225,   225,
1951 <       1,    95,   362,   363,   364,   223,   226,   226,   226,   224,
1952 <     266,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1953 <     226,   226,   226,   226,   226,   224,   494,     1,    15,    16,
1954 <      19,    36,    76,    77,    78,    82,    89,    90,    95,   106,
1955 <     107,   121,   150,   191,   304,   305,   306,   307,   308,   309,
1956 <     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
1957 <     320,   321,     1,     3,     5,    17,    32,    36,    56,    58,
1958 <      68,    95,   122,   151,   178,   217,   386,   387,   388,   389,
1959 <     390,   391,   392,   393,   394,   395,   399,   400,   401,   402,
1960 <     403,     1,    61,   125,   416,   417,   418,   419,   226,   224,
1961 <     422,     1,    95,   125,   158,   426,   430,   431,   432,   433,
1962 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1963 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1964 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   486,
1965 <     226,   482,   226,   226,   226,   226,   226,   226,   226,   226,
1966 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   224,
1967 <     436,     1,    17,    32,    36,   118,   126,   127,   160,   214,
1968 <     341,   342,   343,   344,   345,   346,   347,   351,   352,   353,
1969 <       1,   125,   158,   214,   406,   410,   411,   412,   413,     1,
1970 <      36,    56,    61,   122,   327,   331,   332,   333,   337,   338,
1971 <     223,   226,   224,   272,   222,   223,   226,   226,   224,   237,
1972 <       1,    17,    32,    36,    95,   118,   134,   199,   214,   286,
1973 <     287,   288,   289,   290,   291,   292,   293,   294,   298,     1,
1974 <      14,    99,   125,   356,   357,   358,   359,   360,   226,   226,
1975 <     226,   226,   226,   226,   224,   511,   223,   226,   226,   226,
1976 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1977 <     226,   226,   226,   226,   224,   242,     1,    95,   158,   214,
1978 <     367,   368,   369,   370,   371,     1,    95,   158,   377,   378,
1979 <     379,   380,   226,   224,   363,   123,   123,   123,   223,   105,
1980 <     105,   167,   105,   232,   232,   105,   105,   105,   167,   167,
1981 <     105,   232,   167,   167,   223,   223,   226,   226,   226,   322,
1982 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1983 <     226,   226,   224,   305,   223,   226,   226,   226,   226,   396,
1984 <     226,   226,   226,   226,   226,   226,   226,   226,   224,   387,
1985 <     226,   226,   224,   417,   123,   223,   226,   226,   427,   224,
1986 <     431,   167,   232,   232,   105,   167,   167,   105,   123,   167,
1987 <     232,   167,   232,   105,   105,   105,   167,   167,   167,   232,
1988 <     105,   105,   232,   105,   105,   123,   105,   105,   167,   167,
1989 <     226,   167,   226,   232,   232,   167,   167,   167,   167,   167,
1990 <     168,   167,   168,   167,   167,   232,   232,   123,   232,   167,
1991 <     167,   167,   223,   223,   226,   226,   348,   226,   226,   226,
1992 <     226,   226,   224,   342,   226,   407,   226,   224,   411,   223,
1993 <     328,   226,   226,   226,   224,   332,   167,   223,   225,   123,
1994 <     123,   223,   223,   226,   226,   299,   226,   226,   226,   295,
1995 <     226,   224,   287,   223,   226,   226,   226,   224,   357,   167,
1996 <     167,   123,   167,   167,   232,   223,   123,   167,   105,   105,
1997 <     123,   123,   123,   123,   123,   123,   139,   140,   245,   246,
1998 <     139,   140,   247,   248,   123,   123,   105,   123,   123,   223,
1999 <     223,   226,   372,   226,   224,   368,   223,   226,   381,   224,
2000 <     378,   123,   223,   223,   223,   223,   223,   223,   223,   143,
2001 <     144,   145,   146,   147,   148,   149,   231,   232,   223,   223,
2002 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   105,
2003 <     105,   232,   226,   105,   105,   105,   105,   232,   232,   123,
2004 <     105,   105,   232,   105,   234,   234,   223,   123,   185,   186,
2005 <     123,   167,   226,   123,   123,   123,   123,   105,   123,   123,
2006 <     123,   223,   123,   123,   223,   223,   123,   123,   226,   223,
2007 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2008 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2009 <     223,   223,   223,   223,   223,   223,   223,   223,   223,    51,
2010 <     173,   174,   175,   176,   177,   179,   180,   182,   183,   184,
2011 <     187,   189,   190,   192,   194,   196,   197,   200,   206,   487,
2012 <     488,   223,    51,   173,   174,   175,   176,   177,   179,   180,
2013 <     182,   183,   184,   187,   189,   190,   192,   194,   196,   197,
2014 <     200,   206,   483,   484,   223,   223,   223,   223,   223,   223,
2015 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2016 <     223,   223,   223,   123,   167,   226,   123,   105,   123,   123,
2017 <     123,   223,   123,   226,   123,   223,   226,   123,   123,   105,
2018 <     335,   336,   223,   223,     1,    95,   158,   221,   276,   277,
2019 <     278,   279,   280,   223,   223,   123,   167,   226,   123,   123,
2020 <     123,   226,   123,   223,   123,   123,   123,   223,   223,   223,
2021 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2022 <     223,   223,   223,   223,   223,   227,   223,   227,   223,   223,
2023 <     223,   223,   223,   123,   226,   123,   223,   123,   226,   223,
2024 <     223,   231,   231,   231,   231,   231,   231,   231,   223,   223,
2025 <     223,    91,    92,   323,   324,   223,   223,   223,   223,   223,
2026 <     223,   223,   223,   223,   223,     9,    10,    11,   233,   234,
2027 <     223,   223,   223,   223,   223,   223,   223,     8,   198,   397,
2028 <     398,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2029 <     223,   223,   223,   128,   428,   429,   223,   227,   223,   227,
2030 <     223,   223,    13,    33,    43,    49,    65,    96,   104,   142,
2031 <     161,   207,   349,   350,   223,   223,   223,   223,   223,   223,
2032 <     128,   408,   409,   223,    51,   193,   198,   329,   330,   223,
2033 <     223,   171,   227,   334,   223,   226,   281,   226,   224,   277,
2034 <     223,   223,     4,    25,    40,    47,    64,    93,   100,   112,
2035 <     129,   130,   131,   181,   190,   195,   201,   205,   208,   213,
2036 <     219,   300,   301,   223,   223,   223,    51,   173,   174,   175,
2037 <     176,   177,   179,   180,   182,   183,   184,   187,   189,   190,
2038 <     192,   194,   196,   197,   200,   206,   296,   297,   223,   223,
2039 <     223,   223,   246,   248,   223,    64,   141,   172,   181,   187,
2040 <     201,   203,   204,   213,   219,   373,   374,   223,   223,    64,
2041 <     141,   172,   181,   187,   201,   203,   204,   213,   219,   382,
2042 <     383,   223,   227,   233,   233,   233,   223,   227,   223,   227,
2043 <     488,   484,   223,   227,   223,   227,   223,   227,   105,   336,
2044 <     223,   123,   226,   202,   234,   223,   223,   227,   223,   227,
2045 <     223,   227,   223,   227,   324,   398,   429,   350,   409,   330,
2046 <     223,    40,    62,    64,   108,   180,   181,   214,   282,   283,
2047 <     223,   223,   301,   297,   374,   383,   223,   227,   283
1943 >     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
1944 >     489,   490,   491,   492,   496,   500,   501,   502,   503,   233,
1945 >     233,   233,     1,   100,   121,   245,   246,   247,   248,   233,
1946 >     233,   233,     1,    34,    43,    44,    45,    48,    49,    53,
1947 >      54,    55,   522,   523,   524,   525,   526,   527,   528,   529,
1948 >     530,   531,   532,     1,    28,    30,    57,    68,    91,    95,
1949 >     103,   106,   107,   135,   151,   154,   155,   156,   201,   224,
1950 >     225,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1951 >     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1952 >     233,     1,   222,   290,   291,   292,   293,   294,   233,     1,
1953 >     103,   383,   384,   385,   233,   231,   234,   234,   234,   232,
1954 >     271,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1955 >     234,   234,   234,   234,   234,   232,   506,     1,    17,    18,
1956 >      22,    67,    85,    86,    87,    89,    93,    97,   103,   112,
1957 >     113,   123,   144,   188,   325,   326,   327,   328,   329,   330,
1958 >     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
1959 >     341,   342,     1,     3,     5,    19,    39,    56,    58,    67,
1960 >      79,   103,   124,   143,   152,   201,   224,   407,   408,   409,
1961 >     410,   411,   412,   413,   414,   415,   416,   417,   421,   422,
1962 >     423,   424,   425,     1,    65,   127,   434,   435,   436,   437,
1963 >     234,   232,   440,     1,   103,   127,   444,   445,   446,   447,
1964 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1965 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1966 >     234,   234,   234,   234,   234,   234,   497,   493,   234,   234,
1967 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1968 >     234,   234,   234,   234,   234,   234,   234,   232,   450,     1,
1969 >      19,    39,    67,   120,   128,   129,   148,   223,   362,   363,
1970 >     364,   365,   366,   367,   368,   372,   373,   374,     1,   127,
1971 >     223,   428,   429,   430,   431,     1,    56,    65,    67,   124,
1972 >     348,   352,   353,   354,   358,   359,   231,   234,   234,   232,
1973 >     246,     1,    81,   175,   277,   278,   279,   280,     1,    19,
1974 >      39,    67,   103,   120,   152,   153,   203,   223,   227,   305,
1975 >     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
1976 >     319,     1,    41,    81,   127,   377,   378,   379,   380,   381,
1977 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   232,
1978 >     523,   231,   234,   234,   234,   234,   234,   234,   234,   234,
1979 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   232,
1980 >     251,     1,   103,   220,   398,   399,   400,   401,   231,   234,
1981 >     232,   291,   175,     1,   103,   168,   186,   202,   283,   284,
1982 >     285,   286,   287,   288,   234,   232,   384,     1,   103,   220,
1983 >     223,   388,   389,   390,   391,   392,   125,   125,   125,   231,
1984 >     111,   111,   241,   212,   111,   241,   241,   241,   111,   241,
1985 >     241,   111,   111,   111,   111,   231,   231,   234,   234,   234,
1986 >     343,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1987 >     234,   234,   234,   232,   326,   231,   234,   234,   234,   234,
1988 >     234,   234,   418,   234,   234,   234,   234,   234,   234,   234,
1989 >     232,   408,   234,   234,   232,   435,   125,   231,   234,   234,
1990 >     232,   445,   212,   241,   111,   241,   241,   212,   111,   241,
1991 >     212,   111,   111,   111,   212,   212,   212,   241,   111,   111,
1992 >     111,   111,   241,   111,   111,   111,   111,   212,   234,   234,
1993 >     212,   241,   241,   212,   212,   212,   212,   216,   212,   216,
1994 >     212,   212,   212,   212,   111,   241,   212,   241,   241,   212,
1995 >     111,   231,   231,   234,   234,   369,   234,   234,   234,   234,
1996 >     234,   232,   363,   234,   234,   232,   429,   231,   234,   234,
1997 >     349,   234,   232,   353,   125,   125,   231,   231,   234,   234,
1998 >     232,   278,   231,   234,   234,   320,   234,   234,   234,   234,
1999 >     316,   234,   234,   232,   306,   231,   234,   234,   234,   232,
2000 >     378,   212,   212,   241,   125,   212,   125,   212,   212,   212,
2001 >     231,   111,   125,   212,   125,   111,   111,   125,   125,   125,
2002 >     125,   125,   125,   125,   125,   125,   125,   125,   231,   231,
2003 >     234,   402,   232,   399,   212,   231,   233,   231,   234,   234,
2004 >     234,   234,   232,   284,   125,   231,   231,   234,   393,   234,
2005 >     232,   389,   231,   231,   231,   231,   136,   137,   138,   139,
2006 >     140,   141,   142,   240,   241,   231,   231,   231,   231,   231,
2007 >     231,   231,   231,   231,   231,   231,   231,   231,   111,   111,
2008 >     241,   234,   111,   111,   241,   111,   111,   241,   125,   111,
2009 >     111,   241,   111,   243,   243,   231,   125,   179,   180,   125,
2010 >     212,   125,   125,   234,   125,   125,   111,   125,   125,   125,
2011 >     125,   231,   125,   125,   231,   231,   125,   125,   231,   231,
2012 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2013 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2014 >     231,   231,   231,   231,   231,    48,   165,   166,   167,   170,
2015 >     171,   173,   174,   176,   178,   181,   183,   184,   189,   193,
2016 >     197,   198,   199,   204,   209,   498,   499,    48,    50,    51,
2017 >     165,   166,   167,   170,   171,   173,   174,   176,   178,   181,
2018 >     183,   184,   189,   193,   197,   198,   199,   204,   209,   494,
2019 >     495,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2020 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2021 >     231,   231,   125,   212,   234,   125,   111,   125,   125,   125,
2022 >     231,   125,   125,   231,   125,   125,   234,   111,   356,   357,
2023 >     231,   231,   231,   125,   125,   231,   125,   212,   234,   125,
2024 >     125,   125,   212,   234,   125,   125,   231,   125,   125,   125,
2025 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2026 >     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2027 >     231,   231,   231,   231,   231,   231,   231,   125,   234,   231,
2028 >     231,     1,   103,   196,   220,   295,   296,   297,   298,   299,
2029 >     125,   125,   125,   125,   231,   231,   125,   234,   125,   231,
2030 >     240,   240,   240,   240,   240,   240,   240,   231,   231,   231,
2031 >      52,   126,   344,   345,   231,   231,   231,   231,   231,   231,
2032 >     231,   231,   231,   231,    11,    12,    13,   242,   243,   231,
2033 >     231,   231,   231,   231,   231,   231,   231,   231,     8,   200,
2034 >     419,   420,   231,   231,   231,   231,   231,   231,   231,   231,
2035 >     231,   231,   231,   231,   235,   231,   235,   231,   231,    15,
2036 >      40,    73,   104,   105,   110,   134,   149,   211,   230,   370,
2037 >     371,   231,   231,   231,   231,   231,   231,   231,   231,   231,
2038 >      48,   191,   200,   350,   351,   219,   235,   355,   231,   231,
2039 >     231,   231,     4,    20,    21,    31,    69,    70,    72,   100,
2040 >     108,   130,   132,   133,   150,   172,   177,   181,   185,   190,
2041 >     194,   205,   207,   208,   210,   221,   229,   321,   322,   231,
2042 >     231,   231,   231,    48,    50,    51,   165,   166,   167,   170,
2043 >     171,   173,   174,   176,   178,   181,   183,   184,   189,   193,
2044 >     197,   198,   199,   204,   209,   317,   318,   231,   231,   231,
2045 >     231,   231,   231,    72,   133,   164,   172,   181,   205,   207,
2046 >     208,   221,   229,   403,   404,   231,   234,   234,   300,   232,
2047 >     296,   231,   231,   231,   231,   231,    72,   133,   164,   172,
2048 >     181,   205,   207,   208,   221,   229,   394,   395,   231,   231,
2049 >     235,   242,   242,   242,   231,   235,   499,   495,   231,   235,
2050 >     231,   235,   111,   357,   231,   236,   236,   236,   236,   236,
2051 >     236,   231,   235,   231,   235,   231,   235,   125,   206,   243,
2052 >     234,   231,   231,   235,   345,   420,   371,   351,   131,   133,
2053 >     131,   133,   131,   131,   322,   318,   404,   231,   231,   231,
2054 >      70,    72,   116,   133,   171,   172,   223,   229,   301,   302,
2055 >     395,   231,   235,   302
2056   };
2057  
2058 < #define yyerrok         (yyerrstatus = 0)
2059 < #define yyclearin       (yychar = YYEMPTY)
2060 < #define YYEMPTY         (-2)
2061 < #define YYEOF           0
2062 <
2063 < #define YYACCEPT        goto yyacceptlab
2064 < #define YYABORT         goto yyabortlab
2065 < #define YYERROR         goto yyerrorlab
2066 <
2067 <
2068 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2069 <   to ease the transition to the new meaning of YYERROR, for GCC.
2070 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2071 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2072 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2073 <   discussed.  */
2074 <
2075 < #define YYFAIL          goto yyerrlab
2076 < #if defined YYFAIL
2077 <  /* This is here to suppress warnings from the GCC cpp's
2078 <     -Wunused-macros.  Normally we don't worry about that warning, but
2079 <     some users do, and we want to make it easy for users to remove
2080 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2081 < #endif
2058 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2059 > static const yytype_uint16 yyr1[] =
2060 > {
2061 >       0,   237,   238,   238,   239,   239,   239,   239,   239,   239,
2062 >     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
2063 >     239,   239,   239,   239,   239,   239,   239,   239,   240,   240,
2064 >     241,   241,   241,   241,   241,   241,   241,   241,   242,   242,
2065 >     243,   243,   243,   243,   244,   245,   245,   246,   246,   246,
2066 >     247,   248,   249,   250,   250,   251,   251,   251,   251,   251,
2067 >     251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2068 >     251,   251,   251,   252,   253,   254,   255,   256,   257,   258,
2069 >     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
2070 >     269,   270,   270,   271,   271,   271,   271,   272,   273,   274,
2071 >     276,   275,   277,   277,   278,   278,   278,   279,   280,   282,
2072 >     281,   283,   283,   284,   284,   284,   284,   284,   285,   286,
2073 >     287,   288,   289,   290,   290,   291,   291,   291,   292,   294,
2074 >     293,   295,   295,   296,   296,   296,   296,   297,   298,   298,
2075 >     300,   299,   301,   301,   302,   302,   302,   302,   302,   302,
2076 >     302,   302,   304,   303,   305,   305,   306,   306,   306,   306,
2077 >     306,   306,   306,   306,   306,   306,   306,   307,   308,   309,
2078 >     310,   311,   312,   313,   314,   316,   315,   317,   317,   318,
2079 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2080 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
2081 >     318,   320,   319,   321,   321,   322,   322,   322,   322,   322,
2082 >     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2083 >     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
2084 >     322,   322,   322,   322,   324,   323,   325,   325,   326,   326,
2085 >     326,   326,   326,   326,   326,   326,   326,   326,   326,   326,
2086 >     326,   326,   326,   326,   326,   327,   328,   329,   330,   331,
2087 >     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
2088 >     343,   342,   344,   344,   345,   345,   347,   346,   349,   348,
2089 >     350,   350,   351,   351,   351,   352,   352,   353,   353,   353,
2090 >     353,   353,   355,   354,   356,   356,   357,   357,   358,   359,
2091 >     361,   360,   362,   362,   363,   363,   363,   363,   363,   363,
2092 >     363,   363,   363,   364,   365,   366,   367,   369,   368,   370,
2093 >     370,   371,   371,   371,   371,   371,   371,   371,   371,   371,
2094 >     371,   372,   373,   374,   376,   375,   377,   377,   378,   378,
2095 >     378,   378,   379,   380,   381,   382,   383,   383,   384,   384,
2096 >     385,   387,   386,   388,   388,   389,   389,   389,   389,   390,
2097 >     391,   393,   392,   394,   394,   395,   395,   395,   395,   395,
2098 >     395,   395,   395,   395,   395,   397,   396,   398,   398,   399,
2099 >     399,   399,   400,   402,   401,   403,   403,   404,   404,   404,
2100 >     404,   404,   404,   404,   404,   404,   404,   406,   405,   407,
2101 >     407,   408,   408,   408,   408,   408,   408,   408,   408,   408,
2102 >     408,   408,   408,   408,   408,   408,   409,   410,   411,   412,
2103 >     413,   414,   415,   416,   416,   418,   417,   419,   419,   420,
2104 >     420,   421,   422,   423,   424,   425,   427,   426,   428,   428,
2105 >     429,   429,   429,   430,   431,   433,   432,   434,   434,   435,
2106 >     435,   435,   436,   437,   438,   439,   439,   440,   440,   441,
2107 >     443,   442,   444,   444,   445,   445,   445,   446,   447,   448,
2108 >     449,   449,   450,   450,   450,   450,   450,   450,   450,   450,
2109 >     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2110 >     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2111 >     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2112 >     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2113 >     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
2114 >     461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
2115 >     471,   472,   473,   474,   475,   476,   477,   478,   478,   479,
2116 >     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
2117 >     489,   490,   491,   493,   492,   494,   494,   495,   495,   495,
2118 >     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
2119 >     495,   495,   495,   495,   495,   495,   495,   495,   495,   497,
2120 >     496,   498,   498,   499,   499,   499,   499,   499,   499,   499,
2121 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
2122 >     499,   499,   499,   500,   501,   502,   503,   504,   505,   505,
2123 >     506,   506,   506,   506,   506,   506,   506,   506,   506,   506,
2124 >     506,   506,   506,   506,   506,   507,   508,   509,   510,   511,
2125 >     512,   513,   514,   515,   516,   517,   518,   519,   520,   521,
2126 >     522,   522,   523,   523,   523,   523,   523,   523,   523,   523,
2127 >     523,   523,   524,   525,   526,   527,   528,   529,   530,   531,
2128 >     532
2129 > };
2130 >
2131 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2132 > static const yytype_uint8 yyr2[] =
2133 > {
2134 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2135 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2136 >       1,     1,     1,     1,     1,     1,     2,     2,     0,     1,
2137 >       2,     3,     3,     3,     3,     3,     3,     3,     0,     1,
2138 >       2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2139 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2140 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2141 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2142 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2143 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2144 >       0,     6,     2,     1,     1,     1,     2,     4,     4,     0,
2145 >       6,     2,     1,     1,     1,     1,     1,     2,     4,     4,
2146 >       4,     4,     5,     2,     1,     1,     1,     2,     4,     0,
2147 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2148 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2149 >       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2150 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
2151 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2152 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2153 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2154 >       1,     0,     5,     3,     1,     3,     1,     3,     1,     3,
2155 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
2156 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
2157 >       3,     1,     1,     1,     0,     6,     2,     1,     1,     1,
2158 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2159 >       1,     1,     1,     1,     2,     4,     4,     4,     4,     4,
2160 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2161 >       0,     5,     3,     1,     1,     1,     0,     6,     0,     5,
2162 >       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
2163 >       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
2164 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2165 >       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
2166 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2167 >       1,     4,     4,     4,     0,     6,     2,     1,     1,     1,
2168 >       1,     2,     4,     4,     4,     5,     2,     1,     1,     1,
2169 >       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
2170 >       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2171 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2172 >       1,     2,     4,     0,     5,     3,     1,     1,     1,     1,
2173 >       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
2174 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2175 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2176 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2177 >       1,     4,     4,     4,     4,     4,     0,     6,     2,     1,
2178 >       1,     1,     1,     4,     4,     0,     6,     2,     1,     1,
2179 >       1,     1,     4,     4,     5,     2,     1,     1,     1,     4,
2180 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
2181 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2182 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2183 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2184 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2185 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2186 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2187 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2188 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2189 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2190 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
2191 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2192 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
2193 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2194 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2195 >       1,     1,     1,     4,     4,     4,     4,     5,     2,     1,
2196 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2197 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
2198 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
2199 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2200 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2201 >       4
2202 > };
2203 >
2204 >
2205 > #define yyerrok         (yyerrstatus = 0)
2206 > #define yyclearin       (yychar = YYEMPTY)
2207 > #define YYEMPTY         (-2)
2208 > #define YYEOF           0
2209 >
2210 > #define YYACCEPT        goto yyacceptlab
2211 > #define YYABORT         goto yyabortlab
2212 > #define YYERROR         goto yyerrorlab
2213 >
2214  
2215   #define YYRECOVERING()  (!!yyerrstatus)
2216  
# Line 2419 | Line 2227 | do
2227    else                                                          \
2228      {                                                           \
2229        yyerror (YY_("syntax error: cannot back up")); \
2230 <      YYERROR;                                                  \
2231 <    }                                                           \
2232 < while (YYID (0))
2230 >      YYERROR;                                                  \
2231 >    }                                                           \
2232 > while (0)
2233  
2234   /* Error token number */
2235 < #define YYTERROR        1
2236 < #define YYERRCODE       256
2235 > #define YYTERROR        1
2236 > #define YYERRCODE       256
2237  
2238  
2431 /* This macro is provided for backward compatibility. */
2432 #ifndef YY_LOCATION_PRINT
2433 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2434 #endif
2435
2436
2437 /* YYLEX -- calling `yylex' with the right arguments.  */
2438 #ifdef YYLEX_PARAM
2439 # define YYLEX yylex (YYLEX_PARAM)
2440 #else
2441 # define YYLEX yylex ()
2442 #endif
2239  
2240   /* Enable debugging if requested.  */
2241   #if YYDEBUG
# Line 2449 | Line 2245 | while (YYID (0))
2245   #  define YYFPRINTF fprintf
2246   # endif
2247  
2248 < # define YYDPRINTF(Args)                        \
2249 < do {                                            \
2250 <  if (yydebug)                                  \
2251 <    YYFPRINTF Args;                             \
2252 < } while (YYID (0))
2457 <
2458 < # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2459 < do {                                                                      \
2460 <  if (yydebug)                                                            \
2461 <    {                                                                     \
2462 <      YYFPRINTF (stderr, "%s ", Title);                                   \
2463 <      yy_symbol_print (stderr,                                            \
2464 <                  Type, Value); \
2465 <      YYFPRINTF (stderr, "\n");                                           \
2466 <    }                                                                     \
2467 < } while (YYID (0))
2248 > # define YYDPRINTF(Args)                        \
2249 > do {                                            \
2250 >  if (yydebug)                                  \
2251 >    YYFPRINTF Args;                             \
2252 > } while (0)
2253  
2254 + /* This macro is provided for backward compatibility. */
2255 + #ifndef YY_LOCATION_PRINT
2256 + # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2257 + #endif
2258 +
2259 +
2260 + # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2261 + do {                                                                      \
2262 +  if (yydebug)                                                            \
2263 +    {                                                                     \
2264 +      YYFPRINTF (stderr, "%s ", Title);                                   \
2265 +      yy_symbol_print (stderr,                                            \
2266 +                  Type, Value); \
2267 +      YYFPRINTF (stderr, "\n");                                           \
2268 +    }                                                                     \
2269 + } while (0)
2270  
2470 /*--------------------------------.
2471 | Print this symbol on YYOUTPUT.  |
2472 `--------------------------------*/
2271  
2272 < /*ARGSUSED*/
2273 < #if (defined __STDC__ || defined __C99__FUNC__ \
2274 <     || defined __cplusplus || defined _MSC_VER)
2272 > /*----------------------------------------.
2273 > | Print this symbol's value on YYOUTPUT.  |
2274 > `----------------------------------------*/
2275 >
2276   static void
2277   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2479 #else
2480 static void
2481 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2482    FILE *yyoutput;
2483    int yytype;
2484    YYSTYPE const * const yyvaluep;
2485 #endif
2278   {
2279    FILE *yyo = yyoutput;
2280    YYUSE (yyo);
# Line 2491 | Line 2283 | yy_symbol_value_print (yyoutput, yytype,
2283   # ifdef YYPRINT
2284    if (yytype < YYNTOKENS)
2285      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2494 # else
2495  YYUSE (yyoutput);
2286   # endif
2287 <  switch (yytype)
2498 <    {
2499 <      default:
2500 <        break;
2501 <    }
2287 >  YYUSE (yytype);
2288   }
2289  
2290  
# Line 2506 | Line 2292 | yy_symbol_value_print (yyoutput, yytype,
2292   | Print this symbol on YYOUTPUT.  |
2293   `--------------------------------*/
2294  
2509 #if (defined __STDC__ || defined __C99__FUNC__ \
2510     || defined __cplusplus || defined _MSC_VER)
2295   static void
2296   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2513 #else
2514 static void
2515 yy_symbol_print (yyoutput, yytype, yyvaluep)
2516    FILE *yyoutput;
2517    int yytype;
2518    YYSTYPE const * const yyvaluep;
2519 #endif
2297   {
2298 <  if (yytype < YYNTOKENS)
2299 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2523 <  else
2524 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2298 >  YYFPRINTF (yyoutput, "%s %s (",
2299 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2300  
2301    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2302    YYFPRINTF (yyoutput, ")");
# Line 2532 | Line 2307 | yy_symbol_print (yyoutput, yytype, yyval
2307   | TOP (included).                                                   |
2308   `------------------------------------------------------------------*/
2309  
2535 #if (defined __STDC__ || defined __C99__FUNC__ \
2536     || defined __cplusplus || defined _MSC_VER)
2310   static void
2311   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2539 #else
2540 static void
2541 yy_stack_print (yybottom, yytop)
2542    yytype_int16 *yybottom;
2543    yytype_int16 *yytop;
2544 #endif
2312   {
2313    YYFPRINTF (stderr, "Stack now");
2314    for (; yybottom <= yytop; yybottom++)
# Line 2552 | Line 2319 | yy_stack_print (yybottom, yytop)
2319    YYFPRINTF (stderr, "\n");
2320   }
2321  
2322 < # define YY_STACK_PRINT(Bottom, Top)                            \
2323 < do {                                                            \
2324 <  if (yydebug)                                                  \
2325 <    yy_stack_print ((Bottom), (Top));                           \
2326 < } while (YYID (0))
2322 > # define YY_STACK_PRINT(Bottom, Top)                            \
2323 > do {                                                            \
2324 >  if (yydebug)                                                  \
2325 >    yy_stack_print ((Bottom), (Top));                           \
2326 > } while (0)
2327  
2328  
2329   /*------------------------------------------------.
2330   | Report that the YYRULE is going to be reduced.  |
2331   `------------------------------------------------*/
2332  
2566 #if (defined __STDC__ || defined __C99__FUNC__ \
2567     || defined __cplusplus || defined _MSC_VER)
2568 static void
2569 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2570 #else
2333   static void
2334 < yy_reduce_print (yyvsp, yyrule)
2573 <    YYSTYPE *yyvsp;
2574 <    int yyrule;
2575 < #endif
2334 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2335   {
2336 +  unsigned long int yylno = yyrline[yyrule];
2337    int yynrhs = yyr2[yyrule];
2338    int yyi;
2579  unsigned long int yylno = yyrline[yyrule];
2339    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2340 <             yyrule - 1, yylno);
2340 >             yyrule - 1, yylno);
2341    /* The symbols being reduced.  */
2342    for (yyi = 0; yyi < yynrhs; yyi++)
2343      {
2344        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2345 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2346 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2347 <                                       );
2345 >      yy_symbol_print (stderr,
2346 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2347 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2348 >                                              );
2349        YYFPRINTF (stderr, "\n");
2350      }
2351   }
2352  
2353 < # define YY_REDUCE_PRINT(Rule)          \
2354 < do {                                    \
2355 <  if (yydebug)                          \
2356 <    yy_reduce_print (yyvsp, Rule); \
2357 < } while (YYID (0))
2353 > # define YY_REDUCE_PRINT(Rule)          \
2354 > do {                                    \
2355 >  if (yydebug)                          \
2356 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2357 > } while (0)
2358  
2359   /* Nonzero means print parse trace.  It is left uninitialized so that
2360     multiple parsers can coexist.  */
# Line 2608 | Line 2368 | int yydebug;
2368  
2369  
2370   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2371 < #ifndef YYINITDEPTH
2371 > #ifndef YYINITDEPTH
2372   # define YYINITDEPTH 200
2373   #endif
2374  
# Line 2631 | Line 2391 | int yydebug;
2391   #   define yystrlen strlen
2392   #  else
2393   /* Return the length of YYSTR.  */
2634 #if (defined __STDC__ || defined __C99__FUNC__ \
2635     || defined __cplusplus || defined _MSC_VER)
2394   static YYSIZE_T
2395   yystrlen (const char *yystr)
2638 #else
2639 static YYSIZE_T
2640 yystrlen (yystr)
2641    const char *yystr;
2642 #endif
2396   {
2397    YYSIZE_T yylen;
2398    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2655 | Line 2408 | yystrlen (yystr)
2408   #  else
2409   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2410     YYDEST.  */
2658 #if (defined __STDC__ || defined __C99__FUNC__ \
2659     || defined __cplusplus || defined _MSC_VER)
2411   static char *
2412   yystpcpy (char *yydest, const char *yysrc)
2662 #else
2663 static char *
2664 yystpcpy (yydest, yysrc)
2665    char *yydest;
2666    const char *yysrc;
2667 #endif
2413   {
2414    char *yyd = yydest;
2415    const char *yys = yysrc;
# Line 2694 | Line 2439 | yytnamerr (char *yyres, const char *yyst
2439        char const *yyp = yystr;
2440  
2441        for (;;)
2442 <        switch (*++yyp)
2443 <          {
2444 <          case '\'':
2445 <          case ',':
2446 <            goto do_not_strip_quotes;
2447 <
2448 <          case '\\':
2449 <            if (*++yyp != '\\')
2450 <              goto do_not_strip_quotes;
2451 <            /* Fall through.  */
2452 <          default:
2453 <            if (yyres)
2454 <              yyres[yyn] = *yyp;
2455 <            yyn++;
2456 <            break;
2457 <
2458 <          case '"':
2459 <            if (yyres)
2460 <              yyres[yyn] = '\0';
2461 <            return yyn;
2462 <          }
2442 >        switch (*++yyp)
2443 >          {
2444 >          case '\'':
2445 >          case ',':
2446 >            goto do_not_strip_quotes;
2447 >
2448 >          case '\\':
2449 >            if (*++yyp != '\\')
2450 >              goto do_not_strip_quotes;
2451 >            /* Fall through.  */
2452 >          default:
2453 >            if (yyres)
2454 >              yyres[yyn] = *yyp;
2455 >            yyn++;
2456 >            break;
2457 >
2458 >          case '"':
2459 >            if (yyres)
2460 >              yyres[yyn] = '\0';
2461 >            return yyn;
2462 >          }
2463      do_not_strip_quotes: ;
2464      }
2465  
# Line 2737 | Line 2482 | static int
2482   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2483                  yytype_int16 *yyssp, int yytoken)
2484   {
2485 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2485 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2486    YYSIZE_T yysize = yysize0;
2487    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2488    /* Internationalized format string. */
2489 <  const char *yyformat = YY_NULL;
2489 >  const char *yyformat = YY_NULLPTR;
2490    /* Arguments of yyformat. */
2491    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2492    /* Number of reported tokens (one for the "unexpected", one per
# Line 2749 | Line 2494 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2494    int yycount = 0;
2495  
2496    /* There are many possibilities here to consider:
2752     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2753       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2754       for details.  YYERROR is fine as it does not invoke this
2755       function.
2497       - If this state is a consistent state with a default action, then
2498         the only way this function was invoked is if the default action
2499         is an error action.  In that case, don't check for expected
# Line 2802 | Line 2543 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2543                    }
2544                  yyarg[yycount++] = yytname[yyx];
2545                  {
2546 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2546 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2547                    if (! (yysize <= yysize1
2548                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2549                      return 2;
# Line 2869 | Line 2610 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2610   | Release the memory associated to this symbol.  |
2611   `-----------------------------------------------*/
2612  
2872 /*ARGSUSED*/
2873 #if (defined __STDC__ || defined __C99__FUNC__ \
2874     || defined __cplusplus || defined _MSC_VER)
2613   static void
2614   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2877 #else
2878 static void
2879 yydestruct (yymsg, yytype, yyvaluep)
2880    const char *yymsg;
2881    int yytype;
2882    YYSTYPE *yyvaluep;
2883 #endif
2615   {
2616    YYUSE (yyvaluep);
2886
2617    if (!yymsg)
2618      yymsg = "Deleting";
2619    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2620  
2621 <  switch (yytype)
2622 <    {
2623 <
2894 <      default:
2895 <        break;
2896 <    }
2621 >  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2622 >  YYUSE (yytype);
2623 >  YY_IGNORE_MAYBE_UNINITIALIZED_END
2624   }
2625  
2626  
# Line 2902 | Line 2629 | yydestruct (yymsg, yytype, yyvaluep)
2629   /* The lookahead symbol.  */
2630   int yychar;
2631  
2905
2906 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2907 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2908 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2909 #endif
2910 #ifndef YY_INITIAL_VALUE
2911 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2912 #endif
2913
2632   /* The semantic value of the lookahead symbol.  */
2633 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2916 <
2633 > YYSTYPE yylval;
2634   /* Number of syntax errors so far.  */
2635   int yynerrs;
2636  
# Line 2922 | Line 2639 | int yynerrs;
2639   | yyparse.  |
2640   `----------*/
2641  
2925 #ifdef YYPARSE_PARAM
2926 #if (defined __STDC__ || defined __C99__FUNC__ \
2927     || defined __cplusplus || defined _MSC_VER)
2928 int
2929 yyparse (void *YYPARSE_PARAM)
2930 #else
2931 int
2932 yyparse (YYPARSE_PARAM)
2933    void *YYPARSE_PARAM;
2934 #endif
2935 #else /* ! YYPARSE_PARAM */
2936 #if (defined __STDC__ || defined __C99__FUNC__ \
2937     || defined __cplusplus || defined _MSC_VER)
2642   int
2643   yyparse (void)
2940 #else
2941 int
2942 yyparse ()
2943
2944 #endif
2945 #endif
2644   {
2645      int yystate;
2646      /* Number of tokens to shift before error messages enabled.  */
2647      int yyerrstatus;
2648  
2649      /* The stacks and their tools:
2650 <       `yyss': related to states.
2651 <       `yyvs': related to semantic values.
2650 >       'yyss': related to states.
2651 >       'yyvs': related to semantic values.
2652  
2653         Refer to the stacks through separate pointers, to allow yyoverflow
2654         to reallocate them elsewhere.  */
# Line 3018 | Line 2716 | yyparse ()
2716  
2717   #ifdef yyoverflow
2718        {
2719 <        /* Give user a chance to reallocate the stack.  Use copies of
2720 <           these so that the &'s don't force the real ones into
2721 <           memory.  */
2722 <        YYSTYPE *yyvs1 = yyvs;
2723 <        yytype_int16 *yyss1 = yyss;
2724 <
2725 <        /* Each stack pointer address is followed by the size of the
2726 <           data in use in that stack, in bytes.  This used to be a
2727 <           conditional around just the two extra args, but that might
2728 <           be undefined if yyoverflow is a macro.  */
2729 <        yyoverflow (YY_("memory exhausted"),
2730 <                    &yyss1, yysize * sizeof (*yyssp),
2731 <                    &yyvs1, yysize * sizeof (*yyvsp),
2732 <                    &yystacksize);
2719 >        /* Give user a chance to reallocate the stack.  Use copies of
2720 >           these so that the &'s don't force the real ones into
2721 >           memory.  */
2722 >        YYSTYPE *yyvs1 = yyvs;
2723 >        yytype_int16 *yyss1 = yyss;
2724 >
2725 >        /* Each stack pointer address is followed by the size of the
2726 >           data in use in that stack, in bytes.  This used to be a
2727 >           conditional around just the two extra args, but that might
2728 >           be undefined if yyoverflow is a macro.  */
2729 >        yyoverflow (YY_("memory exhausted"),
2730 >                    &yyss1, yysize * sizeof (*yyssp),
2731 >                    &yyvs1, yysize * sizeof (*yyvsp),
2732 >                    &yystacksize);
2733  
2734 <        yyss = yyss1;
2735 <        yyvs = yyvs1;
2734 >        yyss = yyss1;
2735 >        yyvs = yyvs1;
2736        }
2737   #else /* no yyoverflow */
2738   # ifndef YYSTACK_RELOCATE
# Line 3042 | Line 2740 | yyparse ()
2740   # else
2741        /* Extend the stack our own way.  */
2742        if (YYMAXDEPTH <= yystacksize)
2743 <        goto yyexhaustedlab;
2743 >        goto yyexhaustedlab;
2744        yystacksize *= 2;
2745        if (YYMAXDEPTH < yystacksize)
2746 <        yystacksize = YYMAXDEPTH;
2746 >        yystacksize = YYMAXDEPTH;
2747  
2748        {
2749 <        yytype_int16 *yyss1 = yyss;
2750 <        union yyalloc *yyptr =
2751 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2752 <        if (! yyptr)
2753 <          goto yyexhaustedlab;
2754 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2755 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2749 >        yytype_int16 *yyss1 = yyss;
2750 >        union yyalloc *yyptr =
2751 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2752 >        if (! yyptr)
2753 >          goto yyexhaustedlab;
2754 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2755 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2756   #  undef YYSTACK_RELOCATE
2757 <        if (yyss1 != yyssa)
2758 <          YYSTACK_FREE (yyss1);
2757 >        if (yyss1 != yyssa)
2758 >          YYSTACK_FREE (yyss1);
2759        }
2760   # endif
2761   #endif /* no yyoverflow */
# Line 3066 | Line 2764 | yyparse ()
2764        yyvsp = yyvs + yysize - 1;
2765  
2766        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2767 <                  (unsigned long int) yystacksize));
2767 >                  (unsigned long int) yystacksize));
2768  
2769        if (yyss + yystacksize - 1 <= yyssp)
2770 <        YYABORT;
2770 >        YYABORT;
2771      }
2772  
2773    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3098 | Line 2796 | yybackup:
2796    if (yychar == YYEMPTY)
2797      {
2798        YYDPRINTF ((stderr, "Reading a token: "));
2799 <      yychar = YYLEX;
2799 >      yychar = yylex ();
2800      }
2801  
2802    if (yychar <= YYEOF)
# Line 3163 | Line 2861 | yyreduce:
2861    yylen = yyr2[yyn];
2862  
2863    /* If YYLEN is nonzero, implement the default value of the action:
2864 <     `$$ = $1'.
2864 >     '$$ = $1'.
2865  
2866       Otherwise, the following line sets YYVAL to garbage.
2867       This behavior is undocumented and Bison
# Line 3176 | Line 2874 | yyreduce:
2874    YY_REDUCE_PRINT (yyn);
2875    switch (yyn)
2876      {
2877 <        case 26:
2878 < /* Line 1792 of yacc.c  */
3181 < #line 393 "conf_parser.y"
2877 >        case 28:
2878 > #line 406 "conf_parser.y" /* yacc.c:1646  */
2879      { (yyval.number) = 0; }
2880 <    break;
3184 <
3185 <  case 28:
3186 < /* Line 1792 of yacc.c  */
3187 < #line 395 "conf_parser.y"
3188 <    {
3189 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3190 <                }
3191 <    break;
3192 <
3193 <  case 29:
3194 < /* Line 1792 of yacc.c  */
3195 < #line 399 "conf_parser.y"
3196 <    {
3197 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3198 <                }
2880 > #line 2881 "conf_parser.c" /* yacc.c:1646  */
2881      break;
2882  
2883    case 30:
2884 < /* Line 1792 of yacc.c  */
2885 < #line 403 "conf_parser.y"
2886 <    {
3205 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3206 <                }
2884 > #line 407 "conf_parser.y" /* yacc.c:1646  */
2885 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2886 > #line 2887 "conf_parser.c" /* yacc.c:1646  */
2887      break;
2888  
2889    case 31:
2890 < /* Line 1792 of yacc.c  */
2891 < #line 407 "conf_parser.y"
2892 <    {
3213 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3214 <                }
2890 > #line 408 "conf_parser.y" /* yacc.c:1646  */
2891 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2892 > #line 2893 "conf_parser.c" /* yacc.c:1646  */
2893      break;
2894  
2895    case 32:
2896 < /* Line 1792 of yacc.c  */
2897 < #line 411 "conf_parser.y"
2898 <    {
3221 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3222 <                }
2896 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2897 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2898 > #line 2899 "conf_parser.c" /* yacc.c:1646  */
2899      break;
2900  
2901    case 33:
2902 < /* Line 1792 of yacc.c  */
2903 < #line 415 "conf_parser.y"
2904 <    {
3229 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3230 <                }
2902 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2903 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2904 > #line 2905 "conf_parser.c" /* yacc.c:1646  */
2905      break;
2906  
2907    case 34:
2908 < /* Line 1792 of yacc.c  */
2909 < #line 419 "conf_parser.y"
2910 <    {
3237 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3238 <                }
2908 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2909 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2910 > #line 2911 "conf_parser.c" /* yacc.c:1646  */
2911      break;
2912  
2913    case 35:
2914 < /* Line 1792 of yacc.c  */
2915 < #line 423 "conf_parser.y"
2916 <    {
3245 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3246 <                }
2914 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2915 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2916 > #line 2917 "conf_parser.c" /* yacc.c:1646  */
2917      break;
2918  
2919    case 36:
2920 < /* Line 1792 of yacc.c  */
2921 < #line 428 "conf_parser.y"
2922 <    { (yyval.number) = 0; }
2920 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2921 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2922 > #line 2923 "conf_parser.c" /* yacc.c:1646  */
2923      break;
2924  
2925 <  case 38:
2926 < /* Line 1792 of yacc.c  */
2927 < #line 429 "conf_parser.y"
2928 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2925 >  case 37:
2926 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2927 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2928 > #line 2929 "conf_parser.c" /* yacc.c:1646  */
2929      break;
2930  
2931 <  case 39:
2932 < /* Line 1792 of yacc.c  */
2933 < #line 430 "conf_parser.y"
2934 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2931 >  case 38:
2932 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2933 >    { (yyval.number) = 0; }
2934 > #line 2935 "conf_parser.c" /* yacc.c:1646  */
2935      break;
2936  
2937    case 40:
2938 < /* Line 1792 of yacc.c  */
2939 < #line 431 "conf_parser.y"
2940 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2938 > #line 418 "conf_parser.y" /* yacc.c:1646  */
2939 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2940 > #line 2941 "conf_parser.c" /* yacc.c:1646  */
2941      break;
2942  
2943    case 41:
2944 < /* Line 1792 of yacc.c  */
2945 < #line 432 "conf_parser.y"
2946 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2944 > #line 419 "conf_parser.y" /* yacc.c:1646  */
2945 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2946 > #line 2947 "conf_parser.c" /* yacc.c:1646  */
2947      break;
2948  
2949 <  case 48:
2950 < /* Line 1792 of yacc.c  */
2951 < #line 446 "conf_parser.y"
2952 <    {
3283 <  if (conf_parser_ctx.pass == 2)
3284 <    add_conf_module(libio_basename(yylval.string));
3285 < }
2949 >  case 42:
2950 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2951 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2952 > #line 2953 "conf_parser.c" /* yacc.c:1646  */
2953      break;
2954  
2955 <  case 49:
2956 < /* Line 1792 of yacc.c  */
2957 < #line 452 "conf_parser.y"
2958 <    {
3292 <  if (conf_parser_ctx.pass == 2)
3293 <    mod_add_path(yylval.string);
3294 < }
2955 >  case 43:
2956 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2957 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2958 > #line 2959 "conf_parser.c" /* yacc.c:1646  */
2959      break;
2960  
2961 <  case 75:
2962 < /* Line 1792 of yacc.c  */
3299 < #line 478 "conf_parser.y"
2961 >  case 50:
2962 > #line 434 "conf_parser.y" /* yacc.c:1646  */
2963      {
2964 < #ifdef HAVE_LIBCRYPTO
2965 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3303 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3304 < #endif
2964 >  if (conf_parser_ctx.pass == 2)
2965 >    add_conf_module(libio_basename(yylval.string));
2966   }
2967 + #line 2968 "conf_parser.c" /* yacc.c:1646  */
2968      break;
2969  
2970 <  case 76:
2971 < /* Line 1792 of yacc.c  */
3310 < #line 484 "conf_parser.y"
2970 >  case 51:
2971 > #line 440 "conf_parser.y" /* yacc.c:1646  */
2972      {
2973 < #ifdef HAVE_LIBCRYPTO
2974 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3314 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3315 < #endif
2973 >  if (conf_parser_ctx.pass == 2)
2974 >    mod_add_path(yylval.string);
2975   }
2976 + #line 2977 "conf_parser.c" /* yacc.c:1646  */
2977      break;
2978  
2979 <  case 79:
2980 < /* Line 1792 of yacc.c  */
3321 < #line 493 "conf_parser.y"
2979 >  case 73:
2980 > #line 473 "conf_parser.y" /* yacc.c:1646  */
2981      {
2982 < #ifdef HAVE_LIBCRYPTO
2983 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2984 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2985 < #endif
2982 >  if (conf_parser_ctx.pass == 2)
2983 >  {
2984 >    xfree(ConfigServerInfo.ssl_certificate_file);
2985 >    ConfigServerInfo.ssl_certificate_file = xstrdup(yylval.string);
2986 >  }
2987   }
2988 + #line 2989 "conf_parser.c" /* yacc.c:1646  */
2989      break;
2990  
2991 <  case 80:
2992 < /* Line 1792 of yacc.c  */
3332 < #line 499 "conf_parser.y"
2991 >  case 74:
2992 > #line 482 "conf_parser.y" /* yacc.c:1646  */
2993      {
2994 < #ifdef HAVE_LIBCRYPTO
2995 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2996 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2997 < #endif
2994 >  if (conf_parser_ctx.pass == 2)
2995 >  {
2996 >    xfree(ConfigServerInfo.rsa_private_key_file);
2997 >    ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
2998 >  }
2999   }
3000 + #line 3001 "conf_parser.c" /* yacc.c:1646  */
3001      break;
3002  
3003 <  case 81:
3004 < /* Line 1792 of yacc.c  */
3343 < #line 507 "conf_parser.y"
3003 >  case 75:
3004 > #line 491 "conf_parser.y" /* yacc.c:1646  */
3005      {
3006 < #ifdef HAVE_LIBCRYPTO
3346 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3006 >  if (conf_parser_ctx.pass == 2)
3007    {
3008 <    if (!ServerInfo.rsa_private_key_file)
3009 <    {
3350 <      conf_error_report("No rsa_private_key_file specified, SSL disabled");
3351 <      break;
3352 <    }
3353 <
3354 <    if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3355 <                                     SSL_FILETYPE_PEM) <= 0 ||
3356 <        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3357 <                                     SSL_FILETYPE_PEM) <= 0)
3358 <    {
3359 <      report_crypto_errors();
3360 <      conf_error_report("Could not open/read certificate file");
3361 <      break;
3362 <    }
3363 <
3364 <    if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3365 <                                    SSL_FILETYPE_PEM) <= 0 ||
3366 <        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3367 <                                    SSL_FILETYPE_PEM) <= 0)
3368 <    {
3369 <      report_crypto_errors();
3370 <      conf_error_report("Could not read RSA private key");
3371 <      break;
3372 <    }
3373 <
3374 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3375 <        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3376 <    {
3377 <      report_crypto_errors();
3378 <      conf_error_report("Could not read RSA private key");
3379 <      break;
3380 <    }
3008 >    xfree(ConfigServerInfo.ssl_dh_param_file);
3009 >    ConfigServerInfo.ssl_dh_param_file = xstrdup(yylval.string);
3010    }
3382 #endif
3011   }
3012 + #line 3013 "conf_parser.c" /* yacc.c:1646  */
3013      break;
3014  
3015 <  case 82:
3016 < /* Line 1792 of yacc.c  */
3388 < #line 549 "conf_parser.y"
3015 >  case 76:
3016 > #line 500 "conf_parser.y" /* yacc.c:1646  */
3017      {
3018 < #ifdef HAVE_LIBCRYPTO
3391 <  if (conf_parser_ctx.pass == 1)
3018 >  if (conf_parser_ctx.pass == 2)
3019    {
3020 <    BIO *file;
3021 <
3395 <    if (ServerInfo.rsa_private_key)
3396 <    {
3397 <      RSA_free(ServerInfo.rsa_private_key);
3398 <      ServerInfo.rsa_private_key = NULL;
3399 <    }
3400 <
3401 <    if (ServerInfo.rsa_private_key_file)
3402 <    {
3403 <      MyFree(ServerInfo.rsa_private_key_file);
3404 <      ServerInfo.rsa_private_key_file = NULL;
3405 <    }
3406 <
3407 <    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3408 <
3409 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3410 <    {
3411 <      conf_error_report("File open failed, ignoring");
3412 <      break;
3413 <    }
3414 <
3415 <    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3416 <
3417 <    BIO_set_close(file, BIO_CLOSE);
3418 <    BIO_free(file);
3419 <
3420 <    if (ServerInfo.rsa_private_key == NULL)
3421 <    {
3422 <      conf_error_report("Couldn't extract key, ignoring");
3423 <      break;
3424 <    }
3425 <
3426 <    if (!RSA_check_key(ServerInfo.rsa_private_key))
3427 <    {
3428 <      RSA_free(ServerInfo.rsa_private_key);
3429 <      ServerInfo.rsa_private_key = NULL;
3430 <
3431 <      conf_error_report("Invalid key, ignoring");
3432 <      break;
3433 <    }
3434 <
3435 <    /* require 2048 bit (256 byte) key */
3436 <    if (RSA_size(ServerInfo.rsa_private_key) != 256)
3437 <    {
3438 <      RSA_free(ServerInfo.rsa_private_key);
3439 <      ServerInfo.rsa_private_key = NULL;
3440 <
3441 <      conf_error_report("Not a 2048 bit key, ignoring");
3442 <    }
3020 >    xfree(ConfigServerInfo.ssl_cipher_list);
3021 >    ConfigServerInfo.ssl_cipher_list = xstrdup(yylval.string);
3022    }
3444 #endif
3023   }
3024 + #line 3025 "conf_parser.c" /* yacc.c:1646  */
3025      break;
3026  
3027 <  case 83:
3028 < /* Line 1792 of yacc.c  */
3450 < #line 608 "conf_parser.y"
3027 >  case 77:
3028 > #line 509 "conf_parser.y" /* yacc.c:1646  */
3029      {
3030 < /* TBD - XXX: error reporting */
3453 < #ifdef HAVE_LIBCRYPTO
3454 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3030 >  if (conf_parser_ctx.pass == 2)
3031    {
3032 <    BIO *file = BIO_new_file(yylval.string, "r");
3033 <
3458 <    if (file)
3459 <    {
3460 <      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3461 <
3462 <      BIO_free(file);
3463 <
3464 <      if (dh)
3465 <      {
3466 <        if (DH_size(dh) < 128)
3467 <          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3468 <        else
3469 <          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3470 <
3471 <        DH_free(dh);
3472 <      }
3473 <    }
3032 >    xfree(ConfigServerInfo.ssl_message_digest_algorithm);
3033 >    ConfigServerInfo.ssl_message_digest_algorithm = xstrdup(yylval.string);
3034    }
3475 #endif
3035   }
3036 + #line 3037 "conf_parser.c" /* yacc.c:1646  */
3037      break;
3038  
3039 <  case 84:
3040 < /* Line 1792 of yacc.c  */
3481 < #line 636 "conf_parser.y"
3039 >  case 78:
3040 > #line 518 "conf_parser.y" /* yacc.c:1646  */
3041      {
3042 < #ifdef HAVE_LIBCRYPTO
3043 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3044 <    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3045 < #endif
3042 >  if (conf_parser_ctx.pass == 2)
3043 >  {
3044 >    xfree(ConfigServerInfo.ssl_dh_elliptic_curve);
3045 >    ConfigServerInfo.ssl_dh_elliptic_curve = xstrdup(yylval.string);
3046 >  }
3047   }
3048 + #line 3049 "conf_parser.c" /* yacc.c:1646  */
3049      break;
3050  
3051 <  case 85:
3052 < /* Line 1792 of yacc.c  */
3492 < #line 644 "conf_parser.y"
3051 >  case 79:
3052 > #line 527 "conf_parser.y" /* yacc.c:1646  */
3053      {
3054 <  /* this isn't rehashable */
3055 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3054 >  /* This isn't rehashable */
3055 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3056    {
3057 <    if (valid_servname(yylval.string))
3058 <      ServerInfo.name = xstrdup(yylval.string);
3057 >    if (server_valid_name(yylval.string))
3058 >      ConfigServerInfo.name = xstrdup(yylval.string);
3059      else
3060      {
3061        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3062 <      exit(0);
3062 >      exit(EXIT_FAILURE);
3063      }
3064    }
3065   }
3066 + #line 3067 "conf_parser.c" /* yacc.c:1646  */
3067      break;
3068  
3069 <  case 86:
3070 < /* Line 1792 of yacc.c  */
3510 < #line 659 "conf_parser.y"
3069 >  case 80:
3070 > #line 542 "conf_parser.y" /* yacc.c:1646  */
3071      {
3072 <  /* this isn't rehashable */
3073 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3072 >  /* This isn't rehashable */
3073 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3074    {
3075      if (valid_sid(yylval.string))
3076 <      ServerInfo.sid = xstrdup(yylval.string);
3076 >      ConfigServerInfo.sid = xstrdup(yylval.string);
3077      else
3078      {
3079        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3080 <      exit(0);
3080 >      exit(EXIT_FAILURE);
3081      }
3082    }
3083   }
3084 + #line 3085 "conf_parser.c" /* yacc.c:1646  */
3085      break;
3086  
3087 <  case 87:
3088 < /* Line 1792 of yacc.c  */
3528 < #line 674 "conf_parser.y"
3087 >  case 81:
3088 > #line 557 "conf_parser.y" /* yacc.c:1646  */
3089      {
3090    if (conf_parser_ctx.pass == 2)
3091    {
3092 <    MyFree(ServerInfo.description);
3093 <    ServerInfo.description = xstrdup(yylval.string);
3092 >    xfree(ConfigServerInfo.description);
3093 >    ConfigServerInfo.description = xstrdup(yylval.string);
3094 >    strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3095    }
3096   }
3097 + #line 3098 "conf_parser.c" /* yacc.c:1646  */
3098      break;
3099  
3100 <  case 88:
3101 < /* Line 1792 of yacc.c  */
3540 < #line 683 "conf_parser.y"
3100 >  case 82:
3101 > #line 567 "conf_parser.y" /* yacc.c:1646  */
3102      {
3103    if (conf_parser_ctx.pass == 2)
3104    {
3105      char *p;
3106  
3107 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3108 <      p = '\0';
3107 >    if ((p = strchr(yylval.string, ' ')))
3108 >      *p = '\0';
3109  
3110 <    MyFree(ServerInfo.network_name);
3111 <    ServerInfo.network_name = xstrdup(yylval.string);
3110 >    xfree(ConfigServerInfo.network_name);
3111 >    ConfigServerInfo.network_name = xstrdup(yylval.string);
3112    }
3113   }
3114 + #line 3115 "conf_parser.c" /* yacc.c:1646  */
3115      break;
3116  
3117 <  case 89:
3118 < /* Line 1792 of yacc.c  */
3557 < #line 697 "conf_parser.y"
3117 >  case 83:
3118 > #line 581 "conf_parser.y" /* yacc.c:1646  */
3119      {
3120 <  if (conf_parser_ctx.pass == 2)
3121 <  {
3122 <    MyFree(ServerInfo.network_desc);
3123 <    ServerInfo.network_desc = xstrdup(yylval.string);
3124 <  }
3120 >  if (conf_parser_ctx.pass != 2)
3121 >    break;
3122 >
3123 >  xfree(ConfigServerInfo.network_desc);
3124 >  ConfigServerInfo.network_desc = xstrdup(yylval.string);
3125   }
3126 + #line 3127 "conf_parser.c" /* yacc.c:1646  */
3127      break;
3128  
3129 <  case 90:
3130 < /* Line 1792 of yacc.c  */
3569 < #line 706 "conf_parser.y"
3129 >  case 84:
3130 > #line 590 "conf_parser.y" /* yacc.c:1646  */
3131      {
3132    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3133    {
# Line 3582 | Line 3143 | yyreduce:
3143        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3144      else
3145      {
3146 <      assert(res != NULL);
3146 >      assert(res);
3147  
3148 <      memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3149 <      ServerInfo.ip.ss.ss_family = res->ai_family;
3150 <      ServerInfo.ip.ss_len = res->ai_addrlen;
3148 >      memcpy(&ConfigServerInfo.ip, res->ai_addr, res->ai_addrlen);
3149 >      ConfigServerInfo.ip.ss.ss_family = res->ai_family;
3150 >      ConfigServerInfo.ip.ss_len = res->ai_addrlen;
3151        freeaddrinfo(res);
3152  
3153 <      ServerInfo.specific_ipv4_vhost = 1;
3153 >      ConfigServerInfo.specific_ipv4_vhost = 1;
3154      }
3155    }
3156   }
3157 + #line 3158 "conf_parser.c" /* yacc.c:1646  */
3158      break;
3159  
3160 <  case 91:
3161 < /* Line 1792 of yacc.c  */
3600 < #line 734 "conf_parser.y"
3160 >  case 85:
3161 > #line 618 "conf_parser.y" /* yacc.c:1646  */
3162      {
3602 #ifdef IPV6
3163    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3164    {
3165      struct addrinfo hints, *res;
# Line 3614 | Line 3174 | yyreduce:
3174        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3175      else
3176      {
3177 <      assert(res != NULL);
3177 >      assert(res);
3178  
3179 <      memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3180 <      ServerInfo.ip6.ss.ss_family = res->ai_family;
3181 <      ServerInfo.ip6.ss_len = res->ai_addrlen;
3179 >      memcpy(&ConfigServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3180 >      ConfigServerInfo.ip6.ss.ss_family = res->ai_family;
3181 >      ConfigServerInfo.ip6.ss_len = res->ai_addrlen;
3182        freeaddrinfo(res);
3183  
3184 <      ServerInfo.specific_ipv6_vhost = 1;
3184 >      ConfigServerInfo.specific_ipv6_vhost = 1;
3185      }
3186    }
3627 #endif
3187   }
3188 + #line 3189 "conf_parser.c" /* yacc.c:1646  */
3189      break;
3190  
3191 <  case 92:
3192 < /* Line 1792 of yacc.c  */
3633 < #line 764 "conf_parser.y"
3191 >  case 86:
3192 > #line 646 "conf_parser.y" /* yacc.c:1646  */
3193      {
3194    if (conf_parser_ctx.pass != 2)
3195      break;
3196  
3197 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3197 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3198    {
3199 <    char buf[IRCD_BUFSIZE];
3199 >    char buf[IRCD_BUFSIZE] = "";
3200  
3201      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3202      conf_error_report(buf);
3203 <    ServerInfo.max_clients = MAXCLIENTS_MIN;
3203 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MIN;
3204    }
3205 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3205 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3206    {
3207 <    char buf[IRCD_BUFSIZE];
3207 >    char buf[IRCD_BUFSIZE] = "";
3208  
3209      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3210      conf_error_report(buf);
3211 <    ServerInfo.max_clients = MAXCLIENTS_MAX;
3211 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MAX;
3212    }
3213    else
3214 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3214 >    ConfigServerInfo.default_max_clients = (yyvsp[-1].number);
3215   }
3216 + #line 3217 "conf_parser.c" /* yacc.c:1646  */
3217      break;
3218  
3219 <  case 93:
3220 < /* Line 1792 of yacc.c  */
3661 < #line 789 "conf_parser.y"
3219 >  case 87:
3220 > #line 671 "conf_parser.y" /* yacc.c:1646  */
3221      {
3222    if (conf_parser_ctx.pass != 2)
3223      break;
3224  
3225 <  if ((yyvsp[(3) - (4)].number) < 9)
3225 >  if ((yyvsp[-1].number) < 9)
3226    {
3227      conf_error_report("max_nick_length too low, setting to 9");
3228 <    ServerInfo.max_nick_length = 9;
3228 >    ConfigServerInfo.max_nick_length = 9;
3229    }
3230 <  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3230 >  else if ((yyvsp[-1].number) > NICKLEN)
3231    {
3232 <    char buf[IRCD_BUFSIZE];
3232 >    char buf[IRCD_BUFSIZE] = "";
3233  
3234      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3235      conf_error_report(buf);
3236 <    ServerInfo.max_nick_length = NICKLEN;
3236 >    ConfigServerInfo.max_nick_length = NICKLEN;
3237    }
3238    else
3239 <    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3239 >    ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3240   }
3241 + #line 3242 "conf_parser.c" /* yacc.c:1646  */
3242      break;
3243  
3244 <  case 94:
3245 < /* Line 1792 of yacc.c  */
3686 < #line 811 "conf_parser.y"
3244 >  case 88:
3245 > #line 693 "conf_parser.y" /* yacc.c:1646  */
3246      {
3247    if (conf_parser_ctx.pass != 2)
3248      break;
3249  
3250 <  if ((yyvsp[(3) - (4)].number) < 80)
3250 >  if ((yyvsp[-1].number) < 80)
3251    {
3252      conf_error_report("max_topic_length too low, setting to 80");
3253 <    ServerInfo.max_topic_length = 80;
3253 >    ConfigServerInfo.max_topic_length = 80;
3254    }
3255 <  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3255 >  else if ((yyvsp[-1].number) > TOPICLEN)
3256    {
3257 <    char buf[IRCD_BUFSIZE];
3257 >    char buf[IRCD_BUFSIZE] = "";
3258  
3259      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3260      conf_error_report(buf);
3261 <    ServerInfo.max_topic_length = TOPICLEN;
3261 >    ConfigServerInfo.max_topic_length = TOPICLEN;
3262    }
3263    else
3264 <    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3264 >    ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3265 > }
3266 > #line 3267 "conf_parser.c" /* yacc.c:1646  */
3267 >    break;
3268 >
3269 >  case 89:
3270 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3271 >    {
3272 >  if (conf_parser_ctx.pass == 2)
3273 >    ConfigServerInfo.hub = yylval.number;
3274 > }
3275 > #line 3276 "conf_parser.c" /* yacc.c:1646  */
3276 >    break;
3277 >
3278 >  case 97:
3279 > #line 733 "conf_parser.y" /* yacc.c:1646  */
3280 >    {
3281 >  if (conf_parser_ctx.pass != 2)
3282 >    break;
3283 >
3284 >  xfree(ConfigAdminInfo.name);
3285 >  ConfigAdminInfo.name = xstrdup(yylval.string);
3286 > }
3287 > #line 3288 "conf_parser.c" /* yacc.c:1646  */
3288 >    break;
3289 >
3290 >  case 98:
3291 > #line 742 "conf_parser.y" /* yacc.c:1646  */
3292 >    {
3293 >  if (conf_parser_ctx.pass != 2)
3294 >    break;
3295 >
3296 >  xfree(ConfigAdminInfo.email);
3297 >  ConfigAdminInfo.email = xstrdup(yylval.string);
3298 > }
3299 > #line 3300 "conf_parser.c" /* yacc.c:1646  */
3300 >    break;
3301 >
3302 >  case 99:
3303 > #line 751 "conf_parser.y" /* yacc.c:1646  */
3304 >    {
3305 >  if (conf_parser_ctx.pass != 2)
3306 >    break;
3307 >
3308 >  xfree(ConfigAdminInfo.description);
3309 >  ConfigAdminInfo.description = xstrdup(yylval.string);
3310   }
3311 + #line 3312 "conf_parser.c" /* yacc.c:1646  */
3312      break;
3313  
3314 <  case 95:
3315 < /* Line 1792 of yacc.c  */
3711 < #line 833 "conf_parser.y"
3314 >  case 100:
3315 > #line 764 "conf_parser.y" /* yacc.c:1646  */
3316      {
3317    if (conf_parser_ctx.pass == 2)
3318 <    ServerInfo.hub = yylval.number;
3318 >    reset_block_state();
3319   }
3320 + #line 3321 "conf_parser.c" /* yacc.c:1646  */
3321      break;
3322  
3323 <  case 103:
3324 < /* Line 1792 of yacc.c  */
3325 < #line 848 "conf_parser.y"
3323 >  case 101:
3324 > #line 768 "conf_parser.y" /* yacc.c:1646  */
3325 >    {
3326 >  dlink_node *node = NULL;
3327 >
3328 >  if (conf_parser_ctx.pass != 2)
3329 >    break;
3330 >
3331 >  if (!block_state.file.buf[0])
3332 >    break;
3333 >
3334 >  DLINK_FOREACH(node, block_state.mask.list.head)
3335 >    motd_add(node->data, block_state.file.buf);
3336 > }
3337 > #line 3338 "conf_parser.c" /* yacc.c:1646  */
3338 >    break;
3339 >
3340 >  case 107:
3341 > #line 785 "conf_parser.y" /* yacc.c:1646  */
3342      {
3343    if (conf_parser_ctx.pass == 2)
3344 <  {
3724 <    MyFree(AdminInfo.name);
3725 <    AdminInfo.name = xstrdup(yylval.string);
3726 <  }
3344 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3345   }
3346 + #line 3347 "conf_parser.c" /* yacc.c:1646  */
3347      break;
3348  
3349 <  case 104:
3350 < /* Line 1792 of yacc.c  */
3732 < #line 857 "conf_parser.y"
3349 >  case 108:
3350 > #line 791 "conf_parser.y" /* yacc.c:1646  */
3351      {
3352    if (conf_parser_ctx.pass == 2)
3353 <  {
3736 <    MyFree(AdminInfo.email);
3737 <    AdminInfo.email = xstrdup(yylval.string);
3738 <  }
3353 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3354   }
3355 + #line 3356 "conf_parser.c" /* yacc.c:1646  */
3356      break;
3357  
3358 <  case 105:
3359 < /* Line 1792 of yacc.c  */
3360 < #line 866 "conf_parser.y"
3358 >  case 109:
3359 > #line 801 "conf_parser.y" /* yacc.c:1646  */
3360 >    {
3361 >  if (conf_parser_ctx.pass == 2)
3362 >    reset_block_state();
3363 > }
3364 > #line 3365 "conf_parser.c" /* yacc.c:1646  */
3365 >    break;
3366 >
3367 >  case 110:
3368 > #line 805 "conf_parser.y" /* yacc.c:1646  */
3369 >    {
3370 >  if (conf_parser_ctx.pass != 2)
3371 >    break;
3372 >
3373 >  if (!block_state.command.buf[0] ||
3374 >      !block_state.name.buf[0] ||
3375 >      !block_state.nick.buf[0] ||
3376 >      !block_state.host.buf[0])
3377 >    break;
3378 >
3379 >  pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3380 >                  block_state.prepend.buf, block_state.command.buf);
3381 > }
3382 > #line 3383 "conf_parser.c" /* yacc.c:1646  */
3383 >    break;
3384 >
3385 >  case 118:
3386 > #line 823 "conf_parser.y" /* yacc.c:1646  */
3387 >    {
3388 >  if (conf_parser_ctx.pass == 2)
3389 >    strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3390 > }
3391 > #line 3392 "conf_parser.c" /* yacc.c:1646  */
3392 >    break;
3393 >
3394 >  case 119:
3395 > #line 829 "conf_parser.y" /* yacc.c:1646  */
3396 >    {
3397 >  if (conf_parser_ctx.pass == 2)
3398 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3399 > }
3400 > #line 3401 "conf_parser.c" /* yacc.c:1646  */
3401 >    break;
3402 >
3403 >  case 120:
3404 > #line 835 "conf_parser.y" /* yacc.c:1646  */
3405 >    {
3406 >  if (conf_parser_ctx.pass == 2)
3407 >    strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3408 > }
3409 > #line 3410 "conf_parser.c" /* yacc.c:1646  */
3410 >    break;
3411 >
3412 >  case 121:
3413 > #line 841 "conf_parser.y" /* yacc.c:1646  */
3414      {
3415    if (conf_parser_ctx.pass == 2)
3416    {
3417 <    MyFree(AdminInfo.description);
3418 <    AdminInfo.description = xstrdup(yylval.string);
3417 >    struct split_nuh_item nuh;
3418 >
3419 >    nuh.nuhmask  = yylval.string;
3420 >    nuh.nickptr  = NULL;
3421 >    nuh.userptr  = block_state.nick.buf;
3422 >    nuh.hostptr  = block_state.host.buf;
3423 >    nuh.nicksize = 0;
3424 >    nuh.usersize = sizeof(block_state.nick.buf);
3425 >    nuh.hostsize = sizeof(block_state.host.buf);
3426 >
3427 >    split_nuh(&nuh);
3428    }
3429   }
3430 + #line 3431 "conf_parser.c" /* yacc.c:1646  */
3431      break;
3432  
3433 <  case 112:
3434 < /* Line 1792 of yacc.c  */
3756 < #line 884 "conf_parser.y"
3433 >  case 128:
3434 > #line 869 "conf_parser.y" /* yacc.c:1646  */
3435      {
3436    if (conf_parser_ctx.pass == 2)
3437 <    ConfigLoggingEntry.use_logging = yylval.number;
3437 >    ConfigLog.use_logging = yylval.number;
3438   }
3439 + #line 3440 "conf_parser.c" /* yacc.c:1646  */
3440      break;
3441  
3442 <  case 113:
3443 < /* Line 1792 of yacc.c  */
3765 < #line 890 "conf_parser.y"
3442 >  case 129:
3443 > #line 875 "conf_parser.y" /* yacc.c:1646  */
3444      {
3445    if (conf_parser_ctx.pass == 2)
3446      reset_block_state();
3447   }
3448 + #line 3449 "conf_parser.c" /* yacc.c:1646  */
3449      break;
3450  
3451 <  case 114:
3452 < /* Line 1792 of yacc.c  */
3774 < #line 894 "conf_parser.y"
3451 >  case 130:
3452 > #line 879 "conf_parser.y" /* yacc.c:1646  */
3453      {
3454    if (conf_parser_ctx.pass != 2)
3455      break;
3456  
3457    if (block_state.type.value && block_state.file.buf[0])
3458 <    log_add_file(block_state.type.value, block_state.size.value,
3458 >    log_set_file(block_state.type.value, block_state.size.value,
3459                   block_state.file.buf);
3460   }
3461 + #line 3462 "conf_parser.c" /* yacc.c:1646  */
3462      break;
3463  
3464 <  case 121:
3465 < /* Line 1792 of yacc.c  */
3787 < #line 910 "conf_parser.y"
3464 >  case 137:
3465 > #line 895 "conf_parser.y" /* yacc.c:1646  */
3466      {
3467    if (conf_parser_ctx.pass != 2)
3468      break;
3469  
3470    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3471   }
3472 + #line 3473 "conf_parser.c" /* yacc.c:1646  */
3473      break;
3474  
3475 <  case 122:
3476 < /* Line 1792 of yacc.c  */
3798 < #line 918 "conf_parser.y"
3475 >  case 138:
3476 > #line 903 "conf_parser.y" /* yacc.c:1646  */
3477      {
3478 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3478 >  block_state.size.value = (yyvsp[-1].number);
3479   }
3480 + #line 3481 "conf_parser.c" /* yacc.c:1646  */
3481      break;
3482  
3483 <  case 123:
3484 < /* Line 1792 of yacc.c  */
3806 < #line 921 "conf_parser.y"
3483 >  case 139:
3484 > #line 906 "conf_parser.y" /* yacc.c:1646  */
3485      {
3486    block_state.size.value = 0;
3487   }
3488 + #line 3489 "conf_parser.c" /* yacc.c:1646  */
3489      break;
3490  
3491 <  case 124:
3492 < /* Line 1792 of yacc.c  */
3814 < #line 926 "conf_parser.y"
3491 >  case 140:
3492 > #line 911 "conf_parser.y" /* yacc.c:1646  */
3493      {
3494    if (conf_parser_ctx.pass == 2)
3495      block_state.type.value = 0;
3496   }
3497 + #line 3498 "conf_parser.c" /* yacc.c:1646  */
3498      break;
3499  
3500 <  case 128:
3501 < /* Line 1792 of yacc.c  */
3823 < #line 933 "conf_parser.y"
3500 >  case 144:
3501 > #line 918 "conf_parser.y" /* yacc.c:1646  */
3502      {
3503    if (conf_parser_ctx.pass == 2)
3504      block_state.type.value = LOG_TYPE_USER;
3505   }
3506 + #line 3507 "conf_parser.c" /* yacc.c:1646  */
3507      break;
3508  
3509 <  case 129:
3510 < /* Line 1792 of yacc.c  */
3832 < #line 937 "conf_parser.y"
3509 >  case 145:
3510 > #line 922 "conf_parser.y" /* yacc.c:1646  */
3511      {
3512    if (conf_parser_ctx.pass == 2)
3513      block_state.type.value = LOG_TYPE_OPER;
3514   }
3515 + #line 3516 "conf_parser.c" /* yacc.c:1646  */
3516      break;
3517  
3518 <  case 130:
3519 < /* Line 1792 of yacc.c  */
3520 < #line 941 "conf_parser.y"
3518 >  case 146:
3519 > #line 926 "conf_parser.y" /* yacc.c:1646  */
3520 >    {
3521 >  if (conf_parser_ctx.pass == 2)
3522 >    block_state.type.value = LOG_TYPE_XLINE;
3523 > }
3524 > #line 3525 "conf_parser.c" /* yacc.c:1646  */
3525 >    break;
3526 >
3527 >  case 147:
3528 > #line 930 "conf_parser.y" /* yacc.c:1646  */
3529      {
3530    if (conf_parser_ctx.pass == 2)
3531 <    block_state.type.value = LOG_TYPE_GLINE;
3531 >    block_state.type.value = LOG_TYPE_RESV;
3532   }
3533 + #line 3534 "conf_parser.c" /* yacc.c:1646  */
3534      break;
3535  
3536 <  case 131:
3537 < /* Line 1792 of yacc.c  */
3850 < #line 945 "conf_parser.y"
3536 >  case 148:
3537 > #line 934 "conf_parser.y" /* yacc.c:1646  */
3538      {
3539    if (conf_parser_ctx.pass == 2)
3540      block_state.type.value = LOG_TYPE_DLINE;
3541   }
3542 + #line 3543 "conf_parser.c" /* yacc.c:1646  */
3543      break;
3544  
3545 <  case 132:
3546 < /* Line 1792 of yacc.c  */
3859 < #line 949 "conf_parser.y"
3545 >  case 149:
3546 > #line 938 "conf_parser.y" /* yacc.c:1646  */
3547      {
3548    if (conf_parser_ctx.pass == 2)
3549      block_state.type.value = LOG_TYPE_KLINE;
3550   }
3551 + #line 3552 "conf_parser.c" /* yacc.c:1646  */
3552      break;
3553  
3554 <  case 133:
3555 < /* Line 1792 of yacc.c  */
3868 < #line 953 "conf_parser.y"
3554 >  case 150:
3555 > #line 942 "conf_parser.y" /* yacc.c:1646  */
3556      {
3557    if (conf_parser_ctx.pass == 2)
3558      block_state.type.value = LOG_TYPE_KILL;
3559   }
3560 + #line 3561 "conf_parser.c" /* yacc.c:1646  */
3561      break;
3562  
3563 <  case 134:
3564 < /* Line 1792 of yacc.c  */
3877 < #line 957 "conf_parser.y"
3563 >  case 151:
3564 > #line 946 "conf_parser.y" /* yacc.c:1646  */
3565      {
3566    if (conf_parser_ctx.pass == 2)
3567      block_state.type.value = LOG_TYPE_DEBUG;
3568   }
3569 + #line 3570 "conf_parser.c" /* yacc.c:1646  */
3570      break;
3571  
3572 <  case 135:
3573 < /* Line 1792 of yacc.c  */
3886 < #line 967 "conf_parser.y"
3572 >  case 152:
3573 > #line 956 "conf_parser.y" /* yacc.c:1646  */
3574      {
3575    if (conf_parser_ctx.pass != 2)
3576      break;
# Line 3891 | Line 3578 | yyreduce:
3578    reset_block_state();
3579    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3580   }
3581 + #line 3582 "conf_parser.c" /* yacc.c:1646  */
3582      break;
3583  
3584 <  case 136:
3585 < /* Line 1792 of yacc.c  */
3898 < #line 974 "conf_parser.y"
3584 >  case 153:
3585 > #line 963 "conf_parser.y" /* yacc.c:1646  */
3586      {
3587 <  dlink_node *ptr = NULL;
3587 >  dlink_node *node = NULL;
3588  
3589    if (conf_parser_ctx.pass != 2)
3590      break;
3591  
3592    if (!block_state.name.buf[0])
3593      break;
3594 < #ifdef HAVE_LIBCRYPTO
3908 <  if (!(block_state.file.buf[0] ||
3909 <        block_state.rpass.buf[0]))
3910 <    break;
3911 < #else
3594 >
3595    if (!block_state.rpass.buf[0])
3596      break;
3914 #endif
3597  
3598 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3598 >  DLINK_FOREACH(node, block_state.mask.list.head)
3599    {
3600      struct MaskItem *conf = NULL;
3601      struct split_nuh_item nuh;
3602 +    char *s = node->data;
3603  
3604 <    nuh.nuhmask  = ptr->data;
3604 >    if (EmptyString(s))
3605 >      continue;
3606 >
3607 >    nuh.nuhmask  = s;
3608      nuh.nickptr  = NULL;
3609      nuh.userptr  = block_state.user.buf;
3610      nuh.hostptr  = block_state.host.buf;
# Line 3927 | Line 3613 | yyreduce:
3613      nuh.hostsize = sizeof(block_state.host.buf);
3614      split_nuh(&nuh);
3615  
3616 <    conf        = conf_make(CONF_OPER);
3617 <    conf->name  = xstrdup(block_state.name.buf);
3618 <    conf->user  = xstrdup(block_state.user.buf);
3619 <    conf->host  = xstrdup(block_state.host.buf);
3616 >    conf         = conf_make(CONF_OPER);
3617 >    conf->name   = xstrdup(block_state.name.buf);
3618 >    conf->user   = xstrdup(block_state.user.buf);
3619 >    conf->host   = xstrdup(block_state.host.buf);
3620 >
3621 >    if (block_state.cert.buf[0])
3622 >      conf->certfp = xstrdup(block_state.cert.buf);
3623  
3624      if (block_state.rpass.buf[0])
3625        conf->passwd = xstrdup(block_state.rpass.buf);
3626  
3627 +    if (block_state.whois.buf[0])
3628 +      conf->whois = xstrdup(block_state.whois.buf);
3629 +
3630      conf->flags = block_state.flags.value;
3631      conf->modes = block_state.modes.value;
3632      conf->port  = block_state.port.value;
3633      conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3634  
3635      conf_add_class_to_conf(conf, block_state.class.buf);
3944
3945 #ifdef HAVE_LIBCRYPTO
3946    if (block_state.file.buf[0])
3947    {
3948      BIO *file = NULL;
3949      RSA *pkey = NULL;
3950
3951      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3952      {
3953        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3954        break;
3955      }
3956
3957      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3958        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3959
3960      conf->rsa_public_key = pkey;
3961      BIO_set_close(file, BIO_CLOSE);
3962      BIO_free(file);
3963    }
3964 #endif /* HAVE_LIBCRYPTO */
3636    }
3637   }
3638 + #line 3639 "conf_parser.c" /* yacc.c:1646  */
3639      break;
3640  
3641 <  case 148:
3642 < /* Line 1792 of yacc.c  */
3971 < #line 1049 "conf_parser.y"
3641 >  case 167:
3642 > #line 1030 "conf_parser.y" /* yacc.c:1646  */
3643      {
3644    if (conf_parser_ctx.pass == 2)
3645      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3646   }
3647 + #line 3648 "conf_parser.c" /* yacc.c:1646  */
3648      break;
3649  
3650 <  case 149:
3651 < /* Line 1792 of yacc.c  */
3980 < #line 1055 "conf_parser.y"
3650 >  case 168:
3651 > #line 1036 "conf_parser.y" /* yacc.c:1646  */
3652      {
3653    if (conf_parser_ctx.pass == 2)
3654      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3655   }
3656 + #line 3657 "conf_parser.c" /* yacc.c:1646  */
3657      break;
3658  
3659 <  case 150:
3660 < /* Line 1792 of yacc.c  */
3989 < #line 1061 "conf_parser.y"
3659 >  case 169:
3660 > #line 1042 "conf_parser.y" /* yacc.c:1646  */
3661      {
3662    if (conf_parser_ctx.pass == 2)
3663      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3664   }
3665 + #line 3666 "conf_parser.c" /* yacc.c:1646  */
3666      break;
3667  
3668 <  case 151:
3669 < /* Line 1792 of yacc.c  */
3998 < #line 1067 "conf_parser.y"
3668 >  case 170:
3669 > #line 1048 "conf_parser.y" /* yacc.c:1646  */
3670      {
3671    if (conf_parser_ctx.pass == 2)
3672 <  {
4002 <    if (yylval.number)
4003 <      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4004 <    else
4005 <      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4006 <  }
3672 >    strlcpy(block_state.whois.buf, yylval.string, sizeof(block_state.whois.buf));
3673   }
3674 + #line 3675 "conf_parser.c" /* yacc.c:1646  */
3675      break;
3676  
3677 <  case 152:
3678 < /* Line 1792 of yacc.c  */
3679 < #line 1078 "conf_parser.y"
3677 >  case 171:
3678 > #line 1054 "conf_parser.y" /* yacc.c:1646  */
3679 >    {
3680 >  if (conf_parser_ctx.pass != 2)
3681 >    break;
3682 >
3683 >  if (yylval.number)
3684 >    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3685 >  else
3686 >    block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3687 > }
3688 > #line 3689 "conf_parser.c" /* yacc.c:1646  */
3689 >    break;
3690 >
3691 >  case 172:
3692 > #line 1065 "conf_parser.y" /* yacc.c:1646  */
3693      {
3694    if (conf_parser_ctx.pass == 2)
3695 <    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3695 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3696   }
3697 + #line 3698 "conf_parser.c" /* yacc.c:1646  */
3698      break;
3699  
3700 <  case 153:
3701 < /* Line 1792 of yacc.c  */
3702 < #line 1084 "conf_parser.y"
3700 >  case 173:
3701 > #line 1071 "conf_parser.y" /* yacc.c:1646  */
3702 >    {
3703 >  if (conf_parser_ctx.pass != 2)
3704 >    break;
3705 >
3706 >  if (yylval.number)
3707 >    block_state.flags.value |= CONF_FLAGS_SSL;
3708 >  else
3709 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3710 > }
3711 > #line 3712 "conf_parser.c" /* yacc.c:1646  */
3712 >    break;
3713 >
3714 >  case 174:
3715 > #line 1082 "conf_parser.y" /* yacc.c:1646  */
3716      {
3717    if (conf_parser_ctx.pass == 2)
3718      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3719   }
3720 + #line 3721 "conf_parser.c" /* yacc.c:1646  */
3721      break;
3722  
3723 <  case 154:
3724 < /* Line 1792 of yacc.c  */
4030 < #line 1090 "conf_parser.y"
3723 >  case 175:
3724 > #line 1088 "conf_parser.y" /* yacc.c:1646  */
3725      {
3726    if (conf_parser_ctx.pass == 2)
3727      block_state.modes.value = 0;
3728   }
3729 + #line 3730 "conf_parser.c" /* yacc.c:1646  */
3730      break;
3731  
3732 <  case 158:
3733 < /* Line 1792 of yacc.c  */
4039 < #line 1097 "conf_parser.y"
3732 >  case 179:
3733 > #line 1095 "conf_parser.y" /* yacc.c:1646  */
3734      {
3735    if (conf_parser_ctx.pass == 2)
3736      block_state.modes.value |= UMODE_BOTS;
3737   }
3738 + #line 3739 "conf_parser.c" /* yacc.c:1646  */
3739      break;
3740  
3741 <  case 159:
3742 < /* Line 1792 of yacc.c  */
4048 < #line 1101 "conf_parser.y"
3741 >  case 180:
3742 > #line 1099 "conf_parser.y" /* yacc.c:1646  */
3743      {
3744    if (conf_parser_ctx.pass == 2)
3745      block_state.modes.value |= UMODE_CCONN;
3746   }
3747 + #line 3748 "conf_parser.c" /* yacc.c:1646  */
3748      break;
3749  
3750 <  case 160:
3751 < /* Line 1792 of yacc.c  */
4057 < #line 1105 "conf_parser.y"
3750 >  case 181:
3751 > #line 1103 "conf_parser.y" /* yacc.c:1646  */
3752      {
3753    if (conf_parser_ctx.pass == 2)
3754 <    block_state.modes.value |= UMODE_CCONN_FULL;
3754 >    block_state.modes.value |= UMODE_DEAF;
3755   }
3756 + #line 3757 "conf_parser.c" /* yacc.c:1646  */
3757      break;
3758  
3759 <  case 161:
3760 < /* Line 1792 of yacc.c  */
4066 < #line 1109 "conf_parser.y"
3759 >  case 182:
3760 > #line 1107 "conf_parser.y" /* yacc.c:1646  */
3761      {
3762    if (conf_parser_ctx.pass == 2)
3763 <    block_state.modes.value |= UMODE_DEAF;
3763 >    block_state.modes.value |= UMODE_DEBUG;
3764   }
3765 + #line 3766 "conf_parser.c" /* yacc.c:1646  */
3766      break;
3767  
3768 <  case 162:
3769 < /* Line 1792 of yacc.c  */
4075 < #line 1113 "conf_parser.y"
3768 >  case 183:
3769 > #line 1111 "conf_parser.y" /* yacc.c:1646  */
3770      {
3771    if (conf_parser_ctx.pass == 2)
3772 <    block_state.modes.value |= UMODE_DEBUG;
3772 >    block_state.modes.value |= UMODE_FULL;
3773   }
3774 + #line 3775 "conf_parser.c" /* yacc.c:1646  */
3775      break;
3776  
3777 <  case 163:
3778 < /* Line 1792 of yacc.c  */
4084 < #line 1117 "conf_parser.y"
3777 >  case 184:
3778 > #line 1115 "conf_parser.y" /* yacc.c:1646  */
3779      {
3780    if (conf_parser_ctx.pass == 2)
3781 <    block_state.modes.value |= UMODE_FULL;
3781 >    block_state.modes.value |= UMODE_HIDDEN;
3782   }
3783 + #line 3784 "conf_parser.c" /* yacc.c:1646  */
3784      break;
3785  
3786 <  case 164:
3787 < /* Line 1792 of yacc.c  */
4093 < #line 1121 "conf_parser.y"
3786 >  case 185:
3787 > #line 1119 "conf_parser.y" /* yacc.c:1646  */
3788      {
3789    if (conf_parser_ctx.pass == 2)
3790 <    block_state.modes.value |= UMODE_HIDDEN;
3790 >    block_state.modes.value |= UMODE_HIDECHANS;
3791   }
3792 + #line 3793 "conf_parser.c" /* yacc.c:1646  */
3793      break;
3794  
3795 <  case 165:
3796 < /* Line 1792 of yacc.c  */
3797 < #line 1125 "conf_parser.y"
3795 >  case 186:
3796 > #line 1123 "conf_parser.y" /* yacc.c:1646  */
3797 >    {
3798 >  if (conf_parser_ctx.pass == 2)
3799 >    block_state.modes.value |= UMODE_HIDEIDLE;
3800 > }
3801 > #line 3802 "conf_parser.c" /* yacc.c:1646  */
3802 >    break;
3803 >
3804 >  case 187:
3805 > #line 1127 "conf_parser.y" /* yacc.c:1646  */
3806      {
3807    if (conf_parser_ctx.pass == 2)
3808      block_state.modes.value |= UMODE_SKILL;
3809   }
3810 + #line 3811 "conf_parser.c" /* yacc.c:1646  */
3811      break;
3812  
3813 <  case 166:
3814 < /* Line 1792 of yacc.c  */
4111 < #line 1129 "conf_parser.y"
3813 >  case 188:
3814 > #line 1131 "conf_parser.y" /* yacc.c:1646  */
3815      {
3816    if (conf_parser_ctx.pass == 2)
3817      block_state.modes.value |= UMODE_NCHANGE;
3818   }
3819 + #line 3820 "conf_parser.c" /* yacc.c:1646  */
3820      break;
3821  
3822 <  case 167:
3823 < /* Line 1792 of yacc.c  */
4120 < #line 1133 "conf_parser.y"
3822 >  case 189:
3823 > #line 1135 "conf_parser.y" /* yacc.c:1646  */
3824      {
3825    if (conf_parser_ctx.pass == 2)
3826      block_state.modes.value |= UMODE_REJ;
3827   }
3828 + #line 3829 "conf_parser.c" /* yacc.c:1646  */
3829      break;
3830  
3831 <  case 168:
3832 < /* Line 1792 of yacc.c  */
4129 < #line 1137 "conf_parser.y"
3831 >  case 190:
3832 > #line 1139 "conf_parser.y" /* yacc.c:1646  */
3833      {
3834    if (conf_parser_ctx.pass == 2)
3835      block_state.modes.value |= UMODE_UNAUTH;
3836   }
3837 + #line 3838 "conf_parser.c" /* yacc.c:1646  */
3838      break;
3839  
3840 <  case 169:
3841 < /* Line 1792 of yacc.c  */
4138 < #line 1141 "conf_parser.y"
3840 >  case 191:
3841 > #line 1143 "conf_parser.y" /* yacc.c:1646  */
3842      {
3843    if (conf_parser_ctx.pass == 2)
3844      block_state.modes.value |= UMODE_SPY;
3845   }
3846 + #line 3847 "conf_parser.c" /* yacc.c:1646  */
3847      break;
3848  
3849 <  case 170:
3850 < /* Line 1792 of yacc.c  */
4147 < #line 1145 "conf_parser.y"
3849 >  case 192:
3850 > #line 1147 "conf_parser.y" /* yacc.c:1646  */
3851      {
3852    if (conf_parser_ctx.pass == 2)
3853      block_state.modes.value |= UMODE_EXTERNAL;
3854   }
3855 + #line 3856 "conf_parser.c" /* yacc.c:1646  */
3856      break;
3857  
3858 <  case 171:
3859 < /* Line 1792 of yacc.c  */
4156 < #line 1149 "conf_parser.y"
4157 <    {
4158 <  if (conf_parser_ctx.pass == 2)
4159 <    block_state.modes.value |= UMODE_OPERWALL;
4160 < }
4161 <    break;
4162 <
4163 <  case 172:
4164 < /* Line 1792 of yacc.c  */
4165 < #line 1153 "conf_parser.y"
3858 >  case 193:
3859 > #line 1151 "conf_parser.y" /* yacc.c:1646  */
3860      {
3861    if (conf_parser_ctx.pass == 2)
3862      block_state.modes.value |= UMODE_SERVNOTICE;
3863   }
3864 + #line 3865 "conf_parser.c" /* yacc.c:1646  */
3865      break;
3866  
3867 <  case 173:
3868 < /* Line 1792 of yacc.c  */
4174 < #line 1157 "conf_parser.y"
3867 >  case 194:
3868 > #line 1155 "conf_parser.y" /* yacc.c:1646  */
3869      {
3870    if (conf_parser_ctx.pass == 2)
3871      block_state.modes.value |= UMODE_INVISIBLE;
3872   }
3873 + #line 3874 "conf_parser.c" /* yacc.c:1646  */
3874      break;
3875  
3876 <  case 174:
3877 < /* Line 1792 of yacc.c  */
4183 < #line 1161 "conf_parser.y"
3876 >  case 195:
3877 > #line 1159 "conf_parser.y" /* yacc.c:1646  */
3878      {
3879    if (conf_parser_ctx.pass == 2)
3880      block_state.modes.value |= UMODE_WALLOP;
3881   }
3882 + #line 3883 "conf_parser.c" /* yacc.c:1646  */
3883      break;
3884  
3885 <  case 175:
3886 < /* Line 1792 of yacc.c  */
4192 < #line 1165 "conf_parser.y"
3885 >  case 196:
3886 > #line 1163 "conf_parser.y" /* yacc.c:1646  */
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889      block_state.modes.value |= UMODE_SOFTCALLERID;
3890   }
3891 + #line 3892 "conf_parser.c" /* yacc.c:1646  */
3892      break;
3893  
3894 <  case 176:
3895 < /* Line 1792 of yacc.c  */
4201 < #line 1169 "conf_parser.y"
3894 >  case 197:
3895 > #line 1167 "conf_parser.y" /* yacc.c:1646  */
3896      {
3897    if (conf_parser_ctx.pass == 2)
3898      block_state.modes.value |= UMODE_CALLERID;
3899   }
3900 + #line 3901 "conf_parser.c" /* yacc.c:1646  */
3901      break;
3902  
3903 <  case 177:
3904 < /* Line 1792 of yacc.c  */
4210 < #line 1173 "conf_parser.y"
3903 >  case 198:
3904 > #line 1171 "conf_parser.y" /* yacc.c:1646  */
3905      {
3906    if (conf_parser_ctx.pass == 2)
3907      block_state.modes.value |= UMODE_LOCOPS;
3908   }
3909 + #line 3910 "conf_parser.c" /* yacc.c:1646  */
3910 +    break;
3911 +
3912 +  case 199:
3913 + #line 1175 "conf_parser.y" /* yacc.c:1646  */
3914 +    {
3915 +  if (conf_parser_ctx.pass == 2)
3916 +    block_state.modes.value |= UMODE_REGONLY;
3917 + }
3918 + #line 3919 "conf_parser.c" /* yacc.c:1646  */
3919      break;
3920  
3921 <  case 178:
3922 < /* Line 1792 of yacc.c  */
3923 < #line 1179 "conf_parser.y"
3921 >  case 200:
3922 > #line 1179 "conf_parser.y" /* yacc.c:1646  */
3923 >    {
3924 >  if (conf_parser_ctx.pass == 2)
3925 >    block_state.modes.value |= UMODE_FARCONNECT;
3926 > }
3927 > #line 3928 "conf_parser.c" /* yacc.c:1646  */
3928 >    break;
3929 >
3930 >  case 201:
3931 > #line 1185 "conf_parser.y" /* yacc.c:1646  */
3932      {
3933    if (conf_parser_ctx.pass == 2)
3934      block_state.port.value = 0;
3935   }
3936 + #line 3937 "conf_parser.c" /* yacc.c:1646  */
3937      break;
3938  
3939 <  case 182:
3940 < /* Line 1792 of yacc.c  */
4228 < #line 1186 "conf_parser.y"
3939 >  case 205:
3940 > #line 1192 "conf_parser.y" /* yacc.c:1646  */
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943 <    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
3943 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
3944   }
3945 + #line 3946 "conf_parser.c" /* yacc.c:1646  */
3946      break;
3947  
3948 <  case 183:
3949 < /* Line 1792 of yacc.c  */
4237 < #line 1190 "conf_parser.y"
3948 >  case 206:
3949 > #line 1196 "conf_parser.y" /* yacc.c:1646  */
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952 <    block_state.port.value |= OPER_FLAG_REMOTE;
3952 >    block_state.port.value |= OPER_FLAG_KILL;
3953   }
3954 + #line 3955 "conf_parser.c" /* yacc.c:1646  */
3955      break;
3956  
3957 <  case 184:
3958 < /* Line 1792 of yacc.c  */
4246 < #line 1194 "conf_parser.y"
3957 >  case 207:
3958 > #line 1200 "conf_parser.y" /* yacc.c:1646  */
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961 <    block_state.port.value |= OPER_FLAG_K;
3961 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
3962   }
3963 + #line 3964 "conf_parser.c" /* yacc.c:1646  */
3964      break;
3965  
3966 <  case 185:
3967 < /* Line 1792 of yacc.c  */
3968 < #line 1198 "conf_parser.y"
3966 >  case 208:
3967 > #line 1204 "conf_parser.y" /* yacc.c:1646  */
3968 >    {
3969 >  if (conf_parser_ctx.pass == 2)
3970 >    block_state.port.value |= OPER_FLAG_CONNECT;
3971 > }
3972 > #line 3973 "conf_parser.c" /* yacc.c:1646  */
3973 >    break;
3974 >
3975 >  case 209:
3976 > #line 1208 "conf_parser.y" /* yacc.c:1646  */
3977 >    {
3978 >  if (conf_parser_ctx.pass == 2)
3979 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
3980 > }
3981 > #line 3982 "conf_parser.c" /* yacc.c:1646  */
3982 >    break;
3983 >
3984 >  case 210:
3985 > #line 1212 "conf_parser.y" /* yacc.c:1646  */
3986 >    {
3987 >  if (conf_parser_ctx.pass == 2)
3988 >    block_state.port.value |= OPER_FLAG_SQUIT;
3989 > }
3990 > #line 3991 "conf_parser.c" /* yacc.c:1646  */
3991 >    break;
3992 >
3993 >  case 211:
3994 > #line 1216 "conf_parser.y" /* yacc.c:1646  */
3995 >    {
3996 >  if (conf_parser_ctx.pass == 2)
3997 >    block_state.port.value |= OPER_FLAG_KLINE;
3998 > }
3999 > #line 4000 "conf_parser.c" /* yacc.c:1646  */
4000 >    break;
4001 >
4002 >  case 212:
4003 > #line 1220 "conf_parser.y" /* yacc.c:1646  */
4004      {
4005    if (conf_parser_ctx.pass == 2)
4006      block_state.port.value |= OPER_FLAG_UNKLINE;
4007   }
4008 + #line 4009 "conf_parser.c" /* yacc.c:1646  */
4009      break;
4010  
4011 <  case 186:
4012 < /* Line 1792 of yacc.c  */
4264 < #line 1202 "conf_parser.y"
4011 >  case 213:
4012 > #line 1224 "conf_parser.y" /* yacc.c:1646  */
4013      {
4014    if (conf_parser_ctx.pass == 2)
4015      block_state.port.value |= OPER_FLAG_DLINE;
4016   }
4017 + #line 4018 "conf_parser.c" /* yacc.c:1646  */
4018      break;
4019  
4020 <  case 187:
4021 < /* Line 1792 of yacc.c  */
4273 < #line 1206 "conf_parser.y"
4020 >  case 214:
4021 > #line 1228 "conf_parser.y" /* yacc.c:1646  */
4022      {
4023    if (conf_parser_ctx.pass == 2)
4024      block_state.port.value |= OPER_FLAG_UNDLINE;
4025   }
4026 + #line 4027 "conf_parser.c" /* yacc.c:1646  */
4027      break;
4028  
4029 <  case 188:
4030 < /* Line 1792 of yacc.c  */
4282 < #line 1210 "conf_parser.y"
4029 >  case 215:
4030 > #line 1232 "conf_parser.y" /* yacc.c:1646  */
4031      {
4032    if (conf_parser_ctx.pass == 2)
4033 <    block_state.port.value |= OPER_FLAG_X;
4033 >    block_state.port.value |= OPER_FLAG_XLINE;
4034   }
4035 + #line 4036 "conf_parser.c" /* yacc.c:1646  */
4036      break;
4037  
4038 <  case 189:
4039 < /* Line 1792 of yacc.c  */
4291 < #line 1214 "conf_parser.y"
4038 >  case 216:
4039 > #line 1236 "conf_parser.y" /* yacc.c:1646  */
4040      {
4041    if (conf_parser_ctx.pass == 2)
4042 <    block_state.port.value |= OPER_FLAG_GLINE;
4042 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4043   }
4044 + #line 4045 "conf_parser.c" /* yacc.c:1646  */
4045      break;
4046  
4047 <  case 190:
4048 < /* Line 1792 of yacc.c  */
4300 < #line 1218 "conf_parser.y"
4047 >  case 217:
4048 > #line 1240 "conf_parser.y" /* yacc.c:1646  */
4049      {
4050    if (conf_parser_ctx.pass == 2)
4051      block_state.port.value |= OPER_FLAG_DIE;
4052   }
4053 + #line 4054 "conf_parser.c" /* yacc.c:1646  */
4054      break;
4055  
4056 <  case 191:
4057 < /* Line 1792 of yacc.c  */
4309 < #line 1222 "conf_parser.y"
4056 >  case 218:
4057 > #line 1244 "conf_parser.y" /* yacc.c:1646  */
4058      {
4059    if (conf_parser_ctx.pass == 2)
4060      block_state.port.value |= OPER_FLAG_RESTART;
4061   }
4062 + #line 4063 "conf_parser.c" /* yacc.c:1646  */
4063      break;
4064  
4065 <  case 192:
4066 < /* Line 1792 of yacc.c  */
4318 < #line 1226 "conf_parser.y"
4065 >  case 219:
4066 > #line 1248 "conf_parser.y" /* yacc.c:1646  */
4067      {
4068    if (conf_parser_ctx.pass == 2)
4069 <    block_state.port.value |= OPER_FLAG_REHASH;
4069 >    block_state.port.value |= OPER_FLAG_REHASH_REMOTE;
4070   }
4071 + #line 4072 "conf_parser.c" /* yacc.c:1646  */
4072      break;
4073  
4074 <  case 193:
4075 < /* Line 1792 of yacc.c  */
4327 < #line 1230 "conf_parser.y"
4074 >  case 220:
4075 > #line 1252 "conf_parser.y" /* yacc.c:1646  */
4076      {
4077    if (conf_parser_ctx.pass == 2)
4078 <    block_state.port.value |= OPER_FLAG_ADMIN;
4078 >    block_state.port.value |= OPER_FLAG_REHASH;
4079   }
4080 + #line 4081 "conf_parser.c" /* yacc.c:1646  */
4081      break;
4082  
4083 <  case 194:
4084 < /* Line 1792 of yacc.c  */
4336 < #line 1234 "conf_parser.y"
4083 >  case 221:
4084 > #line 1256 "conf_parser.y" /* yacc.c:1646  */
4085      {
4086    if (conf_parser_ctx.pass == 2)
4087 <    block_state.port.value |= OPER_FLAG_N;
4087 >    block_state.port.value |= OPER_FLAG_ADMIN;
4088   }
4089 + #line 4090 "conf_parser.c" /* yacc.c:1646  */
4090      break;
4091  
4092 <  case 195:
4093 < /* Line 1792 of yacc.c  */
4345 < #line 1238 "conf_parser.y"
4092 >  case 222:
4093 > #line 1260 "conf_parser.y" /* yacc.c:1646  */
4094      {
4095    if (conf_parser_ctx.pass == 2)
4096 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4096 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4097   }
4098 + #line 4099 "conf_parser.c" /* yacc.c:1646  */
4099      break;
4100  
4101 <  case 196:
4102 < /* Line 1792 of yacc.c  */
4354 < #line 1242 "conf_parser.y"
4101 >  case 223:
4102 > #line 1264 "conf_parser.y" /* yacc.c:1646  */
4103      {
4104    if (conf_parser_ctx.pass == 2)
4105 <    block_state.port.value |= OPER_FLAG_GLOBOPS;
4105 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4106   }
4107 + #line 4108 "conf_parser.c" /* yacc.c:1646  */
4108      break;
4109  
4110 <  case 197:
4111 < /* Line 1792 of yacc.c  */
4363 < #line 1246 "conf_parser.y"
4110 >  case 224:
4111 > #line 1268 "conf_parser.y" /* yacc.c:1646  */
4112      {
4113    if (conf_parser_ctx.pass == 2)
4114 <    block_state.port.value |= OPER_FLAG_OPER_SPY;
4114 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4115   }
4116 + #line 4117 "conf_parser.c" /* yacc.c:1646  */
4117      break;
4118  
4119 <  case 198:
4120 < /* Line 1792 of yacc.c  */
4372 < #line 1250 "conf_parser.y"
4119 >  case 225:
4120 > #line 1272 "conf_parser.y" /* yacc.c:1646  */
4121      {
4122    if (conf_parser_ctx.pass == 2)
4123      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4124   }
4125 + #line 4126 "conf_parser.c" /* yacc.c:1646  */
4126      break;
4127  
4128 <  case 199:
4129 < /* Line 1792 of yacc.c  */
4381 < #line 1254 "conf_parser.y"
4128 >  case 226:
4129 > #line 1276 "conf_parser.y" /* yacc.c:1646  */
4130      {
4131    if (conf_parser_ctx.pass == 2)
4132      block_state.port.value |= OPER_FLAG_SET;
4133   }
4134 + #line 4135 "conf_parser.c" /* yacc.c:1646  */
4135      break;
4136  
4137 <  case 200:
4138 < /* Line 1792 of yacc.c  */
4390 < #line 1258 "conf_parser.y"
4137 >  case 227:
4138 > #line 1280 "conf_parser.y" /* yacc.c:1646  */
4139      {
4140    if (conf_parser_ctx.pass == 2)
4141      block_state.port.value |= OPER_FLAG_MODULE;
4142   }
4143 + #line 4144 "conf_parser.c" /* yacc.c:1646  */
4144      break;
4145  
4146 <  case 201:
4147 < /* Line 1792 of yacc.c  */
4148 < #line 1268 "conf_parser.y"
4146 >  case 228:
4147 > #line 1284 "conf_parser.y" /* yacc.c:1646  */
4148 >    {
4149 >  if (conf_parser_ctx.pass == 2)
4150 >    block_state.port.value |= OPER_FLAG_OPME;
4151 > }
4152 > #line 4153 "conf_parser.c" /* yacc.c:1646  */
4153 >    break;
4154 >
4155 >  case 229:
4156 > #line 1288 "conf_parser.y" /* yacc.c:1646  */
4157 >    {
4158 >  if (conf_parser_ctx.pass == 2)
4159 >    block_state.port.value |= OPER_FLAG_NICK_RESV;
4160 > }
4161 > #line 4162 "conf_parser.c" /* yacc.c:1646  */
4162 >    break;
4163 >
4164 >  case 230:
4165 > #line 1292 "conf_parser.y" /* yacc.c:1646  */
4166 >    {
4167 >  if (conf_parser_ctx.pass == 2)
4168 >    block_state.port.value |= OPER_FLAG_JOIN_RESV;
4169 > }
4170 > #line 4171 "conf_parser.c" /* yacc.c:1646  */
4171 >    break;
4172 >
4173 >  case 231:
4174 > #line 1296 "conf_parser.y" /* yacc.c:1646  */
4175 >    {
4176 >  if (conf_parser_ctx.pass == 2)
4177 >    block_state.port.value |= OPER_FLAG_RESV;
4178 > }
4179 > #line 4180 "conf_parser.c" /* yacc.c:1646  */
4180 >    break;
4181 >
4182 >  case 232:
4183 > #line 1300 "conf_parser.y" /* yacc.c:1646  */
4184 >    {
4185 >  if (conf_parser_ctx.pass == 2)
4186 >    block_state.port.value |= OPER_FLAG_UNRESV;
4187 > }
4188 > #line 4189 "conf_parser.c" /* yacc.c:1646  */
4189 >    break;
4190 >
4191 >  case 233:
4192 > #line 1304 "conf_parser.y" /* yacc.c:1646  */
4193 >    {
4194 >  if (conf_parser_ctx.pass == 2)
4195 >    block_state.port.value |= OPER_FLAG_CLOSE;
4196 > }
4197 > #line 4198 "conf_parser.c" /* yacc.c:1646  */
4198 >    break;
4199 >
4200 >  case 234:
4201 > #line 1314 "conf_parser.y" /* yacc.c:1646  */
4202      {
4203    if (conf_parser_ctx.pass != 1)
4204      break;
# Line 4409 | Line 4211 | yyreduce:
4211    block_state.max_sendq.value = DEFAULT_SENDQ;
4212    block_state.max_recvq.value = DEFAULT_RECVQ;
4213   }
4214 + #line 4215 "conf_parser.c" /* yacc.c:1646  */
4215      break;
4216  
4217 <  case 202:
4218 < /* Line 1792 of yacc.c  */
4416 < #line 1280 "conf_parser.y"
4217 >  case 235:
4218 > #line 1326 "conf_parser.y" /* yacc.c:1646  */
4219      {
4220    struct ClassItem *class = NULL;
4221  
# Line 4427 | Line 4229 | yyreduce:
4229      class = class_make();
4230  
4231    class->active = 1;
4232 <  MyFree(class->name);
4232 >  xfree(class->name);
4233    class->name = xstrdup(block_state.class.buf);
4234    class->ping_freq = block_state.ping_freq.value;
4235    class->max_perip = block_state.max_perip.value;
# Line 4435 | Line 4237 | yyreduce:
4237    class->max_total = block_state.max_total.value;
4238    class->max_global = block_state.max_global.value;
4239    class->max_local = block_state.max_local.value;
4438  class->max_ident = block_state.max_ident.value;
4240    class->max_sendq = block_state.max_sendq.value;
4241    class->max_recvq = block_state.max_recvq.value;
4242 +  class->max_channels = block_state.max_channels.value;
4243  
4244    if (block_state.min_idle.value > block_state.max_idle.value)
4245    {
# Line 4450 | Line 4252 | yyreduce:
4252    class->min_idle = block_state.min_idle.value;
4253    class->max_idle = block_state.max_idle.value;
4254  
4255 <  if (class->number_per_cidr && block_state.number_per_cidr.value)
4454 <    if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4455 <        (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
4456 <      if ((class->cidr_bitlen_ipv4 != block_state.cidr_bitlen_ipv4.value) ||
4457 <          (class->cidr_bitlen_ipv6 != block_state.cidr_bitlen_ipv6.value))
4458 <        rebuild_cidr_list(class);
4255 >  rebuild_cidr_list(class);
4256  
4257    class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;
4258    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4259    class->number_per_cidr = block_state.number_per_cidr.value;
4260   }
4261 + #line 4262 "conf_parser.c" /* yacc.c:1646  */
4262      break;
4263  
4264 <  case 222:
4265 < /* Line 1792 of yacc.c  */
4468 < #line 1346 "conf_parser.y"
4264 >  case 255:
4265 > #line 1389 "conf_parser.y" /* yacc.c:1646  */
4266      {
4267    if (conf_parser_ctx.pass == 1)
4268      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4269   }
4270 + #line 4271 "conf_parser.c" /* yacc.c:1646  */
4271      break;
4272  
4273 <  case 223:
4274 < /* Line 1792 of yacc.c  */
4477 < #line 1352 "conf_parser.y"
4273 >  case 256:
4274 > #line 1395 "conf_parser.y" /* yacc.c:1646  */
4275      {
4276    if (conf_parser_ctx.pass == 1)
4277 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4277 >    block_state.ping_freq.value = (yyvsp[-1].number);
4278   }
4279 + #line 4280 "conf_parser.c" /* yacc.c:1646  */
4280      break;
4281  
4282 <  case 224:
4283 < /* Line 1792 of yacc.c  */
4486 < #line 1358 "conf_parser.y"
4282 >  case 257:
4283 > #line 1401 "conf_parser.y" /* yacc.c:1646  */
4284      {
4285    if (conf_parser_ctx.pass == 1)
4286 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4286 >    block_state.max_perip.value = (yyvsp[-1].number);
4287   }
4288 + #line 4289 "conf_parser.c" /* yacc.c:1646  */
4289      break;
4290  
4291 <  case 225:
4292 < /* Line 1792 of yacc.c  */
4495 < #line 1364 "conf_parser.y"
4291 >  case 258:
4292 > #line 1407 "conf_parser.y" /* yacc.c:1646  */
4293      {
4294    if (conf_parser_ctx.pass == 1)
4295 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4295 >    block_state.con_freq.value = (yyvsp[-1].number);
4296   }
4297 + #line 4298 "conf_parser.c" /* yacc.c:1646  */
4298      break;
4299  
4300 <  case 226:
4301 < /* Line 1792 of yacc.c  */
4504 < #line 1370 "conf_parser.y"
4300 >  case 259:
4301 > #line 1413 "conf_parser.y" /* yacc.c:1646  */
4302      {
4303    if (conf_parser_ctx.pass == 1)
4304 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4304 >    block_state.max_channels.value = (yyvsp[-1].number);
4305   }
4306 + #line 4307 "conf_parser.c" /* yacc.c:1646  */
4307      break;
4308  
4309 <  case 227:
4310 < /* Line 1792 of yacc.c  */
4513 < #line 1376 "conf_parser.y"
4309 >  case 260:
4310 > #line 1419 "conf_parser.y" /* yacc.c:1646  */
4311      {
4312    if (conf_parser_ctx.pass == 1)
4313 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4313 >    block_state.max_total.value = (yyvsp[-1].number);
4314   }
4315 + #line 4316 "conf_parser.c" /* yacc.c:1646  */
4316      break;
4317  
4318 <  case 228:
4319 < /* Line 1792 of yacc.c  */
4522 < #line 1382 "conf_parser.y"
4318 >  case 261:
4319 > #line 1425 "conf_parser.y" /* yacc.c:1646  */
4320      {
4321    if (conf_parser_ctx.pass == 1)
4322 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4322 >    block_state.max_global.value = (yyvsp[-1].number);
4323   }
4324 + #line 4325 "conf_parser.c" /* yacc.c:1646  */
4325      break;
4326  
4327 <  case 229:
4328 < /* Line 1792 of yacc.c  */
4531 < #line 1388 "conf_parser.y"
4327 >  case 262:
4328 > #line 1431 "conf_parser.y" /* yacc.c:1646  */
4329      {
4330    if (conf_parser_ctx.pass == 1)
4331 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4331 >    block_state.max_local.value = (yyvsp[-1].number);
4332   }
4333 + #line 4334 "conf_parser.c" /* yacc.c:1646  */
4334      break;
4335  
4336 <  case 230:
4337 < /* Line 1792 of yacc.c  */
4540 < #line 1394 "conf_parser.y"
4336 >  case 263:
4337 > #line 1437 "conf_parser.y" /* yacc.c:1646  */
4338      {
4339    if (conf_parser_ctx.pass == 1)
4340 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4340 >    block_state.max_sendq.value = (yyvsp[-1].number);
4341   }
4342 + #line 4343 "conf_parser.c" /* yacc.c:1646  */
4343      break;
4344  
4345 <  case 231:
4346 < /* Line 1792 of yacc.c  */
4549 < #line 1400 "conf_parser.y"
4345 >  case 264:
4346 > #line 1443 "conf_parser.y" /* yacc.c:1646  */
4347      {
4348    if (conf_parser_ctx.pass == 1)
4349 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4350 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4349 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4350 >      block_state.max_recvq.value = (yyvsp[-1].number);
4351   }
4352 + #line 4353 "conf_parser.c" /* yacc.c:1646  */
4353      break;
4354  
4355 <  case 232:
4356 < /* Line 1792 of yacc.c  */
4559 < #line 1407 "conf_parser.y"
4355 >  case 265:
4356 > #line 1450 "conf_parser.y" /* yacc.c:1646  */
4357      {
4358    if (conf_parser_ctx.pass == 1)
4359 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4359 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4360   }
4361 + #line 4362 "conf_parser.c" /* yacc.c:1646  */
4362      break;
4363  
4364 <  case 233:
4365 < /* Line 1792 of yacc.c  */
4568 < #line 1413 "conf_parser.y"
4364 >  case 266:
4365 > #line 1456 "conf_parser.y" /* yacc.c:1646  */
4366      {
4367    if (conf_parser_ctx.pass == 1)
4368 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4368 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4369   }
4370 + #line 4371 "conf_parser.c" /* yacc.c:1646  */
4371      break;
4372  
4373 <  case 234:
4374 < /* Line 1792 of yacc.c  */
4577 < #line 1419 "conf_parser.y"
4373 >  case 267:
4374 > #line 1462 "conf_parser.y" /* yacc.c:1646  */
4375      {
4376    if (conf_parser_ctx.pass == 1)
4377 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4377 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4378   }
4379 + #line 4380 "conf_parser.c" /* yacc.c:1646  */
4380      break;
4381  
4382 <  case 235:
4383 < /* Line 1792 of yacc.c  */
4586 < #line 1425 "conf_parser.y"
4382 >  case 268:
4383 > #line 1468 "conf_parser.y" /* yacc.c:1646  */
4384      {
4385    if (conf_parser_ctx.pass != 1)
4386      break;
4387  
4388 <  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4388 >  block_state.min_idle.value = (yyvsp[-1].number);
4389    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4390   }
4391 + #line 4392 "conf_parser.c" /* yacc.c:1646  */
4392      break;
4393  
4394 <  case 236:
4395 < /* Line 1792 of yacc.c  */
4598 < #line 1434 "conf_parser.y"
4394 >  case 269:
4395 > #line 1477 "conf_parser.y" /* yacc.c:1646  */
4396      {
4397    if (conf_parser_ctx.pass != 1)
4398      break;
4399  
4400 <  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4400 >  block_state.max_idle.value = (yyvsp[-1].number);
4401    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4402   }
4403 + #line 4404 "conf_parser.c" /* yacc.c:1646  */
4404      break;
4405  
4406 <  case 237:
4407 < /* Line 1792 of yacc.c  */
4610 < #line 1443 "conf_parser.y"
4406 >  case 270:
4407 > #line 1486 "conf_parser.y" /* yacc.c:1646  */
4408      {
4409    if (conf_parser_ctx.pass == 1)
4410      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4411   }
4412 + #line 4413 "conf_parser.c" /* yacc.c:1646  */
4413      break;
4414  
4415 <  case 241:
4416 < /* Line 1792 of yacc.c  */
4619 < #line 1450 "conf_parser.y"
4415 >  case 274:
4416 > #line 1493 "conf_parser.y" /* yacc.c:1646  */
4417      {
4418    if (conf_parser_ctx.pass == 1)
4419      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4420   }
4421 + #line 4422 "conf_parser.c" /* yacc.c:1646  */
4422      break;
4423  
4424 <  case 242:
4425 < /* Line 1792 of yacc.c  */
4628 < #line 1454 "conf_parser.y"
4424 >  case 275:
4425 > #line 1497 "conf_parser.y" /* yacc.c:1646  */
4426      {
4427    if (conf_parser_ctx.pass == 1)
4428      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4429   }
4430 + #line 4431 "conf_parser.c" /* yacc.c:1646  */
4431      break;
4432  
4433 <  case 243:
4434 < /* Line 1792 of yacc.c  */
4637 < #line 1464 "conf_parser.y"
4433 >  case 276:
4434 > #line 1507 "conf_parser.y" /* yacc.c:1646  */
4435      {
4436    if (conf_parser_ctx.pass == 2)
4437      reset_block_state();
4438   }
4439 + #line 4440 "conf_parser.c" /* yacc.c:1646  */
4440      break;
4441  
4442 <  case 245:
4443 < /* Line 1792 of yacc.c  */
4646 < #line 1470 "conf_parser.y"
4442 >  case 278:
4443 > #line 1513 "conf_parser.y" /* yacc.c:1646  */
4444      {
4445    block_state.flags.value = 0;
4446   }
4447 + #line 4448 "conf_parser.c" /* yacc.c:1646  */
4448      break;
4449  
4450 <  case 249:
4451 < /* Line 1792 of yacc.c  */
4654 < #line 1476 "conf_parser.y"
4450 >  case 282:
4451 > #line 1519 "conf_parser.y" /* yacc.c:1646  */
4452      {
4453    if (conf_parser_ctx.pass == 2)
4454      block_state.flags.value |= LISTENER_SSL;
4455   }
4456 + #line 4457 "conf_parser.c" /* yacc.c:1646  */
4457      break;
4458  
4459 <  case 250:
4460 < /* Line 1792 of yacc.c  */
4663 < #line 1480 "conf_parser.y"
4459 >  case 283:
4460 > #line 1523 "conf_parser.y" /* yacc.c:1646  */
4461      {
4462    if (conf_parser_ctx.pass == 2)
4463      block_state.flags.value |= LISTENER_HIDDEN;
4464   }
4465 + #line 4466 "conf_parser.c" /* yacc.c:1646  */
4466      break;
4467  
4468 <  case 251:
4469 < /* Line 1792 of yacc.c  */
4672 < #line 1484 "conf_parser.y"
4468 >  case 284:
4469 > #line 1527 "conf_parser.y" /* yacc.c:1646  */
4470      {
4471    if (conf_parser_ctx.pass == 2)
4472     block_state.flags.value |= LISTENER_SERVER;
4473   }
4474 + #line 4475 "conf_parser.c" /* yacc.c:1646  */
4475      break;
4476  
4477 <  case 259:
4478 < /* Line 1792 of yacc.c  */
4681 < #line 1492 "conf_parser.y"
4477 >  case 292:
4478 > #line 1535 "conf_parser.y" /* yacc.c:1646  */
4479      { block_state.flags.value = 0; }
4480 + #line 4481 "conf_parser.c" /* yacc.c:1646  */
4481      break;
4482  
4483 <  case 263:
4484 < /* Line 1792 of yacc.c  */
4687 < #line 1497 "conf_parser.y"
4483 >  case 296:
4484 > #line 1540 "conf_parser.y" /* yacc.c:1646  */
4485      {
4486    if (conf_parser_ctx.pass == 2)
4487    {
4488 + #ifndef HAVE_TLS
4489      if (block_state.flags.value & LISTENER_SSL)
4490 < #ifdef HAVE_LIBCRYPTO
4491 <      if (!ServerInfo.server_ctx)
4490 >    {
4491 >      conf_error_report("TLS not available - port closed");
4492 >      break;
4493 >    }
4494   #endif
4495 <      {
4696 <        conf_error_report("SSL not available - port closed");
4697 <        break;
4698 <      }
4699 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4495 >    listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4496    }
4497   }
4498 + #line 4499 "conf_parser.c" /* yacc.c:1646  */
4499      break;
4500  
4501 <  case 264:
4502 < /* Line 1792 of yacc.c  */
4706 < #line 1511 "conf_parser.y"
4501 >  case 297:
4502 > #line 1553 "conf_parser.y" /* yacc.c:1646  */
4503      {
4504    if (conf_parser_ctx.pass == 2)
4505    {
4506 <    int i;
4711 <
4506 > #ifndef HAVE_TLS
4507      if (block_state.flags.value & LISTENER_SSL)
4508 < #ifdef HAVE_LIBCRYPTO
4509 <      if (!ServerInfo.server_ctx)
4508 >    {
4509 >      conf_error_report("TLS not available - port closed");
4510 >      break;
4511 >    }
4512   #endif
4716      {
4717        conf_error_report("SSL not available - port closed");
4718        break;
4719      }
4513  
4514 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4515 <      add_listener(i, block_state.addr.buf, block_state.flags.value);
4514 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4515 >      listener_add(i, block_state.addr.buf, block_state.flags.value);
4516    }
4517   }
4518 + #line 4519 "conf_parser.c" /* yacc.c:1646  */
4519      break;
4520  
4521 <  case 265:
4522 < /* Line 1792 of yacc.c  */
4729 < #line 1531 "conf_parser.y"
4521 >  case 298:
4522 > #line 1570 "conf_parser.y" /* yacc.c:1646  */
4523      {
4524    if (conf_parser_ctx.pass == 2)
4525      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4526   }
4527 + #line 4528 "conf_parser.c" /* yacc.c:1646  */
4528      break;
4529  
4530 <  case 266:
4531 < /* Line 1792 of yacc.c  */
4738 < #line 1537 "conf_parser.y"
4530 >  case 299:
4531 > #line 1576 "conf_parser.y" /* yacc.c:1646  */
4532      {
4533    if (conf_parser_ctx.pass == 2)
4534      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4535   }
4536 + #line 4537 "conf_parser.c" /* yacc.c:1646  */
4537      break;
4538  
4539 <  case 267:
4540 < /* Line 1792 of yacc.c  */
4747 < #line 1546 "conf_parser.y"
4539 >  case 300:
4540 > #line 1586 "conf_parser.y" /* yacc.c:1646  */
4541      {
4542    if (conf_parser_ctx.pass == 2)
4543      reset_block_state();
4544   }
4545 + #line 4546 "conf_parser.c" /* yacc.c:1646  */
4546      break;
4547  
4548 <  case 268:
4549 < /* Line 1792 of yacc.c  */
4756 < #line 1550 "conf_parser.y"
4548 >  case 301:
4549 > #line 1590 "conf_parser.y" /* yacc.c:1646  */
4550      {
4551 <  dlink_node *ptr = NULL;
4551 >  dlink_node *node = NULL;
4552  
4553    if (conf_parser_ctx.pass != 2)
4554      break;
4555  
4556 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
4556 >  DLINK_FOREACH(node, block_state.mask.list.head)
4557    {
4558      struct MaskItem *conf = NULL;
4559      struct split_nuh_item nuh;
4560 +    char *s = node->data;
4561  
4562 <    nuh.nuhmask  = ptr->data;
4562 >    if (EmptyString(s))
4563 >      continue;
4564 >
4565 >    nuh.nuhmask  = s;
4566      nuh.nickptr  = NULL;
4567      nuh.userptr  = block_state.user.buf;
4568      nuh.hostptr  = block_state.host.buf;
# Line 4775 | Line 4572 | yyreduce:
4572      split_nuh(&nuh);
4573  
4574      conf        = conf_make(CONF_CLIENT);
4575 <    conf->user  = xstrdup(collapse(block_state.user.buf));
4576 <    conf->host  = xstrdup(collapse(block_state.host.buf));
4575 >    conf->user  = xstrdup(block_state.user.buf);
4576 >    conf->host  = xstrdup(block_state.host.buf);
4577  
4578      if (block_state.rpass.buf[0])
4579        conf->passwd = xstrdup(block_state.rpass.buf);
4580      if (block_state.name.buf[0])
4581 <      conf->passwd = xstrdup(block_state.name.buf);
4581 >      conf->name = xstrdup(block_state.name.buf);
4582  
4583      conf->flags = block_state.flags.value;
4584      conf->port  = block_state.port.value;
# Line 4790 | Line 4587 | yyreduce:
4587      add_conf_by_address(CONF_CLIENT, conf);
4588    }
4589   }
4590 + #line 4591 "conf_parser.c" /* yacc.c:1646  */
4591      break;
4592  
4593 <  case 280:
4594 < /* Line 1792 of yacc.c  */
4797 < #line 1593 "conf_parser.y"
4593 >  case 313:
4594 > #line 1643 "conf_parser.y" /* yacc.c:1646  */
4595      {
4596    if (conf_parser_ctx.pass == 2)
4597      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4598   }
4599 + #line 4600 "conf_parser.c" /* yacc.c:1646  */
4600      break;
4601  
4602 <  case 281:
4603 < /* Line 1792 of yacc.c  */
4806 < #line 1599 "conf_parser.y"
4602 >  case 314:
4603 > #line 1649 "conf_parser.y" /* yacc.c:1646  */
4604      {
4605    if (conf_parser_ctx.pass == 2)
4606      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4607   }
4608 + #line 4609 "conf_parser.c" /* yacc.c:1646  */
4609      break;
4610  
4611 <  case 282:
4612 < /* Line 1792 of yacc.c  */
4815 < #line 1605 "conf_parser.y"
4611 >  case 315:
4612 > #line 1655 "conf_parser.y" /* yacc.c:1646  */
4613      {
4614    if (conf_parser_ctx.pass == 2)
4615      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4616   }
4617 + #line 4618 "conf_parser.c" /* yacc.c:1646  */
4618      break;
4619  
4620 <  case 283:
4621 < /* Line 1792 of yacc.c  */
4824 < #line 1611 "conf_parser.y"
4620 >  case 316:
4621 > #line 1661 "conf_parser.y" /* yacc.c:1646  */
4622      {
4623    if (conf_parser_ctx.pass == 2)
4624    {
# Line 4831 | Line 4628 | yyreduce:
4628        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4629    }
4630   }
4631 + #line 4632 "conf_parser.c" /* yacc.c:1646  */
4632      break;
4633  
4634 <  case 284:
4635 < /* Line 1792 of yacc.c  */
4838 < #line 1622 "conf_parser.y"
4634 >  case 317:
4635 > #line 1672 "conf_parser.y" /* yacc.c:1646  */
4636      {
4637    if (conf_parser_ctx.pass == 2)
4638 <    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4638 >    block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4639   }
4640 + #line 4641 "conf_parser.c" /* yacc.c:1646  */
4641      break;
4642  
4643 <  case 288:
4644 < /* Line 1792 of yacc.c  */
4847 < #line 1629 "conf_parser.y"
4643 >  case 321:
4644 > #line 1679 "conf_parser.y" /* yacc.c:1646  */
4645      {
4646    if (conf_parser_ctx.pass == 2)
4647      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4648   }
4649 + #line 4650 "conf_parser.c" /* yacc.c:1646  */
4650      break;
4651  
4652 <  case 289:
4653 < /* Line 1792 of yacc.c  */
4856 < #line 1633 "conf_parser.y"
4652 >  case 322:
4653 > #line 1683 "conf_parser.y" /* yacc.c:1646  */
4654      {
4655    if (conf_parser_ctx.pass == 2)
4656      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4657   }
4658 + #line 4659 "conf_parser.c" /* yacc.c:1646  */
4659      break;
4660  
4661 <  case 290:
4662 < /* Line 1792 of yacc.c  */
4865 < #line 1637 "conf_parser.y"
4661 >  case 323:
4662 > #line 1687 "conf_parser.y" /* yacc.c:1646  */
4663      {
4664    if (conf_parser_ctx.pass == 2)
4665      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4666   }
4667 + #line 4668 "conf_parser.c" /* yacc.c:1646  */
4668      break;
4669  
4670 <  case 291:
4671 < /* Line 1792 of yacc.c  */
4874 < #line 1641 "conf_parser.y"
4670 >  case 324:
4671 > #line 1691 "conf_parser.y" /* yacc.c:1646  */
4672      {
4673    if (conf_parser_ctx.pass == 2)
4674 <    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4674 >    block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;
4675   }
4676 + #line 4677 "conf_parser.c" /* yacc.c:1646  */
4677      break;
4678  
4679 <  case 292:
4680 < /* Line 1792 of yacc.c  */
4883 < #line 1645 "conf_parser.y"
4679 >  case 325:
4680 > #line 1695 "conf_parser.y" /* yacc.c:1646  */
4681      {
4682    if (conf_parser_ctx.pass == 2)
4683 <    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4683 >    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4684   }
4685 + #line 4686 "conf_parser.c" /* yacc.c:1646  */
4686      break;
4687  
4688 <  case 293:
4689 < /* Line 1792 of yacc.c  */
4892 < #line 1649 "conf_parser.y"
4688 >  case 326:
4689 > #line 1699 "conf_parser.y" /* yacc.c:1646  */
4690      {
4691    if (conf_parser_ctx.pass == 2)
4692 <    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4692 >    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4693   }
4694 + #line 4695 "conf_parser.c" /* yacc.c:1646  */
4695      break;
4696  
4697 <  case 294:
4698 < /* Line 1792 of yacc.c  */
4901 < #line 1653 "conf_parser.y"
4697 >  case 327:
4698 > #line 1703 "conf_parser.y" /* yacc.c:1646  */
4699      {
4700    if (conf_parser_ctx.pass == 2)
4701 <    block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4701 >    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4702   }
4703 + #line 4704 "conf_parser.c" /* yacc.c:1646  */
4704      break;
4705  
4706 <  case 295:
4707 < /* Line 1792 of yacc.c  */
4910 < #line 1657 "conf_parser.y"
4706 >  case 328:
4707 > #line 1707 "conf_parser.y" /* yacc.c:1646  */
4708      {
4709    if (conf_parser_ctx.pass == 2)
4710      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4711   }
4712 + #line 4713 "conf_parser.c" /* yacc.c:1646  */
4713      break;
4714  
4715 <  case 296:
4716 < /* Line 1792 of yacc.c  */
4919 < #line 1661 "conf_parser.y"
4715 >  case 329:
4716 > #line 1711 "conf_parser.y" /* yacc.c:1646  */
4717      {
4718    if (conf_parser_ctx.pass == 2)
4719      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4720   }
4721 + #line 4722 "conf_parser.c" /* yacc.c:1646  */
4722      break;
4723  
4724 <  case 297:
4725 < /* Line 1792 of yacc.c  */
4928 < #line 1665 "conf_parser.y"
4724 >  case 330:
4725 > #line 1715 "conf_parser.y" /* yacc.c:1646  */
4726      {
4727    if (conf_parser_ctx.pass == 2)
4728      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4729   }
4730 + #line 4731 "conf_parser.c" /* yacc.c:1646  */
4731      break;
4732  
4733 <  case 298:
4734 < /* Line 1792 of yacc.c  */
4937 < #line 1671 "conf_parser.y"
4733 >  case 331:
4734 > #line 1721 "conf_parser.y" /* yacc.c:1646  */
4735      {
4736    if (conf_parser_ctx.pass != 2)
4737      break;
4738  
4739 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4739 >  if (valid_hostname(yylval.string))
4740    {
4741      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4742      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 4947 | Line 4744 | yyreduce:
4744    else
4745      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4746   }
4747 + #line 4748 "conf_parser.c" /* yacc.c:1646  */
4748      break;
4749  
4750 <  case 299:
4751 < /* Line 1792 of yacc.c  */
4954 < #line 1685 "conf_parser.y"
4750 >  case 332:
4751 > #line 1735 "conf_parser.y" /* yacc.c:1646  */
4752      {
4753    if (conf_parser_ctx.pass != 2)
4754      break;
# Line 4959 | Line 4756 | yyreduce:
4756    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4757    block_state.flags.value |= CONF_FLAGS_REDIR;
4758   }
4759 + #line 4760 "conf_parser.c" /* yacc.c:1646  */
4760      break;
4761  
4762 <  case 300:
4763 < /* Line 1792 of yacc.c  */
4966 < #line 1694 "conf_parser.y"
4762 >  case 333:
4763 > #line 1744 "conf_parser.y" /* yacc.c:1646  */
4764      {
4765    if (conf_parser_ctx.pass != 2)
4766      break;
4767  
4768    block_state.flags.value |= CONF_FLAGS_REDIR;
4769 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4769 >  block_state.port.value = (yyvsp[-1].number);
4770   }
4771 + #line 4772 "conf_parser.c" /* yacc.c:1646  */
4772      break;
4773  
4774 <  case 301:
4775 < /* Line 1792 of yacc.c  */
4978 < #line 1707 "conf_parser.y"
4774 >  case 334:
4775 > #line 1757 "conf_parser.y" /* yacc.c:1646  */
4776      {
4777    if (conf_parser_ctx.pass != 2)
4778      break;
# Line 4983 | Line 4780 | yyreduce:
4780    reset_block_state();
4781    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4782   }
4783 + #line 4784 "conf_parser.c" /* yacc.c:1646  */
4784      break;
4785  
4786 <  case 309:
4787 < /* Line 1792 of yacc.c  */
4990 < #line 1719 "conf_parser.y"
4786 >  case 335:
4787 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4788      {
4789 <  if (conf_parser_ctx.pass == 2)
4790 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4789 >  if (conf_parser_ctx.pass != 2)
4790 >    break;
4791 >
4792 >  resv_make(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4793   }
4794 + #line 4795 "conf_parser.c" /* yacc.c:1646  */
4795      break;
4796  
4797 <  case 310:
4798 < /* Line 1792 of yacc.c  */
4999 < #line 1725 "conf_parser.y"
4797 >  case 342:
4798 > #line 1775 "conf_parser.y" /* yacc.c:1646  */
4799      {
4800 <  if (conf_parser_ctx.pass != 2)
4800 >  if (conf_parser_ctx.pass == 2)
4801 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4802 > }
4803 > #line 4804 "conf_parser.c" /* yacc.c:1646  */
4804      break;
4805  
4806 <  if (IsChanPrefix(*yylval.string))
4807 <    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
4806 >  case 343:
4807 > #line 1781 "conf_parser.y" /* yacc.c:1646  */
4808 >    {
4809 >  if (conf_parser_ctx.pass == 2)
4810 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4811   }
4812 + #line 4813 "conf_parser.c" /* yacc.c:1646  */
4813      break;
4814  
4815 <  case 311:
4816 < /* Line 1792 of yacc.c  */
5011 < #line 1734 "conf_parser.y"
4815 >  case 344:
4816 > #line 1787 "conf_parser.y" /* yacc.c:1646  */
4817      {
4818    if (conf_parser_ctx.pass == 2)
4819 <    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
4819 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4820   }
4821 + #line 4822 "conf_parser.c" /* yacc.c:1646  */
4822      break;
4823  
4824 <  case 317:
4825 < /* Line 1792 of yacc.c  */
5020 < #line 1748 "conf_parser.y"
4824 >  case 350:
4825 > #line 1802 "conf_parser.y" /* yacc.c:1646  */
4826      {
4827 <  if (conf_parser_ctx.pass == 2)
4827 >  if (conf_parser_ctx.pass != 2)
4828 >    break;
4829 >
4830 >  if (server_valid_name(yylval.string))
4831    {
4832 <    if (valid_servname(yylval.string))
4833 <    {
5026 <      struct MaskItem *conf = conf_make(CONF_SERVICE);
5027 <      conf->name = xstrdup(yylval.string);
5028 <    }
4832 >    struct ServiceItem *service = service_make();
4833 >    service->name = xstrdup(yylval.string);
4834    }
4835   }
4836 + #line 4837 "conf_parser.c" /* yacc.c:1646  */
4837      break;
4838  
4839 <  case 318:
4840 < /* Line 1792 of yacc.c  */
5035 < #line 1763 "conf_parser.y"
4839 >  case 351:
4840 > #line 1818 "conf_parser.y" /* yacc.c:1646  */
4841      {
4842    if (conf_parser_ctx.pass != 2)
4843      break;
# Line 5044 | Line 4849 | yyreduce:
4849    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4850    block_state.flags.value = SHARED_ALL;
4851   }
4852 + #line 4853 "conf_parser.c" /* yacc.c:1646  */
4853      break;
4854  
4855 <  case 319:
4856 < /* Line 1792 of yacc.c  */
5051 < #line 1774 "conf_parser.y"
4855 >  case 352:
4856 > #line 1829 "conf_parser.y" /* yacc.c:1646  */
4857      {
5053  struct MaskItem *conf = NULL;
5054
4858    if (conf_parser_ctx.pass != 2)
4859      break;
4860  
4861 <  conf = conf_make(CONF_ULINE);
4862 <  conf->flags = block_state.flags.value;
4863 <  conf->name = xstrdup(block_state.name.buf);
4864 <  conf->user = xstrdup(block_state.user.buf);
4865 <  conf->user = xstrdup(block_state.host.buf);
4861 >  struct SharedItem *shared = shared_make();
4862 >  shared->type = block_state.flags.value;
4863 >  shared->server = xstrdup(block_state.name.buf);
4864 >  shared->user = xstrdup(block_state.user.buf);
4865 >  shared->host = xstrdup(block_state.host.buf);
4866   }
4867 + #line 4868 "conf_parser.c" /* yacc.c:1646  */
4868      break;
4869  
4870 <  case 326:
4871 < /* Line 1792 of yacc.c  */
5068 < #line 1791 "conf_parser.y"
4870 >  case 359:
4871 > #line 1844 "conf_parser.y" /* yacc.c:1646  */
4872      {
4873    if (conf_parser_ctx.pass == 2)
4874      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4875   }
4876 + #line 4877 "conf_parser.c" /* yacc.c:1646  */
4877      break;
4878  
4879 <  case 327:
4880 < /* Line 1792 of yacc.c  */
5077 < #line 1797 "conf_parser.y"
4879 >  case 360:
4880 > #line 1850 "conf_parser.y" /* yacc.c:1646  */
4881      {
4882    if (conf_parser_ctx.pass == 2)
4883    {
# Line 5092 | Line 4895 | yyreduce:
4895      split_nuh(&nuh);
4896    }
4897   }
4898 + #line 4899 "conf_parser.c" /* yacc.c:1646  */
4899      break;
4900  
4901 <  case 328:
4902 < /* Line 1792 of yacc.c  */
5099 < #line 1816 "conf_parser.y"
4901 >  case 361:
4902 > #line 1869 "conf_parser.y" /* yacc.c:1646  */
4903      {
4904    if (conf_parser_ctx.pass == 2)
4905      block_state.flags.value = 0;
4906   }
4907 + #line 4908 "conf_parser.c" /* yacc.c:1646  */
4908      break;
4909  
4910 <  case 332:
4911 < /* Line 1792 of yacc.c  */
5108 < #line 1823 "conf_parser.y"
4910 >  case 365:
4911 > #line 1876 "conf_parser.y" /* yacc.c:1646  */
4912      {
4913    if (conf_parser_ctx.pass == 2)
4914      block_state.flags.value |= SHARED_KLINE;
4915   }
4916 + #line 4917 "conf_parser.c" /* yacc.c:1646  */
4917      break;
4918  
4919 <  case 333:
4920 < /* Line 1792 of yacc.c  */
5117 < #line 1827 "conf_parser.y"
4919 >  case 366:
4920 > #line 1880 "conf_parser.y" /* yacc.c:1646  */
4921      {
4922    if (conf_parser_ctx.pass == 2)
4923      block_state.flags.value |= SHARED_UNKLINE;
4924   }
4925 + #line 4926 "conf_parser.c" /* yacc.c:1646  */
4926      break;
4927  
4928 <  case 334:
4929 < /* Line 1792 of yacc.c  */
5126 < #line 1831 "conf_parser.y"
4928 >  case 367:
4929 > #line 1884 "conf_parser.y" /* yacc.c:1646  */
4930      {
4931    if (conf_parser_ctx.pass == 2)
4932      block_state.flags.value |= SHARED_DLINE;
4933   }
4934 + #line 4935 "conf_parser.c" /* yacc.c:1646  */
4935      break;
4936  
4937 <  case 335:
4938 < /* Line 1792 of yacc.c  */
5135 < #line 1835 "conf_parser.y"
4937 >  case 368:
4938 > #line 1888 "conf_parser.y" /* yacc.c:1646  */
4939      {
4940    if (conf_parser_ctx.pass == 2)
4941      block_state.flags.value |= SHARED_UNDLINE;
4942   }
4943 + #line 4944 "conf_parser.c" /* yacc.c:1646  */
4944      break;
4945  
4946 <  case 336:
4947 < /* Line 1792 of yacc.c  */
5144 < #line 1839 "conf_parser.y"
4946 >  case 369:
4947 > #line 1892 "conf_parser.y" /* yacc.c:1646  */
4948      {
4949    if (conf_parser_ctx.pass == 2)
4950      block_state.flags.value |= SHARED_XLINE;
4951   }
4952 + #line 4953 "conf_parser.c" /* yacc.c:1646  */
4953      break;
4954  
4955 <  case 337:
4956 < /* Line 1792 of yacc.c  */
5153 < #line 1843 "conf_parser.y"
4955 >  case 370:
4956 > #line 1896 "conf_parser.y" /* yacc.c:1646  */
4957      {
4958    if (conf_parser_ctx.pass == 2)
4959      block_state.flags.value |= SHARED_UNXLINE;
4960   }
4961 + #line 4962 "conf_parser.c" /* yacc.c:1646  */
4962      break;
4963  
4964 <  case 338:
4965 < /* Line 1792 of yacc.c  */
5162 < #line 1847 "conf_parser.y"
4964 >  case 371:
4965 > #line 1900 "conf_parser.y" /* yacc.c:1646  */
4966      {
4967    if (conf_parser_ctx.pass == 2)
4968      block_state.flags.value |= SHARED_RESV;
4969   }
4970 + #line 4971 "conf_parser.c" /* yacc.c:1646  */
4971      break;
4972  
4973 <  case 339:
4974 < /* Line 1792 of yacc.c  */
5171 < #line 1851 "conf_parser.y"
4973 >  case 372:
4974 > #line 1904 "conf_parser.y" /* yacc.c:1646  */
4975      {
4976    if (conf_parser_ctx.pass == 2)
4977      block_state.flags.value |= SHARED_UNRESV;
4978   }
4979 + #line 4980 "conf_parser.c" /* yacc.c:1646  */
4980      break;
4981  
4982 <  case 340:
4983 < /* Line 1792 of yacc.c  */
5180 < #line 1855 "conf_parser.y"
4982 >  case 373:
4983 > #line 1908 "conf_parser.y" /* yacc.c:1646  */
4984      {
4985    if (conf_parser_ctx.pass == 2)
4986      block_state.flags.value |= SHARED_LOCOPS;
4987   }
4988 + #line 4989 "conf_parser.c" /* yacc.c:1646  */
4989      break;
4990  
4991 <  case 341:
4992 < /* Line 1792 of yacc.c  */
5189 < #line 1859 "conf_parser.y"
4991 >  case 374:
4992 > #line 1912 "conf_parser.y" /* yacc.c:1646  */
4993      {
4994    if (conf_parser_ctx.pass == 2)
4995      block_state.flags.value = SHARED_ALL;
4996   }
4997 + #line 4998 "conf_parser.c" /* yacc.c:1646  */
4998      break;
4999  
5000 <  case 342:
5001 < /* Line 1792 of yacc.c  */
5198 < #line 1868 "conf_parser.y"
5000 >  case 375:
5001 > #line 1922 "conf_parser.y" /* yacc.c:1646  */
5002      {
5003    if (conf_parser_ctx.pass != 2)
5004      break;
# Line 5203 | Line 5006 | yyreduce:
5006    reset_block_state();
5007  
5008    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5009 <  block_state.flags.value = SHARED_ALL;
5009 >  block_state.flags.value = CLUSTER_ALL;
5010   }
5011 + #line 5012 "conf_parser.c" /* yacc.c:1646  */
5012      break;
5013  
5014 <  case 343:
5015 < /* Line 1792 of yacc.c  */
5212 < #line 1877 "conf_parser.y"
5014 >  case 376:
5015 > #line 1931 "conf_parser.y" /* yacc.c:1646  */
5016      {
5214  struct MaskItem *conf = NULL;
5215
5017    if (conf_parser_ctx.pass != 2)
5018      break;
5019  
5020 <  conf = conf_make(CONF_CLUSTER);
5021 <  conf->flags = block_state.flags.value;
5022 <  conf->name = xstrdup(block_state.name.buf);
5020 >  struct ClusterItem *cluster = cluster_make();
5021 >  cluster->type = block_state.flags.value;
5022 >  cluster->server = xstrdup(block_state.name.buf);
5023   }
5024 + #line 5025 "conf_parser.c" /* yacc.c:1646  */
5025      break;
5026  
5027 <  case 349:
5028 < /* Line 1792 of yacc.c  */
5227 < #line 1892 "conf_parser.y"
5027 >  case 382:
5028 > #line 1944 "conf_parser.y" /* yacc.c:1646  */
5029      {
5030    if (conf_parser_ctx.pass == 2)
5031      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5032   }
5033 + #line 5034 "conf_parser.c" /* yacc.c:1646  */
5034      break;
5035  
5036 <  case 350:
5037 < /* Line 1792 of yacc.c  */
5236 < #line 1898 "conf_parser.y"
5036 >  case 383:
5037 > #line 1950 "conf_parser.y" /* yacc.c:1646  */
5038      {
5039    if (conf_parser_ctx.pass == 2)
5040      block_state.flags.value = 0;
5041   }
5042 + #line 5043 "conf_parser.c" /* yacc.c:1646  */
5043      break;
5044  
5045 <  case 354:
5046 < /* Line 1792 of yacc.c  */
5245 < #line 1905 "conf_parser.y"
5045 >  case 387:
5046 > #line 1957 "conf_parser.y" /* yacc.c:1646  */
5047      {
5048    if (conf_parser_ctx.pass == 2)
5049 <    block_state.flags.value |= SHARED_KLINE;
5049 >    block_state.flags.value |= CLUSTER_KLINE;
5050   }
5051 + #line 5052 "conf_parser.c" /* yacc.c:1646  */
5052      break;
5053  
5054 <  case 355:
5055 < /* Line 1792 of yacc.c  */
5254 < #line 1909 "conf_parser.y"
5054 >  case 388:
5055 > #line 1961 "conf_parser.y" /* yacc.c:1646  */
5056      {
5057    if (conf_parser_ctx.pass == 2)
5058 <    block_state.flags.value |= SHARED_UNKLINE;
5058 >    block_state.flags.value |= CLUSTER_UNKLINE;
5059   }
5060 + #line 5061 "conf_parser.c" /* yacc.c:1646  */
5061      break;
5062  
5063 <  case 356:
5064 < /* Line 1792 of yacc.c  */
5263 < #line 1913 "conf_parser.y"
5063 >  case 389:
5064 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
5065      {
5066    if (conf_parser_ctx.pass == 2)
5067 <    block_state.flags.value |= SHARED_DLINE;
5067 >    block_state.flags.value |= CLUSTER_DLINE;
5068   }
5069 + #line 5070 "conf_parser.c" /* yacc.c:1646  */
5070      break;
5071  
5072 <  case 357:
5073 < /* Line 1792 of yacc.c  */
5272 < #line 1917 "conf_parser.y"
5072 >  case 390:
5073 > #line 1969 "conf_parser.y" /* yacc.c:1646  */
5074      {
5075    if (conf_parser_ctx.pass == 2)
5076 <    block_state.flags.value |= SHARED_UNDLINE;
5076 >    block_state.flags.value |= CLUSTER_UNDLINE;
5077   }
5078 + #line 5079 "conf_parser.c" /* yacc.c:1646  */
5079      break;
5080  
5081 <  case 358:
5082 < /* Line 1792 of yacc.c  */
5281 < #line 1921 "conf_parser.y"
5081 >  case 391:
5082 > #line 1973 "conf_parser.y" /* yacc.c:1646  */
5083      {
5084    if (conf_parser_ctx.pass == 2)
5085 <    block_state.flags.value |= SHARED_XLINE;
5085 >    block_state.flags.value |= CLUSTER_XLINE;
5086   }
5087 + #line 5088 "conf_parser.c" /* yacc.c:1646  */
5088      break;
5089  
5090 <  case 359:
5091 < /* Line 1792 of yacc.c  */
5290 < #line 1925 "conf_parser.y"
5090 >  case 392:
5091 > #line 1977 "conf_parser.y" /* yacc.c:1646  */
5092      {
5093    if (conf_parser_ctx.pass == 2)
5094 <    block_state.flags.value |= SHARED_UNXLINE;
5094 >    block_state.flags.value |= CLUSTER_UNXLINE;
5095   }
5096 + #line 5097 "conf_parser.c" /* yacc.c:1646  */
5097      break;
5098  
5099 <  case 360:
5100 < /* Line 1792 of yacc.c  */
5299 < #line 1929 "conf_parser.y"
5099 >  case 393:
5100 > #line 1981 "conf_parser.y" /* yacc.c:1646  */
5101      {
5102    if (conf_parser_ctx.pass == 2)
5103 <    block_state.flags.value |= SHARED_RESV;
5103 >    block_state.flags.value |= CLUSTER_RESV;
5104   }
5105 + #line 5106 "conf_parser.c" /* yacc.c:1646  */
5106      break;
5107  
5108 <  case 361:
5109 < /* Line 1792 of yacc.c  */
5308 < #line 1933 "conf_parser.y"
5108 >  case 394:
5109 > #line 1985 "conf_parser.y" /* yacc.c:1646  */
5110      {
5111    if (conf_parser_ctx.pass == 2)
5112 <    block_state.flags.value |= SHARED_UNRESV;
5112 >    block_state.flags.value |= CLUSTER_UNRESV;
5113   }
5114 + #line 5115 "conf_parser.c" /* yacc.c:1646  */
5115      break;
5116  
5117 <  case 362:
5118 < /* Line 1792 of yacc.c  */
5317 < #line 1937 "conf_parser.y"
5117 >  case 395:
5118 > #line 1989 "conf_parser.y" /* yacc.c:1646  */
5119      {
5120    if (conf_parser_ctx.pass == 2)
5121 <    block_state.flags.value |= SHARED_LOCOPS;
5121 >    block_state.flags.value |= CLUSTER_LOCOPS;
5122   }
5123 + #line 5124 "conf_parser.c" /* yacc.c:1646  */
5124      break;
5125  
5126 <  case 363:
5127 < /* Line 1792 of yacc.c  */
5326 < #line 1941 "conf_parser.y"
5126 >  case 396:
5127 > #line 1993 "conf_parser.y" /* yacc.c:1646  */
5128      {
5129    if (conf_parser_ctx.pass == 2)
5130 <    block_state.flags.value = SHARED_ALL;
5130 >    block_state.flags.value = CLUSTER_ALL;
5131   }
5132 + #line 5133 "conf_parser.c" /* yacc.c:1646  */
5133      break;
5134  
5135 <  case 364:
5136 < /* Line 1792 of yacc.c  */
5335 < #line 1950 "conf_parser.y"
5135 >  case 397:
5136 > #line 2003 "conf_parser.y" /* yacc.c:1646  */
5137      {
5138  
5139    if (conf_parser_ctx.pass != 2)
5140      break;
5141  
5142    reset_block_state();
5143 +  block_state.aftype.value = AF_INET;
5144    block_state.port.value = PORTNUM;
5145   }
5146 + #line 5147 "conf_parser.c" /* yacc.c:1646  */
5147      break;
5148  
5149 <  case 365:
5150 < /* Line 1792 of yacc.c  */
5348 < #line 1958 "conf_parser.y"
5149 >  case 398:
5150 > #line 2012 "conf_parser.y" /* yacc.c:1646  */
5151      {
5152    struct MaskItem *conf = NULL;
5153    struct addrinfo hints, *res;
# Line 5357 | Line 5159 | yyreduce:
5159        !block_state.host.buf[0])
5160      break;
5161  
5162 <  if (!(block_state.rpass.buf[0] ||
5163 <        block_state.spass.buf[0]))
5162 >  if (!block_state.rpass.buf[0] ||
5163 >      !block_state.spass.buf[0])
5164      break;
5165  
5166    if (has_wildcards(block_state.name.buf) ||
# Line 5373 | Line 5175 | yyreduce:
5175    conf->name = xstrdup(block_state.name.buf);
5176    conf->passwd = xstrdup(block_state.rpass.buf);
5177    conf->spasswd = xstrdup(block_state.spass.buf);
5178 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5178 >
5179 >  if (block_state.cert.buf[0])
5180 >    conf->certfp = xstrdup(block_state.cert.buf);
5181 >
5182 >  if (block_state.ciph.buf[0])
5183 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5184  
5185    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5186    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5390 | Line 5197 | yyreduce:
5197        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5198      else
5199      {
5200 <      assert(res != NULL);
5200 >      assert(res);
5201  
5202        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5203        conf->bind.ss.ss_family = res->ai_family;
# Line 5402 | Line 5209 | yyreduce:
5209    conf_add_class_to_conf(conf, block_state.class.buf);
5210    lookup_confhost(conf);
5211   }
5212 + #line 5213 "conf_parser.c" /* yacc.c:1646  */
5213      break;
5214  
5215 <  case 382:
5216 < /* Line 1792 of yacc.c  */
5409 < #line 2024 "conf_parser.y"
5215 >  case 416:
5216 > #line 2092 "conf_parser.y" /* yacc.c:1646  */
5217      {
5218    if (conf_parser_ctx.pass == 2)
5219      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5220   }
5221 + #line 5222 "conf_parser.c" /* yacc.c:1646  */
5222      break;
5223  
5224 <  case 383:
5225 < /* Line 1792 of yacc.c  */
5418 < #line 2030 "conf_parser.y"
5224 >  case 417:
5225 > #line 2098 "conf_parser.y" /* yacc.c:1646  */
5226      {
5227    if (conf_parser_ctx.pass == 2)
5228      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5229   }
5230 + #line 5231 "conf_parser.c" /* yacc.c:1646  */
5231      break;
5232  
5233 <  case 384:
5234 < /* Line 1792 of yacc.c  */
5427 < #line 2036 "conf_parser.y"
5233 >  case 418:
5234 > #line 2104 "conf_parser.y" /* yacc.c:1646  */
5235      {
5236    if (conf_parser_ctx.pass == 2)
5237      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5238   }
5239 + #line 5240 "conf_parser.c" /* yacc.c:1646  */
5240      break;
5241  
5242 <  case 385:
5243 < /* Line 1792 of yacc.c  */
5436 < #line 2042 "conf_parser.y"
5242 >  case 419:
5243 > #line 2110 "conf_parser.y" /* yacc.c:1646  */
5244      {
5245    if (conf_parser_ctx.pass != 2)
5246      break;
5247  
5248 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5248 >  if ((yyvsp[-1].string)[0] == ':')
5249      conf_error_report("Server passwords cannot begin with a colon");
5250 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5250 >  else if (strchr((yyvsp[-1].string), ' '))
5251      conf_error_report("Server passwords cannot contain spaces");
5252    else
5253      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5254   }
5255 + #line 5256 "conf_parser.c" /* yacc.c:1646  */
5256      break;
5257  
5258 <  case 386:
5259 < /* Line 1792 of yacc.c  */
5452 < #line 2055 "conf_parser.y"
5258 >  case 420:
5259 > #line 2123 "conf_parser.y" /* yacc.c:1646  */
5260      {
5261    if (conf_parser_ctx.pass != 2)
5262      break;
5263  
5264 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5264 >  if ((yyvsp[-1].string)[0] == ':')
5265      conf_error_report("Server passwords cannot begin with a colon");
5266 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5266 >  else if (strchr((yyvsp[-1].string), ' '))
5267      conf_error_report("Server passwords cannot contain spaces");
5268    else
5269      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5270   }
5271 + #line 5272 "conf_parser.c" /* yacc.c:1646  */
5272      break;
5273  
5274 <  case 387:
5275 < /* Line 1792 of yacc.c  */
5468 < #line 2068 "conf_parser.y"
5274 >  case 421:
5275 > #line 2136 "conf_parser.y" /* yacc.c:1646  */
5276      {
5277    if (conf_parser_ctx.pass == 2)
5278 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5278 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5279   }
5280 + #line 5281 "conf_parser.c" /* yacc.c:1646  */
5281      break;
5282  
5283 <  case 388:
5284 < /* Line 1792 of yacc.c  */
5285 < #line 2074 "conf_parser.y"
5283 >  case 422:
5284 > #line 2142 "conf_parser.y" /* yacc.c:1646  */
5285 >    {
5286 >  if (conf_parser_ctx.pass == 2)
5287 >    block_state.port.value = (yyvsp[-1].number);
5288 > }
5289 > #line 5290 "conf_parser.c" /* yacc.c:1646  */
5290 >    break;
5291 >
5292 >  case 423:
5293 > #line 2148 "conf_parser.y" /* yacc.c:1646  */
5294      {
5295    if (conf_parser_ctx.pass == 2)
5296      block_state.aftype.value = AF_INET;
5297   }
5298 + #line 5299 "conf_parser.c" /* yacc.c:1646  */
5299      break;
5300  
5301 <  case 389:
5302 < /* Line 1792 of yacc.c  */
5486 < #line 2078 "conf_parser.y"
5301 >  case 424:
5302 > #line 2152 "conf_parser.y" /* yacc.c:1646  */
5303      {
5488 #ifdef IPV6
5304    if (conf_parser_ctx.pass == 2)
5305      block_state.aftype.value = AF_INET6;
5491 #endif
5306   }
5307 + #line 5308 "conf_parser.c" /* yacc.c:1646  */
5308      break;
5309  
5310 <  case 390:
5311 < /* Line 1792 of yacc.c  */
5497 < #line 2086 "conf_parser.y"
5310 >  case 425:
5311 > #line 2158 "conf_parser.y" /* yacc.c:1646  */
5312      {
5313    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5314   }
5315 + #line 5316 "conf_parser.c" /* yacc.c:1646  */
5316      break;
5317  
5318 <  case 394:
5319 < /* Line 1792 of yacc.c  */
5505 < #line 2092 "conf_parser.y"
5318 >  case 429:
5319 > #line 2164 "conf_parser.y" /* yacc.c:1646  */
5320      {
5321    if (conf_parser_ctx.pass == 2)
5322      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5323   }
5324 + #line 5325 "conf_parser.c" /* yacc.c:1646  */
5325      break;
5326  
5327 <  case 395:
5328 < /* Line 1792 of yacc.c  */
5514 < #line 2096 "conf_parser.y"
5327 >  case 430:
5328 > #line 2168 "conf_parser.y" /* yacc.c:1646  */
5329      {
5330    if (conf_parser_ctx.pass == 2)
5331      block_state.flags.value |= CONF_FLAGS_SSL;
5332   }
5333 + #line 5334 "conf_parser.c" /* yacc.c:1646  */
5334      break;
5335  
5336 <  case 396:
5337 < /* Line 1792 of yacc.c  */
5523 < #line 2102 "conf_parser.y"
5336 >  case 431:
5337 > #line 2174 "conf_parser.y" /* yacc.c:1646  */
5338      {
5339    if (conf_parser_ctx.pass == 2)
5340    {
# Line 5530 | Line 5344 | yyreduce:
5344        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5345    }
5346   }
5347 + #line 5348 "conf_parser.c" /* yacc.c:1646  */
5348      break;
5349  
5350 <  case 397:
5351 < /* Line 1792 of yacc.c  */
5537 < #line 2113 "conf_parser.y"
5350 >  case 432:
5351 > #line 2185 "conf_parser.y" /* yacc.c:1646  */
5352      {
5353    if (conf_parser_ctx.pass == 2)
5354      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5355   }
5356 + #line 5357 "conf_parser.c" /* yacc.c:1646  */
5357      break;
5358  
5359 <  case 398:
5360 < /* Line 1792 of yacc.c  */
5546 < #line 2119 "conf_parser.y"
5359 >  case 433:
5360 > #line 2191 "conf_parser.y" /* yacc.c:1646  */
5361      {
5362    if (conf_parser_ctx.pass == 2)
5363      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5364   }
5365 + #line 5366 "conf_parser.c" /* yacc.c:1646  */
5366      break;
5367  
5368 <  case 399:
5369 < /* Line 1792 of yacc.c  */
5555 < #line 2125 "conf_parser.y"
5368 >  case 434:
5369 > #line 2197 "conf_parser.y" /* yacc.c:1646  */
5370      {
5371    if (conf_parser_ctx.pass == 2)
5372      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5373   }
5374 + #line 5375 "conf_parser.c" /* yacc.c:1646  */
5375      break;
5376  
5377 <  case 400:
5378 < /* Line 1792 of yacc.c  */
5564 < #line 2131 "conf_parser.y"
5377 >  case 435:
5378 > #line 2203 "conf_parser.y" /* yacc.c:1646  */
5379      {
5380 < #ifdef HAVE_LIBCRYPTO
5380 > #ifdef HAVE_TLS
5381    if (conf_parser_ctx.pass == 2)
5382      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5383   #else
5384    if (conf_parser_ctx.pass == 2)
5385 <    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5385 >    conf_error_report("Ignoring connect::ciphers -- no TLS support");
5386   #endif
5387   }
5388 + #line 5389 "conf_parser.c" /* yacc.c:1646  */
5389      break;
5390  
5391 <  case 401:
5392 < /* Line 1792 of yacc.c  */
5578 < #line 2146 "conf_parser.y"
5391 >  case 436:
5392 > #line 2218 "conf_parser.y" /* yacc.c:1646  */
5393      {
5394    if (conf_parser_ctx.pass == 2)
5395      reset_block_state();
5396   }
5397 + #line 5398 "conf_parser.c" /* yacc.c:1646  */
5398      break;
5399  
5400 <  case 402:
5401 < /* Line 1792 of yacc.c  */
5587 < #line 2150 "conf_parser.y"
5400 >  case 437:
5401 > #line 2222 "conf_parser.y" /* yacc.c:1646  */
5402      {
5403    struct MaskItem *conf = NULL;
5404  
# Line 5595 | Line 5409 | yyreduce:
5409        !block_state.host.buf[0])
5410      break;
5411  
5412 +  conf = conf_make(CONF_KLINE);
5413 +  conf->user = xstrdup(block_state.user.buf);
5414 +  conf->host = xstrdup(block_state.host.buf);
5415  
5416 <  if (block_state.port.value == 1)
5417 <  {
5601 < #ifdef HAVE_LIBPCRE
5602 <    void *exp_user = NULL;
5603 <    void *exp_host = NULL;
5604 <    const char *errptr = NULL;
5605 <
5606 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5607 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5608 <    {
5609 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5610 <           errptr);
5611 <      break;
5612 <    }
5613 <
5614 <    conf = conf_make(CONF_RKLINE);
5615 <    conf->regexuser = exp_user;
5616 <    conf->regexhost = exp_host;
5617 <
5618 <    conf->user = xstrdup(block_state.user.buf);
5619 <    conf->host = xstrdup(block_state.host.buf);
5620 <
5621 <    if (block_state.rpass.buf[0])
5622 <      conf->reason = xstrdup(block_state.rpass.buf);
5623 <    else
5624 <      conf->reason = xstrdup(CONF_NOREASON);
5625 < #else
5626 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5627 <    break;
5628 < #endif
5629 <  }
5416 >  if (block_state.rpass.buf[0])
5417 >    conf->reason = xstrdup(block_state.rpass.buf);
5418    else
5419 <  {
5420 <    conf = conf_make(CONF_KLINE);
5633 <
5634 <    conf->user = xstrdup(block_state.user.buf);
5635 <    conf->host = xstrdup(block_state.host.buf);
5636 <
5637 <    if (block_state.rpass.buf[0])
5638 <      conf->reason = xstrdup(block_state.rpass.buf);
5639 <    else
5640 <      conf->reason = xstrdup(CONF_NOREASON);
5641 <    add_conf_by_address(CONF_KLINE, conf);
5642 <  }
5643 < }
5644 <    break;
5645 <
5646 <  case 403:
5647 < /* Line 1792 of yacc.c  */
5648 < #line 2208 "conf_parser.y"
5649 <    {
5650 <  if (conf_parser_ctx.pass == 2)
5651 <    block_state.port.value = 0;
5652 < }
5653 <    break;
5654 <
5655 <  case 407:
5656 < /* Line 1792 of yacc.c  */
5657 < #line 2215 "conf_parser.y"
5658 <    {
5659 <  if (conf_parser_ctx.pass == 2)
5660 <    block_state.port.value = 1;
5419 >    conf->reason = xstrdup(CONF_NOREASON);
5420 >  add_conf_by_address(CONF_KLINE, conf);
5421   }
5422 + #line 5423 "conf_parser.c" /* yacc.c:1646  */
5423      break;
5424  
5425 <  case 414:
5426 < /* Line 1792 of yacc.c  */
5666 < #line 2224 "conf_parser.y"
5425 >  case 443:
5426 > #line 2247 "conf_parser.y" /* yacc.c:1646  */
5427      {
5428  
5429    if (conf_parser_ctx.pass == 2)
# Line 5682 | Line 5442 | yyreduce:
5442      split_nuh(&nuh);
5443    }
5444   }
5445 + #line 5446 "conf_parser.c" /* yacc.c:1646  */
5446      break;
5447  
5448 <  case 415:
5449 < /* Line 1792 of yacc.c  */
5689 < #line 2244 "conf_parser.y"
5448 >  case 444:
5449 > #line 2267 "conf_parser.y" /* yacc.c:1646  */
5450      {
5451    if (conf_parser_ctx.pass == 2)
5452      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5453   }
5454 + #line 5455 "conf_parser.c" /* yacc.c:1646  */
5455      break;
5456  
5457 <  case 416:
5458 < /* Line 1792 of yacc.c  */
5698 < #line 2253 "conf_parser.y"
5457 >  case 445:
5458 > #line 2277 "conf_parser.y" /* yacc.c:1646  */
5459      {
5460    if (conf_parser_ctx.pass == 2)
5461      reset_block_state();
5462   }
5463 + #line 5464 "conf_parser.c" /* yacc.c:1646  */
5464      break;
5465  
5466 <  case 417:
5467 < /* Line 1792 of yacc.c  */
5707 < #line 2257 "conf_parser.y"
5466 >  case 446:
5467 > #line 2281 "conf_parser.y" /* yacc.c:1646  */
5468      {
5469    struct MaskItem *conf = NULL;
5470  
# Line 5726 | Line 5486 | yyreduce:
5486      add_conf_by_address(CONF_DLINE, conf);
5487    }
5488   }
5489 + #line 5490 "conf_parser.c" /* yacc.c:1646  */
5490      break;
5491  
5492 <  case 423:
5493 < /* Line 1792 of yacc.c  */
5733 < #line 2283 "conf_parser.y"
5492 >  case 452:
5493 > #line 2307 "conf_parser.y" /* yacc.c:1646  */
5494      {
5495    if (conf_parser_ctx.pass == 2)
5496      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5497   }
5498 + #line 5499 "conf_parser.c" /* yacc.c:1646  */
5499      break;
5500  
5501 <  case 424:
5502 < /* Line 1792 of yacc.c  */
5742 < #line 2289 "conf_parser.y"
5501 >  case 453:
5502 > #line 2313 "conf_parser.y" /* yacc.c:1646  */
5503      {
5504    if (conf_parser_ctx.pass == 2)
5505      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5506   }
5507 + #line 5508 "conf_parser.c" /* yacc.c:1646  */
5508      break;
5509  
5510 <  case 430:
5511 < /* Line 1792 of yacc.c  */
5751 < #line 2303 "conf_parser.y"
5510 >  case 459:
5511 > #line 2328 "conf_parser.y" /* yacc.c:1646  */
5512      {
5513    if (conf_parser_ctx.pass == 2)
5514    {
5515 <    if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5515 >    if (*yylval.string && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5516      {
5517        struct MaskItem *conf = conf_make(CONF_EXEMPT);
5518        conf->host = xstrdup(yylval.string);
# Line 5761 | Line 5521 | yyreduce:
5521      }
5522    }
5523   }
5524 + #line 5525 "conf_parser.c" /* yacc.c:1646  */
5525      break;
5526  
5527 <  case 431:
5528 < /* Line 1792 of yacc.c  */
5768 < #line 2320 "conf_parser.y"
5527 >  case 460:
5528 > #line 2345 "conf_parser.y" /* yacc.c:1646  */
5529      {
5530    if (conf_parser_ctx.pass == 2)
5531      reset_block_state();
5532   }
5533 + #line 5534 "conf_parser.c" /* yacc.c:1646  */
5534      break;
5535  
5536 <  case 432:
5537 < /* Line 1792 of yacc.c  */
5777 < #line 2324 "conf_parser.y"
5536 >  case 461:
5537 > #line 2349 "conf_parser.y" /* yacc.c:1646  */
5538      {
5779  struct MaskItem *conf = NULL;
5780
5539    if (conf_parser_ctx.pass != 2)
5540      break;
5541  
5542    if (!block_state.name.buf[0])
5543      break;
5544  
5545 <  if (block_state.port.value == 1)
5546 <  {
5789 < #ifdef HAVE_LIBPCRE
5790 <    void *exp_p = NULL;
5791 <    const char *errptr = NULL;
5792 <
5793 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5794 <    {
5795 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5796 <           errptr);
5797 <      break;
5798 <    }
5799 <
5800 <    conf = conf_make(CONF_RXLINE);
5801 <    conf->regexuser = exp_p;
5802 < #else
5803 <    conf_error_report("Failed to add regular expression based X-Line: no PCRE support");
5804 <    break;
5805 < #endif
5806 <  }
5807 <  else
5808 <    conf = conf_make(CONF_XLINE);
5809 <
5810 <  conf->name = xstrdup(block_state.name.buf);
5545 >  struct GecosItem *gecos = gecos_make();
5546 >  gecos->mask = xstrdup(block_state.name.buf);
5547  
5548    if (block_state.rpass.buf[0])
5549 <    conf->reason = xstrdup(block_state.rpass.buf);
5549 >    gecos->reason = xstrdup(block_state.rpass.buf);
5550    else
5551 <    conf->reason = xstrdup(CONF_NOREASON);
5551 >    gecos->reason = xstrdup(CONF_NOREASON);
5552   }
5553 + #line 5554 "conf_parser.c" /* yacc.c:1646  */
5554      break;
5555  
5556 <  case 433:
5557 < /* Line 1792 of yacc.c  */
5821 < #line 2365 "conf_parser.y"
5556 >  case 467:
5557 > #line 2369 "conf_parser.y" /* yacc.c:1646  */
5558      {
5559    if (conf_parser_ctx.pass == 2)
5560 <    block_state.port.value = 0;
5560 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5561   }
5562 + #line 5563 "conf_parser.c" /* yacc.c:1646  */
5563      break;
5564  
5565 <  case 437:
5566 < /* Line 1792 of yacc.c  */
5830 < #line 2372 "conf_parser.y"
5565 >  case 468:
5566 > #line 2375 "conf_parser.y" /* yacc.c:1646  */
5567      {
5568    if (conf_parser_ctx.pass == 2)
5569 <    block_state.port.value = 1;
5569 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5570   }
5571 + #line 5572 "conf_parser.c" /* yacc.c:1646  */
5572      break;
5573  
5574 <  case 444:
5575 < /* Line 1792 of yacc.c  */
5839 < #line 2381 "conf_parser.y"
5574 >  case 520:
5575 > #line 2438 "conf_parser.y" /* yacc.c:1646  */
5576      {
5577 <  if (conf_parser_ctx.pass == 2)
5842 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5577 >  ConfigGeneral.away_count = (yyvsp[-1].number);
5578   }
5579 + #line 5580 "conf_parser.c" /* yacc.c:1646  */
5580      break;
5581  
5582 <  case 445:
5583 < /* Line 1792 of yacc.c  */
5848 < #line 2387 "conf_parser.y"
5582 >  case 521:
5583 > #line 2443 "conf_parser.y" /* yacc.c:1646  */
5584      {
5585 <  if (conf_parser_ctx.pass == 2)
5851 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5585 >  ConfigGeneral.away_time = (yyvsp[-1].number);
5586   }
5587 + #line 5588 "conf_parser.c" /* yacc.c:1646  */
5588      break;
5589  
5590 <  case 499:
5591 < /* Line 1792 of yacc.c  */
5857 < #line 2432 "conf_parser.y"
5590 >  case 522:
5591 > #line 2448 "conf_parser.y" /* yacc.c:1646  */
5592      {
5593 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5593 >  ConfigGeneral.max_watch = (yyvsp[-1].number);
5594   }
5595 + #line 5596 "conf_parser.c" /* yacc.c:1646  */
5596      break;
5597  
5598 <  case 500:
5599 < /* Line 1792 of yacc.c  */
5865 < #line 2437 "conf_parser.y"
5598 >  case 523:
5599 > #line 2453 "conf_parser.y" /* yacc.c:1646  */
5600      {
5601 <  if (conf_parser_ctx.pass == 2)
5868 <    ConfigFileEntry.glines = yylval.number;
5601 >  ConfigGeneral.whowas_history_length = (yyvsp[-1].number);
5602   }
5603 + #line 5604 "conf_parser.c" /* yacc.c:1646  */
5604      break;
5605  
5606 <  case 501:
5607 < /* Line 1792 of yacc.c  */
5874 < #line 2443 "conf_parser.y"
5606 >  case 524:
5607 > #line 2458 "conf_parser.y" /* yacc.c:1646  */
5608      {
5609    if (conf_parser_ctx.pass == 2)
5610 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5610 >    ConfigGeneral.cycle_on_host_change = yylval.number;
5611   }
5612 + #line 5613 "conf_parser.c" /* yacc.c:1646  */
5613      break;
5614  
5615 <  case 502:
5616 < /* Line 1792 of yacc.c  */
5883 < #line 2449 "conf_parser.y"
5615 >  case 525:
5616 > #line 2464 "conf_parser.y" /* yacc.c:1646  */
5617      {
5618 <  if (conf_parser_ctx.pass == 2)
5886 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5618 >  ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);
5619   }
5620 + #line 5621 "conf_parser.c" /* yacc.c:1646  */
5621      break;
5622  
5623 <  case 503:
5624 < /* Line 1792 of yacc.c  */
5892 < #line 2455 "conf_parser.y"
5623 >  case 526:
5624 > #line 2469 "conf_parser.y" /* yacc.c:1646  */
5625      {
5626 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5626 >  ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);
5627   }
5628 + #line 5629 "conf_parser.c" /* yacc.c:1646  */
5629      break;
5630  
5631 <  case 504:
5632 < /* Line 1792 of yacc.c  */
5900 < #line 2460 "conf_parser.y"
5631 >  case 527:
5632 > #line 2474 "conf_parser.y" /* yacc.c:1646  */
5633      {
5634 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5634 >  ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);
5635   }
5636 + #line 5637 "conf_parser.c" /* yacc.c:1646  */
5637      break;
5638  
5639 <  case 505:
5640 < /* Line 1792 of yacc.c  */
5908 < #line 2465 "conf_parser.y"
5639 >  case 528:
5640 > #line 2479 "conf_parser.y" /* yacc.c:1646  */
5641      {
5642 <  ConfigFileEntry.tkline_expire_notices = yylval.number;
5642 >  ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);
5643   }
5644 + #line 5645 "conf_parser.c" /* yacc.c:1646  */
5645      break;
5646  
5647 <  case 506:
5648 < /* Line 1792 of yacc.c  */
5916 < #line 2470 "conf_parser.y"
5647 >  case 529:
5648 > #line 2484 "conf_parser.y" /* yacc.c:1646  */
5649      {
5650 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5650 >  ConfigGeneral.tkline_expire_notices = yylval.number;
5651   }
5652 + #line 5653 "conf_parser.c" /* yacc.c:1646  */
5653      break;
5654  
5655 <  case 507:
5656 < /* Line 1792 of yacc.c  */
5924 < #line 2475 "conf_parser.y"
5655 >  case 530:
5656 > #line 2489 "conf_parser.y" /* yacc.c:1646  */
5657      {
5658 <  ConfigFileEntry.hide_spoof_ips = yylval.number;
5658 >  ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5659   }
5660 + #line 5661 "conf_parser.c" /* yacc.c:1646  */
5661      break;
5662  
5663 <  case 508:
5664 < /* Line 1792 of yacc.c  */
5932 < #line 2480 "conf_parser.y"
5663 >  case 531:
5664 > #line 2494 "conf_parser.y" /* yacc.c:1646  */
5665      {
5666 <  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5666 >  ConfigGeneral.ignore_bogus_ts = yylval.number;
5667   }
5668 + #line 5669 "conf_parser.c" /* yacc.c:1646  */
5669      break;
5670  
5671 <  case 509:
5672 < /* Line 1792 of yacc.c  */
5940 < #line 2485 "conf_parser.y"
5671 >  case 532:
5672 > #line 2499 "conf_parser.y" /* yacc.c:1646  */
5673      {
5674 <  ConfigFileEntry.disable_remote = yylval.number;
5674 >  ConfigGeneral.failed_oper_notice = yylval.number;
5675   }
5676 + #line 5677 "conf_parser.c" /* yacc.c:1646  */
5677      break;
5678  
5679 <  case 510:
5680 < /* Line 1792 of yacc.c  */
5948 < #line 2490 "conf_parser.y"
5679 >  case 533:
5680 > #line 2504 "conf_parser.y" /* yacc.c:1646  */
5681      {
5682 <  ConfigFileEntry.failed_oper_notice = yylval.number;
5682 >  ConfigGeneral.anti_nick_flood = yylval.number;
5683   }
5684 + #line 5685 "conf_parser.c" /* yacc.c:1646  */
5685      break;
5686  
5687 <  case 511:
5688 < /* Line 1792 of yacc.c  */
5956 < #line 2495 "conf_parser.y"
5687 >  case 534:
5688 > #line 2509 "conf_parser.y" /* yacc.c:1646  */
5689      {
5690 <  ConfigFileEntry.anti_nick_flood = yylval.number;
5690 >  ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5691   }
5692 + #line 5693 "conf_parser.c" /* yacc.c:1646  */
5693      break;
5694  
5695 <  case 512:
5696 < /* Line 1792 of yacc.c  */
5964 < #line 2500 "conf_parser.y"
5695 >  case 535:
5696 > #line 2514 "conf_parser.y" /* yacc.c:1646  */
5697      {
5698 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5698 >  ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5699   }
5700 + #line 5701 "conf_parser.c" /* yacc.c:1646  */
5701      break;
5702  
5703 <  case 513:
5704 < /* Line 1792 of yacc.c  */
5972 < #line 2505 "conf_parser.y"
5703 >  case 536:
5704 > #line 2519 "conf_parser.y" /* yacc.c:1646  */
5705      {
5706 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5706 >  ConfigGeneral.max_accept = (yyvsp[-1].number);
5707   }
5708 + #line 5709 "conf_parser.c" /* yacc.c:1646  */
5709      break;
5710  
5711 <  case 514:
5712 < /* Line 1792 of yacc.c  */
5980 < #line 2510 "conf_parser.y"
5711 >  case 537:
5712 > #line 2524 "conf_parser.y" /* yacc.c:1646  */
5713      {
5714 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5714 >  ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5715   }
5716 + #line 5717 "conf_parser.c" /* yacc.c:1646  */
5717      break;
5718  
5719 <  case 515:
5720 < /* Line 1792 of yacc.c  */
5988 < #line 2515 "conf_parser.y"
5719 >  case 538:
5720 > #line 2529 "conf_parser.y" /* yacc.c:1646  */
5721      {
5722 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5722 >  ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5723   }
5724 + #line 5725 "conf_parser.c" /* yacc.c:1646  */
5725      break;
5726  
5727 <  case 516:
5728 < /* Line 1792 of yacc.c  */
5996 < #line 2520 "conf_parser.y"
5727 >  case 539:
5728 > #line 2534 "conf_parser.y" /* yacc.c:1646  */
5729      {
5730 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5730 >  if (conf_parser_ctx.pass == 2)
5731 >    ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5732   }
5733 + #line 5734 "conf_parser.c" /* yacc.c:1646  */
5734      break;
5735  
5736 <  case 517:
5737 < /* Line 1792 of yacc.c  */
6004 < #line 2525 "conf_parser.y"
5736 >  case 540:
5737 > #line 2540 "conf_parser.y" /* yacc.c:1646  */
5738      {
5739 <  if (conf_parser_ctx.pass == 2)
6007 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5739 >  ConfigGeneral.invisible_on_connect = yylval.number;
5740   }
5741 + #line 5742 "conf_parser.c" /* yacc.c:1646  */
5742      break;
5743  
5744 <  case 518:
5745 < /* Line 1792 of yacc.c  */
6013 < #line 2531 "conf_parser.y"
5744 >  case 541:
5745 > #line 2545 "conf_parser.y" /* yacc.c:1646  */
5746      {
5747 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6016 <  {
6017 <    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6018 <    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6019 <    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6020 <    exit(0);
6021 <  }
5747 >  ConfigGeneral.warn_no_connect_block = yylval.number;
5748   }
5749 + #line 5750 "conf_parser.c" /* yacc.c:1646  */
5750      break;
5751  
5752 <  case 519:
5753 < /* Line 1792 of yacc.c  */
6027 < #line 2542 "conf_parser.y"
5752 >  case 542:
5753 > #line 2550 "conf_parser.y" /* yacc.c:1646  */
5754      {
5755 <  ConfigFileEntry.invisible_on_connect = yylval.number;
5755 >  ConfigGeneral.stats_e_disabled = yylval.number;
5756   }
5757 + #line 5758 "conf_parser.c" /* yacc.c:1646  */
5758      break;
5759  
5760 <  case 520:
5761 < /* Line 1792 of yacc.c  */
6035 < #line 2547 "conf_parser.y"
5760 >  case 543:
5761 > #line 2555 "conf_parser.y" /* yacc.c:1646  */
5762      {
5763 <  ConfigFileEntry.warn_no_nline = yylval.number;
5763 >  ConfigGeneral.stats_m_oper_only = yylval.number;
5764   }
5765 + #line 5766 "conf_parser.c" /* yacc.c:1646  */
5766      break;
5767  
5768 <  case 521:
5769 < /* Line 1792 of yacc.c  */
6043 < #line 2552 "conf_parser.y"
5768 >  case 544:
5769 > #line 2560 "conf_parser.y" /* yacc.c:1646  */
5770      {
5771 <  ConfigFileEntry.stats_e_disabled = yylval.number;
5771 >  ConfigGeneral.stats_o_oper_only = yylval.number;
5772   }
5773 + #line 5774 "conf_parser.c" /* yacc.c:1646  */
5774      break;
5775  
5776 <  case 522:
5777 < /* Line 1792 of yacc.c  */
6051 < #line 2557 "conf_parser.y"
5776 >  case 545:
5777 > #line 2565 "conf_parser.y" /* yacc.c:1646  */
5778      {
5779 <  ConfigFileEntry.stats_o_oper_only = yylval.number;
5779 >  ConfigGeneral.stats_P_oper_only = yylval.number;
5780   }
5781 + #line 5782 "conf_parser.c" /* yacc.c:1646  */
5782      break;
5783  
5784 <  case 523:
5785 < /* Line 1792 of yacc.c  */
6059 < #line 2562 "conf_parser.y"
5784 >  case 546:
5785 > #line 2570 "conf_parser.y" /* yacc.c:1646  */
5786      {
5787 <  ConfigFileEntry.stats_P_oper_only = yylval.number;
5787 >  ConfigGeneral.stats_u_oper_only = yylval.number;
5788   }
5789 + #line 5790 "conf_parser.c" /* yacc.c:1646  */
5790      break;
5791  
5792 <  case 524:
5793 < /* Line 1792 of yacc.c  */
6067 < #line 2567 "conf_parser.y"
5792 >  case 547:
5793 > #line 2575 "conf_parser.y" /* yacc.c:1646  */
5794      {
5795 <  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5795 >  ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5796   }
5797 + #line 5798 "conf_parser.c" /* yacc.c:1646  */
5798      break;
5799  
5800 <  case 525:
5801 < /* Line 1792 of yacc.c  */
6075 < #line 2570 "conf_parser.y"
5800 >  case 548:
5801 > #line 2578 "conf_parser.y" /* yacc.c:1646  */
5802      {
5803 <  ConfigFileEntry.stats_k_oper_only = 1;
5803 >  ConfigGeneral.stats_k_oper_only = 1;
5804   }
5805 + #line 5806 "conf_parser.c" /* yacc.c:1646  */
5806      break;
5807  
5808 <  case 526:
5809 < /* Line 1792 of yacc.c  */
6083 < #line 2575 "conf_parser.y"
5808 >  case 549:
5809 > #line 2583 "conf_parser.y" /* yacc.c:1646  */
5810      {
5811 <  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5811 >  ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5812   }
5813 + #line 5814 "conf_parser.c" /* yacc.c:1646  */
5814      break;
5815  
5816 <  case 527:
5817 < /* Line 1792 of yacc.c  */
6091 < #line 2578 "conf_parser.y"
5816 >  case 550:
5817 > #line 2586 "conf_parser.y" /* yacc.c:1646  */
5818      {
5819 <  ConfigFileEntry.stats_i_oper_only = 1;
5819 >  ConfigGeneral.stats_i_oper_only = 1;
5820   }
5821 + #line 5822 "conf_parser.c" /* yacc.c:1646  */
5822      break;
5823  
5824 <  case 528:
5825 < /* Line 1792 of yacc.c  */
6099 < #line 2583 "conf_parser.y"
5824 >  case 551:
5825 > #line 2591 "conf_parser.y" /* yacc.c:1646  */
5826      {
5827 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5827 >  ConfigGeneral.pace_wait = (yyvsp[-1].number);
5828   }
5829 + #line 5830 "conf_parser.c" /* yacc.c:1646  */
5830      break;
5831  
5832 <  case 529:
5833 < /* Line 1792 of yacc.c  */
6107 < #line 2588 "conf_parser.y"
5832 >  case 552:
5833 > #line 2596 "conf_parser.y" /* yacc.c:1646  */
5834      {
5835 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5835 >  ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5836   }
5837 + #line 5838 "conf_parser.c" /* yacc.c:1646  */
5838      break;
5839  
5840 <  case 530:
5841 < /* Line 1792 of yacc.c  */
6115 < #line 2593 "conf_parser.y"
5840 >  case 553:
5841 > #line 2601 "conf_parser.y" /* yacc.c:1646  */
5842      {
5843 <  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5843 >  ConfigGeneral.opers_bypass_callerid = yylval.number;
5844   }
5845 + #line 5846 "conf_parser.c" /* yacc.c:1646  */
5846      break;
5847  
5848 <  case 531:
5849 < /* Line 1792 of yacc.c  */
6123 < #line 2598 "conf_parser.y"
5848 >  case 554:
5849 > #line 2606 "conf_parser.y" /* yacc.c:1646  */
5850      {
5851 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5851 >  ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5852   }
5853 + #line 5854 "conf_parser.c" /* yacc.c:1646  */
5854      break;
5855  
5856 <  case 532:
5857 < /* Line 1792 of yacc.c  */
6131 < #line 2603 "conf_parser.y"
5856 >  case 555:
5857 > #line 2611 "conf_parser.y" /* yacc.c:1646  */
5858      {
5859 <  ConfigFileEntry.short_motd = yylval.number;
5859 >  ConfigGeneral.short_motd = yylval.number;
5860   }
5861 + #line 5862 "conf_parser.c" /* yacc.c:1646  */
5862      break;
5863  
5864 <  case 533:
5865 < /* Line 1792 of yacc.c  */
6139 < #line 2608 "conf_parser.y"
5864 >  case 556:
5865 > #line 2616 "conf_parser.y" /* yacc.c:1646  */
5866      {
5867 <  ConfigFileEntry.no_oper_flood = yylval.number;
5867 >  ConfigGeneral.no_oper_flood = yylval.number;
5868   }
5869 + #line 5870 "conf_parser.c" /* yacc.c:1646  */
5870      break;
5871  
5872 <  case 534:
5873 < /* Line 1792 of yacc.c  */
6147 < #line 2613 "conf_parser.y"
5872 >  case 557:
5873 > #line 2621 "conf_parser.y" /* yacc.c:1646  */
5874      {
5875 <  ConfigFileEntry.true_no_oper_flood = yylval.number;
5875 >  ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
5876   }
5877 + #line 5878 "conf_parser.c" /* yacc.c:1646  */
5878      break;
5879  
5880 <  case 535:
5881 < /* Line 1792 of yacc.c  */
6155 < #line 2618 "conf_parser.y"
5880 >  case 558:
5881 > #line 2626 "conf_parser.y" /* yacc.c:1646  */
5882      {
5883 <  ConfigFileEntry.oper_pass_resv = yylval.number;
5883 >  ConfigGeneral.max_targets = (yyvsp[-1].number);
5884   }
5885 + #line 5886 "conf_parser.c" /* yacc.c:1646  */
5886      break;
5887  
5888 <  case 536:
5889 < /* Line 1792 of yacc.c  */
6163 < #line 2623 "conf_parser.y"
5888 >  case 559:
5889 > #line 2631 "conf_parser.y" /* yacc.c:1646  */
5890      {
5891 <  if (conf_parser_ctx.pass == 2)
5892 <  {
5893 <    if (strlen(yylval.string) > LOCALE_LENGTH-2)
5894 <      yylval.string[LOCALE_LENGTH-1] = '\0';
5891 >  ConfigGeneral.ping_cookie = yylval.number;
5892 > }
5893 > #line 5894 "conf_parser.c" /* yacc.c:1646  */
5894 >    break;
5895  
5896 <    set_locale(yylval.string);
5897 <  }
5896 >  case 560:
5897 > #line 2636 "conf_parser.y" /* yacc.c:1646  */
5898 >    {
5899 >  ConfigGeneral.disable_auth = yylval.number;
5900   }
5901 + #line 5902 "conf_parser.c" /* yacc.c:1646  */
5902      break;
5903  
5904 <  case 537:
5905 < /* Line 1792 of yacc.c  */
6177 < #line 2634 "conf_parser.y"
5904 >  case 561:
5905 > #line 2641 "conf_parser.y" /* yacc.c:1646  */
5906      {
5907 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5907 >  ConfigGeneral.throttle_count = (yyvsp[-1].number);
5908   }
5909 + #line 5910 "conf_parser.c" /* yacc.c:1646  */
5910      break;
5911  
5912 <  case 538:
5913 < /* Line 1792 of yacc.c  */
6185 < #line 2639 "conf_parser.y"
5912 >  case 562:
5913 > #line 2646 "conf_parser.y" /* yacc.c:1646  */
5914      {
5915 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5915 >  ConfigGeneral.throttle_time = (yyvsp[-1].number);
5916   }
5917 + #line 5918 "conf_parser.c" /* yacc.c:1646  */
5918      break;
5919  
5920 <  case 539:
5921 < /* Line 1792 of yacc.c  */
6193 < #line 2644 "conf_parser.y"
5920 >  case 563:
5921 > #line 2651 "conf_parser.y" /* yacc.c:1646  */
5922      {
5923 <  ConfigFileEntry.use_egd = yylval.number;
5923 >  ConfigGeneral.oper_umodes = 0;
5924   }
5925 + #line 5926 "conf_parser.c" /* yacc.c:1646  */
5926      break;
5927  
5928 <  case 540:
5929 < /* Line 1792 of yacc.c  */
6201 < #line 2649 "conf_parser.y"
5928 >  case 567:
5929 > #line 2657 "conf_parser.y" /* yacc.c:1646  */
5930      {
5931 <  if (conf_parser_ctx.pass == 2)
6204 <  {
6205 <    MyFree(ConfigFileEntry.egdpool_path);
6206 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6207 <  }
5931 >  ConfigGeneral.oper_umodes |= UMODE_BOTS;
5932   }
5933 + #line 5934 "conf_parser.c" /* yacc.c:1646  */
5934      break;
5935  
5936 <  case 541:
5937 < /* Line 1792 of yacc.c  */
6213 < #line 2658 "conf_parser.y"
5936 >  case 568:
5937 > #line 2660 "conf_parser.y" /* yacc.c:1646  */
5938      {
5939 <  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6216 <  {
6217 <    MyFree(ConfigFileEntry.service_name);
6218 <    ConfigFileEntry.service_name = xstrdup(yylval.string);
6219 <  }
5939 >  ConfigGeneral.oper_umodes |= UMODE_CCONN;
5940   }
5941 + #line 5942 "conf_parser.c" /* yacc.c:1646  */
5942      break;
5943  
5944 <  case 542:
5945 < /* Line 1792 of yacc.c  */
6225 < #line 2667 "conf_parser.y"
5944 >  case 569:
5945 > #line 2663 "conf_parser.y" /* yacc.c:1646  */
5946      {
5947 <  ConfigFileEntry.ping_cookie = yylval.number;
5947 >  ConfigGeneral.oper_umodes |= UMODE_DEAF;
5948   }
5949 + #line 5950 "conf_parser.c" /* yacc.c:1646  */
5950      break;
5951  
5952 <  case 543:
5953 < /* Line 1792 of yacc.c  */
6233 < #line 2672 "conf_parser.y"
5952 >  case 570:
5953 > #line 2666 "conf_parser.y" /* yacc.c:1646  */
5954      {
5955 <  ConfigFileEntry.disable_auth = yylval.number;
5955 >  ConfigGeneral.oper_umodes |= UMODE_DEBUG;
5956   }
5957 + #line 5958 "conf_parser.c" /* yacc.c:1646  */
5958      break;
5959  
5960 <  case 544:
5961 < /* Line 1792 of yacc.c  */
6241 < #line 2677 "conf_parser.y"
5960 >  case 571:
5961 > #line 2669 "conf_parser.y" /* yacc.c:1646  */
5962      {
5963 <  ConfigFileEntry.throttle_time = yylval.number;
5963 >  ConfigGeneral.oper_umodes |= UMODE_FULL;
5964   }
5965 + #line 5966 "conf_parser.c" /* yacc.c:1646  */
5966      break;
5967  
5968 <  case 545:
5969 < /* Line 1792 of yacc.c  */
6249 < #line 2682 "conf_parser.y"
5968 >  case 572:
5969 > #line 2672 "conf_parser.y" /* yacc.c:1646  */
5970      {
5971 <  ConfigFileEntry.oper_umodes = 0;
5971 >  ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
5972   }
5973 + #line 5974 "conf_parser.c" /* yacc.c:1646  */
5974      break;
5975  
5976 <  case 549:
5977 < /* Line 1792 of yacc.c  */
6257 < #line 2688 "conf_parser.y"
5976 >  case 573:
5977 > #line 2675 "conf_parser.y" /* yacc.c:1646  */
5978      {
5979 <  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5979 >  ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
5980   }
5981 + #line 5982 "conf_parser.c" /* yacc.c:1646  */
5982      break;
5983  
5984 <  case 550:
5985 < /* Line 1792 of yacc.c  */
6265 < #line 2691 "conf_parser.y"
5984 >  case 574:
5985 > #line 2678 "conf_parser.y" /* yacc.c:1646  */
5986      {
5987 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5987 >  ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
5988   }
5989 + #line 5990 "conf_parser.c" /* yacc.c:1646  */
5990      break;
5991  
5992 <  case 551:
5993 < /* Line 1792 of yacc.c  */
6273 < #line 2694 "conf_parser.y"
5992 >  case 575:
5993 > #line 2681 "conf_parser.y" /* yacc.c:1646  */
5994      {
5995 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
5995 >  ConfigGeneral.oper_umodes |= UMODE_SKILL;
5996   }
5997 + #line 5998 "conf_parser.c" /* yacc.c:1646  */
5998      break;
5999  
6000 <  case 552:
6001 < /* Line 1792 of yacc.c  */
6281 < #line 2697 "conf_parser.y"
6000 >  case 576:
6001 > #line 2684 "conf_parser.y" /* yacc.c:1646  */
6002      {
6003 <  ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6003 >  ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6004   }
6005 + #line 6006 "conf_parser.c" /* yacc.c:1646  */
6006      break;
6007  
6008 <  case 553:
6009 < /* Line 1792 of yacc.c  */
6289 < #line 2700 "conf_parser.y"
6008 >  case 577:
6009 > #line 2687 "conf_parser.y" /* yacc.c:1646  */
6010      {
6011 <  ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6011 >  ConfigGeneral.oper_umodes |= UMODE_REJ;
6012   }
6013 + #line 6014 "conf_parser.c" /* yacc.c:1646  */
6014      break;
6015  
6016 <  case 554:
6017 < /* Line 1792 of yacc.c  */
6297 < #line 2703 "conf_parser.y"
6016 >  case 578:
6017 > #line 2690 "conf_parser.y" /* yacc.c:1646  */
6018      {
6019 <  ConfigFileEntry.oper_umodes |= UMODE_FULL;
6019 >  ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6020   }
6021 + #line 6022 "conf_parser.c" /* yacc.c:1646  */
6022      break;
6023  
6024 <  case 555:
6025 < /* Line 1792 of yacc.c  */
6305 < #line 2706 "conf_parser.y"
6024 >  case 579:
6025 > #line 2693 "conf_parser.y" /* yacc.c:1646  */
6026      {
6027 <  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6027 >  ConfigGeneral.oper_umodes |= UMODE_SPY;
6028   }
6029 + #line 6030 "conf_parser.c" /* yacc.c:1646  */
6030      break;
6031  
6032 <  case 556:
6033 < /* Line 1792 of yacc.c  */
6313 < #line 2709 "conf_parser.y"
6032 >  case 580:
6033 > #line 2696 "conf_parser.y" /* yacc.c:1646  */
6034      {
6035 <  ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6035 >  ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6036   }
6037 + #line 6038 "conf_parser.c" /* yacc.c:1646  */
6038      break;
6039  
6040 <  case 557:
6041 < /* Line 1792 of yacc.c  */
6321 < #line 2712 "conf_parser.y"
6040 >  case 581:
6041 > #line 2699 "conf_parser.y" /* yacc.c:1646  */
6042      {
6043 <  ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6043 >  ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6044   }
6045 + #line 6046 "conf_parser.c" /* yacc.c:1646  */
6046      break;
6047  
6048 <  case 558:
6049 < /* Line 1792 of yacc.c  */
6329 < #line 2715 "conf_parser.y"
6048 >  case 582:
6049 > #line 2702 "conf_parser.y" /* yacc.c:1646  */
6050      {
6051 <  ConfigFileEntry.oper_umodes |= UMODE_REJ;
6051 >  ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6052   }
6053 + #line 6054 "conf_parser.c" /* yacc.c:1646  */
6054      break;
6055  
6056 <  case 559:
6057 < /* Line 1792 of yacc.c  */
6337 < #line 2718 "conf_parser.y"
6056 >  case 583:
6057 > #line 2705 "conf_parser.y" /* yacc.c:1646  */
6058      {
6059 <  ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6059 >  ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6060   }
6061 + #line 6062 "conf_parser.c" /* yacc.c:1646  */
6062      break;
6063  
6064 <  case 560:
6065 < /* Line 1792 of yacc.c  */
6345 < #line 2721 "conf_parser.y"
6064 >  case 584:
6065 > #line 2708 "conf_parser.y" /* yacc.c:1646  */
6066      {
6067 <  ConfigFileEntry.oper_umodes |= UMODE_SPY;
6067 >  ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6068   }
6069 + #line 6070 "conf_parser.c" /* yacc.c:1646  */
6070      break;
6071  
6072 <  case 561:
6073 < /* Line 1792 of yacc.c  */
6353 < #line 2724 "conf_parser.y"
6072 >  case 585:
6073 > #line 2711 "conf_parser.y" /* yacc.c:1646  */
6074      {
6075 <  ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6075 >  ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6076   }
6077 + #line 6078 "conf_parser.c" /* yacc.c:1646  */
6078      break;
6079  
6080 <  case 562:
6081 < /* Line 1792 of yacc.c  */
6361 < #line 2727 "conf_parser.y"
6080 >  case 586:
6081 > #line 2714 "conf_parser.y" /* yacc.c:1646  */
6082      {
6083 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6083 >  ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6084   }
6085 + #line 6086 "conf_parser.c" /* yacc.c:1646  */
6086      break;
6087  
6088 <  case 563:
6089 < /* Line 1792 of yacc.c  */
6369 < #line 2730 "conf_parser.y"
6088 >  case 587:
6089 > #line 2717 "conf_parser.y" /* yacc.c:1646  */
6090      {
6091 <  ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6091 >  ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6092   }
6093 + #line 6094 "conf_parser.c" /* yacc.c:1646  */
6094      break;
6095  
6096 <  case 564:
6097 < /* Line 1792 of yacc.c  */
6377 < #line 2733 "conf_parser.y"
6096 >  case 588:
6097 > #line 2720 "conf_parser.y" /* yacc.c:1646  */
6098      {
6099 <  ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6099 >  ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6100   }
6101 + #line 6102 "conf_parser.c" /* yacc.c:1646  */
6102      break;
6103  
6104 <  case 565:
6105 < /* Line 1792 of yacc.c  */
6385 < #line 2736 "conf_parser.y"
6104 >  case 589:
6105 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
6106      {
6107 <  ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6107 >  ConfigGeneral.oper_only_umodes = 0;
6108   }
6109 + #line 6110 "conf_parser.c" /* yacc.c:1646  */
6110      break;
6111  
6112 <  case 566:
6113 < /* Line 1792 of yacc.c  */
6393 < #line 2739 "conf_parser.y"
6112 >  case 593:
6113 > #line 2731 "conf_parser.y" /* yacc.c:1646  */
6114      {
6115 <  ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6115 >  ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6116   }
6117 + #line 6118 "conf_parser.c" /* yacc.c:1646  */
6118      break;
6119  
6120 <  case 567:
6121 < /* Line 1792 of yacc.c  */
6401 < #line 2742 "conf_parser.y"
6120 >  case 594:
6121 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
6122      {
6123 <  ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6123 >  ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6124   }
6125 + #line 6126 "conf_parser.c" /* yacc.c:1646  */
6126      break;
6127  
6128 <  case 568:
6129 < /* Line 1792 of yacc.c  */
6409 < #line 2745 "conf_parser.y"
6128 >  case 595:
6129 > #line 2737 "conf_parser.y" /* yacc.c:1646  */
6130      {
6131 <  ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6131 >  ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6132   }
6133 + #line 6134 "conf_parser.c" /* yacc.c:1646  */
6134      break;
6135  
6136 <  case 569:
6137 < /* Line 1792 of yacc.c  */
6417 < #line 2750 "conf_parser.y"
6136 >  case 596:
6137 > #line 2740 "conf_parser.y" /* yacc.c:1646  */
6138      {
6139 <  ConfigFileEntry.oper_only_umodes = 0;
6139 >  ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6140   }
6141 + #line 6142 "conf_parser.c" /* yacc.c:1646  */
6142      break;
6143  
6144 <  case 573:
6145 < /* Line 1792 of yacc.c  */
6425 < #line 2756 "conf_parser.y"
6144 >  case 597:
6145 > #line 2743 "conf_parser.y" /* yacc.c:1646  */
6146      {
6147 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6147 >  ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6148   }
6149 + #line 6150 "conf_parser.c" /* yacc.c:1646  */
6150      break;
6151  
6152 <  case 574:
6153 < /* Line 1792 of yacc.c  */
6433 < #line 2759 "conf_parser.y"
6152 >  case 598:
6153 > #line 2746 "conf_parser.y" /* yacc.c:1646  */
6154      {
6155 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6155 >  ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6156   }
6157 + #line 6158 "conf_parser.c" /* yacc.c:1646  */
6158      break;
6159  
6160 <  case 575:
6161 < /* Line 1792 of yacc.c  */
6441 < #line 2762 "conf_parser.y"
6160 >  case 599:
6161 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
6162      {
6163 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6163 >  ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6164   }
6165 + #line 6166 "conf_parser.c" /* yacc.c:1646  */
6166      break;
6167  
6168 <  case 576:
6169 < /* Line 1792 of yacc.c  */
6449 < #line 2765 "conf_parser.y"
6168 >  case 600:
6169 > #line 2752 "conf_parser.y" /* yacc.c:1646  */
6170      {
6171 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6171 >  ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6172   }
6173 + #line 6174 "conf_parser.c" /* yacc.c:1646  */
6174      break;
6175  
6176 <  case 577:
6177 < /* Line 1792 of yacc.c  */
6457 < #line 2768 "conf_parser.y"
6176 >  case 601:
6177 > #line 2755 "conf_parser.y" /* yacc.c:1646  */
6178      {
6179 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6179 >  ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6180   }
6181 + #line 6182 "conf_parser.c" /* yacc.c:1646  */
6182      break;
6183  
6184 <  case 578:
6185 < /* Line 1792 of yacc.c  */
6186 < #line 2771 "conf_parser.y"
6187 <    {
6467 <  ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6184 >  case 602:
6185 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
6186 >    {
6187 >  ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6188   }
6189 + #line 6190 "conf_parser.c" /* yacc.c:1646  */
6190      break;
6191  
6192 <  case 579:
6193 < /* Line 1792 of yacc.c  */
6473 < #line 2774 "conf_parser.y"
6192 >  case 603:
6193 > #line 2761 "conf_parser.y" /* yacc.c:1646  */
6194      {
6195 <  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6195 >  ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6196   }
6197 + #line 6198 "conf_parser.c" /* yacc.c:1646  */
6198      break;
6199  
6200 <  case 580:
6201 < /* Line 1792 of yacc.c  */
6481 < #line 2777 "conf_parser.y"
6200 >  case 604:
6201 > #line 2764 "conf_parser.y" /* yacc.c:1646  */
6202      {
6203 <  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6203 >  ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6204   }
6205 + #line 6206 "conf_parser.c" /* yacc.c:1646  */
6206      break;
6207  
6208 <  case 581:
6209 < /* Line 1792 of yacc.c  */
6489 < #line 2780 "conf_parser.y"
6208 >  case 605:
6209 > #line 2767 "conf_parser.y" /* yacc.c:1646  */
6210      {
6211 <  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6211 >  ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6212   }
6213 + #line 6214 "conf_parser.c" /* yacc.c:1646  */
6214      break;
6215  
6216 <  case 582:
6217 < /* Line 1792 of yacc.c  */
6497 < #line 2783 "conf_parser.y"
6216 >  case 606:
6217 > #line 2770 "conf_parser.y" /* yacc.c:1646  */
6218      {
6219 <  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6219 >  ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6220   }
6221 + #line 6222 "conf_parser.c" /* yacc.c:1646  */
6222      break;
6223  
6224 <  case 583:
6225 < /* Line 1792 of yacc.c  */
6505 < #line 2786 "conf_parser.y"
6224 >  case 607:
6225 > #line 2773 "conf_parser.y" /* yacc.c:1646  */
6226      {
6227 <  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6227 >  ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6228   }
6229 + #line 6230 "conf_parser.c" /* yacc.c:1646  */
6230      break;
6231  
6232 <  case 584:
6233 < /* Line 1792 of yacc.c  */
6513 < #line 2789 "conf_parser.y"
6232 >  case 608:
6233 > #line 2776 "conf_parser.y" /* yacc.c:1646  */
6234      {
6235 <  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6235 >  ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6236   }
6237 + #line 6238 "conf_parser.c" /* yacc.c:1646  */
6238      break;
6239  
6240 <  case 585:
6241 < /* Line 1792 of yacc.c  */
6521 < #line 2792 "conf_parser.y"
6240 >  case 609:
6241 > #line 2779 "conf_parser.y" /* yacc.c:1646  */
6242      {
6243 <  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6243 >  ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6244   }
6245 + #line 6246 "conf_parser.c" /* yacc.c:1646  */
6246      break;
6247  
6248 <  case 586:
6249 < /* Line 1792 of yacc.c  */
6529 < #line 2795 "conf_parser.y"
6248 >  case 610:
6249 > #line 2782 "conf_parser.y" /* yacc.c:1646  */
6250      {
6251 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6251 >  ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6252   }
6253 + #line 6254 "conf_parser.c" /* yacc.c:1646  */
6254      break;
6255  
6256 <  case 587:
6257 < /* Line 1792 of yacc.c  */
6537 < #line 2798 "conf_parser.y"
6256 >  case 611:
6257 > #line 2785 "conf_parser.y" /* yacc.c:1646  */
6258      {
6259 <  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6259 >  ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6260   }
6261 + #line 6262 "conf_parser.c" /* yacc.c:1646  */
6262      break;
6263  
6264 <  case 588:
6265 < /* Line 1792 of yacc.c  */
6545 < #line 2801 "conf_parser.y"
6264 >  case 612:
6265 > #line 2788 "conf_parser.y" /* yacc.c:1646  */
6266      {
6267 <  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6267 >  ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6268   }
6269 + #line 6270 "conf_parser.c" /* yacc.c:1646  */
6270      break;
6271  
6272 <  case 589:
6273 < /* Line 1792 of yacc.c  */
6553 < #line 2804 "conf_parser.y"
6272 >  case 613:
6273 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6274      {
6275 <  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6275 >  ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6276   }
6277 + #line 6278 "conf_parser.c" /* yacc.c:1646  */
6278      break;
6279  
6280 <  case 590:
6281 < /* Line 1792 of yacc.c  */
6561 < #line 2807 "conf_parser.y"
6280 >  case 614:
6281 > #line 2798 "conf_parser.y" /* yacc.c:1646  */
6282      {
6283 <  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6283 >  ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6284   }
6285 + #line 6286 "conf_parser.c" /* yacc.c:1646  */
6286      break;
6287  
6288 <  case 591:
6289 < /* Line 1792 of yacc.c  */
6569 < #line 2810 "conf_parser.y"
6288 >  case 615:
6289 > #line 2803 "conf_parser.y" /* yacc.c:1646  */
6290      {
6291 <  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6291 >  ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6292   }
6293 + #line 6294 "conf_parser.c" /* yacc.c:1646  */
6294      break;
6295  
6296 <  case 592:
6297 < /* Line 1792 of yacc.c  */
6577 < #line 2813 "conf_parser.y"
6296 >  case 616:
6297 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6298      {
6299 <  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6299 >  ConfigGeneral.default_floodtime = (yyvsp[-1].number);
6300   }
6301 + #line 6302 "conf_parser.c" /* yacc.c:1646  */
6302      break;
6303  
6304 <  case 593:
6305 < /* Line 1792 of yacc.c  */
6585 < #line 2818 "conf_parser.y"
6304 >  case 635:
6305 > #line 2836 "conf_parser.y" /* yacc.c:1646  */
6306      {
6307 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6307 >  ConfigChannel.disable_fake_channels = yylval.number;
6308   }
6309 + #line 6310 "conf_parser.c" /* yacc.c:1646  */
6310      break;
6311  
6312 <  case 594:
6313 < /* Line 1792 of yacc.c  */
6593 < #line 2823 "conf_parser.y"
6312 >  case 636:
6313 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6314      {
6315 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6315 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6316   }
6317 + #line 6318 "conf_parser.c" /* yacc.c:1646  */
6318      break;
6319  
6320 <  case 595:
6321 < /* Line 1792 of yacc.c  */
6601 < #line 2828 "conf_parser.y"
6320 >  case 637:
6321 > #line 2846 "conf_parser.y" /* yacc.c:1646  */
6322      {
6323 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6323 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6324   }
6325 + #line 6326 "conf_parser.c" /* yacc.c:1646  */
6326      break;
6327  
6328 <  case 614:
6329 < /* Line 1792 of yacc.c  */
6609 < #line 2851 "conf_parser.y"
6328 >  case 638:
6329 > #line 2851 "conf_parser.y" /* yacc.c:1646  */
6330      {
6331 <  ConfigChannel.disable_fake_channels = yylval.number;
6331 >  ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6332   }
6333 + #line 6334 "conf_parser.c" /* yacc.c:1646  */
6334      break;
6335  
6336 <  case 615:
6337 < /* Line 1792 of yacc.c  */
6617 < #line 2856 "conf_parser.y"
6336 >  case 639:
6337 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6338      {
6339 <  ConfigChannel.restrict_channels = yylval.number;
6339 >  ConfigChannel.invite_expire_time = (yyvsp[-1].number);
6340   }
6341 + #line 6342 "conf_parser.c" /* yacc.c:1646  */
6342      break;
6343  
6344 <  case 616:
6345 < /* Line 1792 of yacc.c  */
6625 < #line 2861 "conf_parser.y"
6344 >  case 640:
6345 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6346      {
6347 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6347 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6348   }
6349 + #line 6350 "conf_parser.c" /* yacc.c:1646  */
6350      break;
6351  
6352 <  case 617:
6353 < /* Line 1792 of yacc.c  */
6633 < #line 2866 "conf_parser.y"
6352 >  case 641:
6353 > #line 2866 "conf_parser.y" /* yacc.c:1646  */
6354      {
6355 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6355 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6356   }
6357 + #line 6358 "conf_parser.c" /* yacc.c:1646  */
6358      break;
6359  
6360 <  case 618:
6361 < /* Line 1792 of yacc.c  */
6641 < #line 2871 "conf_parser.y"
6360 >  case 642:
6361 > #line 2871 "conf_parser.y" /* yacc.c:1646  */
6362      {
6363 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6363 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6364   }
6365 + #line 6366 "conf_parser.c" /* yacc.c:1646  */
6366      break;
6367  
6368 <  case 619:
6369 < /* Line 1792 of yacc.c  */
6649 < #line 2876 "conf_parser.y"
6368 >  case 643:
6369 > #line 2876 "conf_parser.y" /* yacc.c:1646  */
6370      {
6371 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6371 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6372   }
6373 + #line 6374 "conf_parser.c" /* yacc.c:1646  */
6374      break;
6375  
6376 <  case 620:
6377 < /* Line 1792 of yacc.c  */
6657 < #line 2881 "conf_parser.y"
6376 >  case 644:
6377 > #line 2881 "conf_parser.y" /* yacc.c:1646  */
6378      {
6379 <  ConfigChannel.quiet_on_ban = yylval.number;
6379 >  ConfigChannel.max_invites = (yyvsp[-1].number);
6380   }
6381 + #line 6382 "conf_parser.c" /* yacc.c:1646  */
6382      break;
6383  
6384 <  case 621:
6385 < /* Line 1792 of yacc.c  */
6665 < #line 2886 "conf_parser.y"
6384 >  case 645:
6385 > #line 2886 "conf_parser.y" /* yacc.c:1646  */
6386      {
6387 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6387 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6388   }
6389 + #line 6390 "conf_parser.c" /* yacc.c:1646  */
6390      break;
6391  
6392 <  case 622:
6393 < /* Line 1792 of yacc.c  */
6673 < #line 2891 "conf_parser.y"
6392 >  case 646:
6393 > #line 2891 "conf_parser.y" /* yacc.c:1646  */
6394      {
6395 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6395 >  ConfigChannel.max_bans_large = (yyvsp[-1].number);
6396   }
6397 + #line 6398 "conf_parser.c" /* yacc.c:1646  */
6398      break;
6399  
6400 <  case 623:
6401 < /* Line 1792 of yacc.c  */
6681 < #line 2896 "conf_parser.y"
6400 >  case 647:
6401 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6402      {
6403 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6403 >  ConfigChannel.default_join_flood_count = yylval.number;
6404   }
6405 + #line 6406 "conf_parser.c" /* yacc.c:1646  */
6406      break;
6407  
6408 <  case 624:
6409 < /* Line 1792 of yacc.c  */
6689 < #line 2901 "conf_parser.y"
6408 >  case 648:
6409 > #line 2901 "conf_parser.y" /* yacc.c:1646  */
6410      {
6411 <  ConfigChannel.no_create_on_split = yylval.number;
6411 >  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6412   }
6413 + #line 6414 "conf_parser.c" /* yacc.c:1646  */
6414      break;
6415  
6416 <  case 625:
6417 < /* Line 1792 of yacc.c  */
6697 < #line 2906 "conf_parser.y"
6416 >  case 662:
6417 > #line 2924 "conf_parser.y" /* yacc.c:1646  */
6418      {
6419 <  ConfigChannel.no_join_on_split = yylval.number;
6419 >  if (conf_parser_ctx.pass == 2)
6420 >    ConfigServerHide.flatten_links = yylval.number;
6421   }
6422 + #line 6423 "conf_parser.c" /* yacc.c:1646  */
6423      break;
6424  
6425 <  case 626:
6426 < /* Line 1792 of yacc.c  */
6705 < #line 2911 "conf_parser.y"
6425 >  case 663:
6426 > #line 2930 "conf_parser.y" /* yacc.c:1646  */
6427      {
6428 <  GlobalSetOptions.joinfloodcount = yylval.number;
6428 >  if (conf_parser_ctx.pass == 2)
6429 >  {
6430 >    if ((yyvsp[-1].number) > 0)
6431 >    {
6432 >      event_write_links_file.when = (yyvsp[-1].number);
6433 >      event_add(&event_write_links_file, NULL);
6434 >    }
6435 >    else
6436 >     event_delete(&event_write_links_file);
6437 >
6438 >    ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);
6439 >  }
6440   }
6441 + #line 6442 "conf_parser.c" /* yacc.c:1646  */
6442      break;
6443  
6444 <  case 627:
6445 < /* Line 1792 of yacc.c  */
6713 < #line 2916 "conf_parser.y"
6444 >  case 664:
6445 > #line 2946 "conf_parser.y" /* yacc.c:1646  */
6446      {
6447 <  GlobalSetOptions.joinfloodtime = yylval.number;
6447 >  if (conf_parser_ctx.pass == 2)
6448 >  {
6449 >    xfree(ConfigServerHide.flatten_links_file);
6450 >    ConfigServerHide.flatten_links_file = xstrdup(yylval.string);
6451 >  }
6452   }
6453 + #line 6454 "conf_parser.c" /* yacc.c:1646  */
6454      break;
6455  
6456 <  case 638:
6457 < /* Line 1792 of yacc.c  */
6721 < #line 2934 "conf_parser.y"
6456 >  case 665:
6457 > #line 2955 "conf_parser.y" /* yacc.c:1646  */
6458      {
6459    if (conf_parser_ctx.pass == 2)
6460 <    ConfigServerHide.flatten_links = yylval.number;
6460 >    ConfigServerHide.disable_remote_commands = yylval.number;
6461   }
6462 + #line 6463 "conf_parser.c" /* yacc.c:1646  */
6463      break;
6464  
6465 <  case 639:
6466 < /* Line 1792 of yacc.c  */
6730 < #line 2940 "conf_parser.y"
6465 >  case 666:
6466 > #line 2961 "conf_parser.y" /* yacc.c:1646  */
6467      {
6468    if (conf_parser_ctx.pass == 2)
6469      ConfigServerHide.hide_servers = yylval.number;
6470   }
6471 + #line 6472 "conf_parser.c" /* yacc.c:1646  */
6472      break;
6473  
6474 <  case 640:
6475 < /* Line 1792 of yacc.c  */
6739 < #line 2946 "conf_parser.y"
6474 >  case 667:
6475 > #line 2967 "conf_parser.y" /* yacc.c:1646  */
6476      {
6477    if (conf_parser_ctx.pass == 2)
6478 <  {
6743 <    MyFree(ConfigServerHide.hidden_name);
6744 <    ConfigServerHide.hidden_name = xstrdup(yylval.string);
6745 <  }
6478 >    ConfigServerHide.hide_services = yylval.number;
6479   }
6480 + #line 6481 "conf_parser.c" /* yacc.c:1646  */
6481      break;
6482  
6483 <  case 641:
6484 < /* Line 1792 of yacc.c  */
6751 < #line 2955 "conf_parser.y"
6483 >  case 668:
6484 > #line 2973 "conf_parser.y" /* yacc.c:1646  */
6485      {
6486    if (conf_parser_ctx.pass == 2)
6487    {
6488 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6489 <    {
6757 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6758 <      ConfigServerHide.links_disabled = 0;
6759 <    }
6760 <
6761 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6488 >    xfree(ConfigServerHide.hidden_name);
6489 >    ConfigServerHide.hidden_name = xstrdup(yylval.string);
6490    }
6491   }
6492 + #line 6493 "conf_parser.c" /* yacc.c:1646  */
6493      break;
6494  
6495 <  case 642:
6496 < /* Line 1792 of yacc.c  */
6768 < #line 2969 "conf_parser.y"
6495 >  case 669:
6496 > #line 2982 "conf_parser.y" /* yacc.c:1646  */
6497      {
6498    if (conf_parser_ctx.pass == 2)
6499      ConfigServerHide.hidden = yylval.number;
6500   }
6501 + #line 6502 "conf_parser.c" /* yacc.c:1646  */
6502      break;
6503  
6504 <  case 643:
6505 < /* Line 1792 of yacc.c  */
6777 < #line 2975 "conf_parser.y"
6504 >  case 670:
6505 > #line 2988 "conf_parser.y" /* yacc.c:1646  */
6506      {
6507    if (conf_parser_ctx.pass == 2)
6508      ConfigServerHide.hide_server_ips = yylval.number;
6509   }
6510 + #line 6511 "conf_parser.c" /* yacc.c:1646  */
6511      break;
6512  
6513  
6514 < /* Line 1792 of yacc.c  */
6786 < #line 6787 "conf_parser.c"
6514 > #line 6515 "conf_parser.c" /* yacc.c:1646  */
6515        default: break;
6516      }
6517    /* User semantic actions sometimes alter yychar, and that requires
# Line 6805 | Line 6533 | yyreduce:
6533  
6534    *++yyvsp = yyval;
6535  
6536 <  /* Now `shift' the result of the reduction.  Determine what state
6536 >  /* Now 'shift' the result of the reduction.  Determine what state
6537       that goes to, based on the state we popped back to and the rule
6538       number reduced by.  */
6539  
# Line 6820 | Line 6548 | yyreduce:
6548    goto yynewstate;
6549  
6550  
6551 < /*------------------------------------.
6552 < | yyerrlab -- here on detecting error |
6553 < `------------------------------------*/
6551 > /*--------------------------------------.
6552 > | yyerrlab -- here on detecting error.  |
6553 > `--------------------------------------*/
6554   yyerrlab:
6555    /* Make sure we have latest lookahead translation.  See comments at
6556       user semantic actions for why this is necessary.  */
# Line 6873 | Line 6601 | yyerrlab:
6601    if (yyerrstatus == 3)
6602      {
6603        /* If just tried and failed to reuse lookahead token after an
6604 <         error, discard it.  */
6604 >         error, discard it.  */
6605  
6606        if (yychar <= YYEOF)
6607 <        {
6608 <          /* Return failure if at end of input.  */
6609 <          if (yychar == YYEOF)
6610 <            YYABORT;
6611 <        }
6607 >        {
6608 >          /* Return failure if at end of input.  */
6609 >          if (yychar == YYEOF)
6610 >            YYABORT;
6611 >        }
6612        else
6613 <        {
6614 <          yydestruct ("Error: discarding",
6615 <                      yytoken, &yylval);
6616 <          yychar = YYEMPTY;
6617 <        }
6613 >        {
6614 >          yydestruct ("Error: discarding",
6615 >                      yytoken, &yylval);
6616 >          yychar = YYEMPTY;
6617 >        }
6618      }
6619  
6620    /* Else will try to reuse lookahead token after shifting the error
# Line 6905 | Line 6633 | yyerrorlab:
6633    if (/*CONSTCOND*/ 0)
6634       goto yyerrorlab;
6635  
6636 <  /* Do not reclaim the symbols of the rule which action triggered
6636 >  /* Do not reclaim the symbols of the rule whose action triggered
6637       this YYERROR.  */
6638    YYPOPSTACK (yylen);
6639    yylen = 0;
# Line 6918 | Line 6646 | yyerrorlab:
6646   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6647   `-------------------------------------------------------------*/
6648   yyerrlab1:
6649 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6649 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6650  
6651    for (;;)
6652      {
6653        yyn = yypact[yystate];
6654        if (!yypact_value_is_default (yyn))
6655 <        {
6656 <          yyn += YYTERROR;
6657 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6658 <            {
6659 <              yyn = yytable[yyn];
6660 <              if (0 < yyn)
6661 <                break;
6662 <            }
6663 <        }
6655 >        {
6656 >          yyn += YYTERROR;
6657 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6658 >            {
6659 >              yyn = yytable[yyn];
6660 >              if (0 < yyn)
6661 >                break;
6662 >            }
6663 >        }
6664  
6665        /* Pop the current state because it cannot handle the error token.  */
6666        if (yyssp == yyss)
6667 <        YYABORT;
6667 >        YYABORT;
6668  
6669  
6670        yydestruct ("Error: popping",
6671 <                  yystos[yystate], yyvsp);
6671 >                  yystos[yystate], yyvsp);
6672        YYPOPSTACK (1);
6673        yystate = *yyssp;
6674        YY_STACK_PRINT (yyss, yyssp);
# Line 6991 | Line 6719 | yyreturn:
6719        yydestruct ("Cleanup: discarding lookahead",
6720                    yytoken, &yylval);
6721      }
6722 <  /* Do not reclaim the symbols of the rule which action triggered
6722 >  /* Do not reclaim the symbols of the rule whose action triggered
6723       this YYABORT or YYACCEPT.  */
6724    YYPOPSTACK (yylen);
6725    YY_STACK_PRINT (yyss, yyssp);
6726    while (yyssp != yyss)
6727      {
6728        yydestruct ("Cleanup: popping",
6729 <                  yystos[*yyssp], yyvsp);
6729 >                  yystos[*yyssp], yyvsp);
6730        YYPOPSTACK (1);
6731      }
6732   #ifndef yyoverflow
# Line 7009 | Line 6737 | yyreturn:
6737    if (yymsg != yymsgbuf)
6738      YYSTACK_FREE (yymsg);
6739   #endif
6740 <  /* Make sure YYID is used.  */
7013 <  return YYID (yyresult);
6740 >  return yyresult;
6741   }
7015
7016

Comparing:
ircd-hybrid/trunk/src/conf_parser.c (property svn:keywords), Revision 1793 by michael, Sun Mar 31 14:06:08 2013 UTC vs.
ircd-hybrid/branches/8.2.x/src/conf_parser.c (property svn:keywords), Revision 8436 by michael, Thu Mar 29 09:04:53 2018 UTC

# Line 1 | Line 0
1 Id Revision

Diff Legend

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