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

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 2228 by michael, Thu Jun 13 19:46:30 2013 UTC vs.
Revision 7675 by michael, Wed Jul 20 19:31:22 2016 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
1 > /* A Bison parser, made by GNU Bison 3.0.4.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4 <  
5 <      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 <  
4 >
5 >   Copyright (C) 1984, 1989-1990, 2000-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.12-4996"
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"
67 <
65 > #line 28 "conf_parser.y" /* yacc.c:339  */
66  
69 #define YY_NO_UNPUT
70 #include <sys/types.h>
71 #include <string.h>
67  
68   #include "config.h"
69   #include "stdinc.h"
# Line 76 | Line 71
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"
89 > #include "user.h"
90   #include "motd.h"
91  
94 #ifdef HAVE_LIBCRYPTO
95 #include <openssl/rsa.h>
96 #include <openssl/bio.h>
97 #include <openssl/pem.h>
98 #include <openssl/dh.h>
99 #endif
100
101 #include "rsa.h"
102
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,
# Line 122 | Line 114 | static struct
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 140 | Line 137 | static struct
137      max_total,
138      max_global,
139      max_local,
143    max_ident,
140      max_sendq,
141      max_recvq,
142 +    max_channels,
143      cidr_bitlen_ipv4,
144      cidr_bitlen_ipv6,
145      number_per_cidr;
# Line 151 | 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  */
182 < #line 183 "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 201 | 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 209 | 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 <     FLATTEN_LINKS = 291,
248 <     GECOS = 292,
249 <     GENERAL = 293,
250 <     GLINE = 294,
251 <     GLINE_DURATION = 295,
252 <     GLINE_ENABLE = 296,
253 <     GLINE_EXEMPT = 297,
254 <     GLINE_MIN_CIDR = 298,
255 <     GLINE_MIN_CIDR6 = 299,
256 <     GLINE_REQUEST_DURATION = 300,
257 <     GLOBAL_KILL = 301,
258 <     HAVENT_READ_CONF = 302,
259 <     HIDDEN = 303,
260 <     HIDDEN_NAME = 304,
261 <     HIDE_IDLE_FROM_OPERS = 305,
262 <     HIDE_SERVER_IPS = 306,
263 <     HIDE_SERVERS = 307,
264 <     HIDE_SERVICES = 308,
265 <     HIDE_SPOOF_IPS = 309,
266 <     HOST = 310,
267 <     HUB = 311,
268 <     HUB_MASK = 312,
269 <     IGNORE_BOGUS_TS = 313,
270 <     INVISIBLE_ON_CONNECT = 314,
271 <     IP = 315,
272 <     IRCD_AUTH = 316,
273 <     IRCD_FLAGS = 317,
274 <     IRCD_SID = 318,
275 <     JOIN_FLOOD_COUNT = 319,
276 <     JOIN_FLOOD_TIME = 320,
277 <     KILL = 321,
278 <     KILL_CHASE_TIME_LIMIT = 322,
279 <     KLINE = 323,
280 <     KLINE_EXEMPT = 324,
281 <     KNOCK_DELAY = 325,
282 <     KNOCK_DELAY_CHANNEL = 326,
283 <     LEAF_MASK = 327,
284 <     LINKS_DELAY = 328,
285 <     LISTEN = 329,
286 <     MASK = 330,
287 <     MAX_ACCEPT = 331,
288 <     MAX_BANS = 332,
289 <     MAX_CHANS_PER_OPER = 333,
290 <     MAX_CHANS_PER_USER = 334,
291 <     MAX_GLOBAL = 335,
292 <     MAX_IDENT = 336,
293 <     MAX_IDLE = 337,
294 <     MAX_LOCAL = 338,
295 <     MAX_NICK_CHANGES = 339,
296 <     MAX_NICK_LENGTH = 340,
297 <     MAX_NICK_TIME = 341,
298 <     MAX_NUMBER = 342,
299 <     MAX_TARGETS = 343,
300 <     MAX_TOPIC_LENGTH = 344,
301 <     MAX_WATCH = 345,
302 <     MIN_IDLE = 346,
303 <     MIN_NONWILDCARD = 347,
304 <     MIN_NONWILDCARD_SIMPLE = 348,
305 <     MODULE = 349,
306 <     MODULES = 350,
307 <     MOTD = 351,
308 <     NAME = 352,
309 <     NEED_IDENT = 353,
310 <     NEED_PASSWORD = 354,
311 <     NETWORK_DESC = 355,
312 <     NETWORK_NAME = 356,
313 <     NICK = 357,
314 <     NO_CREATE_ON_SPLIT = 358,
315 <     NO_JOIN_ON_SPLIT = 359,
316 <     NO_OPER_FLOOD = 360,
317 <     NO_TILDE = 361,
318 <     NUMBER = 362,
319 <     NUMBER_PER_CIDR = 363,
320 <     NUMBER_PER_IP = 364,
321 <     OPER_ONLY_UMODES = 365,
322 <     OPER_PASS_RESV = 366,
323 <     OPER_UMODES = 367,
324 <     OPERATOR = 368,
325 <     OPERS_BYPASS_CALLERID = 369,
326 <     PACE_WAIT = 370,
327 <     PACE_WAIT_SIMPLE = 371,
328 <     PASSWORD = 372,
329 <     PATH = 373,
330 <     PING_COOKIE = 374,
331 <     PING_TIME = 375,
332 <     PORT = 376,
333 <     QSTRING = 377,
334 <     RANDOM_IDLE = 378,
335 <     REASON = 379,
336 <     REDIRPORT = 380,
337 <     REDIRSERV = 381,
338 <     REHASH = 382,
339 <     REMOTE = 383,
340 <     REMOTEBAN = 384,
341 <     RESV = 385,
342 <     RESV_EXEMPT = 386,
343 <     RSA_PRIVATE_KEY_FILE = 387,
344 <     RSA_PUBLIC_KEY_FILE = 388,
345 <     SECONDS = 389,
346 <     MINUTES = 390,
347 <     HOURS = 391,
348 <     DAYS = 392,
349 <     WEEKS = 393,
350 <     MONTHS = 394,
351 <     YEARS = 395,
352 <     SEND_PASSWORD = 396,
353 <     SENDQ = 397,
354 <     SERVERHIDE = 398,
355 <     SERVERINFO = 399,
356 <     SHORT_MOTD = 400,
357 <     SPOOF = 401,
358 <     SPOOF_NOTICE = 402,
359 <     SQUIT = 403,
360 <     SSL_CERTIFICATE_FILE = 404,
361 <     SSL_DH_PARAM_FILE = 405,
362 <     STATS_E_DISABLED = 406,
363 <     STATS_I_OPER_ONLY = 407,
364 <     STATS_K_OPER_ONLY = 408,
365 <     STATS_O_OPER_ONLY = 409,
366 <     STATS_P_OPER_ONLY = 410,
367 <     T_ALL = 411,
368 <     T_BOTS = 412,
369 <     T_CALLERID = 413,
370 <     T_CCONN = 414,
371 <     T_CLUSTER = 415,
372 <     T_DEAF = 416,
373 <     T_DEBUG = 417,
374 <     T_DLINE = 418,
375 <     T_EXTERNAL = 419,
376 <     T_FARCONNECT = 420,
377 <     T_FILE = 421,
378 <     T_FINGERPRINT = 422,
379 <     T_FULL = 423,
380 <     T_GLOBOPS = 424,
381 <     T_INVISIBLE = 425,
382 <     T_IPV4 = 426,
383 <     T_IPV6 = 427,
384 <     T_LOCOPS = 428,
385 <     T_LOG = 429,
386 <     T_MAX_CLIENTS = 430,
387 <     T_NCHANGE = 431,
388 <     T_NONONREG = 432,
389 <     T_OPERWALL = 433,
390 <     T_RECVQ = 434,
391 <     T_REJ = 435,
392 <     T_RESTART = 436,
393 <     T_SERVER = 437,
394 <     T_SERVICE = 438,
395 <     T_SERVICES_NAME = 439,
396 <     T_SERVNOTICE = 440,
397 <     T_SET = 441,
398 <     T_SHARED = 442,
399 <     T_SIZE = 443,
400 <     T_SKILL = 444,
401 <     T_SOFTCALLERID = 445,
402 <     T_SPY = 446,
403 <     T_SSL = 447,
404 <     T_SSL_CIPHER_LIST = 448,
405 <     T_SSL_CLIENT_METHOD = 449,
406 <     T_SSL_SERVER_METHOD = 450,
407 <     T_SSLV3 = 451,
408 <     T_TLSV1 = 452,
409 <     T_UMODES = 453,
410 <     T_UNAUTH = 454,
411 <     T_UNDLINE = 455,
412 <     T_UNLIMITED = 456,
413 <     T_UNRESV = 457,
414 <     T_UNXLINE = 458,
415 <     T_WALLOP = 459,
416 <     T_WALLOPS = 460,
417 <     T_WEBIRC = 461,
418 <     TBOOL = 462,
419 <     THROTTLE_TIME = 463,
420 <     TKLINE_EXPIRE_NOTICES = 464,
421 <     TMASKED = 465,
422 <     TRUE_NO_OPER_FLOOD = 466,
423 <     TS_MAX_DELTA = 467,
424 <     TS_WARN_DELTA = 468,
425 <     TWODOTS = 469,
426 <     TYPE = 470,
427 <     UNKLINE = 471,
428 <     USE_EGD = 472,
429 <     USE_LOGGING = 473,
430 <     USER = 474,
431 <     VHOST = 475,
432 <     VHOST6 = 476,
433 <     WARN_NO_NLINE = 477,
434 <     XLINE = 478
435 <   };
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 >    CHECK_CACHE = 272,
228 >    CIDR_BITLEN_IPV4 = 273,
229 >    CIDR_BITLEN_IPV6 = 274,
230 >    CLASS = 275,
231 >    CLOSE = 276,
232 >    CONNECT = 277,
233 >    CONNECTFREQ = 278,
234 >    CYCLE_ON_HOST_CHANGE = 279,
235 >    DEFAULT_FLOODCOUNT = 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 >    IP = 319,
275 >    IRCD_AUTH = 320,
276 >    IRCD_FLAGS = 321,
277 >    IRCD_SID = 322,
278 >    JOIN = 323,
279 >    KILL = 324,
280 >    KILL_CHASE_TIME_LIMIT = 325,
281 >    KLINE = 326,
282 >    KLINE_EXEMPT = 327,
283 >    KLINE_MIN_CIDR = 328,
284 >    KLINE_MIN_CIDR6 = 329,
285 >    KNOCK_CLIENT_COUNT = 330,
286 >    KNOCK_CLIENT_TIME = 331,
287 >    KNOCK_DELAY_CHANNEL = 332,
288 >    LEAF_MASK = 333,
289 >    LIBGEOIP_DATABASE_OPTIONS = 334,
290 >    LIBGEOIP_IPV4_DATABASE_FILE = 335,
291 >    LIBGEOIP_IPV6_DATABASE_FILE = 336,
292 >    LISTEN = 337,
293 >    MASK = 338,
294 >    MAX_ACCEPT = 339,
295 >    MAX_BANS = 340,
296 >    MAX_CHANNELS = 341,
297 >    MAX_GLOBAL = 342,
298 >    MAX_IDLE = 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 >    MEMORY_CACHE = 352,
308 >    MIN_IDLE = 353,
309 >    MIN_NONWILDCARD = 354,
310 >    MIN_NONWILDCARD_SIMPLE = 355,
311 >    MMAP_CACHE = 356,
312 >    MODULE = 357,
313 >    MODULES = 358,
314 >    MOTD = 359,
315 >    NAME = 360,
316 >    NEED_IDENT = 361,
317 >    NEED_PASSWORD = 362,
318 >    NETWORK_DESC = 363,
319 >    NETWORK_NAME = 364,
320 >    NICK = 365,
321 >    NO_OPER_FLOOD = 366,
322 >    NO_TILDE = 367,
323 >    NUMBER = 368,
324 >    NUMBER_PER_CIDR = 369,
325 >    NUMBER_PER_IP = 370,
326 >    OPER_ONLY_UMODES = 371,
327 >    OPER_UMODES = 372,
328 >    OPERATOR = 373,
329 >    OPERS_BYPASS_CALLERID = 374,
330 >    PACE_WAIT = 375,
331 >    PACE_WAIT_SIMPLE = 376,
332 >    PASSWORD = 377,
333 >    PATH = 378,
334 >    PING_COOKIE = 379,
335 >    PING_TIME = 380,
336 >    PORT = 381,
337 >    QSTRING = 382,
338 >    RANDOM_IDLE = 383,
339 >    REASON = 384,
340 >    REDIRPORT = 385,
341 >    REDIRSERV = 386,
342 >    REHASH = 387,
343 >    REMOTE = 388,
344 >    REMOTEBAN = 389,
345 >    RESV = 390,
346 >    RESV_EXEMPT = 391,
347 >    RSA_PRIVATE_KEY_FILE = 392,
348 >    SECONDS = 393,
349 >    MINUTES = 394,
350 >    HOURS = 395,
351 >    DAYS = 396,
352 >    WEEKS = 397,
353 >    MONTHS = 398,
354 >    YEARS = 399,
355 >    SEND_PASSWORD = 400,
356 >    SENDQ = 401,
357 >    SERVERHIDE = 402,
358 >    SERVERINFO = 403,
359 >    SHORT_MOTD = 404,
360 >    SPOOF = 405,
361 >    SPOOF_NOTICE = 406,
362 >    SQUIT = 407,
363 >    SSL_CERTIFICATE_FILE = 408,
364 >    SSL_CERTIFICATE_FINGERPRINT = 409,
365 >    SSL_CONNECTION_REQUIRED = 410,
366 >    SSL_DH_ELLIPTIC_CURVE = 411,
367 >    SSL_DH_PARAM_FILE = 412,
368 >    SSL_MESSAGE_DIGEST_ALGORITHM = 413,
369 >    STANDARD = 414,
370 >    STATS_E_DISABLED = 415,
371 >    STATS_I_OPER_ONLY = 416,
372 >    STATS_K_OPER_ONLY = 417,
373 >    STATS_M_OPER_ONLY = 418,
374 >    STATS_O_OPER_ONLY = 419,
375 >    STATS_P_OPER_ONLY = 420,
376 >    STATS_U_OPER_ONLY = 421,
377 >    T_ALL = 422,
378 >    T_BOTS = 423,
379 >    T_CALLERID = 424,
380 >    T_CCONN = 425,
381 >    T_COMMAND = 426,
382 >    T_CLUSTER = 427,
383 >    T_DEAF = 428,
384 >    T_DEBUG = 429,
385 >    T_DLINE = 430,
386 >    T_EXTERNAL = 431,
387 >    T_FARCONNECT = 432,
388 >    T_FILE = 433,
389 >    T_FULL = 434,
390 >    T_GLOBOPS = 435,
391 >    T_INVISIBLE = 436,
392 >    T_IPV4 = 437,
393 >    T_IPV6 = 438,
394 >    T_LOCOPS = 439,
395 >    T_LOG = 440,
396 >    T_NCHANGE = 441,
397 >    T_NONONREG = 442,
398 >    T_OPME = 443,
399 >    T_PREPEND = 444,
400 >    T_PSEUDO = 445,
401 >    T_RECVQ = 446,
402 >    T_REJ = 447,
403 >    T_RESTART = 448,
404 >    T_SERVER = 449,
405 >    T_SERVICE = 450,
406 >    T_SERVNOTICE = 451,
407 >    T_SET = 452,
408 >    T_SHARED = 453,
409 >    T_SIZE = 454,
410 >    T_SKILL = 455,
411 >    T_SOFTCALLERID = 456,
412 >    T_SPY = 457,
413 >    T_SSL = 458,
414 >    T_SSL_CIPHER_LIST = 459,
415 >    T_TARGET = 460,
416 >    T_UMODES = 461,
417 >    T_UNAUTH = 462,
418 >    T_UNDLINE = 463,
419 >    T_UNLIMITED = 464,
420 >    T_UNRESV = 465,
421 >    T_UNXLINE = 466,
422 >    T_WALLOP = 467,
423 >    T_WALLOPS = 468,
424 >    T_WEBIRC = 469,
425 >    TBOOL = 470,
426 >    THROTTLE_COUNT = 471,
427 >    THROTTLE_TIME = 472,
428 >    TKLINE_EXPIRE_NOTICES = 473,
429 >    TMASKED = 474,
430 >    TS_MAX_DELTA = 475,
431 >    TS_WARN_DELTA = 476,
432 >    TWODOTS = 477,
433 >    TYPE = 478,
434 >    UNKLINE = 479,
435 >    USE_LOGGING = 480,
436 >    USER = 481,
437 >    VHOST = 482,
438 >    VHOST6 = 483,
439 >    WARN_NO_CONNECT_BLOCK = 484,
440 >    WHOIS = 485,
441 >    WHOWAS_HISTORY_LENGTH = 486,
442 >    XLINE = 487,
443 >    XLINE_EXEMPT = 488
444 >  };
445   #endif
446   /* Tokens.  */
447   #define ACCEPT_PASSWORD 258
# Line 445 | Line 450 | extern int yydebug;
450   #define ANTI_NICK_FLOOD 261
451   #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
452   #define AUTOCONN 263
453 < #define BYTES 264
454 < #define KBYTES 265
455 < #define MBYTES 266
456 < #define CALLER_ID_WAIT 267
457 < #define CAN_FLOOD 268
458 < #define CHANNEL 269
459 < #define CIDR_BITLEN_IPV4 270
460 < #define CIDR_BITLEN_IPV6 271
461 < #define CLASS 272
462 < #define CONNECT 273
463 < #define CONNECTFREQ 274
464 < #define DEFAULT_FLOODCOUNT 275
465 < #define DEFAULT_SPLIT_SERVER_COUNT 276
466 < #define DEFAULT_SPLIT_USER_COUNT 277
467 < #define DENY 278
468 < #define DESCRIPTION 279
469 < #define DIE 280
470 < #define DISABLE_AUTH 281
471 < #define DISABLE_FAKE_CHANNELS 282
472 < #define DISABLE_REMOTE_COMMANDS 283
473 < #define DOTS_IN_IDENT 284
474 < #define EGDPOOL_PATH 285
475 < #define EMAIL 286
476 < #define ENCRYPTED 287
477 < #define EXCEED_LIMIT 288
478 < #define EXEMPT 289
479 < #define FAILED_OPER_NOTICE 290
480 < #define FLATTEN_LINKS 291
481 < #define GECOS 292
482 < #define GENERAL 293
483 < #define GLINE 294
484 < #define GLINE_DURATION 295
485 < #define GLINE_ENABLE 296
486 < #define GLINE_EXEMPT 297
487 < #define GLINE_MIN_CIDR 298
488 < #define GLINE_MIN_CIDR6 299
489 < #define GLINE_REQUEST_DURATION 300
490 < #define GLOBAL_KILL 301
491 < #define HAVENT_READ_CONF 302
453 > #define AWAY_COUNT 264
454 > #define AWAY_TIME 265
455 > #define BYTES 266
456 > #define KBYTES 267
457 > #define MBYTES 268
458 > #define CALLER_ID_WAIT 269
459 > #define CAN_FLOOD 270
460 > #define CHANNEL 271
461 > #define CHECK_CACHE 272
462 > #define CIDR_BITLEN_IPV4 273
463 > #define CIDR_BITLEN_IPV6 274
464 > #define CLASS 275
465 > #define CLOSE 276
466 > #define CONNECT 277
467 > #define CONNECTFREQ 278
468 > #define CYCLE_ON_HOST_CHANGE 279
469 > #define DEFAULT_FLOODCOUNT 280
470 > #define DEFAULT_JOIN_FLOOD_COUNT 281
471 > #define DEFAULT_JOIN_FLOOD_TIME 282
472 > #define DEFAULT_MAX_CLIENTS 283
473 > #define DENY 284
474 > #define DESCRIPTION 285
475 > #define DIE 286
476 > #define DISABLE_AUTH 287
477 > #define DISABLE_FAKE_CHANNELS 288
478 > #define DISABLE_REMOTE_COMMANDS 289
479 > #define DLINE_MIN_CIDR 290
480 > #define DLINE_MIN_CIDR6 291
481 > #define DOTS_IN_IDENT 292
482 > #define EMAIL 293
483 > #define ENCRYPTED 294
484 > #define EXCEED_LIMIT 295
485 > #define EXEMPT 296
486 > #define FAILED_OPER_NOTICE 297
487 > #define FLATTEN_LINKS 298
488 > #define FLATTEN_LINKS_DELAY 299
489 > #define FLATTEN_LINKS_FILE 300
490 > #define GECOS 301
491 > #define GENERAL 302
492   #define HIDDEN 303
493   #define HIDDEN_NAME 304
494 < #define HIDE_IDLE_FROM_OPERS 305
495 < #define HIDE_SERVER_IPS 306
496 < #define HIDE_SERVERS 307
497 < #define HIDE_SERVICES 308
498 < #define HIDE_SPOOF_IPS 309
499 < #define HOST 310
500 < #define HUB 311
501 < #define HUB_MASK 312
502 < #define IGNORE_BOGUS_TS 313
503 < #define INVISIBLE_ON_CONNECT 314
504 < #define IP 315
505 < #define IRCD_AUTH 316
506 < #define IRCD_FLAGS 317
507 < #define IRCD_SID 318
508 < #define JOIN_FLOOD_COUNT 319
509 < #define JOIN_FLOOD_TIME 320
510 < #define KILL 321
511 < #define KILL_CHASE_TIME_LIMIT 322
512 < #define KLINE 323
513 < #define KLINE_EXEMPT 324
514 < #define KNOCK_DELAY 325
515 < #define KNOCK_DELAY_CHANNEL 326
516 < #define LEAF_MASK 327
517 < #define LINKS_DELAY 328
518 < #define LISTEN 329
519 < #define MASK 330
520 < #define MAX_ACCEPT 331
521 < #define MAX_BANS 332
522 < #define MAX_CHANS_PER_OPER 333
523 < #define MAX_CHANS_PER_USER 334
524 < #define MAX_GLOBAL 335
525 < #define MAX_IDENT 336
526 < #define MAX_IDLE 337
527 < #define MAX_LOCAL 338
528 < #define MAX_NICK_CHANGES 339
529 < #define MAX_NICK_LENGTH 340
530 < #define MAX_NICK_TIME 341
531 < #define MAX_NUMBER 342
532 < #define MAX_TARGETS 343
533 < #define MAX_TOPIC_LENGTH 344
534 < #define MAX_WATCH 345
535 < #define MIN_IDLE 346
536 < #define MIN_NONWILDCARD 347
537 < #define MIN_NONWILDCARD_SIMPLE 348
538 < #define MODULE 349
539 < #define MODULES 350
540 < #define MOTD 351
541 < #define NAME 352
542 < #define NEED_IDENT 353
543 < #define NEED_PASSWORD 354
544 < #define NETWORK_DESC 355
545 < #define NETWORK_NAME 356
546 < #define NICK 357
547 < #define NO_CREATE_ON_SPLIT 358
548 < #define NO_JOIN_ON_SPLIT 359
549 < #define NO_OPER_FLOOD 360
550 < #define NO_TILDE 361
551 < #define NUMBER 362
552 < #define NUMBER_PER_CIDR 363
553 < #define NUMBER_PER_IP 364
554 < #define OPER_ONLY_UMODES 365
555 < #define OPER_PASS_RESV 366
556 < #define OPER_UMODES 367
557 < #define OPERATOR 368
558 < #define OPERS_BYPASS_CALLERID 369
559 < #define PACE_WAIT 370
560 < #define PACE_WAIT_SIMPLE 371
561 < #define PASSWORD 372
562 < #define PATH 373
563 < #define PING_COOKIE 374
564 < #define PING_TIME 375
565 < #define PORT 376
566 < #define QSTRING 377
567 < #define RANDOM_IDLE 378
568 < #define REASON 379
569 < #define REDIRPORT 380
570 < #define REDIRSERV 381
571 < #define REHASH 382
572 < #define REMOTE 383
573 < #define REMOTEBAN 384
574 < #define RESV 385
575 < #define RESV_EXEMPT 386
576 < #define RSA_PRIVATE_KEY_FILE 387
577 < #define RSA_PUBLIC_KEY_FILE 388
578 < #define SECONDS 389
579 < #define MINUTES 390
580 < #define HOURS 391
581 < #define DAYS 392
582 < #define WEEKS 393
583 < #define MONTHS 394
584 < #define YEARS 395
585 < #define SEND_PASSWORD 396
586 < #define SENDQ 397
587 < #define SERVERHIDE 398
588 < #define SERVERINFO 399
589 < #define SHORT_MOTD 400
590 < #define SPOOF 401
591 < #define SPOOF_NOTICE 402
592 < #define SQUIT 403
593 < #define SSL_CERTIFICATE_FILE 404
594 < #define SSL_DH_PARAM_FILE 405
595 < #define STATS_E_DISABLED 406
596 < #define STATS_I_OPER_ONLY 407
597 < #define STATS_K_OPER_ONLY 408
598 < #define STATS_O_OPER_ONLY 409
599 < #define STATS_P_OPER_ONLY 410
600 < #define T_ALL 411
601 < #define T_BOTS 412
602 < #define T_CALLERID 413
603 < #define T_CCONN 414
604 < #define T_CLUSTER 415
605 < #define T_DEAF 416
606 < #define T_DEBUG 417
607 < #define T_DLINE 418
608 < #define T_EXTERNAL 419
609 < #define T_FARCONNECT 420
610 < #define T_FILE 421
611 < #define T_FINGERPRINT 422
612 < #define T_FULL 423
613 < #define T_GLOBOPS 424
614 < #define T_INVISIBLE 425
615 < #define T_IPV4 426
616 < #define T_IPV6 427
617 < #define T_LOCOPS 428
618 < #define T_LOG 429
619 < #define T_MAX_CLIENTS 430
620 < #define T_NCHANGE 431
621 < #define T_NONONREG 432
622 < #define T_OPERWALL 433
623 < #define T_RECVQ 434
624 < #define T_REJ 435
625 < #define T_RESTART 436
626 < #define T_SERVER 437
627 < #define T_SERVICE 438
628 < #define T_SERVICES_NAME 439
629 < #define T_SERVNOTICE 440
630 < #define T_SET 441
631 < #define T_SHARED 442
632 < #define T_SIZE 443
633 < #define T_SKILL 444
634 < #define T_SOFTCALLERID 445
635 < #define T_SPY 446
636 < #define T_SSL 447
637 < #define T_SSL_CIPHER_LIST 448
638 < #define T_SSL_CLIENT_METHOD 449
639 < #define T_SSL_SERVER_METHOD 450
640 < #define T_SSLV3 451
641 < #define T_TLSV1 452
642 < #define T_UMODES 453
643 < #define T_UNAUTH 454
644 < #define T_UNDLINE 455
645 < #define T_UNLIMITED 456
646 < #define T_UNRESV 457
647 < #define T_UNXLINE 458
648 < #define T_WALLOP 459
649 < #define T_WALLOPS 460
650 < #define T_WEBIRC 461
651 < #define TBOOL 462
652 < #define THROTTLE_TIME 463
653 < #define TKLINE_EXPIRE_NOTICES 464
654 < #define TMASKED 465
655 < #define TRUE_NO_OPER_FLOOD 466
656 < #define TS_MAX_DELTA 467
657 < #define TS_WARN_DELTA 468
658 < #define TWODOTS 469
659 < #define TYPE 470
660 < #define UNKLINE 471
661 < #define USE_EGD 472
662 < #define USE_LOGGING 473
663 < #define USER 474
664 < #define VHOST 475
665 < #define VHOST6 476
666 < #define WARN_NO_NLINE 477
667 < #define XLINE 478
668 <
669 <
494 > #define HIDE_CHANS 305
495 > #define HIDE_IDLE 306
496 > #define HIDE_IDLE_FROM_OPERS 307
497 > #define HIDE_SERVER_IPS 308
498 > #define HIDE_SERVERS 309
499 > #define HIDE_SERVICES 310
500 > #define HOST 311
501 > #define HUB 312
502 > #define HUB_MASK 313
503 > #define IGNORE_BOGUS_TS 314
504 > #define INVISIBLE_ON_CONNECT 315
505 > #define INVITE_CLIENT_COUNT 316
506 > #define INVITE_CLIENT_TIME 317
507 > #define INVITE_DELAY_CHANNEL 318
508 > #define IP 319
509 > #define IRCD_AUTH 320
510 > #define IRCD_FLAGS 321
511 > #define IRCD_SID 322
512 > #define JOIN 323
513 > #define KILL 324
514 > #define KILL_CHASE_TIME_LIMIT 325
515 > #define KLINE 326
516 > #define KLINE_EXEMPT 327
517 > #define KLINE_MIN_CIDR 328
518 > #define KLINE_MIN_CIDR6 329
519 > #define KNOCK_CLIENT_COUNT 330
520 > #define KNOCK_CLIENT_TIME 331
521 > #define KNOCK_DELAY_CHANNEL 332
522 > #define LEAF_MASK 333
523 > #define LIBGEOIP_DATABASE_OPTIONS 334
524 > #define LIBGEOIP_IPV4_DATABASE_FILE 335
525 > #define LIBGEOIP_IPV6_DATABASE_FILE 336
526 > #define LISTEN 337
527 > #define MASK 338
528 > #define MAX_ACCEPT 339
529 > #define MAX_BANS 340
530 > #define MAX_CHANNELS 341
531 > #define MAX_GLOBAL 342
532 > #define MAX_IDLE 343
533 > #define MAX_LOCAL 344
534 > #define MAX_NICK_CHANGES 345
535 > #define MAX_NICK_LENGTH 346
536 > #define MAX_NICK_TIME 347
537 > #define MAX_NUMBER 348
538 > #define MAX_TARGETS 349
539 > #define MAX_TOPIC_LENGTH 350
540 > #define MAX_WATCH 351
541 > #define MEMORY_CACHE 352
542 > #define MIN_IDLE 353
543 > #define MIN_NONWILDCARD 354
544 > #define MIN_NONWILDCARD_SIMPLE 355
545 > #define MMAP_CACHE 356
546 > #define MODULE 357
547 > #define MODULES 358
548 > #define MOTD 359
549 > #define NAME 360
550 > #define NEED_IDENT 361
551 > #define NEED_PASSWORD 362
552 > #define NETWORK_DESC 363
553 > #define NETWORK_NAME 364
554 > #define NICK 365
555 > #define NO_OPER_FLOOD 366
556 > #define NO_TILDE 367
557 > #define NUMBER 368
558 > #define NUMBER_PER_CIDR 369
559 > #define NUMBER_PER_IP 370
560 > #define OPER_ONLY_UMODES 371
561 > #define OPER_UMODES 372
562 > #define OPERATOR 373
563 > #define OPERS_BYPASS_CALLERID 374
564 > #define PACE_WAIT 375
565 > #define PACE_WAIT_SIMPLE 376
566 > #define PASSWORD 377
567 > #define PATH 378
568 > #define PING_COOKIE 379
569 > #define PING_TIME 380
570 > #define PORT 381
571 > #define QSTRING 382
572 > #define RANDOM_IDLE 383
573 > #define REASON 384
574 > #define REDIRPORT 385
575 > #define REDIRSERV 386
576 > #define REHASH 387
577 > #define REMOTE 388
578 > #define REMOTEBAN 389
579 > #define RESV 390
580 > #define RESV_EXEMPT 391
581 > #define RSA_PRIVATE_KEY_FILE 392
582 > #define SECONDS 393
583 > #define MINUTES 394
584 > #define HOURS 395
585 > #define DAYS 396
586 > #define WEEKS 397
587 > #define MONTHS 398
588 > #define YEARS 399
589 > #define SEND_PASSWORD 400
590 > #define SENDQ 401
591 > #define SERVERHIDE 402
592 > #define SERVERINFO 403
593 > #define SHORT_MOTD 404
594 > #define SPOOF 405
595 > #define SPOOF_NOTICE 406
596 > #define SQUIT 407
597 > #define SSL_CERTIFICATE_FILE 408
598 > #define SSL_CERTIFICATE_FINGERPRINT 409
599 > #define SSL_CONNECTION_REQUIRED 410
600 > #define SSL_DH_ELLIPTIC_CURVE 411
601 > #define SSL_DH_PARAM_FILE 412
602 > #define SSL_MESSAGE_DIGEST_ALGORITHM 413
603 > #define STANDARD 414
604 > #define STATS_E_DISABLED 415
605 > #define STATS_I_OPER_ONLY 416
606 > #define STATS_K_OPER_ONLY 417
607 > #define STATS_M_OPER_ONLY 418
608 > #define STATS_O_OPER_ONLY 419
609 > #define STATS_P_OPER_ONLY 420
610 > #define STATS_U_OPER_ONLY 421
611 > #define T_ALL 422
612 > #define T_BOTS 423
613 > #define T_CALLERID 424
614 > #define T_CCONN 425
615 > #define T_COMMAND 426
616 > #define T_CLUSTER 427
617 > #define T_DEAF 428
618 > #define T_DEBUG 429
619 > #define T_DLINE 430
620 > #define T_EXTERNAL 431
621 > #define T_FARCONNECT 432
622 > #define T_FILE 433
623 > #define T_FULL 434
624 > #define T_GLOBOPS 435
625 > #define T_INVISIBLE 436
626 > #define T_IPV4 437
627 > #define T_IPV6 438
628 > #define T_LOCOPS 439
629 > #define T_LOG 440
630 > #define T_NCHANGE 441
631 > #define T_NONONREG 442
632 > #define T_OPME 443
633 > #define T_PREPEND 444
634 > #define T_PSEUDO 445
635 > #define T_RECVQ 446
636 > #define T_REJ 447
637 > #define T_RESTART 448
638 > #define T_SERVER 449
639 > #define T_SERVICE 450
640 > #define T_SERVNOTICE 451
641 > #define T_SET 452
642 > #define T_SHARED 453
643 > #define T_SIZE 454
644 > #define T_SKILL 455
645 > #define T_SOFTCALLERID 456
646 > #define T_SPY 457
647 > #define T_SSL 458
648 > #define T_SSL_CIPHER_LIST 459
649 > #define T_TARGET 460
650 > #define T_UMODES 461
651 > #define T_UNAUTH 462
652 > #define T_UNDLINE 463
653 > #define T_UNLIMITED 464
654 > #define T_UNRESV 465
655 > #define T_UNXLINE 466
656 > #define T_WALLOP 467
657 > #define T_WALLOPS 468
658 > #define T_WEBIRC 469
659 > #define TBOOL 470
660 > #define THROTTLE_COUNT 471
661 > #define THROTTLE_TIME 472
662 > #define TKLINE_EXPIRE_NOTICES 473
663 > #define TMASKED 474
664 > #define TS_MAX_DELTA 475
665 > #define TS_WARN_DELTA 476
666 > #define TWODOTS 477
667 > #define TYPE 478
668 > #define UNKLINE 479
669 > #define USE_LOGGING 480
670 > #define USER 481
671 > #define VHOST 482
672 > #define VHOST6 483
673 > #define WARN_NO_CONNECT_BLOCK 484
674 > #define WHOIS 485
675 > #define WHOWAS_HISTORY_LENGTH 486
676 > #define XLINE 487
677 > #define XLINE_EXEMPT 488
678  
679 + /* Value type.  */
680   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
681 < typedef union YYSTYPE
681 >
682 > union YYSTYPE
683   {
684 < /* Line 387 of yacc.c  */
670 < #line 140 "conf_parser.y"
684 > #line 141 "conf_parser.y" /* yacc.c:355  */
685  
686    int number;
687    char *string;
688  
689 + #line 690 "conf_parser.c" /* yacc.c:355  */
690 + };
691  
692 < /* Line 387 of yacc.c  */
677 < #line 678 "conf_parser.c"
678 < } YYSTYPE;
692 > typedef union YYSTYPE YYSTYPE;
693   # define YYSTYPE_IS_TRIVIAL 1
680 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
694   # define YYSTYPE_IS_DECLARED 1
695   #endif
696  
697 +
698   extern YYSTYPE yylval;
699  
686 #ifdef YYPARSE_PARAM
687 #if defined __STDC__ || defined __cplusplus
688 int yyparse (void *YYPARSE_PARAM);
689 #else
690 int yyparse ();
691 #endif
692 #else /* ! YYPARSE_PARAM */
693 #if defined __STDC__ || defined __cplusplus
700   int yyparse (void);
695 #else
696 int yyparse ();
697 #endif
698 #endif /* ! YYPARSE_PARAM */
701  
702   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
703  
704   /* Copy the second part of user declarations.  */
705  
706 < /* Line 390 of yacc.c  */
705 < #line 706 "conf_parser.c"
706 > #line 707 "conf_parser.c" /* yacc.c:358  */
707  
708   #ifdef short
709   # undef short
# Line 716 | Line 717 | typedef unsigned char yytype_uint8;
717  
718   #ifdef YYTYPE_INT8
719   typedef YYTYPE_INT8 yytype_int8;
719 #elif (defined __STDC__ || defined __C99__FUNC__ \
720     || defined __cplusplus || defined _MSC_VER)
721 typedef signed char yytype_int8;
720   #else
721 < typedef short int yytype_int8;
721 > typedef signed char yytype_int8;
722   #endif
723  
724   #ifdef YYTYPE_UINT16
# Line 740 | Line 738 | typedef short int yytype_int16;
738   #  define YYSIZE_T __SIZE_TYPE__
739   # elif defined size_t
740   #  define YYSIZE_T size_t
741 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
744 <     || defined __cplusplus || defined _MSC_VER)
741 > # elif ! defined YYSIZE_T
742   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
743   #  define YYSIZE_T size_t
744   # else
# Line 763 | Line 760 | typedef short int yytype_int16;
760   # endif
761   #endif
762  
763 < #ifndef __attribute__
764 < /* This feature is available in gcc versions 2.5 and later.  */
765 < # if (! defined __GNUC__ || __GNUC__ < 2 \
766 <      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
767 < #  define __attribute__(Spec) /* empty */
763 > #ifndef YY_ATTRIBUTE
764 > # if (defined __GNUC__                                               \
765 >      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
766 >     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
767 > #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
768 > # else
769 > #  define YY_ATTRIBUTE(Spec) /* empty */
770 > # endif
771 > #endif
772 >
773 > #ifndef YY_ATTRIBUTE_PURE
774 > # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
775 > #endif
776 >
777 > #ifndef YY_ATTRIBUTE_UNUSED
778 > # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
779 > #endif
780 >
781 > #if !defined _Noreturn \
782 >     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
783 > # if defined _MSC_VER && 1200 <= _MSC_VER
784 > #  define _Noreturn __declspec (noreturn)
785 > # else
786 > #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
787   # endif
788   #endif
789  
# Line 778 | Line 794 | typedef short int yytype_int16;
794   # define YYUSE(E) /* empty */
795   #endif
796  
797 <
798 < /* Identity function, used to suppress warnings about constant conditions.  */
799 < #ifndef lint
800 < # define YYID(N) (N)
801 < #else
802 < #if (defined __STDC__ || defined __C99__FUNC__ \
803 <     || defined __cplusplus || defined _MSC_VER)
804 < static int
789 < YYID (int yyi)
797 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
798 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
799 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
800 >    _Pragma ("GCC diagnostic push") \
801 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
802 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
803 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
804 >    _Pragma ("GCC diagnostic pop")
805   #else
806 < static int
792 < YYID (yyi)
793 <    int yyi;
806 > # define YY_INITIAL_VALUE(Value) Value
807   #endif
808 < {
809 <  return yyi;
810 < }
808 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
809 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
810 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
811 > #endif
812 > #ifndef YY_INITIAL_VALUE
813 > # define YY_INITIAL_VALUE(Value) /* Nothing. */
814   #endif
815  
816 +
817   #if ! defined yyoverflow || YYERROR_VERBOSE
818  
819   /* The parser invokes alloca or malloc; define the necessary symbols.  */
# Line 814 | Line 831 | YYID (yyi)
831   #    define alloca _alloca
832   #   else
833   #    define YYSTACK_ALLOC alloca
834 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
818 <     || defined __cplusplus || defined _MSC_VER)
834 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
835   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
836        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
837   #     ifndef EXIT_SUCCESS
# Line 827 | Line 843 | YYID (yyi)
843   # endif
844  
845   # ifdef YYSTACK_ALLOC
846 <   /* Pacify GCC's `empty if-body' warning.  */
847 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
846 >   /* Pacify GCC's 'empty if-body' warning.  */
847 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
848   #  ifndef YYSTACK_ALLOC_MAXIMUM
849      /* The OS might guarantee only one guard page at the bottom of the stack,
850         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 844 | Line 860 | YYID (yyi)
860   #  endif
861   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
862         && ! ((defined YYMALLOC || defined malloc) \
863 <             && (defined YYFREE || defined free)))
863 >             && (defined YYFREE || defined free)))
864   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
865   #   ifndef EXIT_SUCCESS
866   #    define EXIT_SUCCESS 0
# Line 852 | Line 868 | YYID (yyi)
868   #  endif
869   #  ifndef YYMALLOC
870   #   define YYMALLOC malloc
871 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
856 <     || defined __cplusplus || defined _MSC_VER)
871 > #   if ! defined malloc && ! defined EXIT_SUCCESS
872   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
873   #   endif
874   #  endif
875   #  ifndef YYFREE
876   #   define YYFREE free
877 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
863 <     || defined __cplusplus || defined _MSC_VER)
877 > #   if ! defined free && ! defined EXIT_SUCCESS
878   void free (void *); /* INFRINGES ON USER NAME SPACE */
879   #   endif
880   #  endif
# Line 870 | Line 884 | void free (void *); /* INFRINGES ON USER
884  
885   #if (! defined yyoverflow \
886       && (! defined __cplusplus \
887 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
887 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
888  
889   /* A type that is properly aligned for any stack member.  */
890   union yyalloc
# Line 895 | Line 909 | union yyalloc
909     elements in the stack, and YYPTR gives the new location of the
910     stack.  Advance YYPTR to a properly aligned location for the next
911     stack.  */
912 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
913 <    do                                                                  \
914 <      {                                                                 \
915 <        YYSIZE_T yynewbytes;                                            \
916 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
917 <        Stack = &yyptr->Stack_alloc;                                    \
918 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
919 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
920 <      }                                                                 \
921 <    while (YYID (0))
912 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
913 >    do                                                                  \
914 >      {                                                                 \
915 >        YYSIZE_T yynewbytes;                                            \
916 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
917 >        Stack = &yyptr->Stack_alloc;                                    \
918 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
919 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
920 >      }                                                                 \
921 >    while (0)
922  
923   #endif
924  
# Line 923 | Line 937 | union yyalloc
937            for (yyi = 0; yyi < (Count); yyi++)   \
938              (Dst)[yyi] = (Src)[yyi];            \
939          }                                       \
940 <      while (YYID (0))
940 >      while (0)
941   #  endif
942   # endif
943   #endif /* !YYCOPY_NEEDED */
# Line 931 | Line 945 | union yyalloc
945   /* YYFINAL -- State number of the termination state.  */
946   #define YYFINAL  2
947   /* YYLAST -- Last index in YYTABLE.  */
948 < #define YYLAST   1221
948 > #define YYLAST   1274
949  
950   /* YYNTOKENS -- Number of terminals.  */
951 < #define YYNTOKENS  230
951 > #define YYNTOKENS  240
952   /* YYNNTS -- Number of nonterminals.  */
953 < #define YYNNTS  288
953 > #define YYNNTS  298
954   /* YYNRULES -- Number of rules.  */
955 < #define YYNRULES  648
956 < /* YYNRULES -- Number of states.  */
957 < #define YYNSTATES  1270
955 > #define YYNRULES  675
956 > /* YYNSTATES -- Number of states.  */
957 > #define YYNSTATES  1327
958  
959 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
959 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
960 >   by yylex, with out-of-bounds checking.  */
961   #define YYUNDEFTOK  2
962 < #define YYMAXUTOK   478
962 > #define YYMAXUTOK   488
963  
964 < #define YYTRANSLATE(YYX)                                                \
964 > #define YYTRANSLATE(YYX)                                                \
965    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
966  
967 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
967 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
968 >   as returned by yylex, without out-of-bounds checking.  */
969   static const yytype_uint8 yytranslate[] =
970   {
971         0,     2,     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,   228,     2,     2,     2,     2,     2,
976 <       2,     2,     2,     2,     2,     2,     2,     2,   229,   224,
977 <       2,   227,     2,     2,     2,     2,     2,     2,     2,     2,
975 >       2,     2,     2,     2,   238,     2,     2,     2,     2,     2,
976 >       2,     2,     2,     2,     2,     2,     2,     2,   239,   234,
977 >       2,   237,     2,     2,     2,     2,     2,     2,     2,     2,
978         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
979         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
980         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
981         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
983 <       2,     2,     2,   226,     2,   225,     2,     2,     2,     2,
983 >       2,     2,     2,   236,     2,   235,     2,     2,     2,     2,
984         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
985         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
986         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 999 | Line 1015 | static const yytype_uint8 yytranslate[]
1015       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1016       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1017       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1018 <     215,   216,   217,   218,   219,   220,   221,   222,   223
1018 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1019 >     225,   226,   227,   228,   229,   230,   231,   232,   233
1020   };
1021  
1022   #if YYDEBUG
1023 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1007 <   YYRHS.  */
1008 < static const yytype_uint16 yyprhs[] =
1009 < {
1010 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1011 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1012 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1013 <      61,    65,    69,    73,    77,    81,    85,    89,    90,    92,
1014 <      95,    99,   103,   107,   113,   116,   118,   120,   122,   125,
1015 <     130,   135,   141,   144,   146,   148,   150,   152,   154,   156,
1016 <     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1017 <     178,   180,   183,   188,   193,   197,   199,   201,   203,   207,
1018 <     209,   211,   213,   218,   223,   228,   233,   238,   243,   248,
1019 <     253,   258,   263,   268,   273,   278,   283,   288,   294,   297,
1020 <     299,   301,   303,   305,   308,   313,   318,   323,   324,   331,
1021 <     334,   336,   338,   340,   343,   348,   353,   359,   362,   364,
1022 <     366,   368,   371,   376,   377,   384,   387,   389,   391,   393,
1023 <     395,   398,   403,   408,   413,   414,   420,   424,   426,   428,
1024 <     430,   432,   434,   436,   438,   440,   441,   448,   451,   453,
1025 <     455,   457,   459,   461,   463,   465,   467,   469,   471,   474,
1026 <     479,   484,   489,   494,   499,   504,   509,   510,   516,   520,
1027 <     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1028 <     542,   544,   546,   548,   550,   552,   554,   556,   558,   560,
1029 <     562,   564,   565,   571,   575,   577,   581,   583,   587,   589,
1030 <     593,   595,   597,   599,   601,   603,   605,   607,   609,   611,
1031 <     613,   615,   617,   619,   621,   623,   625,   627,   629,   630,
1032 <     637,   640,   642,   644,   646,   648,   650,   652,   654,   656,
1033 <     658,   660,   662,   664,   666,   668,   670,   672,   674,   677,
1034 <     682,   687,   692,   697,   702,   707,   712,   717,   722,   727,
1035 <     732,   737,   742,   747,   752,   753,   759,   763,   765,   767,
1036 <     769,   770,   777,   778,   784,   788,   790,   792,   794,   796,
1037 <     799,   801,   803,   805,   807,   809,   812,   813,   819,   823,
1038 <     825,   827,   831,   836,   841,   842,   849,   852,   854,   856,
1039 <     858,   860,   862,   864,   866,   868,   870,   873,   878,   883,
1040 <     888,   893,   894,   900,   904,   906,   908,   910,   912,   914,
1041 <     916,   918,   920,   922,   924,   926,   931,   936,   941,   942,
1042 <     949,   952,   954,   956,   958,   960,   963,   968,   973,   978,
1043 <     984,   987,   989,   991,   993,   998,   999,  1006,  1009,  1011,
1044 <    1013,  1015,  1017,  1020,  1025,  1030,  1031,  1037,  1041,  1043,
1045 <    1045,  1047,  1049,  1051,  1053,  1055,  1057,  1059,  1061,  1063,
1046 <    1064,  1071,  1074,  1076,  1078,  1080,  1083,  1088,  1089,  1095,
1047 <    1099,  1101,  1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,
1048 <    1119,  1121,  1122,  1129,  1132,  1134,  1136,  1138,  1140,  1142,
1049 <    1144,  1146,  1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,
1050 <    1165,  1170,  1175,  1180,  1185,  1190,  1195,  1200,  1205,  1210,
1051 <    1211,  1217,  1221,  1223,  1225,  1227,  1232,  1237,  1242,  1247,
1052 <    1252,  1253,  1260,  1263,  1265,  1267,  1269,  1271,  1276,  1281,
1053 <    1282,  1289,  1292,  1294,  1296,  1298,  1300,  1305,  1310,  1316,
1054 <    1319,  1321,  1323,  1325,  1330,  1331,  1338,  1341,  1343,  1345,
1055 <    1347,  1349,  1354,  1359,  1365,  1368,  1370,  1372,  1374,  1376,
1056 <    1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,  1394,  1396,
1057 <    1398,  1400,  1402,  1404,  1406,  1408,  1410,  1412,  1414,  1416,
1058 <    1418,  1420,  1422,  1424,  1426,  1428,  1430,  1432,  1434,  1436,
1059 <    1438,  1440,  1442,  1444,  1446,  1448,  1450,  1452,  1454,  1456,
1060 <    1458,  1460,  1462,  1464,  1466,  1471,  1476,  1481,  1486,  1491,
1061 <    1496,  1501,  1506,  1511,  1516,  1521,  1526,  1531,  1536,  1541,
1062 <    1546,  1551,  1556,  1561,  1566,  1571,  1576,  1581,  1586,  1591,
1063 <    1596,  1601,  1606,  1611,  1616,  1621,  1626,  1631,  1636,  1641,
1064 <    1646,  1651,  1656,  1661,  1666,  1671,  1676,  1681,  1686,  1687,
1065 <    1693,  1697,  1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,
1066 <    1715,  1717,  1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,
1067 <    1735,  1737,  1739,  1741,  1742,  1748,  1752,  1754,  1756,  1758,
1068 <    1760,  1762,  1764,  1766,  1768,  1770,  1772,  1774,  1776,  1778,
1069 <    1780,  1782,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1801,
1070 <    1806,  1811,  1817,  1820,  1822,  1824,  1826,  1828,  1830,  1832,
1071 <    1834,  1836,  1838,  1840,  1842,  1844,  1846,  1848,  1853,  1858,
1072 <    1863,  1868,  1873,  1878,  1883,  1888,  1893,  1898,  1903,  1908,
1073 <    1914,  1917,  1919,  1921,  1923,  1925,  1927,  1929,  1931,  1933,
1074 <    1935,  1937,  1942,  1947,  1952,  1957,  1962,  1967,  1972
1075 < };
1076 <
1077 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1078 < static const yytype_int16 yyrhs[] =
1079 < {
1080 <     231,     0,    -1,    -1,   231,   232,    -1,   266,    -1,   278,
1081 <      -1,   292,    -1,   492,    -1,   311,    -1,   334,    -1,   348,
1082 <      -1,   242,    -1,   507,    -1,   363,    -1,   370,    -1,   374,
1083 <      -1,   384,    -1,   393,    -1,   414,    -1,   420,    -1,   426,
1084 <      -1,   436,    -1,   430,    -1,   237,    -1,   272,    -1,     1,
1085 <     224,    -1,     1,   225,    -1,    -1,   234,    -1,   107,   233,
1086 <      -1,   107,   134,   233,    -1,   107,   135,   233,    -1,   107,
1087 <     136,   233,    -1,   107,   137,   233,    -1,   107,   138,   233,
1088 <      -1,   107,   139,   233,    -1,   107,   140,   233,    -1,    -1,
1089 <     236,    -1,   107,   235,    -1,   107,     9,   235,    -1,   107,
1090 <      10,   235,    -1,   107,    11,   235,    -1,    95,   226,   238,
1091 <     225,   224,    -1,   238,   239,    -1,   239,    -1,   240,    -1,
1092 <     241,    -1,     1,   224,    -1,    94,   227,   122,   224,    -1,
1093 <     118,   227,   122,   224,    -1,   144,   226,   243,   225,   224,
1094 <      -1,   243,   244,    -1,   244,    -1,   255,    -1,   260,    -1,
1095 <     265,    -1,   257,    -1,   258,    -1,   259,    -1,   262,    -1,
1096 <     263,    -1,   264,    -1,   253,    -1,   252,    -1,   261,    -1,
1097 <     256,    -1,   251,    -1,   245,    -1,   246,    -1,   254,    -1,
1098 <       1,   224,    -1,   194,   227,   247,   224,    -1,   195,   227,
1099 <     249,   224,    -1,   247,   228,   248,    -1,   248,    -1,   196,
1100 <      -1,   197,    -1,   249,   228,   250,    -1,   250,    -1,   196,
1101 <      -1,   197,    -1,   149,   227,   122,   224,    -1,   132,   227,
1102 <     122,   224,    -1,   150,   227,   122,   224,    -1,   193,   227,
1103 <     122,   224,    -1,    97,   227,   122,   224,    -1,    63,   227,
1104 <     122,   224,    -1,    24,   227,   122,   224,    -1,   101,   227,
1105 <     122,   224,    -1,   100,   227,   122,   224,    -1,   220,   227,
1106 <     122,   224,    -1,   221,   227,   122,   224,    -1,   175,   227,
1107 <     107,   224,    -1,    85,   227,   107,   224,    -1,    89,   227,
1108 <     107,   224,    -1,    56,   227,   207,   224,    -1,     4,   226,
1109 <     267,   225,   224,    -1,   267,   268,    -1,   268,    -1,   269,
1110 <      -1,   271,    -1,   270,    -1,     1,   224,    -1,    97,   227,
1111 <     122,   224,    -1,    31,   227,   122,   224,    -1,    24,   227,
1112 <     122,   224,    -1,    -1,    96,   273,   226,   274,   225,   224,
1113 <      -1,   274,   275,    -1,   275,    -1,   276,    -1,   277,    -1,
1114 <       1,   224,    -1,    75,   227,   122,   224,    -1,   166,   227,
1115 <     122,   224,    -1,   174,   226,   279,   225,   224,    -1,   279,
1116 <     280,    -1,   280,    -1,   281,    -1,   282,    -1,     1,   224,
1117 <      -1,   218,   227,   207,   224,    -1,    -1,   283,   166,   226,
1118 <     284,   225,   224,    -1,   284,   285,    -1,   285,    -1,   286,
1119 <      -1,   288,    -1,   287,    -1,     1,   224,    -1,    97,   227,
1120 <     122,   224,    -1,   188,   227,   236,   224,    -1,   188,   227,
1121 <     201,   224,    -1,    -1,   215,   289,   227,   290,   224,    -1,
1122 <     290,   228,   291,    -1,   291,    -1,   219,    -1,   113,    -1,
1123 <      39,    -1,   163,    -1,    68,    -1,    66,    -1,   162,    -1,
1124 <      -1,   113,   293,   226,   294,   225,   224,    -1,   294,   295,
1125 <      -1,   295,    -1,   296,    -1,   297,    -1,   298,    -1,   303,
1126 <      -1,   302,    -1,   299,    -1,   300,    -1,   301,    -1,   307,
1127 <      -1,     1,   224,    -1,    97,   227,   122,   224,    -1,   219,
1128 <     227,   122,   224,    -1,   117,   227,   122,   224,    -1,    32,
1129 <     227,   207,   224,    -1,   133,   227,   122,   224,    -1,   167,
1130 <     227,   122,   224,    -1,    17,   227,   122,   224,    -1,    -1,
1131 <     198,   304,   227,   305,   224,    -1,   305,   228,   306,    -1,
1132 <     306,    -1,   157,    -1,   159,    -1,   161,    -1,   162,    -1,
1133 <     168,    -1,    48,    -1,   189,    -1,   176,    -1,   180,    -1,
1134 <     199,    -1,   191,    -1,   164,    -1,   178,    -1,   185,    -1,
1135 <     170,    -1,   204,    -1,   190,    -1,   158,    -1,   173,    -1,
1136 <     177,    -1,   165,    -1,    -1,    62,   308,   227,   309,   224,
1137 <      -1,   309,   228,   310,    -1,   310,    -1,    66,   229,   128,
1138 <      -1,    66,    -1,    18,   229,   128,    -1,    18,    -1,   148,
1139 <     229,   128,    -1,   148,    -1,    68,    -1,   216,    -1,   163,
1140 <      -1,   200,    -1,   223,    -1,    39,    -1,    25,    -1,   181,
1141 <      -1,   127,    -1,     4,    -1,   178,    -1,   169,    -1,   205,
1142 <      -1,   173,    -1,   129,    -1,   186,    -1,    94,    -1,    -1,
1143 <      17,   312,   226,   313,   225,   224,    -1,   313,   314,    -1,
1144 <     314,    -1,   315,    -1,   325,    -1,   326,    -1,   316,    -1,
1145 <     327,    -1,   317,    -1,   318,    -1,   319,    -1,   320,    -1,
1146 <     321,    -1,   322,    -1,   323,    -1,   324,    -1,   328,    -1,
1147 <     329,    -1,   330,    -1,     1,   224,    -1,    97,   227,   122,
1148 <     224,    -1,   120,   227,   234,   224,    -1,   109,   227,   107,
1149 <     224,    -1,    19,   227,   234,   224,    -1,    87,   227,   107,
1150 <     224,    -1,    80,   227,   107,   224,    -1,    83,   227,   107,
1151 <     224,    -1,    81,   227,   107,   224,    -1,   142,   227,   236,
1152 <     224,    -1,   179,   227,   236,   224,    -1,    15,   227,   107,
1153 <     224,    -1,    16,   227,   107,   224,    -1,   108,   227,   107,
1154 <     224,    -1,    91,   227,   234,   224,    -1,    82,   227,   234,
1155 <     224,    -1,    -1,    62,   331,   227,   332,   224,    -1,   332,
1156 <     228,   333,    -1,   333,    -1,   123,    -1,    50,    -1,    -1,
1157 <      74,   335,   226,   340,   225,   224,    -1,    -1,    62,   337,
1158 <     227,   338,   224,    -1,   338,   228,   339,    -1,   339,    -1,
1159 <     192,    -1,    48,    -1,   182,    -1,   340,   341,    -1,   341,
1160 <      -1,   342,    -1,   336,    -1,   346,    -1,   347,    -1,     1,
1161 <     224,    -1,    -1,   121,   227,   344,   343,   224,    -1,   344,
1162 <     228,   345,    -1,   345,    -1,   107,    -1,   107,   214,   107,
1163 <      -1,    60,   227,   122,   224,    -1,    55,   227,   122,   224,
1164 <      -1,    -1,    61,   349,   226,   350,   225,   224,    -1,   350,
1165 <     351,    -1,   351,    -1,   352,    -1,   353,    -1,   354,    -1,
1166 <     356,    -1,   360,    -1,   361,    -1,   362,    -1,   355,    -1,
1167 <       1,   224,    -1,   219,   227,   122,   224,    -1,   117,   227,
1168 <     122,   224,    -1,    17,   227,   122,   224,    -1,    32,   227,
1169 <     207,   224,    -1,    -1,    62,   357,   227,   358,   224,    -1,
1170 <     358,   228,   359,    -1,   359,    -1,   147,    -1,    33,    -1,
1171 <      69,    -1,    98,    -1,    13,    -1,   106,    -1,    42,    -1,
1172 <     131,    -1,   206,    -1,    99,    -1,   146,   227,   122,   224,
1173 <      -1,   126,   227,   122,   224,    -1,   125,   227,   107,   224,
1174 <      -1,    -1,   130,   364,   226,   365,   225,   224,    -1,   365,
1175 <     366,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,
1176 <       1,   224,    -1,    75,   227,   122,   224,    -1,   124,   227,
1177 <     122,   224,    -1,    34,   227,   122,   224,    -1,   183,   226,
1178 <     371,   225,   224,    -1,   371,   372,    -1,   372,    -1,   373,
1179 <      -1,     1,    -1,    97,   227,   122,   224,    -1,    -1,   187,
1180 <     375,   226,   376,   225,   224,    -1,   376,   377,    -1,   377,
1181 <      -1,   378,    -1,   379,    -1,   380,    -1,     1,   224,    -1,
1182 <      97,   227,   122,   224,    -1,   219,   227,   122,   224,    -1,
1183 <      -1,   215,   381,   227,   382,   224,    -1,   382,   228,   383,
1184 <      -1,   383,    -1,    68,    -1,   216,    -1,   163,    -1,   200,
1185 <      -1,   223,    -1,   203,    -1,   130,    -1,   202,    -1,   173,
1186 <      -1,   156,    -1,    -1,   160,   385,   226,   386,   225,   224,
1187 <      -1,   386,   387,    -1,   387,    -1,   388,    -1,   389,    -1,
1188 <       1,   224,    -1,    97,   227,   122,   224,    -1,    -1,   215,
1189 <     390,   227,   391,   224,    -1,   391,   228,   392,    -1,   392,
1190 <      -1,    68,    -1,   216,    -1,   163,    -1,   200,    -1,   223,
1191 <      -1,   203,    -1,   130,    -1,   202,    -1,   173,    -1,   156,
1192 <      -1,    -1,    18,   394,   226,   395,   225,   224,    -1,   395,
1193 <     396,    -1,   396,    -1,   397,    -1,   398,    -1,   399,    -1,
1194 <     400,    -1,   401,    -1,   402,    -1,   404,    -1,   403,    -1,
1195 <     413,    -1,   405,    -1,   410,    -1,   411,    -1,   412,    -1,
1196 <     409,    -1,     1,   224,    -1,    97,   227,   122,   224,    -1,
1197 <      55,   227,   122,   224,    -1,   220,   227,   122,   224,    -1,
1198 <     141,   227,   122,   224,    -1,     3,   227,   122,   224,    -1,
1199 <     167,   227,   122,   224,    -1,   121,   227,   107,   224,    -1,
1200 <       5,   227,   171,   224,    -1,     5,   227,   172,   224,    -1,
1201 <      -1,    62,   406,   227,   407,   224,    -1,   407,   228,   408,
1202 <      -1,   408,    -1,     8,    -1,   192,    -1,    32,   227,   207,
1203 <     224,    -1,    57,   227,   122,   224,    -1,    72,   227,   122,
1204 <     224,    -1,    17,   227,   122,   224,    -1,   193,   227,   122,
1205 <     224,    -1,    -1,    66,   415,   226,   416,   225,   224,    -1,
1206 <     416,   417,    -1,   417,    -1,   418,    -1,   419,    -1,     1,
1207 <      -1,   219,   227,   122,   224,    -1,   124,   227,   122,   224,
1208 <      -1,    -1,    23,   421,   226,   422,   225,   224,    -1,   422,
1209 <     423,    -1,   423,    -1,   424,    -1,   425,    -1,     1,    -1,
1210 <      60,   227,   122,   224,    -1,   124,   227,   122,   224,    -1,
1211 <      34,   226,   427,   225,   224,    -1,   427,   428,    -1,   428,
1212 <      -1,   429,    -1,     1,    -1,    60,   227,   122,   224,    -1,
1213 <      -1,    37,   431,   226,   432,   225,   224,    -1,   432,   433,
1214 <      -1,   433,    -1,   434,    -1,   435,    -1,     1,    -1,    97,
1215 <     227,   122,   224,    -1,   124,   227,   122,   224,    -1,    38,
1216 <     226,   437,   225,   224,    -1,   437,   438,    -1,   438,    -1,
1217 <     447,    -1,   448,    -1,   449,    -1,   450,    -1,   451,    -1,
1218 <     452,    -1,   453,    -1,   454,    -1,   455,    -1,   456,    -1,
1219 <     446,    -1,   458,    -1,   459,    -1,   473,    -1,   461,    -1,
1220 <     463,    -1,   465,    -1,   464,    -1,   468,    -1,   462,    -1,
1221 <     469,    -1,   470,    -1,   471,    -1,   472,    -1,   485,    -1,
1222 <     474,    -1,   475,    -1,   476,    -1,   481,    -1,   466,    -1,
1223 <     467,    -1,   491,    -1,   489,    -1,   490,    -1,   480,    -1,
1224 <     457,    -1,   478,    -1,   479,    -1,   445,    -1,   440,    -1,
1225 <     441,    -1,   442,    -1,   443,    -1,   444,    -1,   460,    -1,
1226 <     439,    -1,   477,    -1,     1,    -1,    90,   227,   107,   224,
1227 <      -1,    41,   227,   207,   224,    -1,    40,   227,   234,   224,
1228 <      -1,    45,   227,   234,   224,    -1,    43,   227,   107,   224,
1229 <      -1,    44,   227,   107,   224,    -1,   209,   227,   207,   224,
1230 <      -1,    67,   227,   234,   224,    -1,    54,   227,   207,   224,
1231 <      -1,    58,   227,   207,   224,    -1,    35,   227,   207,   224,
1232 <      -1,     6,   227,   207,   224,    -1,    86,   227,   234,   224,
1233 <      -1,    84,   227,   107,   224,    -1,    76,   227,   107,   224,
1234 <      -1,     7,   227,   234,   224,    -1,   213,   227,   234,   224,
1235 <      -1,   212,   227,   234,   224,    -1,    47,   227,   107,   224,
1236 <      -1,    59,   227,   207,   224,    -1,   222,   227,   207,   224,
1237 <      -1,   151,   227,   207,   224,    -1,   154,   227,   207,   224,
1238 <      -1,   155,   227,   207,   224,    -1,   153,   227,   207,   224,
1239 <      -1,   153,   227,   210,   224,    -1,   152,   227,   207,   224,
1240 <      -1,   152,   227,   210,   224,    -1,   115,   227,   234,   224,
1241 <      -1,    12,   227,   234,   224,    -1,   114,   227,   207,   224,
1242 <      -1,   116,   227,   234,   224,    -1,   145,   227,   207,   224,
1243 <      -1,   105,   227,   207,   224,    -1,   211,   227,   207,   224,
1244 <      -1,   111,   227,   207,   224,    -1,    29,   227,   107,   224,
1245 <      -1,    88,   227,   107,   224,    -1,   217,   227,   207,   224,
1246 <      -1,    30,   227,   122,   224,    -1,   184,   227,   122,   224,
1247 <      -1,   119,   227,   207,   224,    -1,    26,   227,   207,   224,
1248 <      -1,   208,   227,   234,   224,    -1,    -1,   112,   482,   227,
1249 <     483,   224,    -1,   483,   228,   484,    -1,   484,    -1,   157,
1250 <      -1,   159,    -1,   161,    -1,   162,    -1,   168,    -1,    48,
1251 <      -1,   189,    -1,   176,    -1,   180,    -1,   199,    -1,   191,
1252 <      -1,   164,    -1,   178,    -1,   185,    -1,   170,    -1,   204,
1253 <      -1,   190,    -1,   158,    -1,   173,    -1,   177,    -1,   165,
1254 <      -1,    -1,   110,   486,   227,   487,   224,    -1,   487,   228,
1255 <     488,    -1,   488,    -1,   157,    -1,   159,    -1,   161,    -1,
1256 <     162,    -1,   168,    -1,   189,    -1,    48,    -1,   176,    -1,
1257 <     180,    -1,   199,    -1,   191,    -1,   164,    -1,   178,    -1,
1258 <     185,    -1,   170,    -1,   204,    -1,   190,    -1,   158,    -1,
1259 <     173,    -1,   177,    -1,   165,    -1,    92,   227,   107,   224,
1260 <      -1,    93,   227,   107,   224,    -1,    20,   227,   107,   224,
1261 <      -1,    14,   226,   493,   225,   224,    -1,   493,   494,    -1,
1262 <     494,    -1,   500,    -1,   496,    -1,   497,    -1,   498,    -1,
1263 <     499,    -1,   501,    -1,   502,    -1,   503,    -1,   504,    -1,
1264 <     505,    -1,   506,    -1,   495,    -1,     1,    -1,    27,   227,
1265 <     207,   224,    -1,    70,   227,   234,   224,    -1,    71,   227,
1266 <     234,   224,    -1,    79,   227,   107,   224,    -1,    78,   227,
1267 <     107,   224,    -1,    77,   227,   107,   224,    -1,    22,   227,
1268 <     107,   224,    -1,    21,   227,   107,   224,    -1,   103,   227,
1269 <     207,   224,    -1,   104,   227,   207,   224,    -1,    64,   227,
1270 <     107,   224,    -1,    65,   227,   234,   224,    -1,   143,   226,
1271 <     508,   225,   224,    -1,   508,   509,    -1,   509,    -1,   510,
1272 <      -1,   511,    -1,   512,    -1,   513,    -1,   515,    -1,   516,
1273 <      -1,   514,    -1,   517,    -1,     1,    -1,    36,   227,   207,
1274 <     224,    -1,    28,   227,   207,   224,    -1,    52,   227,   207,
1275 <     224,    -1,    53,   227,   207,   224,    -1,    49,   227,   122,
1276 <     224,    -1,    73,   227,   234,   224,    -1,    48,   227,   207,
1277 <     224,    -1,    51,   227,   207,   224,    -1
1278 < };
1279 <
1280 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1023 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1024   static const yytype_uint16 yyrline[] =
1025   {
1026 <       0,   367,   367,   368,   371,   372,   373,   374,   375,   376,
1027 <     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1028 <     387,   388,   389,   390,   391,   392,   393,   397,   397,   398,
1029 <     402,   406,   410,   414,   418,   422,   426,   432,   432,   433,
1030 <     434,   435,   436,   443,   446,   446,   447,   447,   447,   449,
1031 <     455,   462,   464,   464,   465,   465,   466,   466,   467,   467,
1032 <     468,   468,   469,   469,   470,   470,   471,   471,   472,   472,
1033 <     473,   474,   477,   478,   480,   480,   481,   487,   495,   495,
1034 <     496,   502,   510,   552,   611,   639,   647,   662,   677,   686,
1035 <     700,   709,   737,   767,   792,   814,   836,   845,   847,   847,
1036 <     848,   848,   849,   849,   851,   860,   869,   882,   881,   899,
1037 <     899,   900,   900,   900,   902,   908,   917,   918,   918,   920,
1038 <     920,   921,   923,   930,   930,   943,   944,   946,   946,   947,
1039 <     947,   949,   957,   960,   966,   965,   971,   971,   972,   976,
1040 <     980,   984,   988,   992,   996,  1007,  1006,  1086,  1086,  1087,
1041 <    1087,  1087,  1088,  1088,  1088,  1089,  1089,  1090,  1090,  1092,
1042 <    1098,  1104,  1110,  1121,  1127,  1134,  1141,  1140,  1146,  1146,
1043 <    1147,  1151,  1155,  1159,  1163,  1167,  1171,  1175,  1179,  1183,
1044 <    1187,  1191,  1195,  1199,  1203,  1207,  1211,  1215,  1219,  1223,
1045 <    1227,  1234,  1233,  1239,  1239,  1240,  1244,  1248,  1252,  1256,
1046 <    1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,
1047 <    1300,  1304,  1308,  1312,  1316,  1320,  1324,  1328,  1339,  1338,
1048 <    1399,  1399,  1400,  1401,  1401,  1402,  1403,  1404,  1405,  1406,
1049 <    1407,  1408,  1409,  1410,  1410,  1411,  1412,  1413,  1414,  1416,
1050 <    1422,  1428,  1434,  1440,  1446,  1452,  1458,  1464,  1470,  1477,
1051 <    1483,  1489,  1495,  1504,  1514,  1513,  1519,  1519,  1520,  1524,
1052 <    1535,  1534,  1541,  1540,  1545,  1545,  1546,  1550,  1554,  1560,
1053 <    1560,  1561,  1561,  1561,  1561,  1561,  1563,  1563,  1565,  1565,
1054 <    1567,  1581,  1601,  1607,  1617,  1616,  1658,  1658,  1659,  1659,
1055 <    1659,  1659,  1660,  1660,  1660,  1661,  1661,  1663,  1669,  1675,
1056 <    1681,  1693,  1692,  1698,  1698,  1699,  1703,  1707,  1711,  1715,
1057 <    1719,  1723,  1727,  1731,  1735,  1741,  1755,  1764,  1778,  1777,
1058 <    1792,  1792,  1793,  1793,  1793,  1793,  1795,  1801,  1807,  1817,
1059 <    1819,  1819,  1820,  1820,  1822,  1838,  1837,  1862,  1862,  1863,
1060 <    1863,  1863,  1863,  1865,  1871,  1891,  1890,  1896,  1896,  1897,
1061 <    1901,  1905,  1909,  1913,  1917,  1921,  1925,  1929,  1933,  1943,
1062 <    1942,  1963,  1963,  1964,  1964,  1964,  1966,  1973,  1972,  1978,
1063 <    1978,  1979,  1983,  1987,  1991,  1995,  1999,  2003,  2007,  2011,
1064 <    2015,  2025,  2024,  2094,  2094,  2095,  2095,  2095,  2096,  2096,
1065 <    2096,  2097,  2097,  2097,  2098,  2098,  2098,  2099,  2099,  2100,
1066 <    2102,  2108,  2114,  2120,  2133,  2146,  2153,  2159,  2163,  2172,
1067 <    2171,  2176,  2176,  2177,  2181,  2187,  2198,  2204,  2210,  2216,
1068 <    2232,  2231,  2257,  2257,  2258,  2258,  2258,  2260,  2280,  2290,
1069 <    2289,  2316,  2316,  2317,  2317,  2317,  2319,  2325,  2334,  2336,
1070 <    2336,  2337,  2337,  2339,  2357,  2356,  2379,  2379,  2380,  2380,
1071 <    2380,  2382,  2388,  2397,  2400,  2400,  2401,  2401,  2402,  2402,
1072 <    2403,  2403,  2404,  2404,  2405,  2405,  2406,  2407,  2408,  2408,
1073 <    2409,  2409,  2410,  2410,  2411,  2411,  2412,  2412,  2413,  2413,
1074 <    2414,  2414,  2415,  2415,  2416,  2416,  2417,  2417,  2418,  2418,
1075 <    2419,  2419,  2420,  2421,  2422,  2422,  2423,  2423,  2424,  2425,
1076 <    2426,  2427,  2427,  2428,  2431,  2436,  2442,  2448,  2454,  2459,
1077 <    2464,  2469,  2474,  2479,  2484,  2489,  2494,  2499,  2504,  2509,
1078 <    2514,  2519,  2525,  2536,  2541,  2546,  2551,  2556,  2561,  2564,
1079 <    2569,  2572,  2577,  2582,  2587,  2592,  2597,  2602,  2607,  2612,
1080 <    2617,  2622,  2627,  2632,  2641,  2650,  2655,  2660,  2666,  2665,
1081 <    2670,  2670,  2671,  2674,  2677,  2680,  2683,  2686,  2689,  2692,
1082 <    2695,  2698,  2701,  2704,  2707,  2710,  2713,  2716,  2719,  2722,
1083 <    2725,  2728,  2731,  2737,  2736,  2741,  2741,  2742,  2745,  2748,
1084 <    2751,  2754,  2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,
1085 <    2781,  2784,  2787,  2790,  2793,  2796,  2799,  2802,  2807,  2812,
1086 <    2817,  2826,  2829,  2829,  2830,  2831,  2831,  2832,  2832,  2833,
1087 <    2834,  2835,  2836,  2837,  2837,  2838,  2838,  2840,  2845,  2850,
1088 <    2855,  2860,  2865,  2870,  2875,  2880,  2885,  2890,  2895,  2903,
1089 <    2906,  2906,  2907,  2907,  2908,  2909,  2910,  2911,  2911,  2912,
1090 <    2913,  2915,  2921,  2927,  2933,  2939,  2948,  2962,  2968
1026 >       0,   378,   378,   379,   382,   383,   384,   385,   386,   387,
1027 >     388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
1028 >     398,   399,   400,   401,   402,   403,   404,   405,   409,   409,
1029 >     410,   411,   412,   413,   414,   415,   416,   417,   420,   420,
1030 >     421,   422,   423,   424,   431,   433,   433,   434,   434,   434,
1031 >     436,   442,   452,   454,   454,   455,   456,   457,   458,   459,
1032 >     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1033 >     470,   471,   472,   473,   474,   475,   478,   487,   496,   505,
1034 >     514,   523,   533,   532,   538,   538,   539,   545,   551,   557,
1035 >     565,   580,   595,   610,   625,   635,   649,   658,   686,   714,
1036 >     739,   761,   783,   793,   795,   795,   796,   797,   798,   799,
1037 >     801,   810,   819,   833,   832,   850,   850,   851,   851,   851,
1038 >     853,   859,   870,   869,   888,   888,   889,   889,   889,   889,
1039 >     889,   891,   897,   903,   909,   931,   932,   932,   934,   934,
1040 >     935,   937,   944,   944,   957,   958,   960,   960,   961,   961,
1041 >     963,   971,   974,   980,   979,   985,   985,   986,   990,   994,
1042 >     998,  1002,  1006,  1010,  1014,  1025,  1024,  1085,  1085,  1086,
1043 >    1087,  1088,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
1044 >    1098,  1104,  1110,  1116,  1122,  1133,  1139,  1150,  1157,  1156,
1045 >    1162,  1162,  1163,  1167,  1171,  1175,  1179,  1183,  1187,  1191,
1046 >    1195,  1199,  1203,  1207,  1211,  1215,  1219,  1223,  1227,  1231,
1047 >    1235,  1239,  1243,  1247,  1254,  1253,  1259,  1259,  1260,  1264,
1048 >    1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,  1300,  1304,
1049 >    1308,  1312,  1316,  1320,  1324,  1328,  1332,  1336,  1340,  1344,
1050 >    1348,  1352,  1356,  1360,  1364,  1368,  1372,  1383,  1382,  1438,
1051 >    1438,  1439,  1440,  1441,  1442,  1443,  1444,  1445,  1446,  1447,
1052 >    1448,  1449,  1450,  1451,  1452,  1453,  1454,  1455,  1457,  1463,
1053 >    1469,  1475,  1481,  1487,  1493,  1499,  1505,  1511,  1518,  1524,
1054 >    1530,  1536,  1545,  1555,  1554,  1560,  1560,  1561,  1565,  1576,
1055 >    1575,  1582,  1581,  1586,  1586,  1587,  1591,  1595,  1601,  1601,
1056 >    1602,  1602,  1602,  1602,  1602,  1604,  1604,  1606,  1606,  1608,
1057 >    1621,  1638,  1644,  1655,  1654,  1700,  1700,  1701,  1702,  1703,
1058 >    1704,  1705,  1706,  1707,  1708,  1709,  1711,  1717,  1723,  1729,
1059 >    1741,  1740,  1746,  1746,  1747,  1751,  1755,  1759,  1763,  1767,
1060 >    1771,  1775,  1779,  1783,  1789,  1803,  1812,  1826,  1825,  1840,
1061 >    1840,  1841,  1841,  1841,  1841,  1843,  1849,  1855,  1865,  1867,
1062 >    1867,  1868,  1868,  1870,  1887,  1886,  1909,  1909,  1910,  1910,
1063 >    1910,  1910,  1912,  1918,  1938,  1937,  1943,  1943,  1944,  1948,
1064 >    1952,  1956,  1960,  1964,  1968,  1972,  1976,  1980,  1991,  1990,
1065 >    2009,  2009,  2010,  2010,  2010,  2012,  2019,  2018,  2024,  2024,
1066 >    2025,  2029,  2033,  2037,  2041,  2045,  2049,  2053,  2057,  2061,
1067 >    2072,  2071,  2143,  2143,  2144,  2145,  2146,  2147,  2148,  2149,
1068 >    2150,  2151,  2152,  2153,  2154,  2155,  2156,  2157,  2158,  2160,
1069 >    2166,  2172,  2178,  2191,  2204,  2210,  2216,  2220,  2227,  2226,
1070 >    2231,  2231,  2232,  2236,  2242,  2253,  2259,  2265,  2271,  2287,
1071 >    2286,  2312,  2312,  2313,  2313,  2313,  2315,  2335,  2346,  2345,
1072 >    2372,  2372,  2373,  2373,  2373,  2375,  2381,  2391,  2393,  2393,
1073 >    2394,  2394,  2396,  2414,  2413,  2434,  2434,  2435,  2435,  2435,
1074 >    2437,  2443,  2453,  2455,  2455,  2456,  2457,  2458,  2459,  2460,
1075 >    2461,  2462,  2463,  2464,  2465,  2466,  2467,  2468,  2469,  2470,
1076 >    2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,  2479,  2480,
1077 >    2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,
1078 >    2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,
1079 >    2501,  2502,  2505,  2510,  2515,  2520,  2525,  2531,  2536,  2541,
1080 >    2546,  2551,  2556,  2561,  2566,  2571,  2576,  2581,  2586,  2591,
1081 >    2596,  2601,  2607,  2612,  2617,  2622,  2627,  2632,  2637,  2642,
1082 >    2645,  2650,  2653,  2658,  2663,  2668,  2673,  2678,  2683,  2688,
1083 >    2693,  2698,  2703,  2708,  2713,  2719,  2718,  2723,  2723,  2724,
1084 >    2727,  2730,  2733,  2736,  2739,  2742,  2745,  2748,  2751,  2754,
1085 >    2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,  2781,  2784,
1086 >    2787,  2793,  2792,  2797,  2797,  2798,  2801,  2804,  2807,  2810,
1087 >    2813,  2816,  2819,  2822,  2825,  2828,  2831,  2834,  2837,  2840,
1088 >    2843,  2846,  2849,  2852,  2855,  2860,  2865,  2870,  2879,  2881,
1089 >    2881,  2882,  2883,  2884,  2885,  2886,  2887,  2888,  2889,  2890,
1090 >    2891,  2892,  2893,  2895,  2900,  2905,  2910,  2915,  2920,  2925,
1091 >    2930,  2935,  2940,  2945,  2954,  2956,  2956,  2957,  2958,  2959,
1092 >    2960,  2961,  2962,  2963,  2964,  2965,  2966,  2968,  2974,  2990,
1093 >    2999,  3005,  3011,  3017,  3026,  3032
1094   };
1095   #endif
1096  
# Line 1354 | Line 1100 | static const yytype_uint16 yyrline[] =
1100   static const char *const yytname[] =
1101   {
1102    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1103 <  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1104 <  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1105 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1106 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1107 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1108 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1109 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1110 <  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE",
1111 <  "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR",
1112 <  "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION", "GLOBAL_KILL",
1113 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS",
1114 <  "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1115 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1116 <  "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT",
1117 <  "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1118 <  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1119 <  "LINKS_DELAY", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS",
1120 <  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1121 <  "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1122 <  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1123 <  "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1103 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1104 >  "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1105 >  "CAN_FLOOD", "CHANNEL", "CHECK_CACHE", "CIDR_BITLEN_IPV4",
1106 >  "CIDR_BITLEN_IPV6", "CLASS", "CLOSE", "CONNECT", "CONNECTFREQ",
1107 >  "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT", "DEFAULT_JOIN_FLOOD_COUNT",
1108 >  "DEFAULT_JOIN_FLOOD_TIME", "DEFAULT_MAX_CLIENTS", "DENY", "DESCRIPTION",
1109 >  "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1110 >  "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR", "DLINE_MIN_CIDR6",
1111 >  "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1112 >  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "FLATTEN_LINKS_DELAY",
1113 >  "FLATTEN_LINKS_FILE", "GECOS", "GENERAL", "HIDDEN", "HIDDEN_NAME",
1114 >  "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS",
1115 >  "HIDE_SERVERS", "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK",
1116 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT",
1117 >  "INVITE_CLIENT_TIME", "INVITE_DELAY_CHANNEL", "IP", "IRCD_AUTH",
1118 >  "IRCD_FLAGS", "IRCD_SID", "JOIN", "KILL", "KILL_CHASE_TIME_LIMIT",
1119 >  "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR", "KLINE_MIN_CIDR6",
1120 >  "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL",
1121 >  "LEAF_MASK", "LIBGEOIP_DATABASE_OPTIONS", "LIBGEOIP_IPV4_DATABASE_FILE",
1122 >  "LIBGEOIP_IPV6_DATABASE_FILE", "LISTEN", "MASK", "MAX_ACCEPT",
1123 >  "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDLE", "MAX_LOCAL",
1124 >  "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER",
1125 >  "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH", "MEMORY_CACHE",
1126 >  "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MMAP_CACHE",
1127    "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1128 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT",
1129 <  "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER",
1381 <  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1128 >  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_OPER_FLOOD", "NO_TILDE",
1129 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1130    "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1131    "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1132    "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1133    "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1134 <  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1135 <  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1136 <  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1137 <  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1138 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1139 <  "STATS_P_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1140 <  "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1141 <  "T_FARCONNECT", "T_FILE", "T_FINGERPRINT", "T_FULL", "T_GLOBOPS",
1142 <  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1143 <  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1144 <  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1134 >  "RSA_PRIVATE_KEY_FILE", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1135 >  "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ", "SERVERHIDE", "SERVERINFO",
1136 >  "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "SQUIT", "SSL_CERTIFICATE_FILE",
1137 >  "SSL_CERTIFICATE_FINGERPRINT", "SSL_CONNECTION_REQUIRED",
1138 >  "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1139 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STANDARD", "STATS_E_DISABLED",
1140 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY",
1141 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL",
1142 >  "T_BOTS", "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF",
1143 >  "T_DEBUG", "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL",
1144 >  "T_GLOBOPS", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG",
1145 >  "T_NCHANGE", "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ",
1146 >  "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1147    "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1148 <  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1149 <  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1150 <  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1151 <  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1152 <  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1153 <  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1154 <  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1155 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1156 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1157 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1158 <  "serverinfo_item", "serverinfo_ssl_client_method",
1409 <  "serverinfo_ssl_server_method", "client_method_types",
1410 <  "client_method_type_item", "server_method_types",
1411 <  "server_method_type_item", "serverinfo_ssl_certificate_file",
1148 >  "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1149 >  "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1150 >  "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1151 >  "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1152 >  "TWODOTS", "TYPE", "UNKLINE", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1153 >  "WARN_NO_CONNECT_BLOCK", "WHOIS", "WHOWAS_HISTORY_LENGTH", "XLINE",
1154 >  "XLINE_EXEMPT", "';'", "'}'", "'{'", "'='", "','", "':'", "$accept",
1155 >  "conf", "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1156 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1157 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1158 >  "serverinfo_item", "serverinfo_ssl_certificate_file",
1159    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1160 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1161 <  "serverinfo_description", "serverinfo_network_name",
1160 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1161 >  "serverinfo_ssl_dh_elliptic_curve",
1162 >  "serverinfo_libgeoip_database_options", "$@1", "options_items",
1163 >  "options_item", "serverinfo_libgeoip_ipv4_database_file",
1164 >  "serverinfo_libgeoip_ipv6_database_file", "serverinfo_name",
1165 >  "serverinfo_sid", "serverinfo_description", "serverinfo_network_name",
1166    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1167 <  "serverinfo_max_clients", "serverinfo_max_nick_length",
1167 >  "serverinfo_default_max_clients", "serverinfo_max_nick_length",
1168    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1169    "admin_items", "admin_item", "admin_name", "admin_email",
1170 <  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1171 <  "motd_mask", "motd_file", "logging_entry", "logging_items",
1172 <  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1173 <  "logging_file_items", "logging_file_item", "logging_file_name",
1174 <  "logging_file_size", "logging_file_type", "$@3",
1175 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1176 <  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1177 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_fingerprint",
1178 <  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1179 <  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1180 <  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1181 <  "class_name", "class_ping_time", "class_number_per_ip",
1182 <  "class_connectfreq", "class_max_number", "class_max_global",
1183 <  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1184 <  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1170 >  "admin_description", "motd_entry", "$@2", "motd_items", "motd_item",
1171 >  "motd_mask", "motd_file", "pseudo_entry", "$@3", "pseudo_items",
1172 >  "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1173 >  "pseudo_target", "logging_entry", "logging_items", "logging_item",
1174 >  "logging_use_logging", "logging_file_entry", "$@4", "logging_file_items",
1175 >  "logging_file_item", "logging_file_name", "logging_file_size",
1176 >  "logging_file_type", "$@5", "logging_file_type_items",
1177 >  "logging_file_type_item", "oper_entry", "$@6", "oper_items", "oper_item",
1178 >  "oper_name", "oper_user", "oper_password", "oper_whois",
1179 >  "oper_encrypted", "oper_ssl_certificate_fingerprint",
1180 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@7",
1181 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@8",
1182 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@9",
1183 >  "class_items", "class_item", "class_name", "class_ping_time",
1184 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1185 >  "class_max_number", "class_max_global", "class_max_local", "class_sendq",
1186 >  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1187    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1188 <  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1189 <  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1188 >  "class_flags", "$@10", "class_flags_items", "class_flags_item",
1189 >  "listen_entry", "$@11", "listen_flags", "$@12", "listen_flags_items",
1190    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1191 <  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1192 <  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1193 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1191 >  "$@13", "port_items", "port_item", "listen_address", "listen_host",
1192 >  "auth_entry", "$@14", "auth_items", "auth_item", "auth_user",
1193 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@15",
1194    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1195 <  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1195 >  "auth_redir_port", "resv_entry", "$@16", "resv_items", "resv_item",
1196    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1197 <  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1197 >  "service_items", "service_item", "service_name", "shared_entry", "$@17",
1198    "shared_items", "shared_item", "shared_name", "shared_user",
1199 <  "shared_type", "$@16", "shared_types", "shared_type_item",
1200 <  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1201 <  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1202 <  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1199 >  "shared_type", "$@18", "shared_types", "shared_type_item",
1200 >  "cluster_entry", "$@19", "cluster_items", "cluster_item", "cluster_name",
1201 >  "cluster_type", "$@20", "cluster_types", "cluster_type_item",
1202 >  "connect_entry", "$@21", "connect_items", "connect_item", "connect_name",
1203    "connect_host", "connect_vhost", "connect_send_password",
1204 <  "connect_accept_password", "connect_fingerprint", "connect_port",
1205 <  "connect_aftype", "connect_flags", "$@20", "connect_flags_items",
1206 <  "connect_flags_item", "connect_encrypted", "connect_hub_mask",
1207 <  "connect_leaf_mask", "connect_class", "connect_ssl_cipher_list",
1208 <  "kill_entry", "$@21", "kill_items", "kill_item", "kill_user",
1209 <  "kill_reason", "deny_entry", "$@22", "deny_items", "deny_item",
1210 <  "deny_ip", "deny_reason", "exempt_entry", "exempt_items", "exempt_item",
1211 <  "exempt_ip", "gecos_entry", "$@23", "gecos_items", "gecos_item",
1212 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1213 <  "general_item", "general_max_watch", "general_gline_enable",
1214 <  "general_gline_duration", "general_gline_request_duration",
1215 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1204 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1205 >  "connect_port", "connect_aftype", "connect_flags", "$@22",
1206 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1207 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1208 >  "connect_ssl_cipher_list", "kill_entry", "$@23", "kill_items",
1209 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@24",
1210 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1211 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@25",
1212 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1213 >  "general_entry", "general_items", "general_item", "general_away_count",
1214 >  "general_away_time", "general_max_watch",
1215 >  "general_whowas_history_length", "general_cycle_on_host_change",
1216 >  "general_dline_min_cidr", "general_dline_min_cidr6",
1217 >  "general_kline_min_cidr", "general_kline_min_cidr6",
1218    "general_tkline_expire_notices", "general_kill_chase_time_limit",
1219 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1220 <  "general_failed_oper_notice", "general_anti_nick_flood",
1221 <  "general_max_nick_time", "general_max_nick_changes",
1222 <  "general_max_accept", "general_anti_spam_exit_message_time",
1223 <  "general_ts_warn_delta", "general_ts_max_delta",
1224 <  "general_havent_read_conf", "general_invisible_on_connect",
1225 <  "general_warn_no_nline", "general_stats_e_disabled",
1226 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1219 >  "general_ignore_bogus_ts", "general_failed_oper_notice",
1220 >  "general_anti_nick_flood", "general_max_nick_time",
1221 >  "general_max_nick_changes", "general_max_accept",
1222 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1223 >  "general_ts_max_delta", "general_invisible_on_connect",
1224 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1225 >  "general_stats_m_oper_only", "general_stats_o_oper_only",
1226 >  "general_stats_P_oper_only", "general_stats_u_oper_only",
1227    "general_stats_k_oper_only", "general_stats_i_oper_only",
1228    "general_pace_wait", "general_caller_id_wait",
1229    "general_opers_bypass_callerid", "general_pace_wait_simple",
1230 <  "general_short_motd", "general_no_oper_flood",
1231 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1232 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1233 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1234 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1480 <  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1481 <  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1230 >  "general_short_motd", "general_no_oper_flood", "general_dots_in_ident",
1231 >  "general_max_targets", "general_ping_cookie", "general_disable_auth",
1232 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1233 >  "$@26", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1234 >  "$@27", "umode_items", "umode_item", "general_min_nonwildcard",
1235    "general_min_nonwildcard_simple", "general_default_floodcount",
1236    "channel_entry", "channel_items", "channel_item",
1237 <  "channel_disable_fake_channels", "channel_knock_delay",
1238 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1239 <  "channel_max_chans_per_oper", "channel_max_bans",
1240 <  "channel_default_split_user_count", "channel_default_split_server_count",
1241 <  "channel_no_create_on_split", "channel_no_join_on_split",
1242 <  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1237 >  "channel_disable_fake_channels", "channel_invite_client_count",
1238 >  "channel_invite_client_time", "channel_invite_delay_channel",
1239 >  "channel_knock_client_count", "channel_knock_client_time",
1240 >  "channel_knock_delay_channel", "channel_max_channels",
1241 >  "channel_max_bans", "channel_default_join_flood_count",
1242 >  "channel_default_join_flood_time", "serverhide_entry",
1243    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1244 +  "serverhide_flatten_links_delay", "serverhide_flatten_links_file",
1245    "serverhide_disable_remote_commands", "serverhide_hide_servers",
1246    "serverhide_hide_services", "serverhide_hidden_name",
1247 <  "serverhide_links_delay", "serverhide_hidden",
1494 <  "serverhide_hide_server_ips", YY_NULL
1247 >  "serverhide_hidden", "serverhide_hide_server_ips", YY_NULLPTR
1248   };
1249   #endif
1250  
1251   # ifdef YYPRINT
1252 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1253 <   token YYLEX-NUM.  */
1252 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1253 >   (internal) symbol number NUM (which must be that of a token).  */
1254   static const yytype_uint16 yytoknum[] =
1255   {
1256         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1522 | Line 1275 | static const yytype_uint16 yytoknum[] =
1275       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1276       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1277       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1278 <     475,   476,   477,   478,    59,   125,   123,    61,    44,    58
1278 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1279 >     485,   486,   487,   488,    59,   125,   123,    61,    44,    58
1280   };
1281   # endif
1282  
1283 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1530 < static const yytype_uint16 yyr1[] =
1531 < {
1532 <       0,   230,   231,   231,   232,   232,   232,   232,   232,   232,
1533 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1534 <     232,   232,   232,   232,   232,   232,   232,   233,   233,   234,
1535 <     234,   234,   234,   234,   234,   234,   234,   235,   235,   236,
1536 <     236,   236,   236,   237,   238,   238,   239,   239,   239,   240,
1537 <     241,   242,   243,   243,   244,   244,   244,   244,   244,   244,
1538 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
1539 <     244,   244,   245,   246,   247,   247,   248,   248,   249,   249,
1540 <     250,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1541 <     259,   260,   261,   262,   263,   264,   265,   266,   267,   267,
1542 <     268,   268,   268,   268,   269,   270,   271,   273,   272,   274,
1543 <     274,   275,   275,   275,   276,   277,   278,   279,   279,   280,
1544 <     280,   280,   281,   283,   282,   284,   284,   285,   285,   285,
1545 <     285,   286,   287,   287,   289,   288,   290,   290,   291,   291,
1546 <     291,   291,   291,   291,   291,   293,   292,   294,   294,   295,
1547 <     295,   295,   295,   295,   295,   295,   295,   295,   295,   296,
1548 <     297,   298,   299,   300,   301,   302,   304,   303,   305,   305,
1549 <     306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1550 <     306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1551 <     306,   308,   307,   309,   309,   310,   310,   310,   310,   310,
1552 <     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
1553 <     310,   310,   310,   310,   310,   310,   310,   310,   312,   311,
1554 <     313,   313,   314,   314,   314,   314,   314,   314,   314,   314,
1555 <     314,   314,   314,   314,   314,   314,   314,   314,   314,   315,
1556 <     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1557 <     326,   327,   328,   329,   331,   330,   332,   332,   333,   333,
1558 <     335,   334,   337,   336,   338,   338,   339,   339,   339,   340,
1559 <     340,   341,   341,   341,   341,   341,   343,   342,   344,   344,
1560 <     345,   345,   346,   347,   349,   348,   350,   350,   351,   351,
1561 <     351,   351,   351,   351,   351,   351,   351,   352,   353,   354,
1562 <     355,   357,   356,   358,   358,   359,   359,   359,   359,   359,
1563 <     359,   359,   359,   359,   359,   360,   361,   362,   364,   363,
1564 <     365,   365,   366,   366,   366,   366,   367,   368,   369,   370,
1565 <     371,   371,   372,   372,   373,   375,   374,   376,   376,   377,
1566 <     377,   377,   377,   378,   379,   381,   380,   382,   382,   383,
1567 <     383,   383,   383,   383,   383,   383,   383,   383,   383,   385,
1568 <     384,   386,   386,   387,   387,   387,   388,   390,   389,   391,
1569 <     391,   392,   392,   392,   392,   392,   392,   392,   392,   392,
1570 <     392,   394,   393,   395,   395,   396,   396,   396,   396,   396,
1571 <     396,   396,   396,   396,   396,   396,   396,   396,   396,   396,
1572 <     397,   398,   399,   400,   401,   402,   403,   404,   404,   406,
1573 <     405,   407,   407,   408,   408,   409,   410,   411,   412,   413,
1574 <     415,   414,   416,   416,   417,   417,   417,   418,   419,   421,
1575 <     420,   422,   422,   423,   423,   423,   424,   425,   426,   427,
1576 <     427,   428,   428,   429,   431,   430,   432,   432,   433,   433,
1577 <     433,   434,   435,   436,   437,   437,   438,   438,   438,   438,
1578 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1579 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1580 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1581 <     438,   438,   438,   438,   438,   438,   438,   438,   438,   438,
1582 <     438,   438,   438,   438,   439,   440,   441,   442,   443,   444,
1583 <     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1584 <     455,   456,   457,   458,   459,   460,   461,   462,   463,   463,
1585 <     464,   464,   465,   466,   467,   468,   469,   470,   471,   472,
1586 <     473,   474,   475,   476,   477,   478,   479,   480,   482,   481,
1587 <     483,   483,   484,   484,   484,   484,   484,   484,   484,   484,
1588 <     484,   484,   484,   484,   484,   484,   484,   484,   484,   484,
1589 <     484,   484,   484,   486,   485,   487,   487,   488,   488,   488,
1590 <     488,   488,   488,   488,   488,   488,   488,   488,   488,   488,
1591 <     488,   488,   488,   488,   488,   488,   488,   488,   489,   490,
1592 <     491,   492,   493,   493,   494,   494,   494,   494,   494,   494,
1593 <     494,   494,   494,   494,   494,   494,   494,   495,   496,   497,
1594 <     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
1595 <     508,   508,   509,   509,   509,   509,   509,   509,   509,   509,
1596 <     509,   510,   511,   512,   513,   514,   515,   516,   517
1597 < };
1283 > #define YYPACT_NINF -728
1284  
1285 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1286 < static const yytype_uint8 yyr2[] =
1285 > #define yypact_value_is_default(Yystate) \
1286 >  (!!((Yystate) == (-728)))
1287 >
1288 > #define YYTABLE_NINF -143
1289 >
1290 > #define yytable_value_is_error(Yytable_value) \
1291 >  0
1292 >
1293 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1294 >     STATE-NUM.  */
1295 > static const yytype_int16 yypact[] =
1296   {
1297 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1298 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1299 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1300 <       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
1301 <       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
1302 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1303 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1304 <       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
1305 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1306 <       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
1307 <       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
1308 <       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
1309 <       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1310 <       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1311 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1312 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1313 <       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1314 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1315 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1316 <       1,     0,     5,     3,     1,     3,     1,     3,     1,     3,
1317 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1318 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1319 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1320 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1321 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1322 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1323 <       0,     6,     0,     5,     3,     1,     1,     1,     1,     2,
1324 <       1,     1,     1,     1,     1,     2,     0,     5,     3,     1,
1325 <       1,     3,     4,     4,     0,     6,     2,     1,     1,     1,
1326 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1327 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1328 <       1,     1,     1,     1,     1,     4,     4,     4,     0,     6,
1329 <       2,     1,     1,     1,     1,     2,     4,     4,     4,     5,
1330 <       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
1331 <       1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1332 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1333 <       6,     2,     1,     1,     1,     2,     4,     0,     5,     3,
1334 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1335 <       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1336 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1337 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1338 <       5,     3,     1,     1,     1,     4,     4,     4,     4,     4,
1339 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     0,
1340 <       6,     2,     1,     1,     1,     1,     4,     4,     5,     2,
1341 <       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
1342 <       1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1343 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1344 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1345 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1346 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1347 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1348 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1349 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1350 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1351 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1352 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1353 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1354 <       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1355 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1356 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1357 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1358 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1359 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
1360 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1361 <       1,     4,     4,     4,     4,     4,     4,     4,     4
1297 >    -728,   669,  -728,  -191,  -226,  -219,  -728,  -728,  -728,  -216,
1298 >    -728,  -214,  -728,  -728,  -728,  -208,  -728,  -728,  -728,  -195,
1299 >    -187,  -728,  -177,  -728,  -167,  -728,  -728,  -728,  -728,  -728,
1300 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1301 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1302 >    -728,    37,   762,  -165,  -162,  -160,     2,  -154,   390,  -152,
1303 >    -139,  -127,   287,  -124,  -113,  -106,   934,   438,   -80,    35,
1304 >     -75,    17,   -68,   -48,   -44,   -43,   -37,    10,  -728,  -728,
1305 >    -728,  -728,  -728,   -29,   -15,    47,    53,    66,    67,    80,
1306 >      86,    87,   106,   112,   171,  -728,  -728,  -728,  -728,  -728,
1307 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   705,   573,    30,
1308 >    -728,   114,    24,  -728,  -728,    28,  -728,   117,   122,   124,
1309 >     125,   128,   133,   134,   136,   137,   142,   143,   147,   149,
1310 >     151,   156,   158,   161,   164,   165,   166,   168,   170,   175,
1311 >     180,   182,  -728,  -728,   183,   187,   191,   193,   194,   198,
1312 >     199,   200,   203,   204,   205,   206,   207,   208,   214,   215,
1313 >     216,   217,   222,    54,  -728,  -728,  -728,  -728,  -728,  -728,
1314 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1315 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1316 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1317 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1318 >    -728,   522,    51,   352,   -23,   224,   225,    41,  -728,  -728,
1319 >    -728,    12,   343,   309,  -728,   230,   232,   233,   234,   235,
1320 >     236,   238,   239,   240,   293,  -728,  -728,  -728,  -728,  -728,
1321 >    -728,  -728,  -728,  -728,  -728,    98,   242,   244,   246,   250,
1322 >    -728,   251,   255,   262,   263,   265,   266,   267,   271,   275,
1323 >     276,   278,   279,   283,   284,   285,    26,  -728,  -728,  -728,
1324 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1325 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    50,   153,
1326 >     288,    57,  -728,  -728,  -728,   100,    91,  -728,   289,    15,
1327 >    -728,  -728,    72,  -728,   138,   256,   296,   223,  -728,   411,
1328 >     417,   316,   419,   417,   417,   421,   417,   417,   423,   424,
1329 >     304,  -728,   306,   307,   308,   311,  -728,   321,   325,   326,
1330 >     327,   328,   329,   331,   333,   334,   335,   349,   350,   220,
1331 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1332 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   355,   353,   360,
1333 >     361,   362,   364,   365,  -728,   366,   377,   378,   379,   383,
1334 >     386,   388,   186,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1335 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   389,
1336 >     391,    23,  -728,  -728,  -728,   414,   393,  -728,  -728,   395,
1337 >     397,    31,  -728,  -728,  -728,   415,   417,   524,   417,   417,
1338 >     426,   527,   428,   532,   533,   534,   433,   435,   439,   417,
1339 >     542,   543,   547,   548,   417,   549,   550,   554,   555,   456,
1340 >     437,   440,   460,   417,   417,   461,   464,   465,  -196,  -185,
1341 >     467,   468,   469,   471,   574,   417,   475,   417,   417,   477,
1342 >     580,   462,  -728,   463,   457,   458,  -728,   470,   472,   474,
1343 >     480,   482,    79,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1344 >    -728,  -728,  -728,   483,   485,    76,  -728,  -728,  -728,   466,
1345 >     488,   489,  -728,   492,  -728,     6,  -728,  -728,  -728,  -728,
1346 >    -728,   575,   577,   478,  -728,   497,   495,   496,    46,  -728,
1347 >    -728,  -728,   501,   499,   500,  -728,   502,   504,   507,   508,
1348 >    -728,   509,   510,   146,  -728,  -728,  -728,  -728,  -728,  -728,
1349 >    -728,  -728,  -728,  -728,  -728,   515,   513,   516,   518,   140,
1350 >    -728,  -728,  -728,  -728,   486,   490,   417,   581,   537,   587,
1351 >     544,   545,   553,   528,  -728,  -728,   645,   634,   559,   637,
1352 >     530,   638,   642,   662,   663,   652,   654,   657,   659,   670,
1353 >     672,   674,   675,   678,   679,   680,   556,  -728,   562,   571,
1354 >    -728,    44,  -728,  -728,  -728,  -728,   594,   578,  -728,   579,
1355 >     584,   576,   585,   589,   590,   150,  -728,  -728,  -728,  -728,
1356 >    -728,   684,   595,  -728,   597,   591,  -728,   596,    14,  -728,
1357 >    -728,  -728,  -728,   598,   600,   601,  -728,   602,   863,   606,
1358 >     608,   609,   610,   611,   612,   615,   616,   618,   619,  -728,
1359 >    -728,   701,   742,   417,   621,   743,   750,   417,   757,   759,
1360 >     417,   747,   764,   767,   417,   768,   768,   641,  -728,  -728,
1361 >     755,   -79,   756,   671,   758,   760,   653,   770,   771,   776,
1362 >     780,   783,   785,   787,   661,  -728,   788,   790,   686,  -728,
1363 >     688,  -728,   796,   798,   693,  -728,   695,   696,   697,   702,
1364 >     703,   704,   706,   711,   714,   717,   721,   722,   724,   728,
1365 >     729,   730,   733,   737,   738,   752,   761,   765,   766,   774,
1366 >     775,   773,   692,   777,   778,   779,   781,   782,   789,   791,
1367 >     792,   793,   794,   795,   797,   799,   800,   801,   802,   803,
1368 >     804,   805,   806,   807,  -728,  -728,   839,   676,   666,   854,
1369 >     813,   857,   864,   865,   808,  -728,   866,   871,   809,  -728,
1370 >    -728,   887,   890,   753,   906,   810,  -728,   811,   812,  -728,
1371 >    -728,   893,   894,   814,  -728,  -728,   895,   815,   816,   897,
1372 >     905,   920,   834,   817,   923,   924,   818,  -728,  -728,   928,
1373 >     929,   930,   824,  -728,   825,   826,   827,   828,   829,   830,
1374 >     831,   832,   833,  -728,   835,   836,   837,   838,   219,   840,
1375 >     841,   842,   843,   844,   845,   846,   847,   848,   849,   850,
1376 >     851,   852,   853,   855,  -728,  -728,   941,   856,   858,  -728,
1377 >     860,  -728,     3,  -728,   946,   961,   963,   964,   861,  -728,
1378 >     862,  -728,  -728,   970,   867,   971,   868,  -728,  -728,  -728,
1379 >    -728,  -728,   417,   417,   417,   417,   417,   417,   417,  -728,
1380 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1381 >    -728,   869,   872,   873,   -26,   874,   875,   876,   877,   878,
1382 >     879,   880,   881,   882,   883,   345,   884,   885,  -728,   886,
1383 >     888,   889,   891,   892,   896,   898,     4,   899,   900,   901,
1384 >     902,   903,   904,   907,  -728,   908,   909,  -728,  -728,   910,
1385 >     911,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1386 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1387 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1388 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1389 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -201,  -728,  -728,
1390 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1391 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1392 >    -728,  -199,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1393 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1394 >    -728,  -728,  -728,  -728,   912,   913,   552,   914,   915,   916,
1395 >     917,   918,  -728,   919,   921,  -728,   922,   925,   -27,   932,
1396 >     926,  -728,  -728,  -728,  -728,   927,   931,  -728,   933,   935,
1397 >     425,   936,   937,   938,   939,   732,   940,   942,  -728,   943,
1398 >     944,   945,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1399 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1400 >    -188,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1401 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   947,   546,  -728,
1402 >    -728,   948,   949,   950,  -728,    64,  -728,  -728,  -728,  -728,
1403 >     951,   954,   955,   956,  -728,  -728,   957,   786,   958,  -728,
1404 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1405 >    -728,  -728,  -181,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1406 >    -728,  -728,  -728,  -728,   768,   768,   768,  -728,  -728,  -728,
1407 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1408 >    -153,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1409 >    -728,  -728,  -728,  -728,   773,  -728,   692,  -728,  -728,  -728,
1410 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -76,
1411 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1412 >    -728,  -728,  -728,   -46,  -728,   986,   906,   959,  -728,  -728,
1413 >    -728,  -728,  -728,  -728,   960,  -728,   962,   965,  -728,  -728,
1414 >     966,   967,  -728,  -728,   968,  -728,  -728,  -728,  -728,  -728,
1415 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   -39,  -728,  -728,
1416 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1417 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1418 >    -728,  -728,  -728,  -728,  -728,    -7,  -728,  -728,  -728,  -728,
1419 >    -728,  -728,  -728,   219,  -728,  -728,  -728,  -728,  -728,  -728,
1420 >    -728,  -728,  -728,  -728,  -728,    59,  -728,  -728,   973,   -99,
1421 >     972,   969,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1422 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    95,  -728,
1423 >    -728,  -728,   -26,  -728,  -728,  -728,  -728,     4,  -728,  -728,
1424 >    -728,   552,  -728,   -27,  -728,  -728,  -728,   988,   989,   994,
1425 >     993,   996,   998,  -728,   425,  -728,   732,  -728,  -728,   546,
1426 >     974,   976,   977,   259,  -728,  -728,   786,  -728,  -728,  -728,
1427 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1428 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1429 >    -728,   126,  -728,  -728,  -728,   259,  -728
1430   };
1431  
1432 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1433 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1434 <   means the default is an error.  */
1432 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1433 >     Performed when YYTABLE does not specify something else to do.  Zero
1434 >     means the default is an error.  */
1435   static const yytype_uint16 yydefact[] =
1436   {
1437 <       2,     0,     1,     0,     0,     0,   218,   381,   429,     0,
1438 <     444,     0,   284,   420,   260,     0,   107,   145,   318,     0,
1439 <       0,   359,     0,     0,   335,     3,    23,    11,     4,    24,
1440 <       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1441 <      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1442 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1437 >       2,     0,     1,     0,     0,     0,   247,   410,   458,     0,
1438 >     473,     0,   313,   449,   289,     0,   113,   165,   347,     0,
1439 >       0,   388,     0,   122,     0,   364,     3,    23,    11,     4,
1440 >      24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1441 >      16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1442 >      27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1443         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1444 <       0,     0,     0,     0,     0,    99,   100,   102,   101,   616,
1444 >       0,     0,     0,     0,     0,     0,     0,     0,   105,   106,
1445 >     108,   107,   642,     0,     0,     0,     0,     0,     0,     0,
1446 >       0,     0,     0,     0,     0,   630,   641,   632,   633,   634,
1447 >     635,   636,   637,   638,   631,   639,   640,     0,     0,     0,
1448 >     471,     0,     0,   469,   470,     0,   531,     0,     0,     0,
1449         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683       0,     0,     0,   603,   615,   605,   606,   607,   608,   604,
1684     609,   610,   611,   612,   613,   614,     0,     0,     0,   442,
1685       0,     0,   440,   441,     0,   503,     0,     0,     0,     0,
1450         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1451 +       0,     0,   601,   575,     0,     0,     0,     0,     0,     0,
1452         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1453 <       0,     0,   573,     0,   548,     0,     0,     0,     0,     0,
1453 >       0,     0,     0,     0,   484,   485,   486,   529,   493,   530,
1454 >     524,   525,   526,   527,   523,   497,   487,   488,   489,   490,
1455 >     491,   492,   494,   495,   496,   498,   499,   528,   503,   504,
1456 >     505,   506,   502,   501,   507,   514,   515,   508,   509,   510,
1457 >     500,   512,   521,   522,   519,   520,   513,   511,   517,   518,
1458 >     516,     0,     0,     0,     0,     0,     0,     0,    46,    47,
1459 >      48,     0,     0,     0,   666,     0,     0,     0,     0,     0,
1460 >       0,     0,     0,     0,     0,   656,   657,   658,   659,   660,
1461 >     661,   662,   664,   663,   665,     0,     0,     0,     0,     0,
1462 >      82,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1463 >       0,     0,     0,     0,     0,     0,     0,    54,    69,    66,
1464 >      64,    70,    71,    65,    72,    73,    74,    55,    68,    58,
1465 >      59,    60,    56,    67,    61,    62,    63,    57,     0,     0,
1466 >       0,     0,   137,   138,   139,     0,     0,   362,     0,     0,
1467 >     360,   361,     0,   109,     0,     0,     0,     0,   104,     0,
1468         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469 <       0,     0,     0,     0,   455,   501,   495,   496,   497,   498,
1691 <     499,   494,   466,   456,   457,   458,   459,   460,   461,   462,
1692 <     463,   464,   465,   491,   467,   468,   500,   470,   475,   471,
1693 <     473,   472,   485,   486,   474,   476,   477,   478,   479,   469,
1694 <     481,   482,   483,   502,   492,   493,   490,   484,   480,   488,
1695 <     489,   487,     0,     0,     0,     0,     0,     0,     0,    45,
1696 <      46,    47,     0,     0,     0,   640,     0,     0,     0,     0,
1697 <       0,     0,     0,     0,     0,   631,   632,   633,   634,   635,
1698 <     638,   636,   637,   639,     0,     0,     0,     0,     0,     0,
1469 >       0,   629,     0,     0,     0,     0,   283,     0,     0,     0,
1470         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1471 <       0,     0,     0,    53,    68,    69,    67,    64,    63,    70,
1472 <      54,    66,    57,    58,    59,    55,    65,    60,    61,    62,
1473 <      56,     0,     0,     0,     0,   118,   119,   120,     0,   333,
1474 <       0,     0,   331,   332,     0,   103,     0,     0,     0,     0,
1475 <      98,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1476 <       0,     0,     0,     0,   602,     0,     0,     0,     0,   254,
1471 >     250,   251,   254,   256,   257,   258,   259,   260,   261,   262,
1472 >     263,   252,   253,   255,   264,   265,   266,     0,     0,     0,
1473 >       0,     0,     0,     0,   438,     0,     0,     0,     0,     0,
1474 >       0,     0,     0,   413,   414,   415,   416,   417,   418,   419,
1475 >     421,   420,   423,   427,   424,   425,   426,   422,   464,     0,
1476 >       0,     0,   461,   462,   463,     0,     0,   468,   479,     0,
1477 >       0,     0,   476,   477,   478,     0,     0,     0,     0,     0,
1478         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707       0,     0,     0,   221,   222,   225,   227,   228,   229,   230,
1708     231,   232,   233,   234,   223,   224,   226,   235,   236,   237,
1709       0,     0,     0,     0,     0,     0,     0,   409,     0,     0,
1710       0,     0,     0,     0,     0,     0,   384,   385,   386,   387,
1711     388,   389,   390,   392,   391,   394,   398,   395,   396,   397,
1712     393,   435,     0,     0,     0,   432,   433,   434,     0,     0,
1713     439,   450,     0,     0,     0,   447,   448,   449,     0,     0,
1479         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1480         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1481         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1482 +       0,     0,   483,     0,     0,     0,   330,     0,     0,     0,
1483 +       0,     0,     0,   316,   317,   318,   319,   324,   320,   321,
1484 +     322,   323,   455,     0,     0,     0,   452,   453,   454,     0,
1485 +       0,     0,   291,     0,   301,     0,   299,   300,   302,   303,
1486 +      49,     0,     0,     0,    45,     0,     0,     0,     0,   116,
1487 +     117,   118,     0,     0,     0,   214,     0,     0,     0,     0,
1488 +     188,     0,     0,     0,   168,   169,   170,   171,   172,   175,
1489 +     176,   177,   174,   173,   178,     0,     0,     0,     0,     0,
1490 +     350,   351,   352,   353,     0,     0,     0,     0,     0,     0,
1491 +       0,     0,     0,     0,   655,    75,     0,     0,     0,     0,
1492         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1493 <       0,     0,     0,     0,     0,     0,   454,     0,     0,     0,
1494 <     301,     0,     0,     0,     0,     0,     0,   287,   288,   289,
1495 <     290,   295,   291,   292,   293,   294,   426,     0,     0,     0,
1496 <     423,   424,   425,     0,     0,     0,   262,     0,   272,     0,
1497 <     270,   271,   273,   274,    48,     0,     0,     0,    44,     0,
1498 <       0,     0,     0,   110,   111,   112,     0,     0,     0,   191,
1499 <       0,     0,     0,     0,   166,     0,     0,   148,   149,   150,
1500 <     151,   154,   155,   156,   153,   152,   157,     0,     0,     0,
1726 <       0,     0,   321,   322,   323,   324,     0,     0,     0,     0,
1727 <       0,     0,     0,     0,     0,   630,    71,     0,     0,     0,
1493 >       0,     0,     0,     0,     0,     0,     0,    53,     0,     0,
1494 >     396,     0,   391,   392,   393,   140,     0,     0,   136,     0,
1495 >       0,     0,     0,     0,     0,     0,   125,   126,   128,   127,
1496 >     129,     0,     0,   359,     0,     0,   374,     0,     0,   367,
1497 >     368,   369,   370,     0,     0,     0,   103,     0,    28,     0,
1498 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   628,
1499 >     267,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500 >       0,     0,     0,     0,     0,     0,     0,     0,   249,   428,
1501         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1502 <       0,     0,     0,     0,     0,    52,     0,     0,   367,     0,
1503 <     362,   363,   364,   121,     0,     0,   117,     0,     0,     0,
1731 <     330,     0,     0,   345,     0,     0,   338,   339,   340,   341,
1732 <       0,     0,     0,    97,     0,     0,     0,     0,    27,     0,
1733 <       0,     0,     0,     0,     0,     0,     0,   601,   238,     0,
1502 >       0,     0,     0,     0,     0,   412,     0,     0,     0,   460,
1503 >       0,   467,     0,     0,     0,   475,     0,     0,     0,     0,
1504         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735       0,     0,     0,     0,     0,     0,   220,   399,     0,     0,
1505         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1737       0,     0,     0,   383,     0,     0,     0,   431,     0,   438,
1738       0,     0,     0,   446,     0,     0,     0,     0,     0,     0,
1506         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1508 +       0,     0,     0,     0,   482,   325,     0,     0,     0,     0,
1509 +       0,     0,     0,     0,     0,   315,     0,     0,     0,   451,
1510 +     304,     0,     0,     0,     0,     0,   298,     0,     0,    44,
1511 +     119,     0,     0,     0,   115,   179,     0,     0,     0,     0,
1512 +       0,     0,     0,     0,     0,     0,     0,   167,   354,     0,
1513 +       0,     0,     0,   349,     0,     0,     0,     0,     0,     0,
1514 +       0,     0,     0,   654,     0,     0,     0,     0,     0,     0,
1515         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1516 +       0,     0,     0,     0,    52,   394,     0,     0,     0,   390,
1517 +       0,   135,     0,   130,     0,     0,     0,     0,     0,   124,
1518 +       0,   358,   371,     0,     0,     0,     0,   366,   112,   111,
1519 +     110,   652,    28,    28,    28,    28,    28,    28,    28,    30,
1520 +      29,   653,   643,   644,   645,   646,   647,   648,   649,   651,
1521 +     650,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1522 +       0,     0,     0,     0,     0,    38,     0,     0,   248,     0,
1523         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1524 <       0,     0,     0,   453,   296,     0,     0,     0,     0,     0,
1525 <       0,     0,     0,     0,   286,     0,     0,     0,   422,   275,
1526 <       0,     0,     0,     0,     0,   269,     0,     0,    43,   113,
1527 <       0,     0,     0,   109,   158,     0,     0,     0,     0,     0,
1528 <       0,     0,     0,     0,     0,   147,   325,     0,     0,     0,
1529 <       0,   320,     0,     0,     0,     0,     0,     0,     0,     0,
1530 <     629,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1531 <       0,     0,     0,     0,    76,    77,     0,    75,    80,    81,
1532 <       0,    79,     0,     0,    51,   365,     0,     0,     0,   361,
1533 <       0,   116,     0,     0,   329,   342,     0,     0,     0,     0,
1534 <     337,   106,   105,   104,   624,   623,   617,   627,    27,    27,
1535 <      27,    27,    27,    27,    27,    29,    28,   628,   618,   619,
1536 <     622,   621,   620,   625,   626,     0,     0,     0,     0,     0,
1537 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
1538 <       0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
1539 <       0,     0,     0,     0,     0,     0,     0,     0,   382,     0,
1540 <       0,   430,   443,     0,     0,   445,   515,   519,   533,   600,
1541 <     546,   540,   543,   514,   506,   505,   508,   509,   507,   522,
1542 <     512,   513,   523,   511,   518,   517,   516,   541,   504,   598,
1543 <     599,   537,   583,   577,   594,   578,   579,   580,   588,   597,
1544 <     581,   591,   595,   584,   596,   589,   585,   590,   582,   593,
1545 <     587,   586,   592,     0,   576,   539,   557,   552,   569,   553,
1546 <     554,   555,   563,   572,   556,   566,   570,   559,   571,   564,
1547 <     560,   565,   558,   568,   562,   561,   567,     0,   551,   534,
1548 <     532,   535,   545,   536,   525,   530,   531,   528,   529,   526,
1549 <     527,   544,   547,   510,   538,   521,   520,   542,   524,     0,
1550 <       0,     0,     0,     0,     0,     0,     0,   285,     0,     0,
1551 <     421,     0,     0,     0,   280,   276,   279,   261,    49,    50,
1552 <       0,     0,   108,     0,     0,     0,     0,     0,     0,     0,
1553 <       0,     0,   146,     0,     0,     0,   319,   642,   641,   647,
1554 <     645,   648,   643,   644,   646,    88,    96,    87,    94,    95,
1555 <      86,    90,    89,    83,    82,    84,    93,    85,    72,     0,
1556 <      73,     0,    91,    92,     0,     0,   360,   122,     0,     0,
1557 <       0,   134,     0,   126,   127,   129,   128,   334,     0,     0,
1558 <       0,   336,    30,    31,    32,    33,    34,    35,    36,   249,
1559 <     250,   242,   259,   258,     0,   257,   244,   246,   253,   245,
1560 <     243,   252,   239,   251,   241,   240,    37,    37,    37,    39,
1561 <      38,   247,   248,   404,   407,   408,   418,   415,   401,   416,
1562 <     413,   414,     0,   412,   417,   400,   406,   403,   405,   419,
1563 <     402,   436,   437,   451,   452,   574,     0,   549,     0,   299,
1564 <     300,   309,   306,   311,   307,   308,   314,   310,   312,   305,
1565 <     313,     0,   304,   298,   317,   316,   315,   297,   428,   427,
1566 <     283,   282,   267,   268,   266,     0,   265,     0,     0,     0,
1567 <     114,   115,   165,   162,   210,   198,   207,   206,   196,   201,
1568 <     217,   209,   215,   200,   203,   212,   214,   211,   208,   216,
1569 <     204,   213,   202,   205,     0,   194,   159,   161,   163,   164,
1789 <     175,   170,   187,   171,   172,   173,   181,   190,   174,   184,
1790 <     188,   177,   189,   182,   178,   183,   176,   186,   180,   179,
1791 <     185,     0,   169,   160,   328,   326,   327,    74,    78,   366,
1792 <     371,   377,   380,   373,   379,   374,   378,   376,   372,   375,
1793 <       0,   370,   130,     0,     0,     0,     0,   125,   343,   349,
1794 <     355,   358,   351,   357,   352,   356,   354,   350,   353,     0,
1795 <     348,   344,   255,     0,    40,    41,    42,   410,     0,   575,
1796 <     550,   302,     0,   263,     0,   281,   278,   277,     0,     0,
1797 <       0,   192,     0,   167,     0,   368,     0,     0,     0,     0,
1798 <       0,   124,   346,     0,   256,   411,   303,   264,   197,   195,
1799 <     199,   193,   168,   369,   131,   133,   132,   140,   143,   142,
1800 <     139,   144,   141,   138,     0,   137,   347,   135,     0,   136
1801 < };
1802 <
1803 < /* YYDEFGOTO[NTERM-NUM].  */
1804 < static const yytype_int16 yydefgoto[] =
1805 < {
1806 <      -1,     1,    25,   805,   806,  1059,  1060,    26,   218,   219,
1807 <     220,   221,    27,   262,   263,   264,   265,   766,   767,   770,
1808 <     771,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1809 <     275,   276,   277,   278,   279,   280,    28,    74,    75,    76,
1810 <      77,    78,    29,    61,   492,   493,   494,   495,    30,   284,
1811 <     285,   286,   287,   288,  1022,  1023,  1024,  1025,  1026,  1195,
1812 <    1264,  1265,    31,    62,   506,   507,   508,   509,   510,   511,
1813 <     512,   513,   514,   515,   732,  1171,  1172,   516,   727,  1144,
1814 <    1145,    32,    51,   332,   333,   334,   335,   336,   337,   338,
1815 <     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1816 <     349,   602,  1044,  1045,    33,    59,   478,   712,  1115,  1116,
1817 <     479,   480,   481,  1119,   965,   966,   482,   483,    34,    57,
1818 <     456,   457,   458,   459,   460,   461,   462,   697,  1101,  1102,
1819 <     463,   464,   465,    35,    63,   521,   522,   523,   524,   525,
1820 <      36,   291,   292,   293,    37,    69,   575,   576,   577,   578,
1821 <     579,   787,  1209,  1210,    38,    66,   559,   560,   561,   562,
1822 <     777,  1190,  1191,    39,    52,   365,   366,   367,   368,   369,
1823 <     370,   371,   372,   373,   374,   375,   624,  1072,  1073,   376,
1824 <     377,   378,   379,   380,    40,    58,   469,   470,   471,   472,
1825 <      41,    53,   384,   385,   386,   387,    42,   111,   112,   113,
1826 <      43,    55,   394,   395,   396,   397,    44,   163,   164,   165,
1827 <     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1828 <     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1829 <     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1830 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1831 <     206,   207,   426,   927,   928,   208,   424,   903,   904,   209,
1832 <     210,   211,    45,    92,    93,    94,    95,    96,    97,    98,
1833 <      99,   100,   101,   102,   103,   104,   105,    46,   234,   235,
1834 <     236,   237,   238,   239,   240,   241,   242,   243
1524 >       0,     0,     0,     0,   411,     0,     0,   459,   472,     0,
1525 >       0,   474,   545,   549,   532,   533,   564,   536,   627,   572,
1526 >     537,   538,   569,   544,   543,   552,   542,   539,   540,   548,
1527 >     547,   546,   570,   534,   625,   626,   568,   611,   605,   621,
1528 >     606,   607,   608,   616,   624,   609,   618,   622,   612,   623,
1529 >     613,   617,   610,   620,   615,   614,   619,     0,   604,   584,
1530 >     585,   586,   579,   597,   580,   581,   582,   592,   600,   583,
1531 >     594,   598,   588,   599,   589,   593,   587,   596,   591,   590,
1532 >     595,     0,   578,   565,   563,   566,   571,   567,   554,   561,
1533 >     562,   559,   560,   555,   556,   557,   558,   573,   574,   541,
1534 >     551,   550,   553,   535,     0,     0,     0,     0,     0,     0,
1535 >       0,     0,   314,     0,     0,   450,     0,     0,     0,   309,
1536 >     305,   308,   290,    50,    51,     0,     0,   114,     0,     0,
1537 >       0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
1538 >       0,     0,   348,   670,   667,   668,   669,   674,   673,   675,
1539 >     671,   672,    99,    94,   102,    93,    89,    87,    88,    86,
1540 >       0,    85,    90,    91,   100,   101,    92,    96,    95,    77,
1541 >      76,    81,    78,    80,    79,    97,    98,     0,     0,   389,
1542 >     141,     0,     0,     0,   153,     0,   145,   146,   148,   147,
1543 >       0,     0,     0,     0,   123,   363,     0,     0,     0,   365,
1544 >      31,    32,    33,    34,    35,    36,    37,   278,   279,   271,
1545 >     288,   287,     0,   286,   272,   274,   282,   275,   273,   281,
1546 >     268,   280,   270,   269,    38,    38,    38,    40,    39,   276,
1547 >     277,   433,   436,   437,   447,   444,   430,   445,   442,   443,
1548 >       0,   441,   446,   429,   435,   432,   434,   448,   431,   465,
1549 >     466,   480,   481,   602,     0,   576,     0,   328,   329,   339,
1550 >     335,   336,   338,   343,   340,   341,   334,   342,   337,     0,
1551 >     333,   327,   346,   345,   344,   326,   457,   456,   312,   311,
1552 >     296,   297,   295,     0,   294,     0,     0,     0,   120,   121,
1553 >     187,   184,   234,   246,   221,   230,     0,   219,   224,   240,
1554 >       0,   233,   238,   244,   223,   226,   235,   237,   241,   231,
1555 >     239,   227,   245,   229,   236,   225,   228,     0,   217,   180,
1556 >     182,   185,   186,   197,   198,   199,   192,   210,   193,   194,
1557 >     195,   205,   213,   196,   207,   211,   201,   212,   202,   206,
1558 >     200,   209,   204,   203,   208,     0,   191,   181,   183,   357,
1559 >     355,   356,    83,     0,   395,   400,   406,   409,   402,   408,
1560 >     403,   407,   405,   401,   404,     0,   399,   149,     0,     0,
1561 >       0,     0,   144,   132,   131,   133,   134,   372,   378,   384,
1562 >     387,   380,   386,   381,   385,   383,   379,   382,     0,   377,
1563 >     373,   284,     0,    41,    42,    43,   439,     0,   603,   577,
1564 >     331,     0,   292,     0,   310,   307,   306,     0,     0,     0,
1565 >       0,     0,     0,   215,     0,   189,     0,    84,   397,     0,
1566 >       0,     0,     0,     0,   143,   375,     0,   285,   440,   332,
1567 >     293,   220,   243,   218,   242,   232,   222,   216,   190,   398,
1568 >     150,   152,   151,   163,   162,   158,   160,   164,   161,   157,
1569 >     159,     0,   156,   376,   154,     0,   155
1570   };
1571  
1572 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1573 <   STATE-NUM.  */
1839 < #define YYPACT_NINF -736
1840 < static const yytype_int16 yypact[] =
1572 >  /* YYPGOTO[NTERM-NUM].  */
1573 > static const yytype_int16 yypgoto[] =
1574   {
1575 <    -736,   630,  -736,  -163,  -195,  -186,  -736,  -736,  -736,  -184,
1576 <    -736,  -174,  -736,  -736,  -736,  -172,  -736,  -736,  -736,  -148,
1577 <    -145,  -736,  -143,  -138,  -736,  -736,  -736,  -736,  -736,  -736,
1578 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1579 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   311,
1580 <     925,  -125,   -92,   -71,    25,   -58,   424,   -53,   -50,   -38,
1581 <      49,   -22,   -20,     2,   622,   338,    27,     9,    26,    39,
1582 <    -131,   -16,    51,    70,     8,  -736,  -736,  -736,  -736,  -736,
1583 <      72,    74,    76,    80,    83,    98,   100,   103,   104,   110,
1584 <     116,   118,   325,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1585 <    -736,  -736,  -736,  -736,  -736,  -736,   650,   352,   189,  -736,
1586 <     122,    15,  -736,  -736,    65,  -736,   123,   127,   129,   131,
1587 <     132,   133,   134,   136,   137,   139,   140,   141,   143,   144,
1588 <     148,   150,   151,   152,   153,   155,   156,   158,   159,   160,
1589 <     161,   164,  -736,   165,  -736,   166,   170,   171,   178,   183,
1590 <     185,   188,   190,   191,   192,   194,   199,   205,   206,   207,
1591 <     210,   213,   214,   107,  -736,  -736,  -736,  -736,  -736,  -736,
1592 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1593 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1594 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1595 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1596 <    -736,  -736,   475,     6,   278,    48,   215,   216,    46,  -736,
1597 <    -736,  -736,    11,   489,    17,  -736,   218,   220,   221,   224,
1598 <     225,   228,   229,   230,     7,  -736,  -736,  -736,  -736,  -736,
1599 <    -736,  -736,  -736,  -736,   124,   231,   233,   235,   236,   239,
1600 <     247,   248,   250,   252,   257,   258,   259,   262,   268,   269,
1601 <     270,   271,    21,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1602 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1603 <    -736,    35,   281,   276,    18,  -736,  -736,  -736,   120,  -736,
1604 <     282,    62,  -736,  -736,     5,  -736,   291,   294,   380,   287,
1872 <    -736,   411,   413,   315,   417,   418,   418,   418,   419,   420,
1873 <     421,   323,   334,   322,  -736,   324,   320,   326,   327,  -736,
1874 <     330,   333,   335,   336,   337,   340,   341,   344,   346,   347,
1875 <     353,   356,   186,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1876 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1877 <     328,   358,   360,   361,   362,   363,   364,  -736,   367,   370,
1878 <     371,   372,   375,   377,   383,   279,  -736,  -736,  -736,  -736,
1879 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1880 <    -736,  -736,   384,   385,    22,  -736,  -736,  -736,   439,   389,
1881 <    -736,  -736,   387,   388,    20,  -736,  -736,  -736,   400,   418,
1882 <     418,   458,   410,   511,   497,   431,   418,   433,   513,   518,
1883 <     418,   519,   435,   436,   445,   418,   520,   521,   418,   548,
1884 <     552,   553,   554,   456,   450,   465,   453,   477,   418,   418,
1885 <     478,   481,   482,  -182,  -139,   483,   486,   560,   418,   490,
1886 <     491,   418,   418,   493,   494,   459,  -736,   479,   480,   484,
1887 <    -736,   495,   496,   500,   501,   502,    32,  -736,  -736,  -736,
1888 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   507,   509,    45,
1889 <    -736,  -736,  -736,   485,   512,   515,  -736,   517,  -736,    10,
1890 <    -736,  -736,  -736,  -736,  -736,   580,   584,   514,  -736,   522,
1891 <     530,   534,    14,  -736,  -736,  -736,   524,   535,   536,  -736,
1892 <     537,   538,   539,   540,  -736,   541,    12,  -736,  -736,  -736,
1893 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   545,   544,   549,
1894 <     550,     4,  -736,  -736,  -736,  -736,   503,   533,   565,   598,
1895 <     568,   571,   572,   418,   556,  -736,  -736,   599,   574,   602,
1896 <     638,   675,   661,   662,   663,   664,   665,   666,   682,   669,
1897 <     -98,    59,   672,   673,   573,  -736,   575,   569,  -736,    89,
1898 <    -736,  -736,  -736,  -736,   591,   576,  -736,   577,   679,   578,
1899 <    -736,   581,   582,  -736,   583,    19,  -736,  -736,  -736,  -736,
1900 <     587,   588,   596,  -736,   600,   604,   607,   608,   579,   612,
1901 <     614,   615,   616,   617,   619,   620,   621,  -736,  -736,   700,
1902 <     716,   418,   623,   719,   742,   418,   744,   746,   418,   686,
1903 <     747,   748,   418,   750,   750,   628,  -736,  -736,   751,   121,
1904 <     753,   660,   754,   758,   637,   760,   761,   763,   762,   765,
1905 <     766,   767,   648,  -736,   771,   773,   674,  -736,   684,  -736,
1906 <     774,   775,   688,  -736,   690,   692,   693,   695,   696,   703,
1907 <     704,   705,   707,   708,   709,   713,   715,   718,   721,   724,
1908 <     726,   727,   729,   731,   732,   733,   734,   735,   736,   739,
1909 <     657,   740,   701,   741,   743,   749,   752,   755,   756,   757,
1910 <     759,   764,   768,   769,   770,   776,   777,   781,   782,   783,
1911 <     784,   785,   786,  -736,  -736,   802,   678,   772,   821,   792,
1912 <     840,   844,   846,   787,  -736,   847,   848,   788,  -736,  -736,
1913 <     849,   850,   789,   867,   790,  -736,   791,   793,  -736,  -736,
1914 <     853,   855,   794,  -736,  -736,   856,   778,   795,   860,   862,
1915 <     864,   865,   796,   869,   797,  -736,  -736,   875,   876,   891,
1916 <     800,  -736,   801,   803,   806,   807,   808,   809,   810,   811,
1917 <    -736,   812,   813,   814,   815,   816,   817,   818,   819,   820,
1918 <     822,   823,   824,   825,  -736,  -736,  -194,  -736,  -736,  -736,
1919 <    -187,  -736,   826,   827,  -736,  -736,   897,   799,   828,  -736,
1920 <     829,  -736,    66,   830,  -736,  -736,   898,   831,   923,   832,
1921 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   418,   418,
1922 <     418,   418,   418,   418,   418,  -736,  -736,  -736,  -736,  -736,
1923 <    -736,  -736,  -736,  -736,  -736,   833,   835,   836,   -36,   837,
1924 <     838,   839,   841,   842,   843,   845,   851,   852,   854,   265,
1925 <     857,   858,  -736,   859,   861,   863,   866,   868,   870,   871,
1926 <      16,   872,   873,   874,   877,   878,   879,   880,  -736,   881,
1927 <     882,  -736,  -736,   883,   884,  -736,  -736,  -736,  -736,  -736,
1928 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1929 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1930 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1931 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1932 <    -736,  -736,  -736,  -171,  -736,  -736,  -736,  -736,  -736,  -736,
1933 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1934 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -155,  -736,  -736,
1935 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1936 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   885,
1937 <     886,   275,   887,   888,   889,   890,   892,  -736,   893,   894,
1938 <    -736,   895,   896,     0,   901,   899,  -736,  -736,  -736,  -736,
1939 <     900,   902,  -736,   904,   905,   476,   906,   907,   908,   909,
1940 <     745,   910,  -736,   911,   912,   913,  -736,  -736,  -736,  -736,
1941 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1942 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -98,
1943 <    -736,    59,  -736,  -736,   914,   393,  -736,  -736,   915,   916,
1944 <     917,  -736,    75,  -736,  -736,  -736,  -736,  -736,   918,   738,
1945 <     921,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1946 <    -736,  -736,  -736,  -736,  -133,  -736,  -736,  -736,  -736,  -736,
1947 <    -736,  -736,  -736,  -736,  -736,  -736,   750,   750,   750,  -736,
1948 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1949 <    -736,  -736,  -124,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1950 <    -736,  -736,  -736,  -736,  -736,  -736,   657,  -736,   701,  -736,
1951 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1952 <    -736,  -104,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1953 <    -736,  -736,  -736,  -736,  -736,   -68,  -736,   948,   867,   922,
1954 <    -736,  -736,  -736,  -736,  -736,   919,  -736,  -736,   920,  -736,
1955 <    -736,  -736,  -736,   924,  -736,  -736,  -736,  -736,  -736,  -736,
1956 <    -736,  -736,  -736,  -736,   -43,  -736,  -736,  -736,  -736,  -736,
1957 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1958 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1959 <    -736,   -30,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1960 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1961 <     -21,  -736,  -736,   942,   -90,   927,   926,  -736,  -736,  -736,
1962 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -15,
1963 <    -736,  -736,  -736,   -36,  -736,  -736,  -736,  -736,    16,  -736,
1964 <    -736,  -736,   275,  -736,     0,  -736,  -736,  -736,   940,   943,
1965 <     944,  -736,   476,  -736,   745,  -736,   393,   928,   931,   932,
1966 <     516,  -736,  -736,   738,  -736,  -736,  -736,  -736,  -736,  -736,
1967 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1968 <    -736,  -736,  -736,  -736,    61,  -736,  -736,  -736,   516,  -736
1575 >    -728,  -728,  -728,  -243,  -308,  -727,  -635,  -728,  -728,   978,
1576 >    -728,  -728,  -728,  -728,   952,  -728,  -728,  -728,  -728,  -728,
1577 >    -728,  -728,  -728,  -728,  -122,  -728,  -728,  -728,  -728,  -728,
1578 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1579 >    1028,  -728,  -728,  -728,  -728,  -728,  -728,   660,  -728,  -728,
1580 >    -728,  -728,  -728,   572,  -728,  -728,  -728,  -728,  -728,  -728,
1581 >     953,  -728,  -728,  -728,  -728,    84,  -728,  -728,  -728,  -728,
1582 >    -728,  -163,  -728,  -728,  -728,   627,  -728,  -728,  -728,  -728,
1583 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -126,  -728,  -728,
1584 >    -728,  -121,  -728,  -728,  -728,   859,  -728,  -728,  -728,  -728,
1585 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1586 >    -728,  -728,  -728,  -728,   -96,  -728,  -728,  -728,  -728,  -728,
1587 >    -105,  -728,   690,  -728,  -728,  -728,    27,  -728,  -728,  -728,
1588 >    -728,  -728,   718,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1589 >     -87,  -728,  -728,  -728,  -728,  -728,  -728,   665,  -728,  -728,
1590 >    -728,  -728,  -728,   975,  -728,  -728,  -728,  -728,   599,  -728,
1591 >    -728,  -728,  -728,  -728,  -100,  -728,  -728,  -728,   629,  -728,
1592 >    -728,  -728,  -728,   -77,  -728,  -728,  -728,   870,  -728,  -728,
1593 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -65,
1594 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   739,  -728,
1595 >    -728,  -728,  -728,  -728,   822,  -728,  -728,  -728,  -728,  1103,
1596 >    -728,  -728,  -728,  -728,   819,  -728,  -728,  -728,  -728,  1053,
1597 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1598 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1599 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1600 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1601 >    -728,  -728,  -728,  -728,    93,  -728,  -728,  -728,    97,  -728,
1602 >    -728,  -728,  -728,  -728,  1123,  -728,  -728,  -728,  -728,  -728,
1603 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   990,  -728,
1604 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728
1605   };
1606  
1607 < /* YYPGOTO[NTERM-NUM].  */
1608 < static const yytype_int16 yypgoto[] =
1607 >  /* YYDEFGOTO[NTERM-NUM].  */
1608 > static const yytype_int16 yydefgoto[] =
1609   {
1610 <    -736,  -736,  -736,   -48,  -303,  -735,  -613,  -736,  -736,   903,
1611 <    -736,  -736,  -736,  -736,   929,  -736,  -736,  -736,    64,  -736,
1612 <      63,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1613 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   996,  -736,
1614 <    -736,  -736,  -736,  -736,  -736,   585,  -736,  -736,  -736,  -736,
1615 <     804,  -736,  -736,  -736,  -736,    57,  -736,  -736,  -736,  -736,
1616 <    -736,  -188,  -736,  -736,  -736,   593,  -736,  -736,  -736,  -736,
1617 <    -736,  -736,  -736,  -736,  -736,  -736,  -150,  -736,  -736,  -736,
1618 <    -146,  -736,  -736,  -736,   834,  -736,  -736,  -736,  -736,  -736,
1619 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1620 <    -736,  -736,  -736,  -122,  -736,  -736,  -736,  -736,  -736,  -135,
1621 <    -736,   643,  -736,  -736,  -736,   -25,  -736,  -736,  -736,  -736,
1622 <    -736,   644,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -99,
1623 <    -736,  -736,  -736,  -736,  -736,  -736,   626,  -736,  -736,  -736,
1624 <    -736,  -736,   930,  -736,  -736,  -736,  -736,   566,  -736,  -736,
1625 <    -736,  -736,  -736,  -118,  -736,  -736,  -736,   592,  -736,  -736,
1626 <    -736,  -736,   -96,  -736,  -736,  -736,   798,  -736,  -736,  -736,
1627 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   -61,  -736,
1628 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,   689,  -736,  -736,
1629 <    -736,  -736,  -736,   780,  -736,  -736,  -736,  -736,  1048,  -736,
1630 <    -736,  -736,  -736,   779,  -736,  -736,  -736,  -736,   997,  -736,
1631 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1632 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1633 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1634 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,
1635 <    -736,  -736,  -736,  -736,    73,  -736,  -736,  -736,    79,  -736,
1636 <    -736,  -736,  -736,  -736,  1070,  -736,  -736,  -736,  -736,  -736,
1637 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736,   933,
1638 <    -736,  -736,  -736,  -736,  -736,  -736,  -736,  -736
1610 >      -1,     1,    26,   829,   830,  1097,  1098,    27,   217,   218,
1611 >     219,   220,    28,   266,   267,   268,   269,   270,   271,   272,
1612 >     273,   274,   550,  1030,  1031,   275,   276,   277,   278,   279,
1613 >     280,   281,   282,   283,   284,   285,   286,   287,    29,    77,
1614 >      78,    79,    80,    81,    30,    63,   498,   499,   500,   501,
1615 >      31,    70,   585,   586,   587,   588,   589,   590,    32,   291,
1616 >     292,   293,   294,   295,  1055,  1056,  1057,  1058,  1059,  1240,
1617 >    1321,  1322,    33,    64,   513,   514,   515,   516,   517,   518,
1618 >     519,   520,   521,   522,   523,   753,  1215,  1216,   524,   748,
1619 >    1187,  1188,    34,    53,   339,   340,   341,   342,   343,   344,
1620 >     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1621 >     355,   356,   624,  1082,  1083,    35,    61,   484,   733,  1153,
1622 >    1154,   485,   486,   487,  1157,   990,   991,   488,   489,    36,
1623 >      59,   462,   463,   464,   465,   466,   467,   468,   718,  1139,
1624 >    1140,   469,   470,   471,    37,    65,   529,   530,   531,   532,
1625 >     533,    38,   299,   300,   301,    39,    72,   598,   599,   600,
1626 >     601,   602,   814,  1258,  1259,    40,    68,   571,   572,   573,
1627 >     574,   797,  1235,  1236,    41,    54,   372,   373,   374,   375,
1628 >     376,   377,   378,   379,   380,   381,   382,   646,  1110,  1111,
1629 >     383,   384,   385,   386,   387,    42,    60,   475,   476,   477,
1630 >     478,    43,    55,   391,   392,   393,   394,    44,   112,   113,
1631 >     114,    45,    57,   401,   402,   403,   404,    46,   163,   164,
1632 >     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1633 >     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1634 >     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1635 >     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1636 >     205,   206,   431,   951,   952,   207,   430,   927,   928,   208,
1637 >     209,   210,    47,    94,    95,    96,    97,    98,    99,   100,
1638 >     101,   102,   103,   104,   105,   106,    48,   234,   235,   236,
1639 >     237,   238,   239,   240,   241,   242,   243,   244
1640   };
1641  
1642 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1643 <   positive, shift that token.  If negative, reduce the rule which
1644 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
2008 < #define YYTABLE_NINF -124
1642 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1643 >     positive, shift that token.  If negative, reduce the rule whose
1644 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1645   static const yytype_int16 yytable[] =
1646   {
1647 <     830,   831,   589,   590,   591,   517,   571,   466,   225,    70,
1648 <     282,   473,   489,   496,  1042,   489,   109,   829,   517,   282,
1649 <     571,   391,   244,   381,  1070,   679,   109,   289,   680,   497,
1650 <    1008,    49,    71,   447,  1009,   226,   556,  1010,   518,    72,
1651 <      50,  1011,    54,   227,   498,   245,   466,   215,  1112,   448,
1652 <     215,   518,    56,  1085,    60,   228,   229,  1086,   230,   231,
1653 <     232,    47,    48,   289,   449,   474,   391,  1018,   681,  1087,
1654 <     475,   682,   476,  1088,   499,   110,  1018,   246,    64,   519,
1655 <     233,    65,   382,    67,   247,   110,   490,  1043,    68,   490,
1656 <     556,  1212,   519,   295,   450,  1213,   645,   646,   764,   765,
1657 <    1217,   106,   572,   652,  1218,    73,   248,   656,   115,   500,
1658 <     249,  1238,   661,   116,   117,   664,   572,   392,   250,   118,
1659 <    1221,   251,   252,   290,  1222,   674,   675,   119,   520,   501,
1660 <     467,   477,   557,   120,   107,   686,   121,   122,   689,   690,
1661 <     216,   520,   123,   216,   393,   502,   383,   124,   125,   451,
1662 <     126,   127,   128,   253,   129,   108,  1223,   452,   453,   290,
1663 <    1224,   130,   392,  1019,   217,   131,   132,   217,   114,   467,
1664 <     254,   255,  1019,   212,   133,  -123,   213,   491,   454,   503,
1665 <     491,  1231,  1113,   134,  -123,  1232,   557,   315,   214,   393,
1666 <     381,   135,  1114,   136,  1233,   137,   256,   138,  1234,   139,
1667 <     140,   316,   317,  1235,   222,   318,   223,  1236,  1071,  1242,
1668 <     504,   296,   141,  1243,   257,   258,   259,   142,   143,   144,
1669 <     573,   145,   146,   147,   574,   468,   148,   283,   224,   740,
1670 <     749,   505,   534,   299,   573,   714,   283,   734,   574,   722,
1671 <     389,   260,   261,   565,   789,   642,   554,   636,   319,   382,
1672 <     558,   455,   149,   281,  1020,   768,   769,   703,   150,   151,
1673 <     152,   153,   154,  1020,   468,   294,   320,   321,   322,   323,
1674 <     707,   487,   484,   324,  1056,  1057,  1058,   325,   297,   473,
1675 <     350,  1021,   351,   326,   352,  1267,   567,   569,  1091,  1268,
1676 <    1021,   155,   834,   835,   327,   328,   353,   298,   817,   301,
1677 <    1196,   302,   821,   303,   558,   824,   329,   304,  1092,   828,
1678 <     305,   354,    70,   383,   778,   156,   157,  1093,   158,   159,
1679 <     160,  1214,  1215,  1216,   161,   306,    79,   307,   330,   162,
1680 <     308,   309,   445,   474,   355,    71,   356,   310,   475,   244,
1681 <     476,   357,    72,   311,  1094,   312,    80,    81,   536,   388,
1682 <     398,   358,    82,   350,   399,   351,   400,   352,   401,   402,
1683 <     403,   404,   245,   405,   406,   331,   407,   408,   409,   353,
1684 <     410,   411,   829,  1095,  1096,   412,   359,   413,   414,   415,
1685 <     416,  1097,   417,   418,   354,   419,   420,   421,   422,    83,
1686 <      84,   423,   425,   427,   246,    85,    86,   428,   429,   477,
1687 <     360,   247,    87,    88,    89,   430,  1098,   355,    73,   356,
1688 <     431,   615,   432,   580,   357,   433,   581,   434,   435,   436,
1689 <     361,   437,  1099,   248,   358,   115,   438,   249,    90,    91,
1690 <     116,   117,   439,   440,   441,   250,   118,   442,   251,   252,
1691 <     443,   444,   485,   486,   119,   526,   362,   527,   528,   359,
1692 <     120,   529,   530,   121,   122,   531,   532,   533,   537,   123,
1693 <     538,  1180,   539,   540,   124,   125,   541,   126,   127,   128,
1694 <     253,   129,   363,   360,   542,   543,   447,   544,   130,   545,
1695 <    1124,  1100,   131,   132,   546,   547,   548,   254,   255,   549,
1696 <     496,   133,   448,   361,  1125,   550,   551,   552,   553,   364,
1697 <     134,  1126,   582,   564,   632,   563,   497,   449,   135,   568,
1698 <     136,   583,   137,   256,   138,  1127,   139,   140,   584,   362,
1699 <     585,   498,   586,  1181,   587,   588,   592,   593,   594,   141,
1700 <     595,   257,   258,   259,   142,   143,   144,   450,   145,   146,
1701 <     147,   596,  1128,   148,  1129,   363,   597,   599,   598,  1182,
1702 <     313,   499,   617,   600,   601,  1257,  1183,   603,   260,   261,
1703 <     604,   638,   605,   606,   607,   647,  1184,   608,   609,   149,
1704 <    1130,   610,   364,   611,   612,   150,   151,   152,   153,   154,
1705 <     613,  1239,  1258,   614,  1259,   618,   500,   619,   620,   621,
1706 <     622,   623,   451,  1185,   625,  1186,  1187,   626,   627,   628,
1707 <     452,   453,   629,  1131,   630,  1132,   501,   644,   155,  1188,
1708 <     631,   634,   635,   639,   640,   641,  1189,   648,   649,   650,
1709 <     654,   454,   502,   225,  1133,   655,   657,   662,   663,  1260,
1710 <       2,     3,   156,   157,     4,   158,   159,   160,   651,  1134,
1711 <     653,   161,   658,   659,     5,  1135,   162,     6,     7,  1136,
1712 <     226,   315,   660,     8,  1137,   665,   503,  1138,   227,   666,
1713 <     667,   668,  1139,   669,     9,   316,   317,    10,    11,   318,
1714 <     228,   229,   671,   230,   231,   232,  1140,   670,  1261,  1262,
1715 <     672,  1141,   685,   693,   673,   676,   588,   504,   677,   678,
1716 <     683,    12,  1142,   684,   455,   233,    13,   687,   688,  1143,
1717 <     691,   692,   716,   694,    14,   882,   717,   695,   505,   709,
1718 <     742,   696,   319,   798,   799,   800,   801,   802,   803,   804,
1719 <     745,   751,   698,   699,   753,    15,    16,   700,   701,   702,
1720 <     320,   321,   322,   323,   705,  1263,   706,   324,   718,   710,
1721 <     743,   325,   711,    17,   713,   754,   719,   326,   724,   906,
1722 <    1032,  1033,  1034,  1035,  1036,  1037,  1038,   720,   327,   328,
1723 <      18,   721,   725,   726,   728,   729,   730,   731,   733,   736,
1724 <     329,   737,   744,    19,    20,   746,   738,   739,   747,   748,
1725 <     750,   752,   755,   756,   757,   758,   759,   760,   761,   762,
1726 <      21,   763,   330,  1150,   772,   773,   776,   774,   780,   775,
1727 <     781,   783,   784,   782,    22,   785,  1199,   815,   825,   786,
1728 <     788,   791,   792,    23,   883,   884,   885,    24,   886,   887,
1729 <     793,   888,   889,   816,   794,   890,   819,   891,   795,   331,
1730 <     892,   796,   797,   893,   894,   895,   807,   896,   808,   809,
1731 <     810,   811,   897,   812,   813,   814,   898,   899,   900,   820,
1732 <     818,   822,   832,   823,   826,   827,   901,   829,   907,   908,
1733 <     909,   902,   910,   911,   840,   912,   913,   837,  1200,   914,
1734 <     843,   915,   848,   833,   916,   836,   838,   917,   918,   919,
1735 <     839,   920,   841,   842,   844,   950,   921,   845,   846,   847,
1736 <     922,   923,   924,   849,  1201,   850,   853,   854,   851,   953,
1737 <     925,  1202,  1151,  1152,  1153,   926,  1154,  1155,   852,  1156,
1738 <    1157,  1203,   855,  1158,   856,  1159,   857,   858,  1160,   859,
1739 <     860,  1161,  1162,  1163,   949,  1164,    79,   861,   862,   863,
1740 <    1165,   864,   865,   866,  1166,  1167,  1168,   867,  1204,   868,
1741 <    1205,  1206,   869,   952,  1169,   870,    80,    81,   871,  1170,
1742 <     872,   873,    82,   874,  1207,   875,   876,   877,   878,   879,
1743 <     880,  1208,   954,   881,   905,   929,   955,   930,   956,   958,
1744 <     959,   961,   962,   931,   964,   970,   932,   971,   973,   933,
1745 <     934,   935,   976,   936,   977,   974,   978,   979,   937,    83,
1746 <      84,   981,   938,   939,   940,    85,    86,   983,   984,   951,
1747 <     941,   942,    87,    88,    89,   943,   944,   945,   946,   947,
1748 <     948,   957,   960,   985,   967,   968,   963,   969,   972,  1014,
1749 <    1028,   982,   975,   980,   986,   987,  1015,   988,    90,    91,
1750 <     989,   990,   991,   992,   993,   994,   995,   996,   997,   998,
1751 <     999,  1000,  1001,  1002,  1003,  1030,  1004,  1005,  1006,  1007,
1752 <    1012,  1013,  1016,  1017,  1027,  1225,  1031,  1039,  1029,  1040,
1753 <    1041,  1046,  1047,  1048,  1237,  1049,  1050,  1051,  1248,  1052,
1754 <     300,  1249,  1250,  1177,  1178,  1053,  1054,   723,  1055,  1197,
1755 <    1269,  1061,  1062,  1063,  1252,  1064,  1251,  1065,   566,  1247,
1756 <    1066,  1244,  1067,  1226,  1068,  1069,  1074,  1075,  1076,   735,
1757 <     704,  1077,  1078,  1079,  1080,  1081,  1082,  1083,  1084,  1089,
1758 <    1090,  1103,  1104,  1105,  1106,  1117,  1107,  1108,  1109,  1110,
1759 <    1111,   488,   715,  1246,  1120,  1266,  1121,  1118,  1122,  1123,
1760 <    1146,  1147,  1148,  1149,  1173,  1174,  1175,  1176,  1179,  1192,
1761 <    1253,   790,  1198,  1193,  1194,  1211,  1227,   741,  1228,  1229,
1762 <    1241,   779,  1254,  1230,  1240,  1255,  1256,  1245,   708,   390,
1763 <     446,  1220,   314,   633,   637,  1219,   616,   535,     0,     0,
1764 <       0,     0,     0,   643,     0,     0,     0,     0,     0,     0,
1647 >     856,   857,   609,   110,  1051,   612,   613,   479,   615,   616,
1648 >      51,    73,  1108,   495,   855,   594,   297,    52,   297,   699,
1649 >      56,  1150,    58,   700,   388,   110,  1080,   245,    62,   398,
1650 >     701,   388,   398,  1123,   702,  1125,   289,  1124,    73,  1126,
1651 >      74,    66,   214,    49,    50,   568,  1222,   495,    75,    67,
1652 >    1223,   568,   472,  1261,   246,   116,   247,  1262,   289,    69,
1653 >     117,   118,   480,   119,   120,  1051,   111,    74,   121,    71,
1654 >     481,   107,   482,   594,   108,    75,   109,   472,   122,   123,
1655 >     453,  1266,   115,   248,   211,  1267,   124,   389,   111,   125,
1656 >     126,   127,   580,   249,   389,   496,   128,   212,   667,   454,
1657 >     669,   670,  1081,   860,   861,   250,   251,   252,  1052,   213,
1658 >    1291,   680,   221,   129,   130,    76,   685,   253,   455,   595,
1659 >     298,   254,   298,   222,   131,   694,   695,   132,   133,   496,
1660 >     223,   255,   483,   399,   256,   257,   399,   708,   134,   710,
1661 >     711,   525,    76,   215,   135,   456,   136,   502,   137,   569,
1662 >     138,   580,   390,   139,   140,   569,   288,   400,  1270,   390,
1663 >     400,   296,  1271,   258,   216,   141,   503,  1151,   302,  1052,
1664 >     142,   143,    82,   144,   145,   146,  1152,   595,   147,   259,
1665 >     473,   526,   260,   261,   262,   504,   303,   357,  1272,   358,
1666 >     497,   359,  1273,   304,   305,  1283,   581,    83,    84,  1284,
1667 >     306,   457,  1053,   148,    85,   473,   360,  1109,   309,   458,
1668 >     459,   490,   505,  -142,   149,   150,   151,   152,   153,   154,
1669 >     155,   322,   310,   527,   497,   361,  1054,  1285,   766,   460,
1670 >     263,  1286,    86,    87,    88,  -142,  1026,   596,   323,   324,
1671 >     597,   735,   362,   325,   363,   307,    89,    90,    91,   816,
1672 >     592,   506,   364,   264,   265,   581,    92,    93,   658,   396,
1673 >     290,   566,   582,  1053,   365,   603,   664,   570,   507,   528,
1674 >     156,   157,   158,   570,   159,   160,   493,   474,   579,   798,
1675 >     583,   743,   290,   161,   311,   162,   326,  1054,   214,   451,
1676 >     312,   366,   577,  1288,   224,   596,   584,  1289,   597,  1241,
1677 >     508,   509,   474,   313,   314,   461,   327,   328,   329,   330,
1678 >     525,   728,   367,   331,   724,   843,  1027,   315,   332,   847,
1679 >    1028,   582,   850,   316,   317,   333,   854,   225,  1313,  1295,
1680 >    1314,   368,   545,  1296,   334,   335,   226,   227,   228,   583,
1681 >     369,   229,   230,   318,   502,   336,   231,   232,   233,   319,
1682 >     526,   395,   510,   479,   405,   584,  1094,  1095,  1096,   406,
1683 >    1324,   407,   408,   503,  1325,   409,   337,  1263,  1264,  1265,
1684 >     410,   411,   511,   412,   413,   762,   512,  1315,  1029,   414,
1685 >     415,   756,   504,   604,   416,   808,   417,   575,   418,   215,
1686 >     370,   116,   527,   419,  1316,   420,   117,   118,   421,   119,
1687 >     120,   422,   423,   424,   121,   425,   320,   426,   480,   505,
1688 >     216,   338,   427,   371,   122,   123,   481,   428,   482,   429,
1689 >     432,   654,   124,   605,   433,   125,   126,   127,   434,  1162,
1690 >     435,   436,   128,  1317,  1318,   437,   438,   439,   528,   245,
1691 >     440,   441,   442,   443,   444,   445,  1163,  1164,   506,   129,
1692 >     130,   446,   447,   448,   449,   637,  1165,   606,   855,   450,
1693 >     131,   491,   492,   132,   133,   507,   246,   534,   247,   535,
1694 >     536,   537,   538,   539,   134,   540,   541,   542,   483,   546,
1695 >     135,   547,   136,   548,   137,  1319,   138,   549,   551,   139,
1696 >     140,  1320,   552,  1166,  1167,   248,  1168,   508,   509,   553,
1697 >     554,   141,   555,   556,   557,   249,   142,   143,   558,   144,
1698 >     145,   146,   559,   560,   147,   561,   562,   250,   251,   252,
1699 >     563,   564,   565,   453,   607,   576,   591,  1169,   543,   253,
1700 >     608,   610,   611,   254,   614,  1170,   617,   618,   619,   148,
1701 >     620,   660,   454,   255,   621,   622,   256,   257,   623,   510,
1702 >     149,   150,   151,   152,   153,   154,   155,  1171,   625,  1172,
1703 >    1173,   455,   626,   627,   628,   629,   630,  1129,   631,   511,
1704 >     632,   633,   634,   512,   357,   258,   358,  1174,   359,  1070,
1705 >    1071,  1072,  1073,  1074,  1075,  1076,   635,   636,   456,   639,
1706 >     640,   259,  1130,   360,   260,   261,   262,   641,   642,   643,
1707 >    1175,   644,   645,   647,  1292,  1176,   156,   157,   158,  1177,
1708 >     159,   160,   361,  1178,   648,   649,   650,  1225,  1179,   161,
1709 >     651,   162,  1180,   652,  1131,   653,   656,   661,   657,   362,
1710 >     666,   363,   662,  1181,   663,  1182,  1183,   668,  1184,   364,
1711 >     672,   671,   263,   673,   457,   674,   675,   676,   677,  1185,
1712 >     678,   365,   458,   459,   679,   681,   682,  1186,  1132,  1133,
1713 >     683,   684,   686,   687,  1134,   264,   265,   688,   689,     2,
1714 >       3,   690,   460,     4,   691,   693,   696,   692,   366,   697,
1715 >     698,  1226,   703,   704,   705,     5,   706,   707,  1135,     6,
1716 >     709,     7,   712,   713,   716,   717,   714,   715,     8,   367,
1717 >     730,   764,   737,  1136,   738,   765,   322,   719,   767,   720,
1718 >       9,   721,   739,  1227,   769,    10,    11,   722,   368,   723,
1719 >     726,  1228,   727,   323,   324,   731,   732,   369,   325,   734,
1720 >    1229,   740,   741,   742,    12,   745,   746,   747,    13,   749,
1721 >     929,   750,   930,   931,   751,   752,   754,   755,   461,   758,
1722 >     759,    14,   768,   760,  1230,   761,  1231,  1232,   774,   770,
1723 >     771,   775,   773,    82,   777,   779,  1137,   778,   772,   780,
1724 >    1233,   326,    15,    16,   776,   781,   782,   370,  1234,   783,
1725 >    1193,   784,  1194,  1195,   785,  1138,   786,    17,    83,    84,
1726 >     794,   327,   328,   329,   330,    85,   795,   787,   331,   788,
1727 >     371,   789,   790,   332,    18,   791,   792,   793,   796,   800,
1728 >     333,   810,   801,   804,   841,   802,    19,    20,   803,   334,
1729 >     335,   907,   805,    86,    87,    88,   806,   807,   813,   811,
1730 >     336,   812,   818,   815,   819,   820,   821,    89,    90,    91,
1731 >     831,    21,   832,   833,   834,   835,   836,    92,    93,   837,
1732 >     838,   337,   839,   840,    22,   842,   845,  1248,   844,    23,
1733 >     932,   933,   934,   846,    24,   935,   936,    25,   937,   938,
1734 >     848,   939,   849,   940,   851,   858,   941,   852,   942,   943,
1735 >     853,   855,   859,   862,   944,   864,   863,   865,   945,   869,
1736 >     866,   975,   946,   947,   948,   874,   338,   867,   868,   949,
1737 >    1196,  1197,  1198,   976,   950,  1199,  1200,   870,  1201,  1202,
1738 >     871,  1203,   872,  1204,   873,   875,  1205,   876,  1206,  1207,
1739 >     877,  1249,   878,   879,  1208,   880,   978,   881,  1209,   882,
1740 >     883,   884,  1210,  1211,  1212,   224,   885,   886,   887,  1213,
1741 >     888,   908,   909,   910,  1214,   889,   911,   912,   890,   913,
1742 >     914,   891,   915,  1250,   916,   892,   893,   917,   894,   918,
1743 >     919,  1251,   895,   896,   897,   920,   974,   898,   225,   921,
1744 >    1252,   899,   900,   922,   923,   924,   608,   226,   227,   228,
1745 >     925,   977,   229,   230,   979,   926,   901,   231,   232,   233,
1746 >     988,   980,   981,   983,  1253,   902,  1254,  1255,   984,   903,
1747 >     904,   822,   823,   824,   825,   826,   827,   828,   905,   906,
1748 >    1256,   953,   954,   955,   986,   956,   957,   987,  1257,   989,
1749 >     995,   996,   998,   958,  1001,   959,   960,   961,   962,   963,
1750 >     999,   964,  1002,   965,   966,   967,   968,   969,   970,   971,
1751 >     972,   973,   982,   985,   992,   993,   994,  1003,   997,  1004,
1752 >    1006,  1007,  1008,  1000,  1005,  1009,  1010,  1011,  1012,  1013,
1753 >    1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,  1047,  1022,
1754 >    1023,  1024,  1025,  1060,  1032,  1033,  1034,  1035,  1036,  1037,
1755 >    1038,  1039,  1040,  1041,  1042,  1043,  1044,  1045,  1061,  1046,
1756 >    1062,  1063,  1049,  1048,  1050,  1064,  1065,  1066,  1068,  1274,
1757 >    1290,  1287,  1069,  1077,  1067,   308,  1078,  1079,  1084,  1085,
1758 >    1086,  1087,  1088,  1089,  1090,  1091,  1092,  1093,  1099,  1100,
1759 >    1101,  1301,  1102,  1103,  1302,  1104,  1105,  1303,  1304,  1305,
1760 >    1106,  1306,  1107,  1112,  1113,  1114,  1115,  1116,  1117,  1242,
1761 >     757,  1118,  1119,  1120,  1121,  1122,  1127,  1128,  1141,  1142,
1762 >    1143,  1144,  1145,  1146,  1155,  1147,  1148,   809,   744,  1149,
1763 >    1308,  1158,  1326,  1307,  1156,  1159,  1297,  1160,  1300,  1161,
1764 >    1189,  1190,  1191,  1192,  1217,   736,  1218,  1219,  1220,  1221,
1765 >     725,  1224,  1237,  1275,  1299,  1243,  1238,  1239,  1244,  1245,
1766 >    1246,  1247,  1260,  1276,   763,   494,  1323,   817,   638,  1277,
1767 >     799,  1278,  1298,  1294,  1279,  1280,  1281,  1282,  1310,  1293,
1768 >    1311,  1312,  1309,   659,   729,   397,   452,   321,   567,  1269,
1769 >     665,  1268,     0,     0,   544,     0,     0,     0,     0,     0,
1770         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 <       0,   555,     0,     0,     0,     0,     0,     0,     0,     0,
1771 >       0,     0,   655,     0,   578,     0,     0,     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,   570
1774 >       0,     0,     0,     0,   593
1775   };
1776  
2136 #define yypact_value_is_default(Yystate) \
2137  (!!((Yystate) == (-736)))
2138
2139 #define yytable_value_is_error(Yytable_value) \
2140  YYID (0)
2141
1777   static const yytype_int16 yycheck[] =
1778   {
1779 <     613,   614,   305,   306,   307,     1,     1,     1,     1,     1,
1780 <       1,     1,     1,     1,    50,     1,     1,   107,     1,     1,
1781 <       1,     1,     1,     1,     8,   207,     1,     1,   210,    17,
1782 <     224,   226,    24,     1,   228,    28,     1,   224,    34,    31,
1783 <     226,   228,   226,    36,    32,    24,     1,     1,    48,    17,
1784 <       1,    34,   226,   224,   226,    48,    49,   228,    51,    52,
1785 <      53,   224,   225,     1,    32,    55,     1,     1,   207,   224,
1786 <      60,   210,    62,   228,    62,    60,     1,    56,   226,    75,
1787 <      73,   226,    60,   226,    63,    60,    75,   123,   226,    75,
1788 <       1,   224,    75,   224,    62,   228,   399,   400,   196,   197,
1789 <     224,   226,    97,   406,   228,    97,    85,   410,     1,    97,
1790 <      89,   201,   415,     6,     7,   418,    97,    97,    97,    12,
1791 <     224,   100,   101,    97,   228,   428,   429,    20,   124,   117,
1792 <     124,   121,    97,    26,   226,   438,    29,    30,   441,   442,
1793 <      94,   124,    35,    94,   124,   133,   124,    40,    41,   117,
1794 <      43,    44,    45,   132,    47,   226,   224,   125,   126,    97,
1795 <     228,    54,    97,    97,   118,    58,    59,   118,   226,   124,
1796 <     149,   150,    97,   226,    67,   166,   226,   166,   146,   167,
1797 <     166,   224,   182,    76,   166,   228,    97,     1,   226,   124,
1798 <       1,    84,   192,    86,   224,    88,   175,    90,   228,    92,
1799 <      93,    15,    16,   224,   226,    19,   226,   228,   192,   224,
1800 <     198,   227,   105,   228,   193,   194,   195,   110,   111,   112,
1801 <     215,   114,   115,   116,   219,   219,   119,   218,   226,   225,
1802 <     533,   219,   225,   225,   215,   225,   218,   225,   219,   225,
1803 <     225,   220,   221,   225,   225,   225,   225,   225,    62,    60,
1804 <     215,   219,   145,   226,   188,   196,   197,   225,   151,   152,
1805 <     153,   154,   155,   188,   219,   226,    80,    81,    82,    83,
1806 <     225,   225,   224,    87,     9,    10,    11,    91,   227,     1,
1807 <       1,   215,     3,    97,     5,   224,   166,   225,    13,   228,
1808 <     215,   184,   171,   172,   108,   109,    17,   227,   601,   227,
1809 <     225,   227,   605,   227,   215,   608,   120,   227,    33,   612,
1810 <     227,    32,     1,   124,   225,   208,   209,    42,   211,   212,
1811 <     213,  1056,  1057,  1058,   217,   227,     1,   227,   142,   222,
1812 <     227,   227,   225,    55,    55,    24,    57,   227,    60,     1,
1813 <      62,    62,    31,   227,    69,   227,    21,    22,   224,   227,
1814 <     227,    72,    27,     1,   227,     3,   227,     5,   227,   227,
1815 <     227,   227,    24,   227,   227,   179,   227,   227,   227,    17,
1816 <     227,   227,   107,    98,    99,   227,    97,   227,   227,   227,
1817 <     227,   106,   227,   227,    32,   227,   227,   227,   227,    64,
1818 <      65,   227,   227,   227,    56,    70,    71,   227,   227,   121,
1819 <     121,    63,    77,    78,    79,   227,   131,    55,    97,    57,
1820 <     227,   225,   227,   122,    62,   227,   122,   227,   227,   227,
1821 <     141,   227,   147,    85,    72,     1,   227,    89,   103,   104,
1822 <       6,     7,   227,   227,   227,    97,    12,   227,   100,   101,
1823 <     227,   227,   227,   227,    20,   227,   167,   227,   227,    97,
1824 <      26,   227,   227,    29,    30,   227,   227,   227,   227,    35,
1825 <     227,    68,   227,   227,    40,    41,   227,    43,    44,    45,
1826 <     132,    47,   193,   121,   227,   227,     1,   227,    54,   227,
1827 <       4,   206,    58,    59,   227,   227,   227,   149,   150,   227,
1828 <       1,    67,    17,   141,    18,   227,   227,   227,   227,   220,
1829 <      76,    25,   122,   227,   225,   224,    17,    32,    84,   227,
1830 <      86,   224,    88,   175,    90,    39,    92,    93,   107,   167,
1831 <     107,    32,   207,   130,   107,   107,   107,   107,   107,   105,
1832 <     207,   193,   194,   195,   110,   111,   112,    62,   114,   115,
1833 <     116,   207,    66,   119,    68,   193,   224,   227,   224,   156,
1834 <     225,    62,   224,   227,   227,    39,   163,   227,   220,   221,
1835 <     227,   122,   227,   227,   227,   107,   173,   227,   227,   145,
1836 <      94,   227,   220,   227,   227,   151,   152,   153,   154,   155,
1837 <     227,  1194,    66,   227,    68,   227,    97,   227,   227,   227,
1838 <     227,   227,   117,   200,   227,   202,   203,   227,   227,   227,
1839 <     125,   126,   227,   127,   227,   129,   117,   207,   184,   216,
1840 <     227,   227,   227,   224,   227,   227,   223,   207,   107,   122,
1841 <     107,   146,   133,     1,   148,   107,   107,   107,   107,   113,
1842 <       0,     1,   208,   209,     4,   211,   212,   213,   207,   163,
1843 <     207,   217,   207,   207,    14,   169,   222,    17,    18,   173,
1844 <      28,     1,   207,    23,   178,   107,   167,   181,    36,   107,
1845 <     107,   107,   186,   207,    34,    15,    16,    37,    38,    19,
1846 <      48,    49,   207,    51,    52,    53,   200,   227,   162,   163,
1847 <     227,   205,   122,   224,   207,   207,   107,   198,   207,   207,
1848 <     207,    61,   216,   207,   219,    73,    66,   207,   207,   223,
1849 <     207,   207,   122,   224,    74,    48,   122,   227,   219,   224,
1850 <     207,   227,    62,   134,   135,   136,   137,   138,   139,   140,
1851 <     122,   122,   227,   227,   122,    95,    96,   227,   227,   227,
1852 <      80,    81,    82,    83,   227,   219,   227,    87,   224,   227,
1853 <     207,    91,   227,   113,   227,   107,   224,    97,   224,    48,
1854 <     798,   799,   800,   801,   802,   803,   804,   227,   108,   109,
1855 <     130,   227,   227,   227,   227,   227,   227,   227,   227,   224,
1856 <     120,   227,   207,   143,   144,   207,   227,   227,   207,   207,
1857 <     224,   207,   107,   122,   122,   122,   122,   122,   122,   107,
1858 <     160,   122,   142,    48,   122,   122,   227,   224,   207,   224,
1859 <     224,   122,   224,   226,   174,   224,    68,   107,   122,   227,
1860 <     227,   224,   224,   183,   157,   158,   159,   187,   161,   162,
1861 <     224,   164,   165,   107,   224,   168,   107,   170,   224,   179,
1862 <     173,   224,   224,   176,   177,   178,   224,   180,   224,   224,
1863 <     224,   224,   185,   224,   224,   224,   189,   190,   191,   107,
1864 <     227,   107,   224,   107,   107,   107,   199,   107,   157,   158,
1865 <     159,   204,   161,   162,   227,   164,   165,   207,   130,   168,
1866 <     107,   170,   224,   122,   173,   122,   122,   176,   177,   178,
1867 <     122,   180,   122,   122,   122,   207,   185,   122,   122,   122,
1868 <     189,   190,   191,   122,   156,   122,   122,   122,   224,   107,
1869 <     199,   163,   157,   158,   159,   204,   161,   162,   224,   164,
1870 <     165,   173,   224,   168,   224,   170,   224,   224,   173,   224,
1871 <     224,   176,   177,   178,   122,   180,     1,   224,   224,   224,
1872 <     185,   224,   224,   224,   189,   190,   191,   224,   200,   224,
1873 <     202,   203,   224,   122,   199,   224,    21,    22,   224,   204,
1874 <     224,   224,    27,   224,   216,   224,   224,   224,   224,   224,
1875 <     224,   223,   122,   224,   224,   224,   122,   224,   122,   122,
1876 <     122,   122,   122,   224,   107,   122,   224,   122,   122,   224,
1877 <     224,   224,   122,   224,   122,   207,   122,   122,   224,    64,
1878 <      65,   122,   224,   224,   224,    70,    71,   122,   122,   227,
1879 <     224,   224,    77,    78,    79,   224,   224,   224,   224,   224,
1880 <     224,   224,   224,   122,   224,   224,   227,   224,   224,   122,
1881 <     122,   224,   227,   227,   224,   224,   227,   224,   103,   104,
1882 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1883 <     224,   224,   224,   224,   224,   122,   224,   224,   224,   224,
1884 <     224,   224,   224,   224,   224,   107,   224,   224,   227,   224,
1885 <     224,   224,   224,   224,   122,   224,   224,   224,   128,   224,
1886 <      74,   128,   128,  1009,  1011,   224,   224,   492,   224,  1022,
1887 <    1268,   224,   224,   224,  1234,   224,  1232,   224,   284,  1224,
1888 <     224,  1213,   224,  1118,   224,   224,   224,   224,   224,   506,
1889 <     456,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1890 <     224,   224,   224,   224,   224,   214,   224,   224,   224,   224,
1891 <     224,   218,   479,  1222,   224,  1243,   224,   228,   224,   224,
1892 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
1893 <    1236,   575,   224,   227,   227,   224,   224,   521,   229,   229,
1894 <     224,   559,   224,   229,   227,   224,   224,  1218,   469,   111,
1895 <     163,  1088,    92,   365,   384,  1086,   332,   234,    -1,    -1,
1896 <      -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,
1779 >     635,   636,   310,     1,     1,   313,   314,     1,   316,   317,
1780 >     236,     1,     8,     1,   113,     1,     1,   236,     1,   215,
1781 >     236,    48,   236,   219,     1,     1,    52,     1,   236,     1,
1782 >     215,     1,     1,   234,   219,   234,     1,   238,     1,   238,
1783 >      30,   236,     1,   234,   235,     1,   234,     1,    38,   236,
1784 >     238,     1,     1,   234,    28,     1,    30,   238,     1,   236,
1785 >       6,     7,    56,     9,    10,     1,    64,    30,    14,   236,
1786 >      64,   236,    66,     1,   236,    38,   236,     1,    24,    25,
1787 >       1,   234,   236,    57,   236,   238,    32,    64,    64,    35,
1788 >      36,    37,     1,    67,    64,    83,    42,   236,   406,    20,
1789 >     408,   409,   128,   182,   183,    79,    80,    81,   105,   236,
1790 >     209,   419,   236,    59,    60,   105,   424,    91,    39,   105,
1791 >     105,    95,   105,   236,    70,   433,   434,    73,    74,    83,
1792 >     236,   105,   126,   105,   108,   109,   105,   445,    84,   447,
1793 >     448,     1,   105,   102,    90,    66,    92,     1,    94,   105,
1794 >      96,     1,   129,    99,   100,   105,   236,   129,   234,   129,
1795 >     129,   236,   238,   137,   123,   111,    20,   194,   236,   105,
1796 >     116,   117,     1,   119,   120,   121,   203,   105,   124,   153,
1797 >     129,    41,   156,   157,   158,    39,   234,     1,   234,     3,
1798 >     178,     5,   238,   237,   237,   234,   105,    26,    27,   238,
1799 >     237,   122,   199,   149,    33,   129,    20,   203,   237,   130,
1800 >     131,   234,    66,   178,   160,   161,   162,   163,   164,   165,
1801 >     166,     1,   237,    83,   178,    39,   223,   234,   536,   150,
1802 >     204,   238,    61,    62,    63,   178,    17,   223,    18,    19,
1803 >     226,   235,    56,    23,    58,   235,    75,    76,    77,   235,
1804 >     235,   105,    66,   227,   228,   105,    85,    86,   235,   235,
1805 >     225,   235,   171,   199,    78,   127,   235,   223,   122,   129,
1806 >     216,   217,   218,   223,   220,   221,   235,   226,   178,   235,
1807 >     189,   235,   225,   229,   237,   231,    66,   223,     1,   235,
1808 >     237,   105,   235,   234,     1,   223,   205,   238,   226,   235,
1809 >     154,   155,   226,   237,   237,   226,    86,    87,    88,    89,
1810 >       1,   235,   126,    93,   235,   623,    97,   237,    98,   627,
1811 >     101,   171,   630,   237,   237,   105,   634,    34,    69,   234,
1812 >      71,   145,   234,   238,   114,   115,    43,    44,    45,   189,
1813 >     154,    48,    49,   237,     1,   125,    53,    54,    55,   237,
1814 >      41,   237,   206,     1,   237,   205,    11,    12,    13,   237,
1815 >     234,   237,   237,    20,   238,   237,   146,  1094,  1095,  1096,
1816 >     237,   237,   226,   237,   237,   235,   230,   118,   159,   237,
1817 >     237,   235,    39,   127,   237,   235,   237,   234,   237,   102,
1818 >     204,     1,    83,   237,   135,   237,     6,     7,   237,     9,
1819 >      10,   237,   237,   237,    14,   237,   235,   237,    56,    66,
1820 >     123,   191,   237,   227,    24,    25,    64,   237,    66,   237,
1821 >     237,   235,    32,   127,   237,    35,    36,    37,   237,     4,
1822 >     237,   237,    42,   174,   175,   237,   237,   237,   129,     1,
1823 >     237,   237,   237,   237,   237,   237,    21,    22,   105,    59,
1824 >      60,   237,   237,   237,   237,   235,    31,   234,   113,   237,
1825 >      70,   237,   237,    73,    74,   122,    28,   237,    30,   237,
1826 >     237,   237,   237,   237,    84,   237,   237,   237,   126,   237,
1827 >      90,   237,    92,   237,    94,   226,    96,   237,   237,    99,
1828 >     100,   232,   237,    68,    69,    57,    71,   154,   155,   237,
1829 >     237,   111,   237,   237,   237,    67,   116,   117,   237,   119,
1830 >     120,   121,   237,   237,   124,   237,   237,    79,    80,    81,
1831 >     237,   237,   237,     1,   113,   237,   237,   102,   235,    91,
1832 >     113,   215,   113,    95,   113,   110,   113,   113,   234,   149,
1833 >     234,   127,    20,   105,   237,   237,   108,   109,   237,   206,
1834 >     160,   161,   162,   163,   164,   165,   166,   132,   237,   134,
1835 >     135,    39,   237,   237,   237,   237,   237,    15,   237,   226,
1836 >     237,   237,   237,   230,     1,   137,     3,   152,     5,   822,
1837 >     823,   824,   825,   826,   827,   828,   237,   237,    66,   234,
1838 >     237,   153,    40,    20,   156,   157,   158,   237,   237,   237,
1839 >     175,   237,   237,   237,  1239,   180,   216,   217,   218,   184,
1840 >     220,   221,    39,   188,   237,   237,   237,    71,   193,   229,
1841 >     237,   231,   197,   237,    72,   237,   237,   234,   237,    56,
1842 >     215,    58,   237,   208,   237,   210,   211,   113,   213,    66,
1843 >     113,   215,   204,   215,   122,   113,   113,   113,   215,   224,
1844 >     215,    78,   130,   131,   215,   113,   113,   232,   106,   107,
1845 >     113,   113,   113,   113,   112,   227,   228,   113,   113,     0,
1846 >       1,   215,   150,     4,   237,   215,   215,   237,   105,   215,
1847 >     215,   135,   215,   215,   215,    16,   215,   113,   136,    20,
1848 >     215,    22,   215,   113,   237,   237,   234,   234,    29,   126,
1849 >     234,   215,   127,   151,   127,   215,     1,   237,   127,   237,
1850 >      41,   237,   234,   167,   127,    46,    47,   237,   145,   237,
1851 >     237,   175,   237,    18,    19,   237,   237,   154,    23,   237,
1852 >     184,   234,   237,   237,    65,   234,   237,   237,    69,   237,
1853 >      48,   237,    50,    51,   237,   237,   237,   237,   226,   234,
1854 >     237,    82,   215,   237,   208,   237,   210,   211,   113,   215,
1855 >     215,   127,   234,     1,   127,   127,   214,   237,   215,   127,
1856 >     224,    66,   103,   104,   215,   113,   113,   204,   232,   127,
1857 >      48,   127,    50,    51,   127,   233,   127,   118,    26,    27,
1858 >     234,    86,    87,    88,    89,    33,   234,   127,    93,   127,
1859 >     227,   127,   127,    98,   135,   127,   127,   127,   237,   215,
1860 >     105,   127,   234,   237,   113,   236,   147,   148,   234,   114,
1861 >     115,    48,   237,    61,    62,    63,   237,   237,   237,   234,
1862 >     125,   234,   234,   237,   234,   234,   234,    75,    76,    77,
1863 >     234,   172,   234,   234,   234,   234,   234,    85,    86,   234,
1864 >     234,   146,   234,   234,   185,   113,   113,    71,   237,   190,
1865 >     168,   169,   170,   113,   195,   173,   174,   198,   176,   177,
1866 >     113,   179,   113,   181,   127,   234,   184,   113,   186,   187,
1867 >     113,   113,   127,   127,   192,   127,   215,   127,   196,   113,
1868 >     237,   215,   200,   201,   202,   234,   191,   127,   127,   207,
1869 >     168,   169,   170,   237,   212,   173,   174,   127,   176,   177,
1870 >     127,   179,   127,   181,   127,   127,   184,   127,   186,   187,
1871 >     234,   135,   234,   127,   192,   127,   113,   234,   196,   234,
1872 >     234,   234,   200,   201,   202,     1,   234,   234,   234,   207,
1873 >     234,   168,   169,   170,   212,   234,   173,   174,   234,   176,
1874 >     177,   234,   179,   167,   181,   234,   234,   184,   234,   186,
1875 >     187,   175,   234,   234,   234,   192,   127,   234,    34,   196,
1876 >     184,   234,   234,   200,   201,   202,   113,    43,    44,    45,
1877 >     207,   127,    48,    49,   127,   212,   234,    53,    54,    55,
1878 >     237,   127,   127,   127,   208,   234,   210,   211,   127,   234,
1879 >     234,   138,   139,   140,   141,   142,   143,   144,   234,   234,
1880 >     224,   234,   234,   234,   127,   234,   234,   127,   232,   113,
1881 >     127,   127,   127,   234,   127,   234,   234,   234,   234,   234,
1882 >     215,   234,   127,   234,   234,   234,   234,   234,   234,   234,
1883 >     234,   234,   234,   234,   234,   234,   234,   127,   234,   215,
1884 >     127,   127,   234,   237,   237,   127,   127,   127,   234,   234,
1885 >     234,   234,   234,   234,   234,   234,   234,   234,   127,   234,
1886 >     234,   234,   234,   127,   234,   234,   234,   234,   234,   234,
1887 >     234,   234,   234,   234,   234,   234,   234,   234,   127,   234,
1888 >     127,   127,   234,   237,   234,   234,   234,   127,   127,   113,
1889 >     127,  1223,   234,   234,   237,    77,   234,   234,   234,   234,
1890 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1891 >     234,   133,   234,   234,   135,   234,   234,   133,   135,   133,
1892 >     234,   133,   234,   234,   234,   234,   234,   234,   234,  1055,
1893 >     513,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1894 >     234,   234,   234,   234,   222,   234,   234,   585,   498,   234,
1895 >    1286,   234,  1325,  1284,   238,   234,  1262,   234,  1273,   234,
1896 >     234,   234,   234,   234,   234,   485,   234,   234,   234,   234,
1897 >     462,   234,   234,  1156,  1271,   234,   237,   237,   234,   234,
1898 >     234,   234,   234,   234,   529,   217,  1296,   598,   339,   239,
1899 >     571,   239,  1267,   234,   239,   239,   239,   239,   234,   237,
1900 >     234,   234,  1289,   391,   475,   112,   163,    94,   266,  1126,
1901 >     401,  1124,    -1,    -1,   234,    -1,    -1,    -1,    -1,    -1,
1902        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1903 <      -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1903 >      -1,    -1,   372,    -1,   291,    -1,    -1,    -1,    -1,    -1,
1904        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1905        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1906 <      -1,   291
1906 >      -1,    -1,    -1,    -1,   299
1907   };
1908  
1909 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1910 <   symbol of state STATE-NUM.  */
1909 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1910 >     symbol of state STATE-NUM.  */
1911   static const yytype_uint16 yystos[] =
1912   {
1913 <       0,   231,     0,     1,     4,    14,    17,    18,    23,    34,
1914 <      37,    38,    61,    66,    74,    95,    96,   113,   130,   143,
1915 <     144,   160,   174,   183,   187,   232,   237,   242,   266,   272,
1916 <     278,   292,   311,   334,   348,   363,   370,   374,   384,   393,
1917 <     414,   420,   426,   430,   436,   492,   507,   224,   225,   226,
1918 <     226,   312,   394,   421,   226,   431,   226,   349,   415,   335,
1919 <     226,   273,   293,   364,   226,   226,   385,   226,   226,   375,
1920 <       1,    24,    31,    97,   267,   268,   269,   270,   271,     1,
1921 <      21,    22,    27,    64,    65,    70,    71,    77,    78,    79,
1922 <     103,   104,   493,   494,   495,   496,   497,   498,   499,   500,
1923 <     501,   502,   503,   504,   505,   506,   226,   226,   226,     1,
1924 <      60,   427,   428,   429,   226,     1,     6,     7,    12,    20,
1925 <      26,    29,    30,    35,    40,    41,    43,    44,    45,    47,
1926 <      54,    58,    59,    67,    76,    84,    86,    88,    90,    92,
1927 <      93,   105,   110,   111,   112,   114,   115,   116,   119,   145,
1928 <     151,   152,   153,   154,   155,   184,   208,   209,   211,   212,
1929 <     213,   217,   222,   437,   438,   439,   440,   441,   442,   443,
1930 <     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
1931 <     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
1932 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
1933 <     474,   475,   476,   477,   478,   479,   480,   481,   485,   489,
1934 <     490,   491,   226,   226,   226,     1,    94,   118,   238,   239,
1935 <     240,   241,   226,   226,   226,     1,    28,    36,    48,    49,
1936 <      51,    52,    53,    73,   508,   509,   510,   511,   512,   513,
1937 <     514,   515,   516,   517,     1,    24,    56,    63,    85,    89,
1938 <      97,   100,   101,   132,   149,   150,   175,   193,   194,   195,
1939 <     220,   221,   243,   244,   245,   246,   251,   252,   253,   254,
1940 <     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1941 <     265,   226,     1,   218,   279,   280,   281,   282,   283,     1,
1942 <      97,   371,   372,   373,   226,   224,   227,   227,   227,   225,
1943 <     268,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1944 <     227,   227,   227,   225,   494,     1,    15,    16,    19,    62,
1945 <      80,    81,    82,    83,    87,    91,    97,   108,   109,   120,
1946 <     142,   179,   313,   314,   315,   316,   317,   318,   319,   320,
1947 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1948 <       1,     3,     5,    17,    32,    55,    57,    62,    72,    97,
1949 <     121,   141,   167,   193,   220,   395,   396,   397,   398,   399,
1950 <     400,   401,   402,   403,   404,   405,   409,   410,   411,   412,
1951 <     413,     1,    60,   124,   422,   423,   424,   425,   227,   225,
1952 <     428,     1,    97,   124,   432,   433,   434,   435,   227,   227,
1953 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1954 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1955 <     227,   227,   227,   227,   486,   227,   482,   227,   227,   227,
1956 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1957 <     227,   227,   227,   227,   227,   225,   438,     1,    17,    32,
1958 <      62,   117,   125,   126,   146,   219,   350,   351,   352,   353,
1959 <     354,   355,   356,   360,   361,   362,     1,   124,   219,   416,
1960 <     417,   418,   419,     1,    55,    60,    62,   121,   336,   340,
1961 <     341,   342,   346,   347,   224,   227,   227,   225,   239,     1,
1962 <      75,   166,   274,   275,   276,   277,     1,    17,    32,    62,
1963 <      97,   117,   133,   167,   198,   219,   294,   295,   296,   297,
1964 <     298,   299,   300,   301,   302,   303,   307,     1,    34,    75,
1965 <     124,   365,   366,   367,   368,   369,   227,   227,   227,   227,
1966 <     227,   227,   227,   227,   225,   509,   224,   227,   227,   227,
1967 <     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
1968 <     227,   227,   227,   227,   225,   244,     1,    97,   215,   386,
1969 <     387,   388,   389,   224,   227,   225,   280,   166,   227,   225,
1970 <     372,     1,    97,   215,   219,   376,   377,   378,   379,   380,
1971 <     122,   122,   122,   224,   107,   107,   207,   107,   107,   234,
1972 <     234,   234,   107,   107,   107,   207,   207,   224,   224,   227,
1973 <     227,   227,   331,   227,   227,   227,   227,   227,   227,   227,
1974 <     227,   227,   227,   227,   227,   225,   314,   224,   227,   227,
1975 <     227,   227,   227,   227,   406,   227,   227,   227,   227,   227,
1976 <     227,   227,   225,   396,   227,   227,   225,   423,   122,   224,
1977 <     227,   227,   225,   433,   207,   234,   234,   107,   207,   107,
1978 <     122,   207,   234,   207,   107,   107,   234,   107,   207,   207,
1979 <     207,   234,   107,   107,   234,   107,   107,   107,   107,   207,
1980 <     227,   207,   227,   207,   234,   234,   207,   207,   207,   207,
1981 <     210,   207,   210,   207,   207,   122,   234,   207,   207,   234,
1982 <     234,   207,   207,   224,   224,   227,   227,   357,   227,   227,
1983 <     227,   227,   227,   225,   351,   227,   227,   225,   417,   224,
1984 <     227,   227,   337,   227,   225,   341,   122,   122,   224,   224,
1985 <     227,   227,   225,   275,   224,   227,   227,   308,   227,   227,
1986 <     227,   227,   304,   227,   225,   295,   224,   227,   227,   227,
1987 <     225,   366,   207,   207,   207,   122,   207,   207,   207,   234,
1988 <     224,   122,   207,   122,   107,   107,   122,   122,   122,   122,
1989 <     122,   122,   107,   122,   196,   197,   247,   248,   196,   197,
1990 <     249,   250,   122,   122,   224,   224,   227,   390,   225,   387,
1991 <     207,   224,   226,   122,   224,   224,   227,   381,   227,   225,
1992 <     377,   224,   224,   224,   224,   224,   224,   224,   134,   135,
1993 <     136,   137,   138,   139,   140,   233,   234,   224,   224,   224,
1994 <     224,   224,   224,   224,   224,   107,   107,   234,   227,   107,
1995 <     107,   234,   107,   107,   234,   122,   107,   107,   234,   107,
1996 <     236,   236,   224,   122,   171,   172,   122,   207,   122,   122,
1997 <     227,   122,   122,   107,   122,   122,   122,   122,   224,   122,
1998 <     122,   224,   224,   122,   122,   224,   224,   224,   224,   224,
1999 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2000 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2001 <     224,   224,    48,   157,   158,   159,   161,   162,   164,   165,
2002 <     168,   170,   173,   176,   177,   178,   180,   185,   189,   190,
2003 <     191,   199,   204,   487,   488,   224,    48,   157,   158,   159,
2004 <     161,   162,   164,   165,   168,   170,   173,   176,   177,   178,
2005 <     180,   185,   189,   190,   191,   199,   204,   483,   484,   224,
2006 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2007 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   122,
2008 <     207,   227,   122,   107,   122,   122,   122,   224,   122,   122,
2009 <     224,   122,   122,   227,   107,   344,   345,   224,   224,   224,
2010 <     122,   122,   224,   122,   207,   227,   122,   122,   122,   122,
2011 <     227,   122,   224,   122,   122,   122,   224,   224,   224,   224,
2012 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2013 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   228,
2014 <     224,   228,   224,   224,   122,   227,   224,   224,     1,    97,
2015 <     188,   215,   284,   285,   286,   287,   288,   224,   122,   227,
2016 <     122,   224,   233,   233,   233,   233,   233,   233,   233,   224,
2017 <     224,   224,    50,   123,   332,   333,   224,   224,   224,   224,
2018 <     224,   224,   224,   224,   224,   224,     9,    10,    11,   235,
2019 <     236,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2020 <       8,   192,   407,   408,   224,   224,   224,   224,   224,   224,
2021 <     224,   224,   224,   224,   224,   224,   228,   224,   228,   224,
2022 <     224,    13,    33,    42,    69,    98,    99,   106,   131,   147,
2023 <     206,   358,   359,   224,   224,   224,   224,   224,   224,   224,
2024 <     224,   224,    48,   182,   192,   338,   339,   214,   228,   343,
2025 <     224,   224,   224,   224,     4,    18,    25,    39,    66,    68,
2026 <      94,   127,   129,   148,   163,   169,   173,   178,   181,   186,
2027 <     200,   205,   216,   223,   309,   310,   224,   224,   224,   224,
2028 <      48,   157,   158,   159,   161,   162,   164,   165,   168,   170,
2029 <     173,   176,   177,   178,   180,   185,   189,   190,   191,   199,
2030 <     204,   305,   306,   224,   224,   224,   224,   248,   250,   224,
2031 <      68,   130,   156,   163,   173,   200,   202,   203,   216,   223,
2032 <     391,   392,   224,   227,   227,   289,   225,   285,   224,    68,
2033 <     130,   156,   163,   173,   200,   202,   203,   216,   223,   382,
2034 <     383,   224,   224,   228,   235,   235,   235,   224,   228,   488,
2035 <     484,   224,   228,   224,   228,   107,   345,   224,   229,   229,
2036 <     229,   224,   228,   224,   228,   224,   228,   122,   201,   236,
2037 <     227,   224,   224,   228,   333,   408,   359,   339,   128,   128,
2038 <     128,   310,   306,   392,   224,   224,   224,    39,    66,    68,
2039 <     113,   162,   163,   219,   290,   291,   383,   224,   228,   291
1913 >       0,   241,     0,     1,     4,    16,    20,    22,    29,    41,
1914 >      46,    47,    65,    69,    82,   103,   104,   118,   135,   147,
1915 >     148,   172,   185,   190,   195,   198,   242,   247,   252,   278,
1916 >     284,   290,   298,   312,   332,   355,   369,   384,   391,   395,
1917 >     405,   414,   435,   441,   447,   451,   457,   512,   526,   234,
1918 >     235,   236,   236,   333,   415,   442,   236,   452,   236,   370,
1919 >     436,   356,   236,   285,   313,   385,   236,   236,   406,   236,
1920 >     291,   236,   396,     1,    30,    38,   105,   279,   280,   281,
1921 >     282,   283,     1,    26,    27,    33,    61,    62,    63,    75,
1922 >      76,    77,    85,    86,   513,   514,   515,   516,   517,   518,
1923 >     519,   520,   521,   522,   523,   524,   525,   236,   236,   236,
1924 >       1,    64,   448,   449,   450,   236,     1,     6,     7,     9,
1925 >      10,    14,    24,    25,    32,    35,    36,    37,    42,    59,
1926 >      60,    70,    73,    74,    84,    90,    92,    94,    96,    99,
1927 >     100,   111,   116,   117,   119,   120,   121,   124,   149,   160,
1928 >     161,   162,   163,   164,   165,   166,   216,   217,   218,   220,
1929 >     221,   229,   231,   458,   459,   460,   461,   462,   463,   464,
1930 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1931 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1932 >     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1933 >     495,   496,   497,   498,   499,   500,   501,   505,   509,   510,
1934 >     511,   236,   236,   236,     1,   102,   123,   248,   249,   250,
1935 >     251,   236,   236,   236,     1,    34,    43,    44,    45,    48,
1936 >      49,    53,    54,    55,   527,   528,   529,   530,   531,   532,
1937 >     533,   534,   535,   536,   537,     1,    28,    30,    57,    67,
1938 >      79,    80,    81,    91,    95,   105,   108,   109,   137,   153,
1939 >     156,   157,   158,   204,   227,   228,   253,   254,   255,   256,
1940 >     257,   258,   259,   260,   261,   265,   266,   267,   268,   269,
1941 >     270,   271,   272,   273,   274,   275,   276,   277,   236,     1,
1942 >     225,   299,   300,   301,   302,   303,   236,     1,   105,   392,
1943 >     393,   394,   236,   234,   237,   237,   237,   235,   280,   237,
1944 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1945 >     235,   514,     1,    18,    19,    23,    66,    86,    87,    88,
1946 >      89,    93,    98,   105,   114,   115,   125,   146,   191,   334,
1947 >     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1948 >     345,   346,   347,   348,   349,   350,   351,     1,     3,     5,
1949 >      20,    39,    56,    58,    66,    78,   105,   126,   145,   154,
1950 >     204,   227,   416,   417,   418,   419,   420,   421,   422,   423,
1951 >     424,   425,   426,   430,   431,   432,   433,   434,     1,    64,
1952 >     129,   443,   444,   445,   446,   237,   235,   449,     1,   105,
1953 >     129,   453,   454,   455,   456,   237,   237,   237,   237,   237,
1954 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1955 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1956 >     506,   502,   237,   237,   237,   237,   237,   237,   237,   237,
1957 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1958 >     237,   235,   459,     1,    20,    39,    66,   122,   130,   131,
1959 >     150,   226,   371,   372,   373,   374,   375,   376,   377,   381,
1960 >     382,   383,     1,   129,   226,   437,   438,   439,   440,     1,
1961 >      56,    64,    66,   126,   357,   361,   362,   363,   367,   368,
1962 >     234,   237,   237,   235,   249,     1,    83,   178,   286,   287,
1963 >     288,   289,     1,    20,    39,    66,   105,   122,   154,   155,
1964 >     206,   226,   230,   314,   315,   316,   317,   318,   319,   320,
1965 >     321,   322,   323,   324,   328,     1,    41,    83,   129,   386,
1966 >     387,   388,   389,   390,   237,   237,   237,   237,   237,   237,
1967 >     237,   237,   237,   235,   528,   234,   237,   237,   237,   237,
1968 >     262,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1969 >     237,   237,   237,   237,   237,   237,   235,   254,     1,   105,
1970 >     223,   407,   408,   409,   410,   234,   237,   235,   300,   178,
1971 >       1,   105,   171,   189,   205,   292,   293,   294,   295,   296,
1972 >     297,   237,   235,   393,     1,   105,   223,   226,   397,   398,
1973 >     399,   400,   401,   127,   127,   127,   234,   113,   113,   244,
1974 >     215,   113,   244,   244,   113,   244,   244,   113,   113,   234,
1975 >     234,   237,   237,   237,   352,   237,   237,   237,   237,   237,
1976 >     237,   237,   237,   237,   237,   237,   237,   235,   335,   234,
1977 >     237,   237,   237,   237,   237,   237,   427,   237,   237,   237,
1978 >     237,   237,   237,   237,   235,   417,   237,   237,   235,   444,
1979 >     127,   234,   237,   237,   235,   454,   215,   244,   113,   244,
1980 >     244,   215,   113,   215,   113,   113,   113,   215,   215,   215,
1981 >     244,   113,   113,   113,   113,   244,   113,   113,   113,   113,
1982 >     215,   237,   237,   215,   244,   244,   215,   215,   215,   215,
1983 >     219,   215,   219,   215,   215,   215,   215,   113,   244,   215,
1984 >     244,   244,   215,   113,   234,   234,   237,   237,   378,   237,
1985 >     237,   237,   237,   237,   235,   372,   237,   237,   235,   438,
1986 >     234,   237,   237,   358,   237,   235,   362,   127,   127,   234,
1987 >     234,   237,   237,   235,   287,   234,   237,   237,   329,   237,
1988 >     237,   237,   237,   325,   237,   237,   235,   315,   234,   237,
1989 >     237,   237,   235,   387,   215,   215,   244,   127,   215,   127,
1990 >     215,   215,   215,   234,   113,   127,   215,   127,   237,   127,
1991 >     127,   113,   113,   127,   127,   127,   127,   127,   127,   127,
1992 >     127,   127,   127,   127,   234,   234,   237,   411,   235,   408,
1993 >     215,   234,   236,   234,   237,   237,   237,   237,   235,   293,
1994 >     127,   234,   234,   237,   402,   237,   235,   398,   234,   234,
1995 >     234,   234,   138,   139,   140,   141,   142,   143,   144,   243,
1996 >     244,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1997 >     234,   113,   113,   244,   237,   113,   113,   244,   113,   113,
1998 >     244,   127,   113,   113,   244,   113,   246,   246,   234,   127,
1999 >     182,   183,   127,   215,   127,   127,   237,   127,   127,   113,
2000 >     127,   127,   127,   127,   234,   127,   127,   234,   234,   127,
2001 >     127,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2002 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2003 >     234,   234,   234,   234,   234,   234,   234,    48,   168,   169,
2004 >     170,   173,   174,   176,   177,   179,   181,   184,   186,   187,
2005 >     192,   196,   200,   201,   202,   207,   212,   507,   508,    48,
2006 >      50,    51,   168,   169,   170,   173,   174,   176,   177,   179,
2007 >     181,   184,   186,   187,   192,   196,   200,   201,   202,   207,
2008 >     212,   503,   504,   234,   234,   234,   234,   234,   234,   234,
2009 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2010 >     234,   234,   234,   234,   127,   215,   237,   127,   113,   127,
2011 >     127,   127,   234,   127,   127,   234,   127,   127,   237,   113,
2012 >     365,   366,   234,   234,   234,   127,   127,   234,   127,   215,
2013 >     237,   127,   127,   127,   215,   237,   127,   127,   234,   127,
2014 >     127,   127,   234,   234,   234,   234,   234,   234,   234,   234,
2015 >     234,   234,   234,   234,   234,   234,    17,    97,   101,   159,
2016 >     263,   264,   234,   234,   234,   234,   234,   234,   234,   234,
2017 >     234,   234,   234,   234,   234,   234,   234,   127,   237,   234,
2018 >     234,     1,   105,   199,   223,   304,   305,   306,   307,   308,
2019 >     127,   127,   127,   127,   234,   234,   127,   237,   127,   234,
2020 >     243,   243,   243,   243,   243,   243,   243,   234,   234,   234,
2021 >      52,   128,   353,   354,   234,   234,   234,   234,   234,   234,
2022 >     234,   234,   234,   234,    11,    12,    13,   245,   246,   234,
2023 >     234,   234,   234,   234,   234,   234,   234,   234,     8,   203,
2024 >     428,   429,   234,   234,   234,   234,   234,   234,   234,   234,
2025 >     234,   234,   234,   234,   238,   234,   238,   234,   234,    15,
2026 >      40,    72,   106,   107,   112,   136,   151,   214,   233,   379,
2027 >     380,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2028 >      48,   194,   203,   359,   360,   222,   238,   364,   234,   234,
2029 >     234,   234,     4,    21,    22,    31,    68,    69,    71,   102,
2030 >     110,   132,   134,   135,   152,   175,   180,   184,   188,   193,
2031 >     197,   208,   210,   211,   213,   224,   232,   330,   331,   234,
2032 >     234,   234,   234,    48,    50,    51,   168,   169,   170,   173,
2033 >     174,   176,   177,   179,   181,   184,   186,   187,   192,   196,
2034 >     200,   201,   202,   207,   212,   326,   327,   234,   234,   234,
2035 >     234,   234,   234,   238,   234,    71,   135,   167,   175,   184,
2036 >     208,   210,   211,   224,   232,   412,   413,   234,   237,   237,
2037 >     309,   235,   305,   234,   234,   234,   234,   234,    71,   135,
2038 >     167,   175,   184,   208,   210,   211,   224,   232,   403,   404,
2039 >     234,   234,   238,   245,   245,   245,   234,   238,   508,   504,
2040 >     234,   238,   234,   238,   113,   366,   234,   239,   239,   239,
2041 >     239,   239,   239,   234,   238,   234,   238,   264,   234,   238,
2042 >     127,   209,   246,   237,   234,   234,   238,   354,   429,   380,
2043 >     360,   133,   135,   133,   135,   133,   133,   331,   327,   413,
2044 >     234,   234,   234,    69,    71,   118,   135,   174,   175,   226,
2045 >     232,   310,   311,   404,   234,   238,   311
2046   };
2047  
2048 < #define yyerrok         (yyerrstatus = 0)
2049 < #define yyclearin       (yychar = YYEMPTY)
2050 < #define YYEMPTY         (-2)
2051 < #define YYEOF           0
2052 <
2053 < #define YYACCEPT        goto yyacceptlab
2054 < #define YYABORT         goto yyabortlab
2055 < #define YYERROR         goto yyerrorlab
2056 <
2057 <
2058 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2059 <   to ease the transition to the new meaning of YYERROR, for GCC.
2060 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2061 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2062 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2063 <   discussed.  */
2064 <
2065 < #define YYFAIL          goto yyerrlab
2066 < #if defined YYFAIL
2067 <  /* This is here to suppress warnings from the GCC cpp's
2068 <     -Wunused-macros.  Normally we don't worry about that warning, but
2069 <     some users do, and we want to make it easy for users to remove
2070 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2071 < #endif
2048 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2049 > static const yytype_uint16 yyr1[] =
2050 > {
2051 >       0,   240,   241,   241,   242,   242,   242,   242,   242,   242,
2052 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2053 >     242,   242,   242,   242,   242,   242,   242,   242,   243,   243,
2054 >     244,   244,   244,   244,   244,   244,   244,   244,   245,   245,
2055 >     246,   246,   246,   246,   247,   248,   248,   249,   249,   249,
2056 >     250,   251,   252,   253,   253,   254,   254,   254,   254,   254,
2057 >     254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
2058 >     254,   254,   254,   254,   254,   254,   255,   256,   257,   258,
2059 >     259,   260,   262,   261,   263,   263,   264,   264,   264,   264,
2060 >     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2061 >     275,   276,   277,   278,   279,   279,   280,   280,   280,   280,
2062 >     281,   282,   283,   285,   284,   286,   286,   287,   287,   287,
2063 >     288,   289,   291,   290,   292,   292,   293,   293,   293,   293,
2064 >     293,   294,   295,   296,   297,   298,   299,   299,   300,   300,
2065 >     300,   301,   303,   302,   304,   304,   305,   305,   305,   305,
2066 >     306,   307,   307,   309,   308,   310,   310,   311,   311,   311,
2067 >     311,   311,   311,   311,   311,   313,   312,   314,   314,   315,
2068 >     315,   315,   315,   315,   315,   315,   315,   315,   315,   315,
2069 >     316,   317,   318,   319,   320,   321,   322,   323,   325,   324,
2070 >     326,   326,   327,   327,   327,   327,   327,   327,   327,   327,
2071 >     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
2072 >     327,   327,   327,   327,   329,   328,   330,   330,   331,   331,
2073 >     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
2074 >     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
2075 >     331,   331,   331,   331,   331,   331,   331,   333,   332,   334,
2076 >     334,   335,   335,   335,   335,   335,   335,   335,   335,   335,
2077 >     335,   335,   335,   335,   335,   335,   335,   335,   336,   337,
2078 >     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
2079 >     348,   349,   350,   352,   351,   353,   353,   354,   354,   356,
2080 >     355,   358,   357,   359,   359,   360,   360,   360,   361,   361,
2081 >     362,   362,   362,   362,   362,   364,   363,   365,   365,   366,
2082 >     366,   367,   368,   370,   369,   371,   371,   372,   372,   372,
2083 >     372,   372,   372,   372,   372,   372,   373,   374,   375,   376,
2084 >     378,   377,   379,   379,   380,   380,   380,   380,   380,   380,
2085 >     380,   380,   380,   380,   381,   382,   383,   385,   384,   386,
2086 >     386,   387,   387,   387,   387,   388,   389,   390,   391,   392,
2087 >     392,   393,   393,   394,   396,   395,   397,   397,   398,   398,
2088 >     398,   398,   399,   400,   402,   401,   403,   403,   404,   404,
2089 >     404,   404,   404,   404,   404,   404,   404,   404,   406,   405,
2090 >     407,   407,   408,   408,   408,   409,   411,   410,   412,   412,
2091 >     413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
2092 >     415,   414,   416,   416,   417,   417,   417,   417,   417,   417,
2093 >     417,   417,   417,   417,   417,   417,   417,   417,   417,   418,
2094 >     419,   420,   421,   422,   423,   424,   425,   425,   427,   426,
2095 >     428,   428,   429,   429,   430,   431,   432,   433,   434,   436,
2096 >     435,   437,   437,   438,   438,   438,   439,   440,   442,   441,
2097 >     443,   443,   444,   444,   444,   445,   446,   447,   448,   448,
2098 >     449,   449,   450,   452,   451,   453,   453,   454,   454,   454,
2099 >     455,   456,   457,   458,   458,   459,   459,   459,   459,   459,
2100 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2101 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2102 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2103 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2104 >     459,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2105 >     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
2106 >     478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
2107 >     487,   488,   488,   489,   490,   491,   492,   493,   494,   495,
2108 >     496,   497,   498,   499,   500,   502,   501,   503,   503,   504,
2109 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2110 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2111 >     504,   506,   505,   507,   507,   508,   508,   508,   508,   508,
2112 >     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
2113 >     508,   508,   508,   508,   508,   509,   510,   511,   512,   513,
2114 >     513,   514,   514,   514,   514,   514,   514,   514,   514,   514,
2115 >     514,   514,   514,   515,   516,   517,   518,   519,   520,   521,
2116 >     522,   523,   524,   525,   526,   527,   527,   528,   528,   528,
2117 >     528,   528,   528,   528,   528,   528,   528,   529,   530,   531,
2118 >     532,   533,   534,   535,   536,   537
2119 > };
2120 >
2121 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2122 > static const yytype_uint8 yyr2[] =
2123 > {
2124 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2125 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2126 >       1,     1,     1,     1,     1,     1,     2,     2,     0,     1,
2127 >       2,     3,     3,     3,     3,     3,     3,     3,     0,     1,
2128 >       2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2129 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2130 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2131 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2132 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2133 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2134 >       4,     4,     4,     5,     2,     1,     1,     1,     1,     2,
2135 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     2,
2136 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
2137 >       2,     4,     4,     4,     4,     5,     2,     1,     1,     1,
2138 >       2,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2139 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
2140 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2141 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
2142 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2143 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2144 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2145 >       1,     1,     1,     1,     0,     5,     3,     1,     3,     1,
2146 >       3,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2147 >       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2148 >       1,     1,     3,     3,     1,     1,     1,     0,     6,     2,
2149 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2150 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2151 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2152 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     0,
2153 >       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
2154 >       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
2155 >       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2156 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2157 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2158 >       1,     1,     1,     1,     4,     4,     4,     0,     6,     2,
2159 >       1,     1,     1,     1,     2,     4,     4,     4,     5,     2,
2160 >       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
2161 >       1,     2,     4,     4,     0,     5,     3,     1,     1,     1,
2162 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
2163 >       2,     1,     1,     1,     2,     4,     0,     5,     3,     1,
2164 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2165 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2166 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2167 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2168 >       3,     1,     1,     1,     4,     4,     4,     4,     4,     0,
2169 >       6,     2,     1,     1,     1,     1,     4,     4,     0,     6,
2170 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2171 >       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
2172 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2173 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2174 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2175 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2176 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2177 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2178 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2179 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2180 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2181 >       4,     4,     4,     4,     4,     0,     5,     3,     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,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2185 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2186 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
2187 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2188 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
2189 >       4,     4,     4,     4,     5,     2,     1,     1,     1,     1,
2190 >       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2191 >       4,     4,     4,     4,     4,     4
2192 > };
2193 >
2194 >
2195 > #define yyerrok         (yyerrstatus = 0)
2196 > #define yyclearin       (yychar = YYEMPTY)
2197 > #define YYEMPTY         (-2)
2198 > #define YYEOF           0
2199 >
2200 > #define YYACCEPT        goto yyacceptlab
2201 > #define YYABORT         goto yyabortlab
2202 > #define YYERROR         goto yyerrorlab
2203 >
2204  
2205   #define YYRECOVERING()  (!!yyerrstatus)
2206  
# Line 2439 | Line 2217 | do
2217    else                                                          \
2218      {                                                           \
2219        yyerror (YY_("syntax error: cannot back up")); \
2220 <      YYERROR;                                                  \
2221 <    }                                                           \
2222 < while (YYID (0))
2220 >      YYERROR;                                                  \
2221 >    }                                                           \
2222 > while (0)
2223  
2224   /* Error token number */
2225 < #define YYTERROR        1
2226 < #define YYERRCODE       256
2449 <
2225 > #define YYTERROR        1
2226 > #define YYERRCODE       256
2227  
2451 /* This macro is provided for backward compatibility. */
2452 #ifndef YY_LOCATION_PRINT
2453 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2454 #endif
2228  
2229  
2457 /* YYLEX -- calling `yylex' with the right arguments.  */
2458 #ifdef YYLEX_PARAM
2459 # define YYLEX yylex (YYLEX_PARAM)
2460 #else
2461 # define YYLEX yylex ()
2462 #endif
2463
2230   /* Enable debugging if requested.  */
2231   #if YYDEBUG
2232  
# Line 2469 | Line 2235 | while (YYID (0))
2235   #  define YYFPRINTF fprintf
2236   # endif
2237  
2238 < # define YYDPRINTF(Args)                        \
2239 < do {                                            \
2240 <  if (yydebug)                                  \
2241 <    YYFPRINTF Args;                             \
2242 < } while (YYID (0))
2243 <
2244 < # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2245 < do {                                                                      \
2246 <  if (yydebug)                                                            \
2247 <    {                                                                     \
2248 <      YYFPRINTF (stderr, "%s ", Title);                                   \
2483 <      yy_symbol_print (stderr,                                            \
2484 <                  Type, Value); \
2485 <      YYFPRINTF (stderr, "\n");                                           \
2486 <    }                                                                     \
2487 < } while (YYID (0))
2238 > # define YYDPRINTF(Args)                        \
2239 > do {                                            \
2240 >  if (yydebug)                                  \
2241 >    YYFPRINTF Args;                             \
2242 > } while (0)
2243 >
2244 > /* This macro is provided for backward compatibility. */
2245 > #ifndef YY_LOCATION_PRINT
2246 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2247 > #endif
2248 >
2249  
2250 + # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2251 + do {                                                                      \
2252 +  if (yydebug)                                                            \
2253 +    {                                                                     \
2254 +      YYFPRINTF (stderr, "%s ", Title);                                   \
2255 +      yy_symbol_print (stderr,                                            \
2256 +                  Type, Value); \
2257 +      YYFPRINTF (stderr, "\n");                                           \
2258 +    }                                                                     \
2259 + } while (0)
2260  
2490 /*--------------------------------.
2491 | Print this symbol on YYOUTPUT.  |
2492 `--------------------------------*/
2261  
2262 < /*ARGSUSED*/
2263 < #if (defined __STDC__ || defined __C99__FUNC__ \
2264 <     || defined __cplusplus || defined _MSC_VER)
2262 > /*----------------------------------------.
2263 > | Print this symbol's value on YYOUTPUT.  |
2264 > `----------------------------------------*/
2265 >
2266   static void
2267   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2499 #else
2500 static void
2501 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2502    FILE *yyoutput;
2503    int yytype;
2504    YYSTYPE const * const yyvaluep;
2505 #endif
2268   {
2269    FILE *yyo = yyoutput;
2270    YYUSE (yyo);
# Line 2511 | Line 2273 | yy_symbol_value_print (yyoutput, yytype,
2273   # ifdef YYPRINT
2274    if (yytype < YYNTOKENS)
2275      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2514 # else
2515  YYUSE (yyoutput);
2276   # endif
2277    YYUSE (yytype);
2278   }
# Line 2522 | Line 2282 | yy_symbol_value_print (yyoutput, yytype,
2282   | Print this symbol on YYOUTPUT.  |
2283   `--------------------------------*/
2284  
2525 #if (defined __STDC__ || defined __C99__FUNC__ \
2526     || defined __cplusplus || defined _MSC_VER)
2285   static void
2286   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2529 #else
2530 static void
2531 yy_symbol_print (yyoutput, yytype, yyvaluep)
2532    FILE *yyoutput;
2533    int yytype;
2534    YYSTYPE const * const yyvaluep;
2535 #endif
2287   {
2288 <  if (yytype < YYNTOKENS)
2289 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2539 <  else
2540 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2288 >  YYFPRINTF (yyoutput, "%s %s (",
2289 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2290  
2291    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2292    YYFPRINTF (yyoutput, ")");
# Line 2548 | Line 2297 | yy_symbol_print (yyoutput, yytype, yyval
2297   | TOP (included).                                                   |
2298   `------------------------------------------------------------------*/
2299  
2551 #if (defined __STDC__ || defined __C99__FUNC__ \
2552     || defined __cplusplus || defined _MSC_VER)
2300   static void
2301   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2555 #else
2556 static void
2557 yy_stack_print (yybottom, yytop)
2558    yytype_int16 *yybottom;
2559    yytype_int16 *yytop;
2560 #endif
2302   {
2303    YYFPRINTF (stderr, "Stack now");
2304    for (; yybottom <= yytop; yybottom++)
# Line 2568 | Line 2309 | yy_stack_print (yybottom, yytop)
2309    YYFPRINTF (stderr, "\n");
2310   }
2311  
2312 < # define YY_STACK_PRINT(Bottom, Top)                            \
2313 < do {                                                            \
2314 <  if (yydebug)                                                  \
2315 <    yy_stack_print ((Bottom), (Top));                           \
2316 < } while (YYID (0))
2312 > # define YY_STACK_PRINT(Bottom, Top)                            \
2313 > do {                                                            \
2314 >  if (yydebug)                                                  \
2315 >    yy_stack_print ((Bottom), (Top));                           \
2316 > } while (0)
2317  
2318  
2319   /*------------------------------------------------.
2320   | Report that the YYRULE is going to be reduced.  |
2321   `------------------------------------------------*/
2322  
2582 #if (defined __STDC__ || defined __C99__FUNC__ \
2583     || defined __cplusplus || defined _MSC_VER)
2584 static void
2585 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2586 #else
2323   static void
2324 < yy_reduce_print (yyvsp, yyrule)
2589 <    YYSTYPE *yyvsp;
2590 <    int yyrule;
2591 < #endif
2324 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2325   {
2326 +  unsigned long int yylno = yyrline[yyrule];
2327    int yynrhs = yyr2[yyrule];
2328    int yyi;
2595  unsigned long int yylno = yyrline[yyrule];
2329    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2330 <             yyrule - 1, yylno);
2330 >             yyrule - 1, yylno);
2331    /* The symbols being reduced.  */
2332    for (yyi = 0; yyi < yynrhs; yyi++)
2333      {
2334        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2335 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2336 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2337 <                                       );
2335 >      yy_symbol_print (stderr,
2336 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2337 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2338 >                                              );
2339        YYFPRINTF (stderr, "\n");
2340      }
2341   }
2342  
2343 < # define YY_REDUCE_PRINT(Rule)          \
2344 < do {                                    \
2345 <  if (yydebug)                          \
2346 <    yy_reduce_print (yyvsp, Rule); \
2347 < } while (YYID (0))
2343 > # define YY_REDUCE_PRINT(Rule)          \
2344 > do {                                    \
2345 >  if (yydebug)                          \
2346 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2347 > } while (0)
2348  
2349   /* Nonzero means print parse trace.  It is left uninitialized so that
2350     multiple parsers can coexist.  */
# Line 2624 | Line 2358 | int yydebug;
2358  
2359  
2360   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2361 < #ifndef YYINITDEPTH
2361 > #ifndef YYINITDEPTH
2362   # define YYINITDEPTH 200
2363   #endif
2364  
# Line 2647 | Line 2381 | int yydebug;
2381   #   define yystrlen strlen
2382   #  else
2383   /* Return the length of YYSTR.  */
2650 #if (defined __STDC__ || defined __C99__FUNC__ \
2651     || defined __cplusplus || defined _MSC_VER)
2384   static YYSIZE_T
2385   yystrlen (const char *yystr)
2654 #else
2655 static YYSIZE_T
2656 yystrlen (yystr)
2657    const char *yystr;
2658 #endif
2386   {
2387    YYSIZE_T yylen;
2388    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2671 | Line 2398 | yystrlen (yystr)
2398   #  else
2399   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2400     YYDEST.  */
2674 #if (defined __STDC__ || defined __C99__FUNC__ \
2675     || defined __cplusplus || defined _MSC_VER)
2401   static char *
2402   yystpcpy (char *yydest, const char *yysrc)
2678 #else
2679 static char *
2680 yystpcpy (yydest, yysrc)
2681    char *yydest;
2682    const char *yysrc;
2683 #endif
2403   {
2404    char *yyd = yydest;
2405    const char *yys = yysrc;
# Line 2710 | Line 2429 | yytnamerr (char *yyres, const char *yyst
2429        char const *yyp = yystr;
2430  
2431        for (;;)
2432 <        switch (*++yyp)
2433 <          {
2434 <          case '\'':
2435 <          case ',':
2436 <            goto do_not_strip_quotes;
2437 <
2438 <          case '\\':
2439 <            if (*++yyp != '\\')
2440 <              goto do_not_strip_quotes;
2441 <            /* Fall through.  */
2442 <          default:
2443 <            if (yyres)
2444 <              yyres[yyn] = *yyp;
2445 <            yyn++;
2446 <            break;
2447 <
2448 <          case '"':
2449 <            if (yyres)
2450 <              yyres[yyn] = '\0';
2451 <            return yyn;
2452 <          }
2432 >        switch (*++yyp)
2433 >          {
2434 >          case '\'':
2435 >          case ',':
2436 >            goto do_not_strip_quotes;
2437 >
2438 >          case '\\':
2439 >            if (*++yyp != '\\')
2440 >              goto do_not_strip_quotes;
2441 >            /* Fall through.  */
2442 >          default:
2443 >            if (yyres)
2444 >              yyres[yyn] = *yyp;
2445 >            yyn++;
2446 >            break;
2447 >
2448 >          case '"':
2449 >            if (yyres)
2450 >              yyres[yyn] = '\0';
2451 >            return yyn;
2452 >          }
2453      do_not_strip_quotes: ;
2454      }
2455  
# Line 2753 | Line 2472 | static int
2472   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2473                  yytype_int16 *yyssp, int yytoken)
2474   {
2475 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2475 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2476    YYSIZE_T yysize = yysize0;
2477    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2478    /* Internationalized format string. */
2479 <  const char *yyformat = YY_NULL;
2479 >  const char *yyformat = YY_NULLPTR;
2480    /* Arguments of yyformat. */
2481    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2482    /* Number of reported tokens (one for the "unexpected", one per
# Line 2765 | Line 2484 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2484    int yycount = 0;
2485  
2486    /* There are many possibilities here to consider:
2768     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2769       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2770       for details.  YYERROR is fine as it does not invoke this
2771       function.
2487       - If this state is a consistent state with a default action, then
2488         the only way this function was invoked is if the default action
2489         is an error action.  In that case, don't check for expected
# Line 2818 | Line 2533 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2533                    }
2534                  yyarg[yycount++] = yytname[yyx];
2535                  {
2536 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2536 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2537                    if (! (yysize <= yysize1
2538                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2539                      return 2;
# Line 2885 | Line 2600 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2600   | Release the memory associated to this symbol.  |
2601   `-----------------------------------------------*/
2602  
2888 /*ARGSUSED*/
2889 #if (defined __STDC__ || defined __C99__FUNC__ \
2890     || defined __cplusplus || defined _MSC_VER)
2603   static void
2604   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2893 #else
2894 static void
2895 yydestruct (yymsg, yytype, yyvaluep)
2896    const char *yymsg;
2897    int yytype;
2898    YYSTYPE *yyvaluep;
2899 #endif
2605   {
2606    YYUSE (yyvaluep);
2902
2607    if (!yymsg)
2608      yymsg = "Deleting";
2609    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2610  
2611 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2612    YYUSE (yytype);
2613 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
2614   }
2615  
2616  
# Line 2913 | Line 2619 | yydestruct (yymsg, yytype, yyvaluep)
2619   /* The lookahead symbol.  */
2620   int yychar;
2621  
2916
2917 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2918 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2919 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2920 #endif
2921 #ifndef YY_INITIAL_VALUE
2922 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2923 #endif
2924
2622   /* The semantic value of the lookahead symbol.  */
2623 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2927 <
2623 > YYSTYPE yylval;
2624   /* Number of syntax errors so far.  */
2625   int yynerrs;
2626  
# Line 2933 | Line 2629 | int yynerrs;
2629   | yyparse.  |
2630   `----------*/
2631  
2936 #ifdef YYPARSE_PARAM
2937 #if (defined __STDC__ || defined __C99__FUNC__ \
2938     || defined __cplusplus || defined _MSC_VER)
2939 int
2940 yyparse (void *YYPARSE_PARAM)
2941 #else
2942 int
2943 yyparse (YYPARSE_PARAM)
2944    void *YYPARSE_PARAM;
2945 #endif
2946 #else /* ! YYPARSE_PARAM */
2947 #if (defined __STDC__ || defined __C99__FUNC__ \
2948     || defined __cplusplus || defined _MSC_VER)
2632   int
2633   yyparse (void)
2951 #else
2952 int
2953 yyparse ()
2954
2955 #endif
2956 #endif
2634   {
2635      int yystate;
2636      /* Number of tokens to shift before error messages enabled.  */
2637      int yyerrstatus;
2638  
2639      /* The stacks and their tools:
2640 <       `yyss': related to states.
2641 <       `yyvs': related to semantic values.
2640 >       'yyss': related to states.
2641 >       'yyvs': related to semantic values.
2642  
2643         Refer to the stacks through separate pointers, to allow yyoverflow
2644         to reallocate them elsewhere.  */
# Line 3029 | Line 2706 | yyparse ()
2706  
2707   #ifdef yyoverflow
2708        {
2709 <        /* Give user a chance to reallocate the stack.  Use copies of
2710 <           these so that the &'s don't force the real ones into
2711 <           memory.  */
2712 <        YYSTYPE *yyvs1 = yyvs;
2713 <        yytype_int16 *yyss1 = yyss;
2714 <
2715 <        /* Each stack pointer address is followed by the size of the
2716 <           data in use in that stack, in bytes.  This used to be a
2717 <           conditional around just the two extra args, but that might
2718 <           be undefined if yyoverflow is a macro.  */
2719 <        yyoverflow (YY_("memory exhausted"),
2720 <                    &yyss1, yysize * sizeof (*yyssp),
2721 <                    &yyvs1, yysize * sizeof (*yyvsp),
2722 <                    &yystacksize);
2709 >        /* Give user a chance to reallocate the stack.  Use copies of
2710 >           these so that the &'s don't force the real ones into
2711 >           memory.  */
2712 >        YYSTYPE *yyvs1 = yyvs;
2713 >        yytype_int16 *yyss1 = yyss;
2714 >
2715 >        /* Each stack pointer address is followed by the size of the
2716 >           data in use in that stack, in bytes.  This used to be a
2717 >           conditional around just the two extra args, but that might
2718 >           be undefined if yyoverflow is a macro.  */
2719 >        yyoverflow (YY_("memory exhausted"),
2720 >                    &yyss1, yysize * sizeof (*yyssp),
2721 >                    &yyvs1, yysize * sizeof (*yyvsp),
2722 >                    &yystacksize);
2723  
2724 <        yyss = yyss1;
2725 <        yyvs = yyvs1;
2724 >        yyss = yyss1;
2725 >        yyvs = yyvs1;
2726        }
2727   #else /* no yyoverflow */
2728   # ifndef YYSTACK_RELOCATE
# Line 3053 | Line 2730 | yyparse ()
2730   # else
2731        /* Extend the stack our own way.  */
2732        if (YYMAXDEPTH <= yystacksize)
2733 <        goto yyexhaustedlab;
2733 >        goto yyexhaustedlab;
2734        yystacksize *= 2;
2735        if (YYMAXDEPTH < yystacksize)
2736 <        yystacksize = YYMAXDEPTH;
2736 >        yystacksize = YYMAXDEPTH;
2737  
2738        {
2739 <        yytype_int16 *yyss1 = yyss;
2740 <        union yyalloc *yyptr =
2741 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2742 <        if (! yyptr)
2743 <          goto yyexhaustedlab;
2744 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2745 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2739 >        yytype_int16 *yyss1 = yyss;
2740 >        union yyalloc *yyptr =
2741 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2742 >        if (! yyptr)
2743 >          goto yyexhaustedlab;
2744 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2745 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2746   #  undef YYSTACK_RELOCATE
2747 <        if (yyss1 != yyssa)
2748 <          YYSTACK_FREE (yyss1);
2747 >        if (yyss1 != yyssa)
2748 >          YYSTACK_FREE (yyss1);
2749        }
2750   # endif
2751   #endif /* no yyoverflow */
# Line 3077 | Line 2754 | yyparse ()
2754        yyvsp = yyvs + yysize - 1;
2755  
2756        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2757 <                  (unsigned long int) yystacksize));
2757 >                  (unsigned long int) yystacksize));
2758  
2759        if (yyss + yystacksize - 1 <= yyssp)
2760 <        YYABORT;
2760 >        YYABORT;
2761      }
2762  
2763    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3109 | Line 2786 | yybackup:
2786    if (yychar == YYEMPTY)
2787      {
2788        YYDPRINTF ((stderr, "Reading a token: "));
2789 <      yychar = YYLEX;
2789 >      yychar = yylex ();
2790      }
2791  
2792    if (yychar <= YYEOF)
# Line 3174 | Line 2851 | yyreduce:
2851    yylen = yyr2[yyn];
2852  
2853    /* If YYLEN is nonzero, implement the default value of the action:
2854 <     `$$ = $1'.
2854 >     '$$ = $1'.
2855  
2856       Otherwise, the following line sets YYVAL to garbage.
2857       This behavior is undocumented and Bison
# Line 3187 | Line 2864 | yyreduce:
2864    YY_REDUCE_PRINT (yyn);
2865    switch (yyn)
2866      {
2867 <        case 27:
2868 < /* Line 1787 of yacc.c  */
3192 < #line 397 "conf_parser.y"
2867 >        case 28:
2868 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2869      { (yyval.number) = 0; }
2870 <    break;
3195 <
3196 <  case 29:
3197 < /* Line 1787 of yacc.c  */
3198 < #line 399 "conf_parser.y"
3199 <    {
3200 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3201 <                }
2870 > #line 2871 "conf_parser.c" /* yacc.c:1646  */
2871      break;
2872  
2873    case 30:
2874 < /* Line 1787 of yacc.c  */
2875 < #line 403 "conf_parser.y"
2876 <    {
3208 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3209 <                }
2874 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2875 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2876 > #line 2877 "conf_parser.c" /* yacc.c:1646  */
2877      break;
2878  
2879    case 31:
2880 < /* Line 1787 of yacc.c  */
2881 < #line 407 "conf_parser.y"
2882 <    {
3216 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3217 <                }
2880 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2881 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2882 > #line 2883 "conf_parser.c" /* yacc.c:1646  */
2883      break;
2884  
2885    case 32:
2886 < /* Line 1787 of yacc.c  */
2887 < #line 411 "conf_parser.y"
2888 <    {
3224 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3225 <                }
2886 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2887 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2888 > #line 2889 "conf_parser.c" /* yacc.c:1646  */
2889      break;
2890  
2891    case 33:
2892 < /* Line 1787 of yacc.c  */
2893 < #line 415 "conf_parser.y"
2894 <    {
3232 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3233 <                }
2892 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2893 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2894 > #line 2895 "conf_parser.c" /* yacc.c:1646  */
2895      break;
2896  
2897    case 34:
2898 < /* Line 1787 of yacc.c  */
2899 < #line 419 "conf_parser.y"
2900 <    {
3240 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3241 <                }
2898 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2899 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2900 > #line 2901 "conf_parser.c" /* yacc.c:1646  */
2901      break;
2902  
2903    case 35:
2904 < /* Line 1787 of yacc.c  */
2905 < #line 423 "conf_parser.y"
2906 <    {
3248 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3249 <                }
2904 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2905 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2906 > #line 2907 "conf_parser.c" /* yacc.c:1646  */
2907      break;
2908  
2909    case 36:
2910 < /* Line 1787 of yacc.c  */
2911 < #line 427 "conf_parser.y"
2912 <    {
3256 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3257 <                }
2910 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2911 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2912 > #line 2913 "conf_parser.c" /* yacc.c:1646  */
2913      break;
2914  
2915    case 37:
2916 < /* Line 1787 of yacc.c  */
2917 < #line 432 "conf_parser.y"
2918 <    { (yyval.number) = 0; }
2916 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2917 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2918 > #line 2919 "conf_parser.c" /* yacc.c:1646  */
2919      break;
2920  
2921 <  case 39:
2922 < /* Line 1787 of yacc.c  */
2923 < #line 433 "conf_parser.y"
2924 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2921 >  case 38:
2922 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2923 >    { (yyval.number) = 0; }
2924 > #line 2925 "conf_parser.c" /* yacc.c:1646  */
2925      break;
2926  
2927    case 40:
2928 < /* Line 1787 of yacc.c  */
2929 < #line 434 "conf_parser.y"
2930 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2928 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2929 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2930 > #line 2931 "conf_parser.c" /* yacc.c:1646  */
2931      break;
2932  
2933    case 41:
2934 < /* Line 1787 of yacc.c  */
2935 < #line 435 "conf_parser.y"
2936 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2934 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2935 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2936 > #line 2937 "conf_parser.c" /* yacc.c:1646  */
2937      break;
2938  
2939    case 42:
2940 < /* Line 1787 of yacc.c  */
2941 < #line 436 "conf_parser.y"
2942 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2940 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2941 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2942 > #line 2943 "conf_parser.c" /* yacc.c:1646  */
2943 >    break;
2944 >
2945 >  case 43:
2946 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2947 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2948 > #line 2949 "conf_parser.c" /* yacc.c:1646  */
2949      break;
2950  
2951 <  case 49:
2952 < /* Line 1787 of yacc.c  */
3292 < #line 450 "conf_parser.y"
2951 >  case 50:
2952 > #line 437 "conf_parser.y" /* yacc.c:1646  */
2953      {
2954    if (conf_parser_ctx.pass == 2)
2955      add_conf_module(libio_basename(yylval.string));
2956   }
2957 + #line 2958 "conf_parser.c" /* yacc.c:1646  */
2958      break;
2959  
2960 <  case 50:
2961 < /* Line 1787 of yacc.c  */
3301 < #line 456 "conf_parser.y"
2960 >  case 51:
2961 > #line 443 "conf_parser.y" /* yacc.c:1646  */
2962      {
2963    if (conf_parser_ctx.pass == 2)
2964      mod_add_path(yylval.string);
2965   }
2966 + #line 2967 "conf_parser.c" /* yacc.c:1646  */
2967      break;
2968  
2969    case 76:
2970 < /* Line 1787 of yacc.c  */
3310 < #line 482 "conf_parser.y"
2970 > #line 479 "conf_parser.y" /* yacc.c:1646  */
2971      {
2972 < #ifdef HAVE_LIBCRYPTO
2973 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2974 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2975 < #endif
2972 >  if (conf_parser_ctx.pass == 2)
2973 >  {
2974 >    xfree(ConfigServerInfo.ssl_certificate_file);
2975 >    ConfigServerInfo.ssl_certificate_file = xstrdup(yylval.string);
2976 >  }
2977   }
2978 + #line 2979 "conf_parser.c" /* yacc.c:1646  */
2979      break;
2980  
2981    case 77:
2982 < /* Line 1787 of yacc.c  */
3321 < #line 488 "conf_parser.y"
2982 > #line 488 "conf_parser.y" /* yacc.c:1646  */
2983      {
2984 < #ifdef HAVE_LIBCRYPTO
2985 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
2986 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2987 < #endif
2984 >  if (conf_parser_ctx.pass == 2)
2985 >  {
2986 >    xfree(ConfigServerInfo.rsa_private_key_file);
2987 >    ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
2988 >  }
2989   }
2990 + #line 2991 "conf_parser.c" /* yacc.c:1646  */
2991      break;
2992  
2993 <  case 80:
2994 < /* Line 1787 of yacc.c  */
3332 < #line 497 "conf_parser.y"
2993 >  case 78:
2994 > #line 497 "conf_parser.y" /* yacc.c:1646  */
2995      {
2996 < #ifdef HAVE_LIBCRYPTO
2997 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2998 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2999 < #endif
2996 >  if (conf_parser_ctx.pass == 2)
2997 >  {
2998 >    xfree(ConfigServerInfo.ssl_dh_param_file);
2999 >    ConfigServerInfo.ssl_dh_param_file = xstrdup(yylval.string);
3000 >  }
3001   }
3002 + #line 3003 "conf_parser.c" /* yacc.c:1646  */
3003      break;
3004  
3005 <  case 81:
3006 < /* Line 1787 of yacc.c  */
3343 < #line 503 "conf_parser.y"
3005 >  case 79:
3006 > #line 506 "conf_parser.y" /* yacc.c:1646  */
3007      {
3008 < #ifdef HAVE_LIBCRYPTO
3009 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3010 <    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3011 < #endif
3008 >  if (conf_parser_ctx.pass == 2)
3009 >  {
3010 >    xfree(ConfigServerInfo.ssl_cipher_list);
3011 >    ConfigServerInfo.ssl_cipher_list = xstrdup(yylval.string);
3012 >  }
3013   }
3014 + #line 3015 "conf_parser.c" /* yacc.c:1646  */
3015      break;
3016  
3017 <  case 82:
3018 < /* Line 1787 of yacc.c  */
3354 < #line 511 "conf_parser.y"
3017 >  case 80:
3018 > #line 515 "conf_parser.y" /* yacc.c:1646  */
3019      {
3020 < #ifdef HAVE_LIBCRYPTO
3357 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3020 >  if (conf_parser_ctx.pass == 2)
3021    {
3022 <    if (!ServerInfo.rsa_private_key_file)
3023 <    {
3361 <      conf_error_report("No rsa_private_key_file specified, SSL disabled");
3362 <      break;
3363 <    }
3364 <
3365 <    if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3366 <                                     SSL_FILETYPE_PEM) <= 0 ||
3367 <        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3368 <                                     SSL_FILETYPE_PEM) <= 0)
3369 <    {
3370 <      report_crypto_errors();
3371 <      conf_error_report("Could not open/read certificate file");
3372 <      break;
3373 <    }
3374 <
3375 <    if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3376 <                                    SSL_FILETYPE_PEM) <= 0 ||
3377 <        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3378 <                                    SSL_FILETYPE_PEM) <= 0)
3379 <    {
3380 <      report_crypto_errors();
3381 <      conf_error_report("Could not read RSA private key");
3382 <      break;
3383 <    }
3384 <
3385 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3386 <        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3387 <    {
3388 <      report_crypto_errors();
3389 <      conf_error_report("Could not read RSA private key");
3390 <      break;
3391 <    }
3022 >    xfree(ConfigServerInfo.ssl_message_digest_algorithm);
3023 >    ConfigServerInfo.ssl_message_digest_algorithm = xstrdup(yylval.string);
3024    }
3393 #endif
3025   }
3026 + #line 3027 "conf_parser.c" /* yacc.c:1646  */
3027      break;
3028  
3029 <  case 83:
3030 < /* Line 1787 of yacc.c  */
3399 < #line 553 "conf_parser.y"
3029 >  case 81:
3030 > #line 524 "conf_parser.y" /* yacc.c:1646  */
3031      {
3032 < #ifdef HAVE_LIBCRYPTO
3402 <  BIO *file = NULL;
3403 <
3404 <  if (conf_parser_ctx.pass != 1)
3405 <    break;
3406 <
3407 <  if (ServerInfo.rsa_private_key)
3408 <  {
3409 <    RSA_free(ServerInfo.rsa_private_key);
3410 <    ServerInfo.rsa_private_key = NULL;
3411 <  }
3412 <
3413 <  if (ServerInfo.rsa_private_key_file)
3032 >  if (conf_parser_ctx.pass == 2)
3033    {
3034 <    MyFree(ServerInfo.rsa_private_key_file);
3035 <    ServerInfo.rsa_private_key_file = NULL;
3034 >    xfree(ConfigServerInfo.ssl_dh_elliptic_curve);
3035 >    ConfigServerInfo.ssl_dh_elliptic_curve = xstrdup(yylval.string);
3036    }
3037 <
3038 <  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3420 <
3421 <  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3422 <  {
3423 <    conf_error_report("File open failed, ignoring");
3037 > }
3038 > #line 3039 "conf_parser.c" /* yacc.c:1646  */
3039      break;
3425  }
3040  
3041 <  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3042 <
3043 <  BIO_set_close(file, BIO_CLOSE);
3044 <  BIO_free(file);
3045 <
3046 <  if (ServerInfo.rsa_private_key == NULL)
3047 <  {
3434 <    conf_error_report("Couldn't extract key, ignoring");
3041 >  case 82:
3042 > #line 533 "conf_parser.y" /* yacc.c:1646  */
3043 >    {
3044 >  if (conf_parser_ctx.pass == 1)
3045 >    ConfigServerInfo.libgeoip_database_options = 0;
3046 > }
3047 > #line 3048 "conf_parser.c" /* yacc.c:1646  */
3048      break;
3436  }
3437
3438  if (!RSA_check_key(ServerInfo.rsa_private_key))
3439  {
3440    RSA_free(ServerInfo.rsa_private_key);
3441    ServerInfo.rsa_private_key = NULL;
3049  
3050 <    conf_error_report("Invalid key, ignoring");
3050 >  case 86:
3051 > #line 540 "conf_parser.y" /* yacc.c:1646  */
3052 >    {
3053 > #ifdef HAVE_LIBGEOIP
3054 >  if (conf_parser_ctx.pass == 1)
3055 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_STANDARD;
3056 > #endif
3057 > }
3058 > #line 3059 "conf_parser.c" /* yacc.c:1646  */
3059      break;
3445  }
3446
3447  /* require 2048 bit (256 byte) key */
3448  if (RSA_size(ServerInfo.rsa_private_key) != 256)
3449  {
3450    RSA_free(ServerInfo.rsa_private_key);
3451    ServerInfo.rsa_private_key = NULL;
3060  
3061 <    conf_error_report("Not a 2048 bit key, ignoring");
3062 <  }
3061 >  case 87:
3062 > #line 546 "conf_parser.y" /* yacc.c:1646  */
3063 >    {
3064 > #ifdef HAVE_LIBGEOIP
3065 >  if (conf_parser_ctx.pass == 1)
3066 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MEMORY_CACHE;
3067   #endif
3068   }
3069 + #line 3070 "conf_parser.c" /* yacc.c:1646  */
3070      break;
3071  
3072 <  case 84:
3073 < /* Line 1787 of yacc.c  */
3461 < #line 612 "conf_parser.y"
3072 >  case 88:
3073 > #line 552 "conf_parser.y" /* yacc.c:1646  */
3074      {
3075 < /* TBD - XXX: error reporting */
3076 < #ifdef HAVE_LIBCRYPTO
3077 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3078 <  {
3079 <    BIO *file = BIO_new_file(yylval.string, "r");
3075 > #ifdef HAVE_LIBGEOIP
3076 >  if (conf_parser_ctx.pass == 1)
3077 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MMAP_CACHE;
3078 > #endif
3079 > }
3080 > #line 3081 "conf_parser.c" /* yacc.c:1646  */
3081 >    break;
3082  
3083 <    if (file)
3083 >  case 89:
3084 > #line 558 "conf_parser.y" /* yacc.c:1646  */
3085      {
3086 <      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3087 <
3088 <      BIO_free(file);
3086 > #ifdef HAVE_LIBGEOIP
3087 >  if (conf_parser_ctx.pass == 1)
3088 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_CHECK_CACHE;
3089 > #endif
3090 > }
3091 > #line 3092 "conf_parser.c" /* yacc.c:1646  */
3092 >    break;
3093  
3094 <      if (dh)
3095 <      {
3096 <        if (DH_size(dh) < 128)
3097 <          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3098 <        else
3099 <          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3094 >  case 90:
3095 > #line 566 "conf_parser.y" /* yacc.c:1646  */
3096 >    {
3097 >  if (conf_parser_ctx.pass == 2)
3098 >  {
3099 >    xfree(ConfigServerInfo.libgeoip_ipv4_database_file);
3100 >    ConfigServerInfo.libgeoip_ipv4_database_file = xstrdup(yylval.string);
3101  
3102 <        DH_free(dh);
3103 <      }
3104 <    }
3105 <  }
3102 > #ifdef HAVE_LIBGEOIP
3103 >    if (GeoIPv4_ctx)
3104 >      GeoIP_delete(GeoIPv4_ctx);
3105 >    GeoIPv4_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3106   #endif
3107 +  }
3108   }
3109 + #line 3110 "conf_parser.c" /* yacc.c:1646  */
3110      break;
3111  
3112 <  case 85:
3113 < /* Line 1787 of yacc.c  */
3114 < #line 640 "conf_parser.y"
3115 <    {
3116 < #ifdef HAVE_LIBCRYPTO
3117 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3118 <    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3112 >  case 91:
3113 > #line 581 "conf_parser.y" /* yacc.c:1646  */
3114 >    {
3115 >  if (conf_parser_ctx.pass == 2)
3116 >  {
3117 >    xfree(ConfigServerInfo.libgeoip_ipv6_database_file);
3118 >    ConfigServerInfo.libgeoip_ipv6_database_file = xstrdup(yylval.string);
3119 >
3120 > #ifdef HAVE_LIBGEOIP
3121 >    if (GeoIPv6_ctx)
3122 >      GeoIP_delete(GeoIPv6_ctx);
3123 >    GeoIPv6_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3124   #endif
3125 +  }
3126   }
3127 + #line 3128 "conf_parser.c" /* yacc.c:1646  */
3128      break;
3129  
3130 <  case 86:
3131 < /* Line 1787 of yacc.c  */
3503 < #line 648 "conf_parser.y"
3130 >  case 92:
3131 > #line 596 "conf_parser.y" /* yacc.c:1646  */
3132      {
3133 <  /* this isn't rehashable */
3134 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3133 >  /* This isn't rehashable */
3134 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3135    {
3136      if (valid_servname(yylval.string))
3137 <      ServerInfo.name = xstrdup(yylval.string);
3137 >      ConfigServerInfo.name = xstrdup(yylval.string);
3138      else
3139      {
3140        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3141 <      exit(0);
3141 >      exit(EXIT_FAILURE);
3142      }
3143    }
3144   }
3145 + #line 3146 "conf_parser.c" /* yacc.c:1646  */
3146      break;
3147  
3148 <  case 87:
3149 < /* Line 1787 of yacc.c  */
3521 < #line 663 "conf_parser.y"
3148 >  case 93:
3149 > #line 611 "conf_parser.y" /* yacc.c:1646  */
3150      {
3151 <  /* this isn't rehashable */
3152 <  if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3151 >  /* This isn't rehashable */
3152 >  if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3153    {
3154      if (valid_sid(yylval.string))
3155 <      ServerInfo.sid = xstrdup(yylval.string);
3155 >      ConfigServerInfo.sid = xstrdup(yylval.string);
3156      else
3157      {
3158        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3159 <      exit(0);
3159 >      exit(EXIT_FAILURE);
3160      }
3161    }
3162   }
3163 + #line 3164 "conf_parser.c" /* yacc.c:1646  */
3164      break;
3165  
3166 <  case 88:
3167 < /* Line 1787 of yacc.c  */
3539 < #line 678 "conf_parser.y"
3166 >  case 94:
3167 > #line 626 "conf_parser.y" /* yacc.c:1646  */
3168      {
3169    if (conf_parser_ctx.pass == 2)
3170    {
3171 <    MyFree(ServerInfo.description);
3172 <    ServerInfo.description = xstrdup(yylval.string);
3171 >    xfree(ConfigServerInfo.description);
3172 >    ConfigServerInfo.description = xstrdup(yylval.string);
3173 >    strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3174    }
3175   }
3176 + #line 3177 "conf_parser.c" /* yacc.c:1646  */
3177      break;
3178  
3179 <  case 89:
3180 < /* Line 1787 of yacc.c  */
3551 < #line 687 "conf_parser.y"
3179 >  case 95:
3180 > #line 636 "conf_parser.y" /* yacc.c:1646  */
3181      {
3182    if (conf_parser_ctx.pass == 2)
3183    {
3184      char *p;
3185  
3186 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3187 <      p = '\0';
3186 >    if ((p = strchr(yylval.string, ' ')))
3187 >      *p = '\0';
3188  
3189 <    MyFree(ServerInfo.network_name);
3190 <    ServerInfo.network_name = xstrdup(yylval.string);
3189 >    xfree(ConfigServerInfo.network_name);
3190 >    ConfigServerInfo.network_name = xstrdup(yylval.string);
3191    }
3192   }
3193 + #line 3194 "conf_parser.c" /* yacc.c:1646  */
3194      break;
3195  
3196 <  case 90:
3197 < /* Line 1787 of yacc.c  */
3568 < #line 701 "conf_parser.y"
3196 >  case 96:
3197 > #line 650 "conf_parser.y" /* yacc.c:1646  */
3198      {
3199    if (conf_parser_ctx.pass != 2)
3200      break;
3201  
3202 <  MyFree(ServerInfo.network_desc);
3203 <  ServerInfo.network_desc = xstrdup(yylval.string);
3202 >  xfree(ConfigServerInfo.network_desc);
3203 >  ConfigServerInfo.network_desc = xstrdup(yylval.string);
3204   }
3205 + #line 3206 "conf_parser.c" /* yacc.c:1646  */
3206      break;
3207  
3208 <  case 91:
3209 < /* Line 1787 of yacc.c  */
3580 < #line 710 "conf_parser.y"
3208 >  case 97:
3209 > #line 659 "conf_parser.y" /* yacc.c:1646  */
3210      {
3211    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3212    {
# Line 3593 | Line 3222 | yyreduce:
3222        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3223      else
3224      {
3225 <      assert(res != NULL);
3225 >      assert(res);
3226  
3227 <      memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3228 <      ServerInfo.ip.ss.ss_family = res->ai_family;
3229 <      ServerInfo.ip.ss_len = res->ai_addrlen;
3227 >      memcpy(&ConfigServerInfo.ip, res->ai_addr, res->ai_addrlen);
3228 >      ConfigServerInfo.ip.ss.ss_family = res->ai_family;
3229 >      ConfigServerInfo.ip.ss_len = res->ai_addrlen;
3230        freeaddrinfo(res);
3231  
3232 <      ServerInfo.specific_ipv4_vhost = 1;
3232 >      ConfigServerInfo.specific_ipv4_vhost = 1;
3233      }
3234    }
3235   }
3236 + #line 3237 "conf_parser.c" /* yacc.c:1646  */
3237      break;
3238  
3239 <  case 92:
3240 < /* Line 1787 of yacc.c  */
3611 < #line 738 "conf_parser.y"
3239 >  case 98:
3240 > #line 687 "conf_parser.y" /* yacc.c:1646  */
3241      {
3613 #ifdef IPV6
3242    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3243    {
3244      struct addrinfo hints, *res;
# Line 3625 | Line 3253 | yyreduce:
3253        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3254      else
3255      {
3256 <      assert(res != NULL);
3256 >      assert(res);
3257  
3258 <      memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3259 <      ServerInfo.ip6.ss.ss_family = res->ai_family;
3260 <      ServerInfo.ip6.ss_len = res->ai_addrlen;
3258 >      memcpy(&ConfigServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3259 >      ConfigServerInfo.ip6.ss.ss_family = res->ai_family;
3260 >      ConfigServerInfo.ip6.ss_len = res->ai_addrlen;
3261        freeaddrinfo(res);
3262  
3263 <      ServerInfo.specific_ipv6_vhost = 1;
3263 >      ConfigServerInfo.specific_ipv6_vhost = 1;
3264      }
3265    }
3638 #endif
3266   }
3267 + #line 3268 "conf_parser.c" /* yacc.c:1646  */
3268      break;
3269  
3270 <  case 93:
3271 < /* Line 1787 of yacc.c  */
3644 < #line 768 "conf_parser.y"
3270 >  case 99:
3271 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3272      {
3273    if (conf_parser_ctx.pass != 2)
3274      break;
3275  
3276 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3276 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3277    {
3278 <    char buf[IRCD_BUFSIZE];
3278 >    char buf[IRCD_BUFSIZE] = "";
3279  
3280      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3281      conf_error_report(buf);
3282 <    ServerInfo.max_clients = MAXCLIENTS_MIN;
3282 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MIN;
3283    }
3284 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3284 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3285    {
3286 <    char buf[IRCD_BUFSIZE];
3286 >    char buf[IRCD_BUFSIZE] = "";
3287  
3288      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3289      conf_error_report(buf);
3290 <    ServerInfo.max_clients = MAXCLIENTS_MAX;
3290 >    ConfigServerInfo.default_max_clients = MAXCLIENTS_MAX;
3291    }
3292    else
3293 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3293 >    ConfigServerInfo.default_max_clients = (yyvsp[-1].number);
3294   }
3295 + #line 3296 "conf_parser.c" /* yacc.c:1646  */
3296      break;
3297  
3298 <  case 94:
3299 < /* Line 1787 of yacc.c  */
3672 < #line 793 "conf_parser.y"
3298 >  case 100:
3299 > #line 740 "conf_parser.y" /* yacc.c:1646  */
3300      {
3301    if (conf_parser_ctx.pass != 2)
3302      break;
3303  
3304 <  if ((yyvsp[(3) - (4)].number) < 9)
3304 >  if ((yyvsp[-1].number) < 9)
3305    {
3306      conf_error_report("max_nick_length too low, setting to 9");
3307 <    ServerInfo.max_nick_length = 9;
3307 >    ConfigServerInfo.max_nick_length = 9;
3308    }
3309 <  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3309 >  else if ((yyvsp[-1].number) > NICKLEN)
3310    {
3311 <    char buf[IRCD_BUFSIZE];
3311 >    char buf[IRCD_BUFSIZE] = "";
3312  
3313      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3314      conf_error_report(buf);
3315 <    ServerInfo.max_nick_length = NICKLEN;
3315 >    ConfigServerInfo.max_nick_length = NICKLEN;
3316    }
3317    else
3318 <    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3318 >    ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3319   }
3320 + #line 3321 "conf_parser.c" /* yacc.c:1646  */
3321      break;
3322  
3323 <  case 95:
3324 < /* Line 1787 of yacc.c  */
3697 < #line 815 "conf_parser.y"
3323 >  case 101:
3324 > #line 762 "conf_parser.y" /* yacc.c:1646  */
3325      {
3326    if (conf_parser_ctx.pass != 2)
3327      break;
3328  
3329 <  if ((yyvsp[(3) - (4)].number) < 80)
3329 >  if ((yyvsp[-1].number) < 80)
3330    {
3331      conf_error_report("max_topic_length too low, setting to 80");
3332 <    ServerInfo.max_topic_length = 80;
3332 >    ConfigServerInfo.max_topic_length = 80;
3333    }
3334 <  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3334 >  else if ((yyvsp[-1].number) > TOPICLEN)
3335    {
3336 <    char buf[IRCD_BUFSIZE];
3336 >    char buf[IRCD_BUFSIZE] = "";
3337  
3338      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3339      conf_error_report(buf);
3340 <    ServerInfo.max_topic_length = TOPICLEN;
3340 >    ConfigServerInfo.max_topic_length = TOPICLEN;
3341    }
3342    else
3343 <    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3343 >    ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3344   }
3345 + #line 3346 "conf_parser.c" /* yacc.c:1646  */
3346      break;
3347  
3348 <  case 96:
3349 < /* Line 1787 of yacc.c  */
3722 < #line 837 "conf_parser.y"
3348 >  case 102:
3349 > #line 784 "conf_parser.y" /* yacc.c:1646  */
3350      {
3351    if (conf_parser_ctx.pass == 2)
3352 <    ServerInfo.hub = yylval.number;
3352 >    ConfigServerInfo.hub = yylval.number;
3353   }
3354 + #line 3355 "conf_parser.c" /* yacc.c:1646  */
3355      break;
3356  
3357 <  case 104:
3358 < /* Line 1787 of yacc.c  */
3731 < #line 852 "conf_parser.y"
3357 >  case 110:
3358 > #line 802 "conf_parser.y" /* yacc.c:1646  */
3359      {
3360    if (conf_parser_ctx.pass != 2)
3361      break;
3362  
3363 <  MyFree(AdminInfo.name);
3364 <  AdminInfo.name = xstrdup(yylval.string);
3363 >  xfree(ConfigAdminInfo.name);
3364 >  ConfigAdminInfo.name = xstrdup(yylval.string);
3365   }
3366 + #line 3367 "conf_parser.c" /* yacc.c:1646  */
3367      break;
3368  
3369 <  case 105:
3370 < /* Line 1787 of yacc.c  */
3743 < #line 861 "conf_parser.y"
3369 >  case 111:
3370 > #line 811 "conf_parser.y" /* yacc.c:1646  */
3371      {
3372    if (conf_parser_ctx.pass != 2)
3373      break;
3374  
3375 <  MyFree(AdminInfo.email);
3376 <  AdminInfo.email = xstrdup(yylval.string);
3375 >  xfree(ConfigAdminInfo.email);
3376 >  ConfigAdminInfo.email = xstrdup(yylval.string);
3377   }
3378 + #line 3379 "conf_parser.c" /* yacc.c:1646  */
3379      break;
3380  
3381 <  case 106:
3382 < /* Line 1787 of yacc.c  */
3755 < #line 870 "conf_parser.y"
3381 >  case 112:
3382 > #line 820 "conf_parser.y" /* yacc.c:1646  */
3383      {
3384    if (conf_parser_ctx.pass != 2)
3385      break;
3386  
3387 <  MyFree(AdminInfo.description);
3388 <  AdminInfo.description = xstrdup(yylval.string);
3387 >  xfree(ConfigAdminInfo.description);
3388 >  ConfigAdminInfo.description = xstrdup(yylval.string);
3389   }
3390 + #line 3391 "conf_parser.c" /* yacc.c:1646  */
3391      break;
3392  
3393 <  case 107:
3394 < /* Line 1787 of yacc.c  */
3767 < #line 882 "conf_parser.y"
3393 >  case 113:
3394 > #line 833 "conf_parser.y" /* yacc.c:1646  */
3395      {
3396    if (conf_parser_ctx.pass == 2)
3397      reset_block_state();
3398   }
3399 + #line 3400 "conf_parser.c" /* yacc.c:1646  */
3400      break;
3401  
3402 <  case 108:
3403 < /* Line 1787 of yacc.c  */
3776 < #line 886 "conf_parser.y"
3402 >  case 114:
3403 > #line 837 "conf_parser.y" /* yacc.c:1646  */
3404      {
3405 <  dlink_node *ptr = NULL;
3405 >  dlink_node *node = NULL;
3406  
3407    if (conf_parser_ctx.pass != 2)
3408      break;
# Line 3783 | Line 3410 | yyreduce:
3410    if (!block_state.file.buf[0])
3411      break;
3412  
3413 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3414 <    motd_add(ptr->data, block_state.file.buf);
3413 >  DLINK_FOREACH(node, block_state.mask.list.head)
3414 >    motd_add(node->data, block_state.file.buf);
3415   }
3416 + #line 3417 "conf_parser.c" /* yacc.c:1646  */
3417      break;
3418  
3419 <  case 114:
3420 < /* Line 1787 of yacc.c  */
3793 < #line 903 "conf_parser.y"
3419 >  case 120:
3420 > #line 854 "conf_parser.y" /* yacc.c:1646  */
3421      {
3422    if (conf_parser_ctx.pass == 2)
3423      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3424   }
3425 + #line 3426 "conf_parser.c" /* yacc.c:1646  */
3426      break;
3427  
3428 <  case 115:
3429 < /* Line 1787 of yacc.c  */
3802 < #line 909 "conf_parser.y"
3428 >  case 121:
3429 > #line 860 "conf_parser.y" /* yacc.c:1646  */
3430      {
3431    if (conf_parser_ctx.pass == 2)
3432      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3433   }
3434 + #line 3435 "conf_parser.c" /* yacc.c:1646  */
3435      break;
3436  
3437    case 122:
3438 < /* Line 1787 of yacc.c  */
3811 < #line 924 "conf_parser.y"
3438 > #line 870 "conf_parser.y" /* yacc.c:1646  */
3439      {
3440    if (conf_parser_ctx.pass == 2)
3441 <    ConfigLoggingEntry.use_logging = yylval.number;
3441 >    reset_block_state();
3442   }
3443 + #line 3444 "conf_parser.c" /* yacc.c:1646  */
3444      break;
3445  
3446    case 123:
3447 < /* Line 1787 of yacc.c  */
3448 < #line 930 "conf_parser.y"
3447 > #line 874 "conf_parser.y" /* yacc.c:1646  */
3448 >    {
3449 >  if (conf_parser_ctx.pass != 2)
3450 >    break;
3451 >
3452 >  if (!block_state.command.buf[0] ||
3453 >      !block_state.name.buf[0] ||
3454 >      !block_state.nick.buf[0] ||
3455 >      !block_state.host.buf[0])
3456 >    break;
3457 >
3458 >  pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3459 >                  block_state.prepend.buf, block_state.command.buf);
3460 > }
3461 > #line 3462 "conf_parser.c" /* yacc.c:1646  */
3462 >    break;
3463 >
3464 >  case 131:
3465 > #line 892 "conf_parser.y" /* yacc.c:1646  */
3466 >    {
3467 >  if (conf_parser_ctx.pass == 2)
3468 >    strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3469 > }
3470 > #line 3471 "conf_parser.c" /* yacc.c:1646  */
3471 >    break;
3472 >
3473 >  case 132:
3474 > #line 898 "conf_parser.y" /* yacc.c:1646  */
3475 >    {
3476 >  if (conf_parser_ctx.pass == 2)
3477 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3478 > }
3479 > #line 3480 "conf_parser.c" /* yacc.c:1646  */
3480 >    break;
3481 >
3482 >  case 133:
3483 > #line 904 "conf_parser.y" /* yacc.c:1646  */
3484 >    {
3485 >  if (conf_parser_ctx.pass == 2)
3486 >    strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3487 > }
3488 > #line 3489 "conf_parser.c" /* yacc.c:1646  */
3489 >    break;
3490 >
3491 >  case 134:
3492 > #line 910 "conf_parser.y" /* yacc.c:1646  */
3493 >    {
3494 >  if (conf_parser_ctx.pass == 2)
3495 >  {
3496 >    struct split_nuh_item nuh;
3497 >
3498 >    nuh.nuhmask  = yylval.string;
3499 >    nuh.nickptr  = NULL;
3500 >    nuh.userptr  = block_state.nick.buf;
3501 >    nuh.hostptr  = block_state.host.buf;
3502 >    nuh.nicksize = 0;
3503 >    nuh.usersize = sizeof(block_state.nick.buf);
3504 >    nuh.hostsize = sizeof(block_state.host.buf);
3505 >
3506 >    split_nuh(&nuh);
3507 >  }
3508 > }
3509 > #line 3510 "conf_parser.c" /* yacc.c:1646  */
3510 >    break;
3511 >
3512 >  case 141:
3513 > #line 938 "conf_parser.y" /* yacc.c:1646  */
3514 >    {
3515 >  if (conf_parser_ctx.pass == 2)
3516 >    ConfigLog.use_logging = yylval.number;
3517 > }
3518 > #line 3519 "conf_parser.c" /* yacc.c:1646  */
3519 >    break;
3520 >
3521 >  case 142:
3522 > #line 944 "conf_parser.y" /* yacc.c:1646  */
3523      {
3524    if (conf_parser_ctx.pass == 2)
3525      reset_block_state();
3526   }
3527 + #line 3528 "conf_parser.c" /* yacc.c:1646  */
3528      break;
3529  
3530 <  case 124:
3531 < /* Line 1787 of yacc.c  */
3829 < #line 934 "conf_parser.y"
3530 >  case 143:
3531 > #line 948 "conf_parser.y" /* yacc.c:1646  */
3532      {
3533    if (conf_parser_ctx.pass != 2)
3534      break;
# Line 3835 | Line 3537 | yyreduce:
3537      log_set_file(block_state.type.value, block_state.size.value,
3538                   block_state.file.buf);
3539   }
3540 + #line 3541 "conf_parser.c" /* yacc.c:1646  */
3541      break;
3542  
3543 <  case 131:
3544 < /* Line 1787 of yacc.c  */
3842 < #line 950 "conf_parser.y"
3543 >  case 150:
3544 > #line 964 "conf_parser.y" /* yacc.c:1646  */
3545      {
3546    if (conf_parser_ctx.pass != 2)
3547      break;
3548  
3549    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3550   }
3551 + #line 3552 "conf_parser.c" /* yacc.c:1646  */
3552      break;
3553  
3554 <  case 132:
3555 < /* Line 1787 of yacc.c  */
3853 < #line 958 "conf_parser.y"
3554 >  case 151:
3555 > #line 972 "conf_parser.y" /* yacc.c:1646  */
3556      {
3557 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3557 >  block_state.size.value = (yyvsp[-1].number);
3558   }
3559 + #line 3560 "conf_parser.c" /* yacc.c:1646  */
3560      break;
3561  
3562 <  case 133:
3563 < /* Line 1787 of yacc.c  */
3861 < #line 961 "conf_parser.y"
3562 >  case 152:
3563 > #line 975 "conf_parser.y" /* yacc.c:1646  */
3564      {
3565    block_state.size.value = 0;
3566   }
3567 + #line 3568 "conf_parser.c" /* yacc.c:1646  */
3568      break;
3569  
3570 <  case 134:
3571 < /* Line 1787 of yacc.c  */
3869 < #line 966 "conf_parser.y"
3570 >  case 153:
3571 > #line 980 "conf_parser.y" /* yacc.c:1646  */
3572      {
3573    if (conf_parser_ctx.pass == 2)
3574      block_state.type.value = 0;
3575   }
3576 + #line 3577 "conf_parser.c" /* yacc.c:1646  */
3577      break;
3578  
3579 <  case 138:
3580 < /* Line 1787 of yacc.c  */
3878 < #line 973 "conf_parser.y"
3579 >  case 157:
3580 > #line 987 "conf_parser.y" /* yacc.c:1646  */
3581      {
3582    if (conf_parser_ctx.pass == 2)
3583      block_state.type.value = LOG_TYPE_USER;
3584   }
3585 + #line 3586 "conf_parser.c" /* yacc.c:1646  */
3586      break;
3587  
3588 <  case 139:
3589 < /* Line 1787 of yacc.c  */
3887 < #line 977 "conf_parser.y"
3588 >  case 158:
3589 > #line 991 "conf_parser.y" /* yacc.c:1646  */
3590      {
3591    if (conf_parser_ctx.pass == 2)
3592      block_state.type.value = LOG_TYPE_OPER;
3593   }
3594 + #line 3595 "conf_parser.c" /* yacc.c:1646  */
3595      break;
3596  
3597 <  case 140:
3598 < /* Line 1787 of yacc.c  */
3896 < #line 981 "conf_parser.y"
3597 >  case 159:
3598 > #line 995 "conf_parser.y" /* yacc.c:1646  */
3599      {
3600    if (conf_parser_ctx.pass == 2)
3601 <    block_state.type.value = LOG_TYPE_GLINE;
3601 >    block_state.type.value = LOG_TYPE_XLINE;
3602   }
3603 + #line 3604 "conf_parser.c" /* yacc.c:1646  */
3604      break;
3605  
3606 <  case 141:
3607 < /* Line 1787 of yacc.c  */
3608 < #line 985 "conf_parser.y"
3606 >  case 160:
3607 > #line 999 "conf_parser.y" /* yacc.c:1646  */
3608 >    {
3609 >  if (conf_parser_ctx.pass == 2)
3610 >    block_state.type.value = LOG_TYPE_RESV;
3611 > }
3612 > #line 3613 "conf_parser.c" /* yacc.c:1646  */
3613 >    break;
3614 >
3615 >  case 161:
3616 > #line 1003 "conf_parser.y" /* yacc.c:1646  */
3617      {
3618    if (conf_parser_ctx.pass == 2)
3619      block_state.type.value = LOG_TYPE_DLINE;
3620   }
3621 + #line 3622 "conf_parser.c" /* yacc.c:1646  */
3622      break;
3623  
3624 <  case 142:
3625 < /* Line 1787 of yacc.c  */
3914 < #line 989 "conf_parser.y"
3624 >  case 162:
3625 > #line 1007 "conf_parser.y" /* yacc.c:1646  */
3626      {
3627    if (conf_parser_ctx.pass == 2)
3628      block_state.type.value = LOG_TYPE_KLINE;
3629   }
3630 + #line 3631 "conf_parser.c" /* yacc.c:1646  */
3631      break;
3632  
3633 <  case 143:
3634 < /* Line 1787 of yacc.c  */
3923 < #line 993 "conf_parser.y"
3633 >  case 163:
3634 > #line 1011 "conf_parser.y" /* yacc.c:1646  */
3635      {
3636    if (conf_parser_ctx.pass == 2)
3637      block_state.type.value = LOG_TYPE_KILL;
3638   }
3639 + #line 3640 "conf_parser.c" /* yacc.c:1646  */
3640      break;
3641  
3642 <  case 144:
3643 < /* Line 1787 of yacc.c  */
3932 < #line 997 "conf_parser.y"
3642 >  case 164:
3643 > #line 1015 "conf_parser.y" /* yacc.c:1646  */
3644      {
3645    if (conf_parser_ctx.pass == 2)
3646      block_state.type.value = LOG_TYPE_DEBUG;
3647   }
3648 + #line 3649 "conf_parser.c" /* yacc.c:1646  */
3649      break;
3650  
3651 <  case 145:
3652 < /* Line 1787 of yacc.c  */
3941 < #line 1007 "conf_parser.y"
3651 >  case 165:
3652 > #line 1025 "conf_parser.y" /* yacc.c:1646  */
3653      {
3654    if (conf_parser_ctx.pass != 2)
3655      break;
# Line 3946 | Line 3657 | yyreduce:
3657    reset_block_state();
3658    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3659   }
3660 + #line 3661 "conf_parser.c" /* yacc.c:1646  */
3661      break;
3662  
3663 <  case 146:
3664 < /* Line 1787 of yacc.c  */
3953 < #line 1014 "conf_parser.y"
3663 >  case 166:
3664 > #line 1032 "conf_parser.y" /* yacc.c:1646  */
3665      {
3666 <  dlink_node *ptr = NULL;
3666 >  dlink_node *node = NULL;
3667  
3668    if (conf_parser_ctx.pass != 2)
3669      break;
3670  
3671    if (!block_state.name.buf[0])
3672      break;
3673 < #ifdef HAVE_LIBCRYPTO
3963 <  if (!block_state.file.buf[0] &&
3964 <      !block_state.rpass.buf[0])
3965 <    break;
3966 < #else
3673 >
3674    if (!block_state.rpass.buf[0])
3675      break;
3969 #endif
3676  
3677 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
3677 >  DLINK_FOREACH(node, block_state.mask.list.head)
3678    {
3679      struct MaskItem *conf = NULL;
3680      struct split_nuh_item nuh;
3681 +    char *s = node->data;
3682  
3683 <    nuh.nuhmask  = ptr->data;
3683 >    if (EmptyString(s))
3684 >      continue;
3685 >
3686 >    nuh.nuhmask  = s;
3687      nuh.nickptr  = NULL;
3688      nuh.userptr  = block_state.user.buf;
3689      nuh.hostptr  = block_state.host.buf;
# Line 3993 | Line 3703 | yyreduce:
3703      if (block_state.rpass.buf[0])
3704        conf->passwd = xstrdup(block_state.rpass.buf);
3705  
3706 +    if (block_state.whois.buf[0])
3707 +      conf->whois = xstrdup(block_state.whois.buf);
3708 +
3709      conf->flags = block_state.flags.value;
3710      conf->modes = block_state.modes.value;
3711      conf->port  = block_state.port.value;
3712      conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3713  
3714      conf_add_class_to_conf(conf, block_state.class.buf);
4002
4003 #ifdef HAVE_LIBCRYPTO
4004    if (block_state.file.buf[0])
4005    {
4006      BIO *file = NULL;
4007      RSA *pkey = NULL;
4008
4009      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
4010      {
4011        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
4012        break;
4013      }
4014
4015      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
4016        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
4017
4018      conf->rsa_public_key = pkey;
4019      BIO_set_close(file, BIO_CLOSE);
4020      BIO_free(file);
4021    }
4022 #endif /* HAVE_LIBCRYPTO */
3715    }
3716   }
3717 + #line 3718 "conf_parser.c" /* yacc.c:1646  */
3718      break;
3719  
3720 <  case 159:
3721 < /* Line 1787 of yacc.c  */
4029 < #line 1093 "conf_parser.y"
3720 >  case 180:
3721 > #line 1099 "conf_parser.y" /* yacc.c:1646  */
3722      {
3723    if (conf_parser_ctx.pass == 2)
3724      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3725   }
3726 + #line 3727 "conf_parser.c" /* yacc.c:1646  */
3727      break;
3728  
3729 <  case 160:
3730 < /* Line 1787 of yacc.c  */
4038 < #line 1099 "conf_parser.y"
3729 >  case 181:
3730 > #line 1105 "conf_parser.y" /* yacc.c:1646  */
3731      {
3732    if (conf_parser_ctx.pass == 2)
3733      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3734   }
3735 + #line 3736 "conf_parser.c" /* yacc.c:1646  */
3736      break;
3737  
3738 <  case 161:
3739 < /* Line 1787 of yacc.c  */
4047 < #line 1105 "conf_parser.y"
3738 >  case 182:
3739 > #line 1111 "conf_parser.y" /* yacc.c:1646  */
3740      {
3741    if (conf_parser_ctx.pass == 2)
3742      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3743   }
3744 + #line 3745 "conf_parser.c" /* yacc.c:1646  */
3745      break;
3746  
3747 <  case 162:
3748 < /* Line 1787 of yacc.c  */
3749 < #line 1111 "conf_parser.y"
3747 >  case 183:
3748 > #line 1117 "conf_parser.y" /* yacc.c:1646  */
3749 >    {
3750 >  if (conf_parser_ctx.pass == 2)
3751 >    strlcpy(block_state.whois.buf, yylval.string, sizeof(block_state.whois.buf));
3752 > }
3753 > #line 3754 "conf_parser.c" /* yacc.c:1646  */
3754 >    break;
3755 >
3756 >  case 184:
3757 > #line 1123 "conf_parser.y" /* yacc.c:1646  */
3758      {
3759    if (conf_parser_ctx.pass != 2)
3760      break;
# Line 4063 | Line 3764 | yyreduce:
3764    else
3765      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3766   }
3767 + #line 3768 "conf_parser.c" /* yacc.c:1646  */
3768      break;
3769  
3770 <  case 163:
3771 < /* Line 1787 of yacc.c  */
4070 < #line 1122 "conf_parser.y"
3770 >  case 185:
3771 > #line 1134 "conf_parser.y" /* yacc.c:1646  */
3772      {
3773    if (conf_parser_ctx.pass == 2)
3774 <    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3774 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3775   }
3776 + #line 3777 "conf_parser.c" /* yacc.c:1646  */
3777      break;
3778  
3779 <  case 164:
3780 < /* Line 1787 of yacc.c  */
4079 < #line 1128 "conf_parser.y"
3779 >  case 186:
3780 > #line 1140 "conf_parser.y" /* yacc.c:1646  */
3781      {
3782 <  if (conf_parser_ctx.pass == 2)
3783 <    if (strlen(yylval.string) == SHA_DIGEST_LENGTH * 2)
3784 <      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3782 >  if (conf_parser_ctx.pass != 2)
3783 >    break;
3784 >
3785 >  if (yylval.number)
3786 >    block_state.flags.value |= CONF_FLAGS_SSL;
3787 >  else
3788 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3789   }
3790 + #line 3791 "conf_parser.c" /* yacc.c:1646  */
3791      break;
3792  
3793 <  case 165:
3794 < /* Line 1787 of yacc.c  */
4089 < #line 1135 "conf_parser.y"
3793 >  case 187:
3794 > #line 1151 "conf_parser.y" /* yacc.c:1646  */
3795      {
3796    if (conf_parser_ctx.pass == 2)
3797      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3798   }
3799 + #line 3800 "conf_parser.c" /* yacc.c:1646  */
3800      break;
3801  
3802 <  case 166:
3803 < /* Line 1787 of yacc.c  */
4098 < #line 1141 "conf_parser.y"
3802 >  case 188:
3803 > #line 1157 "conf_parser.y" /* yacc.c:1646  */
3804      {
3805    if (conf_parser_ctx.pass == 2)
3806      block_state.modes.value = 0;
3807   }
3808 + #line 3809 "conf_parser.c" /* yacc.c:1646  */
3809      break;
3810  
3811 <  case 170:
3812 < /* Line 1787 of yacc.c  */
4107 < #line 1148 "conf_parser.y"
3811 >  case 192:
3812 > #line 1164 "conf_parser.y" /* yacc.c:1646  */
3813      {
3814    if (conf_parser_ctx.pass == 2)
3815      block_state.modes.value |= UMODE_BOTS;
3816   }
3817 + #line 3818 "conf_parser.c" /* yacc.c:1646  */
3818      break;
3819  
3820 <  case 171:
3821 < /* Line 1787 of yacc.c  */
4116 < #line 1152 "conf_parser.y"
3820 >  case 193:
3821 > #line 1168 "conf_parser.y" /* yacc.c:1646  */
3822      {
3823    if (conf_parser_ctx.pass == 2)
3824      block_state.modes.value |= UMODE_CCONN;
3825   }
3826 + #line 3827 "conf_parser.c" /* yacc.c:1646  */
3827      break;
3828  
3829 <  case 172:
3830 < /* Line 1787 of yacc.c  */
4125 < #line 1156 "conf_parser.y"
3829 >  case 194:
3830 > #line 1172 "conf_parser.y" /* yacc.c:1646  */
3831      {
3832    if (conf_parser_ctx.pass == 2)
3833      block_state.modes.value |= UMODE_DEAF;
3834   }
3835 + #line 3836 "conf_parser.c" /* yacc.c:1646  */
3836      break;
3837  
3838 <  case 173:
3839 < /* Line 1787 of yacc.c  */
4134 < #line 1160 "conf_parser.y"
3838 >  case 195:
3839 > #line 1176 "conf_parser.y" /* yacc.c:1646  */
3840      {
3841    if (conf_parser_ctx.pass == 2)
3842      block_state.modes.value |= UMODE_DEBUG;
3843   }
3844 + #line 3845 "conf_parser.c" /* yacc.c:1646  */
3845      break;
3846  
3847 <  case 174:
3848 < /* Line 1787 of yacc.c  */
4143 < #line 1164 "conf_parser.y"
3847 >  case 196:
3848 > #line 1180 "conf_parser.y" /* yacc.c:1646  */
3849      {
3850    if (conf_parser_ctx.pass == 2)
3851      block_state.modes.value |= UMODE_FULL;
3852   }
3853 + #line 3854 "conf_parser.c" /* yacc.c:1646  */
3854      break;
3855  
3856 <  case 175:
3857 < /* Line 1787 of yacc.c  */
4152 < #line 1168 "conf_parser.y"
3856 >  case 197:
3857 > #line 1184 "conf_parser.y" /* yacc.c:1646  */
3858      {
3859    if (conf_parser_ctx.pass == 2)
3860      block_state.modes.value |= UMODE_HIDDEN;
3861   }
3862 + #line 3863 "conf_parser.c" /* yacc.c:1646  */
3863 +    break;
3864 +
3865 +  case 198:
3866 + #line 1188 "conf_parser.y" /* yacc.c:1646  */
3867 +    {
3868 +  if (conf_parser_ctx.pass == 2)
3869 +    block_state.modes.value |= UMODE_HIDECHANS;
3870 + }
3871 + #line 3872 "conf_parser.c" /* yacc.c:1646  */
3872      break;
3873  
3874 <  case 176:
3875 < /* Line 1787 of yacc.c  */
3876 < #line 1172 "conf_parser.y"
3874 >  case 199:
3875 > #line 1192 "conf_parser.y" /* yacc.c:1646  */
3876 >    {
3877 >  if (conf_parser_ctx.pass == 2)
3878 >    block_state.modes.value |= UMODE_HIDEIDLE;
3879 > }
3880 > #line 3881 "conf_parser.c" /* yacc.c:1646  */
3881 >    break;
3882 >
3883 >  case 200:
3884 > #line 1196 "conf_parser.y" /* yacc.c:1646  */
3885      {
3886    if (conf_parser_ctx.pass == 2)
3887      block_state.modes.value |= UMODE_SKILL;
3888   }
3889 + #line 3890 "conf_parser.c" /* yacc.c:1646  */
3890      break;
3891  
3892 <  case 177:
3893 < /* Line 1787 of yacc.c  */
4170 < #line 1176 "conf_parser.y"
3892 >  case 201:
3893 > #line 1200 "conf_parser.y" /* yacc.c:1646  */
3894      {
3895    if (conf_parser_ctx.pass == 2)
3896      block_state.modes.value |= UMODE_NCHANGE;
3897   }
3898 + #line 3899 "conf_parser.c" /* yacc.c:1646  */
3899      break;
3900  
3901 <  case 178:
3902 < /* Line 1787 of yacc.c  */
4179 < #line 1180 "conf_parser.y"
3901 >  case 202:
3902 > #line 1204 "conf_parser.y" /* yacc.c:1646  */
3903      {
3904    if (conf_parser_ctx.pass == 2)
3905      block_state.modes.value |= UMODE_REJ;
3906   }
3907 + #line 3908 "conf_parser.c" /* yacc.c:1646  */
3908      break;
3909  
3910 <  case 179:
3911 < /* Line 1787 of yacc.c  */
4188 < #line 1184 "conf_parser.y"
3910 >  case 203:
3911 > #line 1208 "conf_parser.y" /* yacc.c:1646  */
3912      {
3913    if (conf_parser_ctx.pass == 2)
3914      block_state.modes.value |= UMODE_UNAUTH;
3915   }
3916 + #line 3917 "conf_parser.c" /* yacc.c:1646  */
3917      break;
3918  
3919 <  case 180:
3920 < /* Line 1787 of yacc.c  */
4197 < #line 1188 "conf_parser.y"
3919 >  case 204:
3920 > #line 1212 "conf_parser.y" /* yacc.c:1646  */
3921      {
3922    if (conf_parser_ctx.pass == 2)
3923      block_state.modes.value |= UMODE_SPY;
3924   }
3925 + #line 3926 "conf_parser.c" /* yacc.c:1646  */
3926      break;
3927  
3928 <  case 181:
3929 < /* Line 1787 of yacc.c  */
4206 < #line 1192 "conf_parser.y"
3928 >  case 205:
3929 > #line 1216 "conf_parser.y" /* yacc.c:1646  */
3930      {
3931    if (conf_parser_ctx.pass == 2)
3932      block_state.modes.value |= UMODE_EXTERNAL;
3933   }
3934 + #line 3935 "conf_parser.c" /* yacc.c:1646  */
3935      break;
3936  
3937 <  case 182:
3938 < /* Line 1787 of yacc.c  */
4215 < #line 1196 "conf_parser.y"
4216 <    {
4217 <  if (conf_parser_ctx.pass == 2)
4218 <    block_state.modes.value |= UMODE_OPERWALL;
4219 < }
4220 <    break;
4221 <
4222 <  case 183:
4223 < /* Line 1787 of yacc.c  */
4224 < #line 1200 "conf_parser.y"
3937 >  case 206:
3938 > #line 1220 "conf_parser.y" /* yacc.c:1646  */
3939      {
3940    if (conf_parser_ctx.pass == 2)
3941      block_state.modes.value |= UMODE_SERVNOTICE;
3942   }
3943 + #line 3944 "conf_parser.c" /* yacc.c:1646  */
3944      break;
3945  
3946 <  case 184:
3947 < /* Line 1787 of yacc.c  */
4233 < #line 1204 "conf_parser.y"
3946 >  case 207:
3947 > #line 1224 "conf_parser.y" /* yacc.c:1646  */
3948      {
3949    if (conf_parser_ctx.pass == 2)
3950      block_state.modes.value |= UMODE_INVISIBLE;
3951   }
3952 + #line 3953 "conf_parser.c" /* yacc.c:1646  */
3953      break;
3954  
3955 <  case 185:
3956 < /* Line 1787 of yacc.c  */
4242 < #line 1208 "conf_parser.y"
3955 >  case 208:
3956 > #line 1228 "conf_parser.y" /* yacc.c:1646  */
3957      {
3958    if (conf_parser_ctx.pass == 2)
3959      block_state.modes.value |= UMODE_WALLOP;
3960   }
3961 + #line 3962 "conf_parser.c" /* yacc.c:1646  */
3962      break;
3963  
3964 <  case 186:
3965 < /* Line 1787 of yacc.c  */
4251 < #line 1212 "conf_parser.y"
3964 >  case 209:
3965 > #line 1232 "conf_parser.y" /* yacc.c:1646  */
3966      {
3967    if (conf_parser_ctx.pass == 2)
3968      block_state.modes.value |= UMODE_SOFTCALLERID;
3969   }
3970 + #line 3971 "conf_parser.c" /* yacc.c:1646  */
3971      break;
3972  
3973 <  case 187:
3974 < /* Line 1787 of yacc.c  */
4260 < #line 1216 "conf_parser.y"
3973 >  case 210:
3974 > #line 1236 "conf_parser.y" /* yacc.c:1646  */
3975      {
3976    if (conf_parser_ctx.pass == 2)
3977      block_state.modes.value |= UMODE_CALLERID;
3978   }
3979 + #line 3980 "conf_parser.c" /* yacc.c:1646  */
3980      break;
3981  
3982 <  case 188:
3983 < /* Line 1787 of yacc.c  */
4269 < #line 1220 "conf_parser.y"
3982 >  case 211:
3983 > #line 1240 "conf_parser.y" /* yacc.c:1646  */
3984      {
3985    if (conf_parser_ctx.pass == 2)
3986      block_state.modes.value |= UMODE_LOCOPS;
3987   }
3988 + #line 3989 "conf_parser.c" /* yacc.c:1646  */
3989      break;
3990  
3991 <  case 189:
3992 < /* Line 1787 of yacc.c  */
4278 < #line 1224 "conf_parser.y"
3991 >  case 212:
3992 > #line 1244 "conf_parser.y" /* yacc.c:1646  */
3993      {
3994    if (conf_parser_ctx.pass == 2)
3995      block_state.modes.value |= UMODE_REGONLY;
3996   }
3997 + #line 3998 "conf_parser.c" /* yacc.c:1646  */
3998      break;
3999  
4000 <  case 190:
4001 < /* Line 1787 of yacc.c  */
4287 < #line 1228 "conf_parser.y"
4000 >  case 213:
4001 > #line 1248 "conf_parser.y" /* yacc.c:1646  */
4002      {
4003    if (conf_parser_ctx.pass == 2)
4004      block_state.modes.value |= UMODE_FARCONNECT;
4005   }
4006 + #line 4007 "conf_parser.c" /* yacc.c:1646  */
4007      break;
4008  
4009 <  case 191:
4010 < /* Line 1787 of yacc.c  */
4296 < #line 1234 "conf_parser.y"
4009 >  case 214:
4010 > #line 1254 "conf_parser.y" /* yacc.c:1646  */
4011      {
4012    if (conf_parser_ctx.pass == 2)
4013      block_state.port.value = 0;
4014   }
4015 + #line 4016 "conf_parser.c" /* yacc.c:1646  */
4016      break;
4017  
4018 <  case 195:
4019 < /* Line 1787 of yacc.c  */
4305 < #line 1241 "conf_parser.y"
4018 >  case 218:
4019 > #line 1261 "conf_parser.y" /* yacc.c:1646  */
4020      {
4021    if (conf_parser_ctx.pass == 2)
4022      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4023   }
4024 + #line 4025 "conf_parser.c" /* yacc.c:1646  */
4025      break;
4026  
4027 <  case 196:
4028 < /* Line 1787 of yacc.c  */
4314 < #line 1245 "conf_parser.y"
4027 >  case 219:
4028 > #line 1265 "conf_parser.y" /* yacc.c:1646  */
4029      {
4030    if (conf_parser_ctx.pass == 2)
4031      block_state.port.value |= OPER_FLAG_KILL;
4032   }
4033 + #line 4034 "conf_parser.c" /* yacc.c:1646  */
4034      break;
4035  
4036 <  case 197:
4037 < /* Line 1787 of yacc.c  */
4323 < #line 1249 "conf_parser.y"
4036 >  case 220:
4037 > #line 1269 "conf_parser.y" /* yacc.c:1646  */
4038      {
4039    if (conf_parser_ctx.pass == 2)
4040      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4041   }
4042 + #line 4043 "conf_parser.c" /* yacc.c:1646  */
4043      break;
4044  
4045 <  case 198:
4046 < /* Line 1787 of yacc.c  */
4332 < #line 1253 "conf_parser.y"
4045 >  case 221:
4046 > #line 1273 "conf_parser.y" /* yacc.c:1646  */
4047      {
4048    if (conf_parser_ctx.pass == 2)
4049      block_state.port.value |= OPER_FLAG_CONNECT;
4050   }
4051 + #line 4052 "conf_parser.c" /* yacc.c:1646  */
4052      break;
4053  
4054 <  case 199:
4055 < /* Line 1787 of yacc.c  */
4341 < #line 1257 "conf_parser.y"
4054 >  case 222:
4055 > #line 1277 "conf_parser.y" /* yacc.c:1646  */
4056      {
4057    if (conf_parser_ctx.pass == 2)
4058      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4059   }
4060 + #line 4061 "conf_parser.c" /* yacc.c:1646  */
4061      break;
4062  
4063 <  case 200:
4064 < /* Line 1787 of yacc.c  */
4350 < #line 1261 "conf_parser.y"
4063 >  case 223:
4064 > #line 1281 "conf_parser.y" /* yacc.c:1646  */
4065      {
4066    if (conf_parser_ctx.pass == 2)
4067      block_state.port.value |= OPER_FLAG_SQUIT;
4068   }
4069 + #line 4070 "conf_parser.c" /* yacc.c:1646  */
4070      break;
4071  
4072 <  case 201:
4073 < /* Line 1787 of yacc.c  */
4359 < #line 1265 "conf_parser.y"
4072 >  case 224:
4073 > #line 1285 "conf_parser.y" /* yacc.c:1646  */
4074      {
4075    if (conf_parser_ctx.pass == 2)
4076 <    block_state.port.value |= OPER_FLAG_K;
4076 >    block_state.port.value |= OPER_FLAG_KLINE;
4077   }
4078 + #line 4079 "conf_parser.c" /* yacc.c:1646  */
4079      break;
4080  
4081 <  case 202:
4082 < /* Line 1787 of yacc.c  */
4368 < #line 1269 "conf_parser.y"
4081 >  case 225:
4082 > #line 1289 "conf_parser.y" /* yacc.c:1646  */
4083      {
4084    if (conf_parser_ctx.pass == 2)
4085      block_state.port.value |= OPER_FLAG_UNKLINE;
4086   }
4087 + #line 4088 "conf_parser.c" /* yacc.c:1646  */
4088      break;
4089  
4090 <  case 203:
4091 < /* Line 1787 of yacc.c  */
4377 < #line 1273 "conf_parser.y"
4090 >  case 226:
4091 > #line 1293 "conf_parser.y" /* yacc.c:1646  */
4092      {
4093    if (conf_parser_ctx.pass == 2)
4094      block_state.port.value |= OPER_FLAG_DLINE;
4095   }
4096 + #line 4097 "conf_parser.c" /* yacc.c:1646  */
4097      break;
4098  
4099 <  case 204:
4100 < /* Line 1787 of yacc.c  */
4386 < #line 1277 "conf_parser.y"
4099 >  case 227:
4100 > #line 1297 "conf_parser.y" /* yacc.c:1646  */
4101      {
4102    if (conf_parser_ctx.pass == 2)
4103      block_state.port.value |= OPER_FLAG_UNDLINE;
4104   }
4105 + #line 4106 "conf_parser.c" /* yacc.c:1646  */
4106      break;
4107  
4108 <  case 205:
4109 < /* Line 1787 of yacc.c  */
4395 < #line 1281 "conf_parser.y"
4108 >  case 228:
4109 > #line 1301 "conf_parser.y" /* yacc.c:1646  */
4110      {
4111    if (conf_parser_ctx.pass == 2)
4112 <    block_state.port.value |= OPER_FLAG_X;
4112 >    block_state.port.value |= OPER_FLAG_XLINE;
4113   }
4114 + #line 4115 "conf_parser.c" /* yacc.c:1646  */
4115      break;
4116  
4117 <  case 206:
4118 < /* Line 1787 of yacc.c  */
4404 < #line 1285 "conf_parser.y"
4117 >  case 229:
4118 > #line 1305 "conf_parser.y" /* yacc.c:1646  */
4119      {
4120    if (conf_parser_ctx.pass == 2)
4121 <    block_state.port.value |= OPER_FLAG_GLINE;
4121 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4122   }
4123 + #line 4124 "conf_parser.c" /* yacc.c:1646  */
4124      break;
4125  
4126 <  case 207:
4127 < /* Line 1787 of yacc.c  */
4413 < #line 1289 "conf_parser.y"
4126 >  case 230:
4127 > #line 1309 "conf_parser.y" /* yacc.c:1646  */
4128      {
4129    if (conf_parser_ctx.pass == 2)
4130      block_state.port.value |= OPER_FLAG_DIE;
4131   }
4132 + #line 4133 "conf_parser.c" /* yacc.c:1646  */
4133      break;
4134  
4135 <  case 208:
4136 < /* Line 1787 of yacc.c  */
4422 < #line 1293 "conf_parser.y"
4135 >  case 231:
4136 > #line 1313 "conf_parser.y" /* yacc.c:1646  */
4137      {
4138    if (conf_parser_ctx.pass == 2)
4139      block_state.port.value |= OPER_FLAG_RESTART;
4140   }
4141 + #line 4142 "conf_parser.c" /* yacc.c:1646  */
4142      break;
4143  
4144 <  case 209:
4145 < /* Line 1787 of yacc.c  */
4431 < #line 1297 "conf_parser.y"
4144 >  case 232:
4145 > #line 1317 "conf_parser.y" /* yacc.c:1646  */
4146      {
4147    if (conf_parser_ctx.pass == 2)
4148 <    block_state.port.value |= OPER_FLAG_REHASH;
4148 >    block_state.port.value |= OPER_FLAG_REHASH_REMOTE;
4149   }
4150 + #line 4151 "conf_parser.c" /* yacc.c:1646  */
4151      break;
4152  
4153 <  case 210:
4154 < /* Line 1787 of yacc.c  */
4440 < #line 1301 "conf_parser.y"
4153 >  case 233:
4154 > #line 1321 "conf_parser.y" /* yacc.c:1646  */
4155      {
4156    if (conf_parser_ctx.pass == 2)
4157 <    block_state.port.value |= OPER_FLAG_ADMIN;
4157 >    block_state.port.value |= OPER_FLAG_REHASH;
4158   }
4159 + #line 4160 "conf_parser.c" /* yacc.c:1646  */
4160      break;
4161  
4162 <  case 211:
4163 < /* Line 1787 of yacc.c  */
4449 < #line 1305 "conf_parser.y"
4162 >  case 234:
4163 > #line 1325 "conf_parser.y" /* yacc.c:1646  */
4164      {
4165    if (conf_parser_ctx.pass == 2)
4166 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4166 >    block_state.port.value |= OPER_FLAG_ADMIN;
4167   }
4168 + #line 4169 "conf_parser.c" /* yacc.c:1646  */
4169      break;
4170  
4171 <  case 212:
4172 < /* Line 1787 of yacc.c  */
4458 < #line 1309 "conf_parser.y"
4171 >  case 235:
4172 > #line 1329 "conf_parser.y" /* yacc.c:1646  */
4173      {
4174    if (conf_parser_ctx.pass == 2)
4175      block_state.port.value |= OPER_FLAG_GLOBOPS;
4176   }
4177 + #line 4178 "conf_parser.c" /* yacc.c:1646  */
4178      break;
4179  
4180 <  case 213:
4181 < /* Line 1787 of yacc.c  */
4467 < #line 1313 "conf_parser.y"
4180 >  case 236:
4181 > #line 1333 "conf_parser.y" /* yacc.c:1646  */
4182      {
4183    if (conf_parser_ctx.pass == 2)
4184      block_state.port.value |= OPER_FLAG_WALLOPS;
4185   }
4186 + #line 4187 "conf_parser.c" /* yacc.c:1646  */
4187      break;
4188  
4189 <  case 214:
4190 < /* Line 1787 of yacc.c  */
4476 < #line 1317 "conf_parser.y"
4189 >  case 237:
4190 > #line 1337 "conf_parser.y" /* yacc.c:1646  */
4191      {
4192    if (conf_parser_ctx.pass == 2)
4193      block_state.port.value |= OPER_FLAG_LOCOPS;
4194   }
4195 + #line 4196 "conf_parser.c" /* yacc.c:1646  */
4196      break;
4197  
4198 <  case 215:
4199 < /* Line 1787 of yacc.c  */
4485 < #line 1321 "conf_parser.y"
4198 >  case 238:
4199 > #line 1341 "conf_parser.y" /* yacc.c:1646  */
4200      {
4201    if (conf_parser_ctx.pass == 2)
4202      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4203   }
4204 + #line 4205 "conf_parser.c" /* yacc.c:1646  */
4205      break;
4206  
4207 <  case 216:
4208 < /* Line 1787 of yacc.c  */
4494 < #line 1325 "conf_parser.y"
4207 >  case 239:
4208 > #line 1345 "conf_parser.y" /* yacc.c:1646  */
4209      {
4210    if (conf_parser_ctx.pass == 2)
4211      block_state.port.value |= OPER_FLAG_SET;
4212   }
4213 + #line 4214 "conf_parser.c" /* yacc.c:1646  */
4214      break;
4215  
4216 <  case 217:
4217 < /* Line 1787 of yacc.c  */
4503 < #line 1329 "conf_parser.y"
4216 >  case 240:
4217 > #line 1349 "conf_parser.y" /* yacc.c:1646  */
4218      {
4219    if (conf_parser_ctx.pass == 2)
4220      block_state.port.value |= OPER_FLAG_MODULE;
4221   }
4222 + #line 4223 "conf_parser.c" /* yacc.c:1646  */
4223      break;
4224  
4225 <  case 218:
4226 < /* Line 1787 of yacc.c  */
4227 < #line 1339 "conf_parser.y"
4225 >  case 241:
4226 > #line 1353 "conf_parser.y" /* yacc.c:1646  */
4227 >    {
4228 >  if (conf_parser_ctx.pass == 2)
4229 >    block_state.port.value |= OPER_FLAG_OPME;
4230 > }
4231 > #line 4232 "conf_parser.c" /* yacc.c:1646  */
4232 >    break;
4233 >
4234 >  case 242:
4235 > #line 1357 "conf_parser.y" /* yacc.c:1646  */
4236 >    {
4237 >  if (conf_parser_ctx.pass == 2)
4238 >    block_state.port.value |= OPER_FLAG_NICK_RESV;
4239 > }
4240 > #line 4241 "conf_parser.c" /* yacc.c:1646  */
4241 >    break;
4242 >
4243 >  case 243:
4244 > #line 1361 "conf_parser.y" /* yacc.c:1646  */
4245 >    {
4246 >  if (conf_parser_ctx.pass == 2)
4247 >    block_state.port.value |= OPER_FLAG_JOIN_RESV;
4248 > }
4249 > #line 4250 "conf_parser.c" /* yacc.c:1646  */
4250 >    break;
4251 >
4252 >  case 244:
4253 > #line 1365 "conf_parser.y" /* yacc.c:1646  */
4254 >    {
4255 >  if (conf_parser_ctx.pass == 2)
4256 >    block_state.port.value |= OPER_FLAG_RESV;
4257 > }
4258 > #line 4259 "conf_parser.c" /* yacc.c:1646  */
4259 >    break;
4260 >
4261 >  case 245:
4262 > #line 1369 "conf_parser.y" /* yacc.c:1646  */
4263 >    {
4264 >  if (conf_parser_ctx.pass == 2)
4265 >    block_state.port.value |= OPER_FLAG_UNRESV;
4266 > }
4267 > #line 4268 "conf_parser.c" /* yacc.c:1646  */
4268 >    break;
4269 >
4270 >  case 246:
4271 > #line 1373 "conf_parser.y" /* yacc.c:1646  */
4272 >    {
4273 >  if (conf_parser_ctx.pass == 2)
4274 >    block_state.port.value |= OPER_FLAG_CLOSE;
4275 > }
4276 > #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277 >    break;
4278 >
4279 >  case 247:
4280 > #line 1383 "conf_parser.y" /* yacc.c:1646  */
4281      {
4282    if (conf_parser_ctx.pass != 1)
4283      break;
# Line 4522 | Line 4290 | yyreduce:
4290    block_state.max_sendq.value = DEFAULT_SENDQ;
4291    block_state.max_recvq.value = DEFAULT_RECVQ;
4292   }
4293 + #line 4294 "conf_parser.c" /* yacc.c:1646  */
4294      break;
4295  
4296 <  case 219:
4297 < /* Line 1787 of yacc.c  */
4529 < #line 1351 "conf_parser.y"
4296 >  case 248:
4297 > #line 1395 "conf_parser.y" /* yacc.c:1646  */
4298      {
4299    struct ClassItem *class = NULL;
4300  
# Line 4540 | Line 4308 | yyreduce:
4308      class = class_make();
4309  
4310    class->active = 1;
4311 <  MyFree(class->name);
4311 >  xfree(class->name);
4312    class->name = xstrdup(block_state.class.buf);
4313    class->ping_freq = block_state.ping_freq.value;
4314    class->max_perip = block_state.max_perip.value;
# Line 4548 | Line 4316 | yyreduce:
4316    class->max_total = block_state.max_total.value;
4317    class->max_global = block_state.max_global.value;
4318    class->max_local = block_state.max_local.value;
4551  class->max_ident = block_state.max_ident.value;
4319    class->max_sendq = block_state.max_sendq.value;
4320    class->max_recvq = block_state.max_recvq.value;
4321 +  class->max_channels = block_state.max_channels.value;
4322  
4323    if (block_state.min_idle.value > block_state.max_idle.value)
4324    {
# Line 4563 | Line 4331 | yyreduce:
4331    class->min_idle = block_state.min_idle.value;
4332    class->max_idle = block_state.max_idle.value;
4333  
4334 <  if (class->number_per_cidr && block_state.number_per_cidr.value)
4567 <    if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4568 <        (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
4569 <      if ((class->cidr_bitlen_ipv4 != block_state.cidr_bitlen_ipv4.value) ||
4570 <          (class->cidr_bitlen_ipv6 != block_state.cidr_bitlen_ipv6.value))
4571 <        rebuild_cidr_list(class);
4334 >  rebuild_cidr_list(class);
4335  
4336    class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;
4337    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4338    class->number_per_cidr = block_state.number_per_cidr.value;
4339   }
4340 + #line 4341 "conf_parser.c" /* yacc.c:1646  */
4341      break;
4342  
4343 <  case 239:
4344 < /* Line 1787 of yacc.c  */
4581 < #line 1417 "conf_parser.y"
4343 >  case 268:
4344 > #line 1458 "conf_parser.y" /* yacc.c:1646  */
4345      {
4346    if (conf_parser_ctx.pass == 1)
4347      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4348   }
4349 + #line 4350 "conf_parser.c" /* yacc.c:1646  */
4350      break;
4351  
4352 <  case 240:
4353 < /* Line 1787 of yacc.c  */
4590 < #line 1423 "conf_parser.y"
4352 >  case 269:
4353 > #line 1464 "conf_parser.y" /* yacc.c:1646  */
4354      {
4355    if (conf_parser_ctx.pass == 1)
4356 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4356 >    block_state.ping_freq.value = (yyvsp[-1].number);
4357   }
4358 + #line 4359 "conf_parser.c" /* yacc.c:1646  */
4359      break;
4360  
4361 <  case 241:
4362 < /* Line 1787 of yacc.c  */
4599 < #line 1429 "conf_parser.y"
4361 >  case 270:
4362 > #line 1470 "conf_parser.y" /* yacc.c:1646  */
4363      {
4364    if (conf_parser_ctx.pass == 1)
4365 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4365 >    block_state.max_perip.value = (yyvsp[-1].number);
4366   }
4367 + #line 4368 "conf_parser.c" /* yacc.c:1646  */
4368      break;
4369  
4370 <  case 242:
4371 < /* Line 1787 of yacc.c  */
4608 < #line 1435 "conf_parser.y"
4370 >  case 271:
4371 > #line 1476 "conf_parser.y" /* yacc.c:1646  */
4372      {
4373    if (conf_parser_ctx.pass == 1)
4374 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4374 >    block_state.con_freq.value = (yyvsp[-1].number);
4375   }
4376 + #line 4377 "conf_parser.c" /* yacc.c:1646  */
4377      break;
4378  
4379 <  case 243:
4380 < /* Line 1787 of yacc.c  */
4617 < #line 1441 "conf_parser.y"
4379 >  case 272:
4380 > #line 1482 "conf_parser.y" /* yacc.c:1646  */
4381      {
4382    if (conf_parser_ctx.pass == 1)
4383 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4383 >    block_state.max_channels.value = (yyvsp[-1].number);
4384   }
4385 + #line 4386 "conf_parser.c" /* yacc.c:1646  */
4386      break;
4387  
4388 <  case 244:
4389 < /* Line 1787 of yacc.c  */
4626 < #line 1447 "conf_parser.y"
4388 >  case 273:
4389 > #line 1488 "conf_parser.y" /* yacc.c:1646  */
4390      {
4391    if (conf_parser_ctx.pass == 1)
4392 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4392 >    block_state.max_total.value = (yyvsp[-1].number);
4393   }
4394 + #line 4395 "conf_parser.c" /* yacc.c:1646  */
4395      break;
4396  
4397 <  case 245:
4398 < /* Line 1787 of yacc.c  */
4635 < #line 1453 "conf_parser.y"
4397 >  case 274:
4398 > #line 1494 "conf_parser.y" /* yacc.c:1646  */
4399      {
4400    if (conf_parser_ctx.pass == 1)
4401 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4401 >    block_state.max_global.value = (yyvsp[-1].number);
4402   }
4403 + #line 4404 "conf_parser.c" /* yacc.c:1646  */
4404      break;
4405  
4406 <  case 246:
4407 < /* Line 1787 of yacc.c  */
4644 < #line 1459 "conf_parser.y"
4406 >  case 275:
4407 > #line 1500 "conf_parser.y" /* yacc.c:1646  */
4408      {
4409    if (conf_parser_ctx.pass == 1)
4410 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4410 >    block_state.max_local.value = (yyvsp[-1].number);
4411   }
4412 + #line 4413 "conf_parser.c" /* yacc.c:1646  */
4413      break;
4414  
4415 <  case 247:
4416 < /* Line 1787 of yacc.c  */
4653 < #line 1465 "conf_parser.y"
4415 >  case 276:
4416 > #line 1506 "conf_parser.y" /* yacc.c:1646  */
4417      {
4418    if (conf_parser_ctx.pass == 1)
4419 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4419 >    block_state.max_sendq.value = (yyvsp[-1].number);
4420   }
4421 + #line 4422 "conf_parser.c" /* yacc.c:1646  */
4422      break;
4423  
4424 <  case 248:
4425 < /* Line 1787 of yacc.c  */
4662 < #line 1471 "conf_parser.y"
4424 >  case 277:
4425 > #line 1512 "conf_parser.y" /* yacc.c:1646  */
4426      {
4427    if (conf_parser_ctx.pass == 1)
4428 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4429 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4428 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4429 >      block_state.max_recvq.value = (yyvsp[-1].number);
4430   }
4431 + #line 4432 "conf_parser.c" /* yacc.c:1646  */
4432      break;
4433  
4434 <  case 249:
4435 < /* Line 1787 of yacc.c  */
4672 < #line 1478 "conf_parser.y"
4434 >  case 278:
4435 > #line 1519 "conf_parser.y" /* yacc.c:1646  */
4436      {
4437    if (conf_parser_ctx.pass == 1)
4438 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4438 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4439   }
4440 + #line 4441 "conf_parser.c" /* yacc.c:1646  */
4441      break;
4442  
4443 <  case 250:
4444 < /* Line 1787 of yacc.c  */
4681 < #line 1484 "conf_parser.y"
4443 >  case 279:
4444 > #line 1525 "conf_parser.y" /* yacc.c:1646  */
4445      {
4446    if (conf_parser_ctx.pass == 1)
4447 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4447 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4448   }
4449 + #line 4450 "conf_parser.c" /* yacc.c:1646  */
4450      break;
4451  
4452 <  case 251:
4453 < /* Line 1787 of yacc.c  */
4690 < #line 1490 "conf_parser.y"
4452 >  case 280:
4453 > #line 1531 "conf_parser.y" /* yacc.c:1646  */
4454      {
4455    if (conf_parser_ctx.pass == 1)
4456 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4456 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4457   }
4458 + #line 4459 "conf_parser.c" /* yacc.c:1646  */
4459      break;
4460  
4461 <  case 252:
4462 < /* Line 1787 of yacc.c  */
4699 < #line 1496 "conf_parser.y"
4461 >  case 281:
4462 > #line 1537 "conf_parser.y" /* yacc.c:1646  */
4463      {
4464    if (conf_parser_ctx.pass != 1)
4465      break;
4466  
4467 <  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4467 >  block_state.min_idle.value = (yyvsp[-1].number);
4468    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4469   }
4470 + #line 4471 "conf_parser.c" /* yacc.c:1646  */
4471      break;
4472  
4473 <  case 253:
4474 < /* Line 1787 of yacc.c  */
4711 < #line 1505 "conf_parser.y"
4473 >  case 282:
4474 > #line 1546 "conf_parser.y" /* yacc.c:1646  */
4475      {
4476    if (conf_parser_ctx.pass != 1)
4477      break;
4478  
4479 <  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4479 >  block_state.max_idle.value = (yyvsp[-1].number);
4480    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4481   }
4482 + #line 4483 "conf_parser.c" /* yacc.c:1646  */
4483      break;
4484  
4485 <  case 254:
4486 < /* Line 1787 of yacc.c  */
4723 < #line 1514 "conf_parser.y"
4485 >  case 283:
4486 > #line 1555 "conf_parser.y" /* yacc.c:1646  */
4487      {
4488    if (conf_parser_ctx.pass == 1)
4489      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4490   }
4491 + #line 4492 "conf_parser.c" /* yacc.c:1646  */
4492      break;
4493  
4494 <  case 258:
4495 < /* Line 1787 of yacc.c  */
4732 < #line 1521 "conf_parser.y"
4494 >  case 287:
4495 > #line 1562 "conf_parser.y" /* yacc.c:1646  */
4496      {
4497    if (conf_parser_ctx.pass == 1)
4498      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4499   }
4500 + #line 4501 "conf_parser.c" /* yacc.c:1646  */
4501      break;
4502  
4503 <  case 259:
4504 < /* Line 1787 of yacc.c  */
4741 < #line 1525 "conf_parser.y"
4503 >  case 288:
4504 > #line 1566 "conf_parser.y" /* yacc.c:1646  */
4505      {
4506    if (conf_parser_ctx.pass == 1)
4507      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4508   }
4509 + #line 4510 "conf_parser.c" /* yacc.c:1646  */
4510      break;
4511  
4512 <  case 260:
4513 < /* Line 1787 of yacc.c  */
4750 < #line 1535 "conf_parser.y"
4512 >  case 289:
4513 > #line 1576 "conf_parser.y" /* yacc.c:1646  */
4514      {
4515    if (conf_parser_ctx.pass == 2)
4516      reset_block_state();
4517   }
4518 + #line 4519 "conf_parser.c" /* yacc.c:1646  */
4519      break;
4520  
4521 <  case 262:
4522 < /* Line 1787 of yacc.c  */
4759 < #line 1541 "conf_parser.y"
4521 >  case 291:
4522 > #line 1582 "conf_parser.y" /* yacc.c:1646  */
4523      {
4524    block_state.flags.value = 0;
4525   }
4526 + #line 4527 "conf_parser.c" /* yacc.c:1646  */
4527      break;
4528  
4529 <  case 266:
4530 < /* Line 1787 of yacc.c  */
4767 < #line 1547 "conf_parser.y"
4529 >  case 295:
4530 > #line 1588 "conf_parser.y" /* yacc.c:1646  */
4531      {
4532    if (conf_parser_ctx.pass == 2)
4533      block_state.flags.value |= LISTENER_SSL;
4534   }
4535 + #line 4536 "conf_parser.c" /* yacc.c:1646  */
4536      break;
4537  
4538 <  case 267:
4539 < /* Line 1787 of yacc.c  */
4776 < #line 1551 "conf_parser.y"
4538 >  case 296:
4539 > #line 1592 "conf_parser.y" /* yacc.c:1646  */
4540      {
4541    if (conf_parser_ctx.pass == 2)
4542      block_state.flags.value |= LISTENER_HIDDEN;
4543   }
4544 + #line 4545 "conf_parser.c" /* yacc.c:1646  */
4545      break;
4546  
4547 <  case 268:
4548 < /* Line 1787 of yacc.c  */
4785 < #line 1555 "conf_parser.y"
4547 >  case 297:
4548 > #line 1596 "conf_parser.y" /* yacc.c:1646  */
4549      {
4550    if (conf_parser_ctx.pass == 2)
4551     block_state.flags.value |= LISTENER_SERVER;
4552   }
4553 + #line 4554 "conf_parser.c" /* yacc.c:1646  */
4554      break;
4555  
4556 <  case 276:
4557 < /* Line 1787 of yacc.c  */
4794 < #line 1563 "conf_parser.y"
4556 >  case 305:
4557 > #line 1604 "conf_parser.y" /* yacc.c:1646  */
4558      { block_state.flags.value = 0; }
4559 + #line 4560 "conf_parser.c" /* yacc.c:1646  */
4560      break;
4561  
4562 <  case 280:
4563 < /* Line 1787 of yacc.c  */
4800 < #line 1568 "conf_parser.y"
4562 >  case 309:
4563 > #line 1609 "conf_parser.y" /* yacc.c:1646  */
4564      {
4565    if (conf_parser_ctx.pass == 2)
4566    {
4567 + #ifndef HAVE_TLS
4568      if (block_state.flags.value & LISTENER_SSL)
4569 < #ifdef HAVE_LIBCRYPTO
4570 <      if (!ServerInfo.server_ctx)
4569 >    {
4570 >      conf_error_report("TLS not available - port closed");
4571 >      break;
4572 >    }
4573   #endif
4574 <      {
4809 <        conf_error_report("SSL not available - port closed");
4810 <        break;
4811 <      }
4812 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4574 >    listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4575    }
4576   }
4577 + #line 4578 "conf_parser.c" /* yacc.c:1646  */
4578      break;
4579  
4580 <  case 281:
4581 < /* Line 1787 of yacc.c  */
4819 < #line 1582 "conf_parser.y"
4580 >  case 310:
4581 > #line 1622 "conf_parser.y" /* yacc.c:1646  */
4582      {
4583    if (conf_parser_ctx.pass == 2)
4584    {
4585 <    int i;
4824 <
4585 > #ifndef HAVE_TLS
4586      if (block_state.flags.value & LISTENER_SSL)
4587 < #ifdef HAVE_LIBCRYPTO
4588 <      if (!ServerInfo.server_ctx)
4587 >    {
4588 >      conf_error_report("TLS not available - port closed");
4589 >      break;
4590 >    }
4591   #endif
4829      {
4830        conf_error_report("SSL not available - port closed");
4831        break;
4832      }
4592  
4593 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4594 <      add_listener(i, block_state.addr.buf, block_state.flags.value);
4593 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4594 >      listener_add(i, block_state.addr.buf, block_state.flags.value);
4595    }
4596   }
4597 + #line 4598 "conf_parser.c" /* yacc.c:1646  */
4598      break;
4599  
4600 <  case 282:
4601 < /* Line 1787 of yacc.c  */
4842 < #line 1602 "conf_parser.y"
4600 >  case 311:
4601 > #line 1639 "conf_parser.y" /* yacc.c:1646  */
4602      {
4603    if (conf_parser_ctx.pass == 2)
4604      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4605   }
4606 + #line 4607 "conf_parser.c" /* yacc.c:1646  */
4607      break;
4608  
4609 <  case 283:
4610 < /* Line 1787 of yacc.c  */
4851 < #line 1608 "conf_parser.y"
4609 >  case 312:
4610 > #line 1645 "conf_parser.y" /* yacc.c:1646  */
4611      {
4612    if (conf_parser_ctx.pass == 2)
4613      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4614   }
4615 + #line 4616 "conf_parser.c" /* yacc.c:1646  */
4616      break;
4617  
4618 <  case 284:
4619 < /* Line 1787 of yacc.c  */
4860 < #line 1617 "conf_parser.y"
4618 >  case 313:
4619 > #line 1655 "conf_parser.y" /* yacc.c:1646  */
4620      {
4621    if (conf_parser_ctx.pass == 2)
4622      reset_block_state();
4623   }
4624 + #line 4625 "conf_parser.c" /* yacc.c:1646  */
4625      break;
4626  
4627 <  case 285:
4628 < /* Line 1787 of yacc.c  */
4869 < #line 1621 "conf_parser.y"
4627 >  case 314:
4628 > #line 1659 "conf_parser.y" /* yacc.c:1646  */
4629      {
4630 <  dlink_node *ptr = NULL;
4630 >  dlink_node *node = NULL;
4631  
4632    if (conf_parser_ctx.pass != 2)
4633      break;
4634  
4635 <  DLINK_FOREACH(ptr, block_state.mask.list.head)
4635 >  DLINK_FOREACH(node, block_state.mask.list.head)
4636    {
4637      struct MaskItem *conf = NULL;
4638      struct split_nuh_item nuh;
4639 +    char *s = node->data;
4640 +
4641 +    if (EmptyString(s))
4642 +      continue;
4643  
4644 <    nuh.nuhmask  = ptr->data;
4644 >    nuh.nuhmask  = s;
4645      nuh.nickptr  = NULL;
4646      nuh.userptr  = block_state.user.buf;
4647      nuh.hostptr  = block_state.host.buf;
# Line 4903 | Line 4666 | yyreduce:
4666      add_conf_by_address(CONF_CLIENT, conf);
4667    }
4668   }
4669 + #line 4670 "conf_parser.c" /* yacc.c:1646  */
4670      break;
4671  
4672 <  case 297:
4673 < /* Line 1787 of yacc.c  */
4910 < #line 1664 "conf_parser.y"
4672 >  case 326:
4673 > #line 1712 "conf_parser.y" /* yacc.c:1646  */
4674      {
4675    if (conf_parser_ctx.pass == 2)
4676      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4677   }
4678 + #line 4679 "conf_parser.c" /* yacc.c:1646  */
4679      break;
4680  
4681 <  case 298:
4682 < /* Line 1787 of yacc.c  */
4919 < #line 1670 "conf_parser.y"
4681 >  case 327:
4682 > #line 1718 "conf_parser.y" /* yacc.c:1646  */
4683      {
4684    if (conf_parser_ctx.pass == 2)
4685      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4686   }
4687 + #line 4688 "conf_parser.c" /* yacc.c:1646  */
4688      break;
4689  
4690 <  case 299:
4691 < /* Line 1787 of yacc.c  */
4928 < #line 1676 "conf_parser.y"
4690 >  case 328:
4691 > #line 1724 "conf_parser.y" /* yacc.c:1646  */
4692      {
4693    if (conf_parser_ctx.pass == 2)
4694      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4695   }
4696 + #line 4697 "conf_parser.c" /* yacc.c:1646  */
4697      break;
4698  
4699 <  case 300:
4700 < /* Line 1787 of yacc.c  */
4937 < #line 1682 "conf_parser.y"
4699 >  case 329:
4700 > #line 1730 "conf_parser.y" /* yacc.c:1646  */
4701      {
4702    if (conf_parser_ctx.pass == 2)
4703    {
# Line 4944 | Line 4707 | yyreduce:
4707        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4708    }
4709   }
4710 + #line 4711 "conf_parser.c" /* yacc.c:1646  */
4711      break;
4712  
4713 <  case 301:
4714 < /* Line 1787 of yacc.c  */
4951 < #line 1693 "conf_parser.y"
4713 >  case 330:
4714 > #line 1741 "conf_parser.y" /* yacc.c:1646  */
4715      {
4716    if (conf_parser_ctx.pass == 2)
4717      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4718   }
4719 + #line 4720 "conf_parser.c" /* yacc.c:1646  */
4720      break;
4721  
4722 <  case 305:
4723 < /* Line 1787 of yacc.c  */
4960 < #line 1700 "conf_parser.y"
4722 >  case 334:
4723 > #line 1748 "conf_parser.y" /* yacc.c:1646  */
4724      {
4725    if (conf_parser_ctx.pass == 2)
4726      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4727   }
4728 + #line 4729 "conf_parser.c" /* yacc.c:1646  */
4729      break;
4730  
4731 <  case 306:
4732 < /* Line 1787 of yacc.c  */
4969 < #line 1704 "conf_parser.y"
4731 >  case 335:
4732 > #line 1752 "conf_parser.y" /* yacc.c:1646  */
4733      {
4734    if (conf_parser_ctx.pass == 2)
4735      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4736   }
4737 + #line 4738 "conf_parser.c" /* yacc.c:1646  */
4738      break;
4739  
4740 <  case 307:
4741 < /* Line 1787 of yacc.c  */
4978 < #line 1708 "conf_parser.y"
4740 >  case 336:
4741 > #line 1756 "conf_parser.y" /* yacc.c:1646  */
4742      {
4743    if (conf_parser_ctx.pass == 2)
4744      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4745   }
4746 + #line 4747 "conf_parser.c" /* yacc.c:1646  */
4747      break;
4748  
4749 <  case 308:
4750 < /* Line 1787 of yacc.c  */
4987 < #line 1712 "conf_parser.y"
4749 >  case 337:
4750 > #line 1760 "conf_parser.y" /* yacc.c:1646  */
4751      {
4752    if (conf_parser_ctx.pass == 2)
4753 <    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4753 >    block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;
4754   }
4755 + #line 4756 "conf_parser.c" /* yacc.c:1646  */
4756      break;
4757  
4758 <  case 309:
4759 < /* Line 1787 of yacc.c  */
4996 < #line 1716 "conf_parser.y"
4758 >  case 338:
4759 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4760      {
4761    if (conf_parser_ctx.pass == 2)
4762 <    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4762 >    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4763   }
4764 + #line 4765 "conf_parser.c" /* yacc.c:1646  */
4765      break;
4766  
4767 <  case 310:
4768 < /* Line 1787 of yacc.c  */
5005 < #line 1720 "conf_parser.y"
4767 >  case 339:
4768 > #line 1768 "conf_parser.y" /* yacc.c:1646  */
4769      {
4770    if (conf_parser_ctx.pass == 2)
4771 <    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4771 >    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4772   }
4773 + #line 4774 "conf_parser.c" /* yacc.c:1646  */
4774      break;
4775  
4776 <  case 311:
4777 < /* Line 1787 of yacc.c  */
5014 < #line 1724 "conf_parser.y"
4776 >  case 340:
4777 > #line 1772 "conf_parser.y" /* yacc.c:1646  */
4778      {
4779    if (conf_parser_ctx.pass == 2)
4780 <    block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4780 >    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4781   }
4782 + #line 4783 "conf_parser.c" /* yacc.c:1646  */
4783      break;
4784  
4785 <  case 312:
4786 < /* Line 1787 of yacc.c  */
5023 < #line 1728 "conf_parser.y"
4785 >  case 341:
4786 > #line 1776 "conf_parser.y" /* yacc.c:1646  */
4787      {
4788    if (conf_parser_ctx.pass == 2)
4789      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4790   }
4791 + #line 4792 "conf_parser.c" /* yacc.c:1646  */
4792      break;
4793  
4794 <  case 313:
4795 < /* Line 1787 of yacc.c  */
5032 < #line 1732 "conf_parser.y"
4794 >  case 342:
4795 > #line 1780 "conf_parser.y" /* yacc.c:1646  */
4796      {
4797    if (conf_parser_ctx.pass == 2)
4798      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4799   }
4800 + #line 4801 "conf_parser.c" /* yacc.c:1646  */
4801      break;
4802  
4803 <  case 314:
4804 < /* Line 1787 of yacc.c  */
5041 < #line 1736 "conf_parser.y"
4803 >  case 343:
4804 > #line 1784 "conf_parser.y" /* yacc.c:1646  */
4805      {
4806    if (conf_parser_ctx.pass == 2)
4807      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4808   }
4809 + #line 4810 "conf_parser.c" /* yacc.c:1646  */
4810      break;
4811  
4812 <  case 315:
4813 < /* Line 1787 of yacc.c  */
5050 < #line 1742 "conf_parser.y"
4812 >  case 344:
4813 > #line 1790 "conf_parser.y" /* yacc.c:1646  */
4814      {
4815    if (conf_parser_ctx.pass != 2)
4816      break;
4817  
4818 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4818 >  if (valid_hostname(yylval.string))
4819    {
4820      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4821      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 5060 | Line 4823 | yyreduce:
4823    else
4824      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4825   }
4826 + #line 4827 "conf_parser.c" /* yacc.c:1646  */
4827      break;
4828  
4829 <  case 316:
4830 < /* Line 1787 of yacc.c  */
5067 < #line 1756 "conf_parser.y"
4829 >  case 345:
4830 > #line 1804 "conf_parser.y" /* yacc.c:1646  */
4831      {
4832    if (conf_parser_ctx.pass != 2)
4833      break;
# Line 5072 | Line 4835 | yyreduce:
4835    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4836    block_state.flags.value |= CONF_FLAGS_REDIR;
4837   }
4838 + #line 4839 "conf_parser.c" /* yacc.c:1646  */
4839      break;
4840  
4841 <  case 317:
4842 < /* Line 1787 of yacc.c  */
5079 < #line 1765 "conf_parser.y"
4841 >  case 346:
4842 > #line 1813 "conf_parser.y" /* yacc.c:1646  */
4843      {
4844    if (conf_parser_ctx.pass != 2)
4845      break;
4846  
4847    block_state.flags.value |= CONF_FLAGS_REDIR;
4848 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4848 >  block_state.port.value = (yyvsp[-1].number);
4849   }
4850 + #line 4851 "conf_parser.c" /* yacc.c:1646  */
4851      break;
4852  
4853 <  case 318:
4854 < /* Line 1787 of yacc.c  */
5091 < #line 1778 "conf_parser.y"
4853 >  case 347:
4854 > #line 1826 "conf_parser.y" /* yacc.c:1646  */
4855      {
4856    if (conf_parser_ctx.pass != 2)
4857      break;
# Line 5096 | Line 4859 | yyreduce:
4859    reset_block_state();
4860    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4861   }
4862 + #line 4863 "conf_parser.c" /* yacc.c:1646  */
4863      break;
4864  
4865 <  case 319:
4866 < /* Line 1787 of yacc.c  */
5103 < #line 1785 "conf_parser.y"
4865 >  case 348:
4866 > #line 1833 "conf_parser.y" /* yacc.c:1646  */
4867      {
4868    if (conf_parser_ctx.pass != 2)
4869      break;
4870  
4871 <  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4871 >  resv_make(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4872   }
4873 + #line 4874 "conf_parser.c" /* yacc.c:1646  */
4874      break;
4875  
4876 <  case 326:
4877 < /* Line 1787 of yacc.c  */
5114 < #line 1796 "conf_parser.y"
4876 >  case 355:
4877 > #line 1844 "conf_parser.y" /* yacc.c:1646  */
4878      {
4879    if (conf_parser_ctx.pass == 2)
4880      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4881   }
4882 + #line 4883 "conf_parser.c" /* yacc.c:1646  */
4883      break;
4884  
4885 <  case 327:
4886 < /* Line 1787 of yacc.c  */
5123 < #line 1802 "conf_parser.y"
4885 >  case 356:
4886 > #line 1850 "conf_parser.y" /* yacc.c:1646  */
4887      {
4888    if (conf_parser_ctx.pass == 2)
4889      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4890   }
4891 + #line 4892 "conf_parser.c" /* yacc.c:1646  */
4892      break;
4893  
4894 <  case 328:
4895 < /* Line 1787 of yacc.c  */
5132 < #line 1808 "conf_parser.y"
4894 >  case 357:
4895 > #line 1856 "conf_parser.y" /* yacc.c:1646  */
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4899   }
4900 + #line 4901 "conf_parser.c" /* yacc.c:1646  */
4901      break;
4902  
4903 <  case 334:
4904 < /* Line 1787 of yacc.c  */
5141 < #line 1823 "conf_parser.y"
4903 >  case 363:
4904 > #line 1871 "conf_parser.y" /* yacc.c:1646  */
4905      {
4906    if (conf_parser_ctx.pass != 2)
4907      break;
4908  
4909    if (valid_servname(yylval.string))
4910    {
4911 <    struct MaskItem *conf = conf_make(CONF_SERVICE);
4912 <    conf->name = xstrdup(yylval.string);
4911 >    struct ServiceItem *service = service_make();
4912 >    service->name = xstrdup(yylval.string);
4913    }
4914   }
4915 + #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;
4917  
4918 <  case 335:
4919 < /* Line 1787 of yacc.c  */
5156 < #line 1838 "conf_parser.y"
4918 >  case 364:
4919 > #line 1887 "conf_parser.y" /* yacc.c:1646  */
4920      {
4921    if (conf_parser_ctx.pass != 2)
4922      break;
# Line 5165 | Line 4928 | yyreduce:
4928    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4929    block_state.flags.value = SHARED_ALL;
4930   }
4931 + #line 4932 "conf_parser.c" /* yacc.c:1646  */
4932      break;
4933  
4934 <  case 336:
4935 < /* Line 1787 of yacc.c  */
5172 < #line 1849 "conf_parser.y"
4934 >  case 365:
4935 > #line 1898 "conf_parser.y" /* yacc.c:1646  */
4936      {
5174  struct MaskItem *conf = NULL;
5175
4937    if (conf_parser_ctx.pass != 2)
4938      break;
4939  
4940 <  conf = conf_make(CONF_ULINE);
4941 <  conf->flags = block_state.flags.value;
4942 <  conf->name = xstrdup(block_state.name.buf);
4943 <  conf->user = xstrdup(block_state.user.buf);
4944 <  conf->host = xstrdup(block_state.host.buf);
4940 >  struct SharedItem *shared = shared_make();
4941 >  shared->type = block_state.flags.value;
4942 >  shared->server = xstrdup(block_state.name.buf);
4943 >  shared->user = xstrdup(block_state.user.buf);
4944 >  shared->host = xstrdup(block_state.host.buf);
4945   }
4946 + #line 4947 "conf_parser.c" /* yacc.c:1646  */
4947      break;
4948  
4949 <  case 343:
4950 < /* Line 1787 of yacc.c  */
5189 < #line 1866 "conf_parser.y"
4949 >  case 372:
4950 > #line 1913 "conf_parser.y" /* yacc.c:1646  */
4951      {
4952    if (conf_parser_ctx.pass == 2)
4953      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4954   }
4955 + #line 4956 "conf_parser.c" /* yacc.c:1646  */
4956      break;
4957  
4958 <  case 344:
4959 < /* Line 1787 of yacc.c  */
5198 < #line 1872 "conf_parser.y"
4958 >  case 373:
4959 > #line 1919 "conf_parser.y" /* yacc.c:1646  */
4960      {
4961    if (conf_parser_ctx.pass == 2)
4962    {
# Line 5213 | Line 4974 | yyreduce:
4974      split_nuh(&nuh);
4975    }
4976   }
4977 + #line 4978 "conf_parser.c" /* yacc.c:1646  */
4978      break;
4979  
4980 <  case 345:
4981 < /* Line 1787 of yacc.c  */
5220 < #line 1891 "conf_parser.y"
4980 >  case 374:
4981 > #line 1938 "conf_parser.y" /* yacc.c:1646  */
4982      {
4983    if (conf_parser_ctx.pass == 2)
4984      block_state.flags.value = 0;
4985   }
4986 + #line 4987 "conf_parser.c" /* yacc.c:1646  */
4987      break;
4988  
4989 <  case 349:
4990 < /* Line 1787 of yacc.c  */
5229 < #line 1898 "conf_parser.y"
4989 >  case 378:
4990 > #line 1945 "conf_parser.y" /* yacc.c:1646  */
4991      {
4992    if (conf_parser_ctx.pass == 2)
4993      block_state.flags.value |= SHARED_KLINE;
4994   }
4995 + #line 4996 "conf_parser.c" /* yacc.c:1646  */
4996      break;
4997  
4998 <  case 350:
4999 < /* Line 1787 of yacc.c  */
5238 < #line 1902 "conf_parser.y"
4998 >  case 379:
4999 > #line 1949 "conf_parser.y" /* yacc.c:1646  */
5000      {
5001    if (conf_parser_ctx.pass == 2)
5002      block_state.flags.value |= SHARED_UNKLINE;
5003   }
5004 + #line 5005 "conf_parser.c" /* yacc.c:1646  */
5005      break;
5006  
5007 <  case 351:
5008 < /* Line 1787 of yacc.c  */
5247 < #line 1906 "conf_parser.y"
5007 >  case 380:
5008 > #line 1953 "conf_parser.y" /* yacc.c:1646  */
5009      {
5010    if (conf_parser_ctx.pass == 2)
5011      block_state.flags.value |= SHARED_DLINE;
5012   }
5013 + #line 5014 "conf_parser.c" /* yacc.c:1646  */
5014      break;
5015  
5016 <  case 352:
5017 < /* Line 1787 of yacc.c  */
5256 < #line 1910 "conf_parser.y"
5016 >  case 381:
5017 > #line 1957 "conf_parser.y" /* yacc.c:1646  */
5018      {
5019    if (conf_parser_ctx.pass == 2)
5020      block_state.flags.value |= SHARED_UNDLINE;
5021   }
5022 + #line 5023 "conf_parser.c" /* yacc.c:1646  */
5023      break;
5024  
5025 <  case 353:
5026 < /* Line 1787 of yacc.c  */
5265 < #line 1914 "conf_parser.y"
5025 >  case 382:
5026 > #line 1961 "conf_parser.y" /* yacc.c:1646  */
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029      block_state.flags.value |= SHARED_XLINE;
5030   }
5031 + #line 5032 "conf_parser.c" /* yacc.c:1646  */
5032      break;
5033  
5034 <  case 354:
5035 < /* Line 1787 of yacc.c  */
5274 < #line 1918 "conf_parser.y"
5034 >  case 383:
5035 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
5036      {
5037    if (conf_parser_ctx.pass == 2)
5038      block_state.flags.value |= SHARED_UNXLINE;
5039   }
5040 + #line 5041 "conf_parser.c" /* yacc.c:1646  */
5041      break;
5042  
5043 <  case 355:
5044 < /* Line 1787 of yacc.c  */
5283 < #line 1922 "conf_parser.y"
5043 >  case 384:
5044 > #line 1969 "conf_parser.y" /* yacc.c:1646  */
5045      {
5046    if (conf_parser_ctx.pass == 2)
5047      block_state.flags.value |= SHARED_RESV;
5048   }
5049 + #line 5050 "conf_parser.c" /* yacc.c:1646  */
5050      break;
5051  
5052 <  case 356:
5053 < /* Line 1787 of yacc.c  */
5292 < #line 1926 "conf_parser.y"
5052 >  case 385:
5053 > #line 1973 "conf_parser.y" /* yacc.c:1646  */
5054      {
5055    if (conf_parser_ctx.pass == 2)
5056      block_state.flags.value |= SHARED_UNRESV;
5057   }
5058 + #line 5059 "conf_parser.c" /* yacc.c:1646  */
5059      break;
5060  
5061 <  case 357:
5062 < /* Line 1787 of yacc.c  */
5301 < #line 1930 "conf_parser.y"
5061 >  case 386:
5062 > #line 1977 "conf_parser.y" /* yacc.c:1646  */
5063      {
5064    if (conf_parser_ctx.pass == 2)
5065      block_state.flags.value |= SHARED_LOCOPS;
5066   }
5067 + #line 5068 "conf_parser.c" /* yacc.c:1646  */
5068      break;
5069  
5070 <  case 358:
5071 < /* Line 1787 of yacc.c  */
5310 < #line 1934 "conf_parser.y"
5070 >  case 387:
5071 > #line 1981 "conf_parser.y" /* yacc.c:1646  */
5072      {
5073    if (conf_parser_ctx.pass == 2)
5074      block_state.flags.value = SHARED_ALL;
5075   }
5076 + #line 5077 "conf_parser.c" /* yacc.c:1646  */
5077      break;
5078  
5079 <  case 359:
5080 < /* Line 1787 of yacc.c  */
5319 < #line 1943 "conf_parser.y"
5079 >  case 388:
5080 > #line 1991 "conf_parser.y" /* yacc.c:1646  */
5081      {
5082    if (conf_parser_ctx.pass != 2)
5083      break;
# Line 5324 | Line 5085 | yyreduce:
5085    reset_block_state();
5086  
5087    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5088 <  block_state.flags.value = SHARED_ALL;
5088 >  block_state.flags.value = CLUSTER_ALL;
5089   }
5090 + #line 5091 "conf_parser.c" /* yacc.c:1646  */
5091      break;
5092  
5093 <  case 360:
5094 < /* Line 1787 of yacc.c  */
5333 < #line 1952 "conf_parser.y"
5093 >  case 389:
5094 > #line 2000 "conf_parser.y" /* yacc.c:1646  */
5095      {
5335  struct MaskItem *conf = NULL;
5336
5096    if (conf_parser_ctx.pass != 2)
5097      break;
5098  
5099 <  conf = conf_make(CONF_CLUSTER);
5100 <  conf->flags = block_state.flags.value;
5101 <  conf->name = xstrdup(block_state.name.buf);
5099 >  struct ClusterItem *cluster = cluster_make();
5100 >  cluster->type = block_state.flags.value;
5101 >  cluster->server = xstrdup(block_state.name.buf);
5102   }
5103 + #line 5104 "conf_parser.c" /* yacc.c:1646  */
5104      break;
5105  
5106 <  case 366:
5107 < /* Line 1787 of yacc.c  */
5348 < #line 1967 "conf_parser.y"
5106 >  case 395:
5107 > #line 2013 "conf_parser.y" /* yacc.c:1646  */
5108      {
5109    if (conf_parser_ctx.pass == 2)
5110      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5111   }
5112 + #line 5113 "conf_parser.c" /* yacc.c:1646  */
5113      break;
5114  
5115 <  case 367:
5116 < /* Line 1787 of yacc.c  */
5357 < #line 1973 "conf_parser.y"
5115 >  case 396:
5116 > #line 2019 "conf_parser.y" /* yacc.c:1646  */
5117      {
5118    if (conf_parser_ctx.pass == 2)
5119      block_state.flags.value = 0;
5120   }
5121 + #line 5122 "conf_parser.c" /* yacc.c:1646  */
5122      break;
5123  
5124 <  case 371:
5125 < /* Line 1787 of yacc.c  */
5366 < #line 1980 "conf_parser.y"
5124 >  case 400:
5125 > #line 2026 "conf_parser.y" /* yacc.c:1646  */
5126      {
5127    if (conf_parser_ctx.pass == 2)
5128 <    block_state.flags.value |= SHARED_KLINE;
5128 >    block_state.flags.value |= CLUSTER_KLINE;
5129   }
5130 + #line 5131 "conf_parser.c" /* yacc.c:1646  */
5131      break;
5132  
5133 <  case 372:
5134 < /* Line 1787 of yacc.c  */
5375 < #line 1984 "conf_parser.y"
5133 >  case 401:
5134 > #line 2030 "conf_parser.y" /* yacc.c:1646  */
5135      {
5136    if (conf_parser_ctx.pass == 2)
5137 <    block_state.flags.value |= SHARED_UNKLINE;
5137 >    block_state.flags.value |= CLUSTER_UNKLINE;
5138   }
5139 + #line 5140 "conf_parser.c" /* yacc.c:1646  */
5140      break;
5141  
5142 <  case 373:
5143 < /* Line 1787 of yacc.c  */
5384 < #line 1988 "conf_parser.y"
5142 >  case 402:
5143 > #line 2034 "conf_parser.y" /* yacc.c:1646  */
5144      {
5145    if (conf_parser_ctx.pass == 2)
5146 <    block_state.flags.value |= SHARED_DLINE;
5146 >    block_state.flags.value |= CLUSTER_DLINE;
5147   }
5148 + #line 5149 "conf_parser.c" /* yacc.c:1646  */
5149      break;
5150  
5151 <  case 374:
5152 < /* Line 1787 of yacc.c  */
5393 < #line 1992 "conf_parser.y"
5151 >  case 403:
5152 > #line 2038 "conf_parser.y" /* yacc.c:1646  */
5153      {
5154    if (conf_parser_ctx.pass == 2)
5155 <    block_state.flags.value |= SHARED_UNDLINE;
5155 >    block_state.flags.value |= CLUSTER_UNDLINE;
5156   }
5157 + #line 5158 "conf_parser.c" /* yacc.c:1646  */
5158      break;
5159  
5160 <  case 375:
5161 < /* Line 1787 of yacc.c  */
5402 < #line 1996 "conf_parser.y"
5160 >  case 404:
5161 > #line 2042 "conf_parser.y" /* yacc.c:1646  */
5162      {
5163    if (conf_parser_ctx.pass == 2)
5164 <    block_state.flags.value |= SHARED_XLINE;
5164 >    block_state.flags.value |= CLUSTER_XLINE;
5165   }
5166 + #line 5167 "conf_parser.c" /* yacc.c:1646  */
5167      break;
5168  
5169 <  case 376:
5170 < /* Line 1787 of yacc.c  */
5411 < #line 2000 "conf_parser.y"
5169 >  case 405:
5170 > #line 2046 "conf_parser.y" /* yacc.c:1646  */
5171      {
5172    if (conf_parser_ctx.pass == 2)
5173 <    block_state.flags.value |= SHARED_UNXLINE;
5173 >    block_state.flags.value |= CLUSTER_UNXLINE;
5174   }
5175 + #line 5176 "conf_parser.c" /* yacc.c:1646  */
5176      break;
5177  
5178 <  case 377:
5179 < /* Line 1787 of yacc.c  */
5420 < #line 2004 "conf_parser.y"
5178 >  case 406:
5179 > #line 2050 "conf_parser.y" /* yacc.c:1646  */
5180      {
5181    if (conf_parser_ctx.pass == 2)
5182 <    block_state.flags.value |= SHARED_RESV;
5182 >    block_state.flags.value |= CLUSTER_RESV;
5183   }
5184 + #line 5185 "conf_parser.c" /* yacc.c:1646  */
5185      break;
5186  
5187 <  case 378:
5188 < /* Line 1787 of yacc.c  */
5429 < #line 2008 "conf_parser.y"
5187 >  case 407:
5188 > #line 2054 "conf_parser.y" /* yacc.c:1646  */
5189      {
5190    if (conf_parser_ctx.pass == 2)
5191 <    block_state.flags.value |= SHARED_UNRESV;
5191 >    block_state.flags.value |= CLUSTER_UNRESV;
5192   }
5193 + #line 5194 "conf_parser.c" /* yacc.c:1646  */
5194      break;
5195  
5196 <  case 379:
5197 < /* Line 1787 of yacc.c  */
5438 < #line 2012 "conf_parser.y"
5196 >  case 408:
5197 > #line 2058 "conf_parser.y" /* yacc.c:1646  */
5198      {
5199    if (conf_parser_ctx.pass == 2)
5200 <    block_state.flags.value |= SHARED_LOCOPS;
5200 >    block_state.flags.value |= CLUSTER_LOCOPS;
5201   }
5202 + #line 5203 "conf_parser.c" /* yacc.c:1646  */
5203      break;
5204  
5205 <  case 380:
5206 < /* Line 1787 of yacc.c  */
5447 < #line 2016 "conf_parser.y"
5205 >  case 409:
5206 > #line 2062 "conf_parser.y" /* yacc.c:1646  */
5207      {
5208    if (conf_parser_ctx.pass == 2)
5209 <    block_state.flags.value = SHARED_ALL;
5209 >    block_state.flags.value = CLUSTER_ALL;
5210   }
5211 + #line 5212 "conf_parser.c" /* yacc.c:1646  */
5212      break;
5213  
5214 <  case 381:
5215 < /* Line 1787 of yacc.c  */
5456 < #line 2025 "conf_parser.y"
5214 >  case 410:
5215 > #line 2072 "conf_parser.y" /* yacc.c:1646  */
5216      {
5217  
5218    if (conf_parser_ctx.pass != 2)
5219      break;
5220  
5221    reset_block_state();
5222 +  block_state.aftype.value = AF_INET;
5223    block_state.port.value = PORTNUM;
5224   }
5225 + #line 5226 "conf_parser.c" /* yacc.c:1646  */
5226      break;
5227  
5228 <  case 382:
5229 < /* Line 1787 of yacc.c  */
5469 < #line 2033 "conf_parser.y"
5228 >  case 411:
5229 > #line 2081 "conf_parser.y" /* yacc.c:1646  */
5230      {
5231    struct MaskItem *conf = NULL;
5232    struct addrinfo hints, *res;
# Line 5498 | Line 5258 | yyreduce:
5258    if (block_state.cert.buf[0])
5259      conf->certfp = xstrdup(block_state.cert.buf);
5260  
5261 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5261 >  if (block_state.ciph.buf[0])
5262 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5263  
5264    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5265    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5515 | Line 5276 | yyreduce:
5276        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5277      else
5278      {
5279 <      assert(res != NULL);
5279 >      assert(res);
5280  
5281        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5282        conf->bind.ss.ss_family = res->ai_family;
# Line 5527 | Line 5288 | yyreduce:
5288    conf_add_class_to_conf(conf, block_state.class.buf);
5289    lookup_confhost(conf);
5290   }
5291 + #line 5292 "conf_parser.c" /* yacc.c:1646  */
5292      break;
5293  
5294 <  case 400:
5295 < /* Line 1787 of yacc.c  */
5534 < #line 2103 "conf_parser.y"
5294 >  case 429:
5295 > #line 2161 "conf_parser.y" /* yacc.c:1646  */
5296      {
5297    if (conf_parser_ctx.pass == 2)
5298      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5299   }
5300 + #line 5301 "conf_parser.c" /* yacc.c:1646  */
5301      break;
5302  
5303 <  case 401:
5304 < /* Line 1787 of yacc.c  */
5543 < #line 2109 "conf_parser.y"
5303 >  case 430:
5304 > #line 2167 "conf_parser.y" /* yacc.c:1646  */
5305      {
5306    if (conf_parser_ctx.pass == 2)
5307      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5308   }
5309 + #line 5310 "conf_parser.c" /* yacc.c:1646  */
5310      break;
5311  
5312 <  case 402:
5313 < /* Line 1787 of yacc.c  */
5552 < #line 2115 "conf_parser.y"
5312 >  case 431:
5313 > #line 2173 "conf_parser.y" /* yacc.c:1646  */
5314      {
5315    if (conf_parser_ctx.pass == 2)
5316      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5317   }
5318 + #line 5319 "conf_parser.c" /* yacc.c:1646  */
5319      break;
5320  
5321 <  case 403:
5322 < /* Line 1787 of yacc.c  */
5561 < #line 2121 "conf_parser.y"
5321 >  case 432:
5322 > #line 2179 "conf_parser.y" /* yacc.c:1646  */
5323      {
5324    if (conf_parser_ctx.pass != 2)
5325      break;
5326  
5327 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5327 >  if ((yyvsp[-1].string)[0] == ':')
5328      conf_error_report("Server passwords cannot begin with a colon");
5329 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5329 >  else if (strchr((yyvsp[-1].string), ' '))
5330      conf_error_report("Server passwords cannot contain spaces");
5331    else
5332      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5333   }
5334 + #line 5335 "conf_parser.c" /* yacc.c:1646  */
5335      break;
5336  
5337 <  case 404:
5338 < /* Line 1787 of yacc.c  */
5577 < #line 2134 "conf_parser.y"
5337 >  case 433:
5338 > #line 2192 "conf_parser.y" /* yacc.c:1646  */
5339      {
5340    if (conf_parser_ctx.pass != 2)
5341      break;
5342  
5343 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5343 >  if ((yyvsp[-1].string)[0] == ':')
5344      conf_error_report("Server passwords cannot begin with a colon");
5345 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5345 >  else if (strchr((yyvsp[-1].string), ' '))
5346      conf_error_report("Server passwords cannot contain spaces");
5347    else
5348      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5349   }
5350 + #line 5351 "conf_parser.c" /* yacc.c:1646  */
5351      break;
5352  
5353 <  case 405:
5354 < /* Line 1787 of yacc.c  */
5593 < #line 2147 "conf_parser.y"
5353 >  case 434:
5354 > #line 2205 "conf_parser.y" /* yacc.c:1646  */
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357 <    if (strlen(yylval.string) == SHA_DIGEST_LENGTH * 2)
5597 <      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5357 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5358   }
5359 + #line 5360 "conf_parser.c" /* yacc.c:1646  */
5360      break;
5361  
5362 <  case 406:
5363 < /* Line 1787 of yacc.c  */
5603 < #line 2154 "conf_parser.y"
5362 >  case 435:
5363 > #line 2211 "conf_parser.y" /* yacc.c:1646  */
5364      {
5365    if (conf_parser_ctx.pass == 2)
5366 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5366 >    block_state.port.value = (yyvsp[-1].number);
5367   }
5368 + #line 5369 "conf_parser.c" /* yacc.c:1646  */
5369      break;
5370  
5371 <  case 407:
5372 < /* Line 1787 of yacc.c  */
5612 < #line 2160 "conf_parser.y"
5371 >  case 436:
5372 > #line 2217 "conf_parser.y" /* yacc.c:1646  */
5373      {
5374    if (conf_parser_ctx.pass == 2)
5375      block_state.aftype.value = AF_INET;
5376   }
5377 + #line 5378 "conf_parser.c" /* yacc.c:1646  */
5378      break;
5379  
5380 <  case 408:
5381 < /* Line 1787 of yacc.c  */
5621 < #line 2164 "conf_parser.y"
5380 >  case 437:
5381 > #line 2221 "conf_parser.y" /* yacc.c:1646  */
5382      {
5623 #ifdef IPV6
5383    if (conf_parser_ctx.pass == 2)
5384      block_state.aftype.value = AF_INET6;
5626 #endif
5385   }
5386 + #line 5387 "conf_parser.c" /* yacc.c:1646  */
5387      break;
5388  
5389 <  case 409:
5390 < /* Line 1787 of yacc.c  */
5632 < #line 2172 "conf_parser.y"
5389 >  case 438:
5390 > #line 2227 "conf_parser.y" /* yacc.c:1646  */
5391      {
5392    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5393   }
5394 + #line 5395 "conf_parser.c" /* yacc.c:1646  */
5395      break;
5396  
5397 <  case 413:
5398 < /* Line 1787 of yacc.c  */
5640 < #line 2178 "conf_parser.y"
5397 >  case 442:
5398 > #line 2233 "conf_parser.y" /* yacc.c:1646  */
5399      {
5400    if (conf_parser_ctx.pass == 2)
5401      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5402   }
5403 + #line 5404 "conf_parser.c" /* yacc.c:1646  */
5404      break;
5405  
5406 <  case 414:
5407 < /* Line 1787 of yacc.c  */
5649 < #line 2182 "conf_parser.y"
5406 >  case 443:
5407 > #line 2237 "conf_parser.y" /* yacc.c:1646  */
5408      {
5409    if (conf_parser_ctx.pass == 2)
5410      block_state.flags.value |= CONF_FLAGS_SSL;
5411   }
5412 + #line 5413 "conf_parser.c" /* yacc.c:1646  */
5413      break;
5414  
5415 <  case 415:
5416 < /* Line 1787 of yacc.c  */
5658 < #line 2188 "conf_parser.y"
5415 >  case 444:
5416 > #line 2243 "conf_parser.y" /* yacc.c:1646  */
5417      {
5418    if (conf_parser_ctx.pass == 2)
5419    {
# Line 5665 | Line 5423 | yyreduce:
5423        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5424    }
5425   }
5426 + #line 5427 "conf_parser.c" /* yacc.c:1646  */
5427      break;
5428  
5429 <  case 416:
5430 < /* Line 1787 of yacc.c  */
5672 < #line 2199 "conf_parser.y"
5429 >  case 445:
5430 > #line 2254 "conf_parser.y" /* yacc.c:1646  */
5431      {
5432    if (conf_parser_ctx.pass == 2)
5433      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5434   }
5435 + #line 5436 "conf_parser.c" /* yacc.c:1646  */
5436      break;
5437  
5438 <  case 417:
5439 < /* Line 1787 of yacc.c  */
5681 < #line 2205 "conf_parser.y"
5438 >  case 446:
5439 > #line 2260 "conf_parser.y" /* yacc.c:1646  */
5440      {
5441    if (conf_parser_ctx.pass == 2)
5442      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5443   }
5444 + #line 5445 "conf_parser.c" /* yacc.c:1646  */
5445      break;
5446  
5447 <  case 418:
5448 < /* Line 1787 of yacc.c  */
5690 < #line 2211 "conf_parser.y"
5447 >  case 447:
5448 > #line 2266 "conf_parser.y" /* yacc.c:1646  */
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5452   }
5453 + #line 5454 "conf_parser.c" /* yacc.c:1646  */
5454      break;
5455  
5456 <  case 419:
5457 < /* Line 1787 of yacc.c  */
5699 < #line 2217 "conf_parser.y"
5456 >  case 448:
5457 > #line 2272 "conf_parser.y" /* yacc.c:1646  */
5458      {
5459 < #ifdef HAVE_LIBCRYPTO
5459 > #ifdef HAVE_TLS
5460    if (conf_parser_ctx.pass == 2)
5461      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5462   #else
5463    if (conf_parser_ctx.pass == 2)
5464 <    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5464 >    conf_error_report("Ignoring connect::ciphers -- no TLS support");
5465   #endif
5466   }
5467 + #line 5468 "conf_parser.c" /* yacc.c:1646  */
5468      break;
5469  
5470 <  case 420:
5471 < /* Line 1787 of yacc.c  */
5713 < #line 2232 "conf_parser.y"
5470 >  case 449:
5471 > #line 2287 "conf_parser.y" /* yacc.c:1646  */
5472      {
5473    if (conf_parser_ctx.pass == 2)
5474      reset_block_state();
5475   }
5476 + #line 5477 "conf_parser.c" /* yacc.c:1646  */
5477      break;
5478  
5479 <  case 421:
5480 < /* Line 1787 of yacc.c  */
5722 < #line 2236 "conf_parser.y"
5479 >  case 450:
5480 > #line 2291 "conf_parser.y" /* yacc.c:1646  */
5481      {
5482    struct MaskItem *conf = NULL;
5483  
# Line 5740 | Line 5498 | yyreduce:
5498      conf->reason = xstrdup(CONF_NOREASON);
5499    add_conf_by_address(CONF_KLINE, conf);
5500   }
5501 + #line 5502 "conf_parser.c" /* yacc.c:1646  */
5502      break;
5503  
5504 <  case 427:
5505 < /* Line 1787 of yacc.c  */
5747 < #line 2261 "conf_parser.y"
5504 >  case 456:
5505 > #line 2316 "conf_parser.y" /* yacc.c:1646  */
5506      {
5507  
5508    if (conf_parser_ctx.pass == 2)
# Line 5763 | Line 5521 | yyreduce:
5521      split_nuh(&nuh);
5522    }
5523   }
5524 + #line 5525 "conf_parser.c" /* yacc.c:1646  */
5525      break;
5526  
5527 <  case 428:
5528 < /* Line 1787 of yacc.c  */
5770 < #line 2281 "conf_parser.y"
5527 >  case 457:
5528 > #line 2336 "conf_parser.y" /* yacc.c:1646  */
5529      {
5530    if (conf_parser_ctx.pass == 2)
5531      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5532   }
5533 + #line 5534 "conf_parser.c" /* yacc.c:1646  */
5534      break;
5535  
5536 <  case 429:
5537 < /* Line 1787 of yacc.c  */
5779 < #line 2290 "conf_parser.y"
5536 >  case 458:
5537 > #line 2346 "conf_parser.y" /* yacc.c:1646  */
5538      {
5539    if (conf_parser_ctx.pass == 2)
5540      reset_block_state();
5541   }
5542 + #line 5543 "conf_parser.c" /* yacc.c:1646  */
5543      break;
5544  
5545 <  case 430:
5546 < /* Line 1787 of yacc.c  */
5788 < #line 2294 "conf_parser.y"
5545 >  case 459:
5546 > #line 2350 "conf_parser.y" /* yacc.c:1646  */
5547      {
5548    struct MaskItem *conf = NULL;
5549  
# Line 5807 | Line 5565 | yyreduce:
5565      add_conf_by_address(CONF_DLINE, conf);
5566    }
5567   }
5568 + #line 5569 "conf_parser.c" /* yacc.c:1646  */
5569      break;
5570  
5571 <  case 436:
5572 < /* Line 1787 of yacc.c  */
5814 < #line 2320 "conf_parser.y"
5571 >  case 465:
5572 > #line 2376 "conf_parser.y" /* yacc.c:1646  */
5573      {
5574    if (conf_parser_ctx.pass == 2)
5575      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5576   }
5577 + #line 5578 "conf_parser.c" /* yacc.c:1646  */
5578      break;
5579  
5580 <  case 437:
5581 < /* Line 1787 of yacc.c  */
5823 < #line 2326 "conf_parser.y"
5580 >  case 466:
5581 > #line 2382 "conf_parser.y" /* yacc.c:1646  */
5582      {
5583    if (conf_parser_ctx.pass == 2)
5584      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5585   }
5586 + #line 5587 "conf_parser.c" /* yacc.c:1646  */
5587      break;
5588  
5589 <  case 443:
5590 < /* Line 1787 of yacc.c  */
5832 < #line 2340 "conf_parser.y"
5589 >  case 472:
5590 > #line 2397 "conf_parser.y" /* yacc.c:1646  */
5591      {
5592    if (conf_parser_ctx.pass == 2)
5593    {
5594 <    if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5594 >    if (*yylval.string && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5595      {
5596        struct MaskItem *conf = conf_make(CONF_EXEMPT);
5597        conf->host = xstrdup(yylval.string);
# Line 5842 | Line 5600 | yyreduce:
5600      }
5601    }
5602   }
5603 + #line 5604 "conf_parser.c" /* yacc.c:1646  */
5604      break;
5605  
5606 <  case 444:
5607 < /* Line 1787 of yacc.c  */
5849 < #line 2357 "conf_parser.y"
5606 >  case 473:
5607 > #line 2414 "conf_parser.y" /* yacc.c:1646  */
5608      {
5609    if (conf_parser_ctx.pass == 2)
5610      reset_block_state();
5611   }
5612 + #line 5613 "conf_parser.c" /* yacc.c:1646  */
5613      break;
5614  
5615 <  case 445:
5616 < /* Line 1787 of yacc.c  */
5858 < #line 2361 "conf_parser.y"
5615 >  case 474:
5616 > #line 2418 "conf_parser.y" /* yacc.c:1646  */
5617      {
5860  struct MaskItem *conf = NULL;
5861
5618    if (conf_parser_ctx.pass != 2)
5619      break;
5620  
5621    if (!block_state.name.buf[0])
5622      break;
5623  
5624 <  conf = conf_make(CONF_XLINE);
5625 <  conf->name = xstrdup(block_state.name.buf);
5624 >  struct GecosItem *gecos = gecos_make();
5625 >  gecos->mask = xstrdup(block_state.name.buf);
5626  
5627    if (block_state.rpass.buf[0])
5628 <    conf->reason = xstrdup(block_state.rpass.buf);
5628 >    gecos->reason = xstrdup(block_state.rpass.buf);
5629    else
5630 <    conf->reason = xstrdup(CONF_NOREASON);
5630 >    gecos->reason = xstrdup(CONF_NOREASON);
5631   }
5632 + #line 5633 "conf_parser.c" /* yacc.c:1646  */
5633      break;
5634  
5635 <  case 451:
5636 < /* Line 1787 of yacc.c  */
5880 < #line 2383 "conf_parser.y"
5635 >  case 480:
5636 > #line 2438 "conf_parser.y" /* yacc.c:1646  */
5637      {
5638    if (conf_parser_ctx.pass == 2)
5639      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5640   }
5641 + #line 5642 "conf_parser.c" /* yacc.c:1646  */
5642      break;
5643  
5644 <  case 452:
5645 < /* Line 1787 of yacc.c  */
5889 < #line 2389 "conf_parser.y"
5644 >  case 481:
5645 > #line 2444 "conf_parser.y" /* yacc.c:1646  */
5646      {
5647    if (conf_parser_ctx.pass == 2)
5648      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5649   }
5650 + #line 5651 "conf_parser.c" /* yacc.c:1646  */
5651      break;
5652  
5653 <  case 504:
5654 < /* Line 1787 of yacc.c  */
5898 < #line 2432 "conf_parser.y"
5653 >  case 532:
5654 > #line 2506 "conf_parser.y" /* yacc.c:1646  */
5655      {
5656 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5656 >  ConfigGeneral.away_count = (yyvsp[-1].number);
5657   }
5658 + #line 5659 "conf_parser.c" /* yacc.c:1646  */
5659      break;
5660  
5661 <  case 505:
5662 < /* Line 1787 of yacc.c  */
5906 < #line 2437 "conf_parser.y"
5661 >  case 533:
5662 > #line 2511 "conf_parser.y" /* yacc.c:1646  */
5663      {
5664 <  if (conf_parser_ctx.pass == 2)
5909 <    ConfigFileEntry.glines = yylval.number;
5664 >  ConfigGeneral.away_time = (yyvsp[-1].number);
5665   }
5666 + #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667      break;
5668  
5669 <  case 506:
5670 < /* Line 1787 of yacc.c  */
5915 < #line 2443 "conf_parser.y"
5669 >  case 534:
5670 > #line 2516 "conf_parser.y" /* yacc.c:1646  */
5671      {
5672 <  if (conf_parser_ctx.pass == 2)
5918 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5672 >  ConfigGeneral.max_watch = (yyvsp[-1].number);
5673   }
5674 + #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677 <  case 507:
5678 < /* Line 1787 of yacc.c  */
5924 < #line 2449 "conf_parser.y"
5677 >  case 535:
5678 > #line 2521 "conf_parser.y" /* yacc.c:1646  */
5679      {
5680 <  if (conf_parser_ctx.pass == 2)
5927 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5680 >  ConfigGeneral.whowas_history_length = (yyvsp[-1].number);
5681   }
5682 + #line 5683 "conf_parser.c" /* yacc.c:1646  */
5683      break;
5684  
5685 <  case 508:
5686 < /* Line 1787 of yacc.c  */
5933 < #line 2455 "conf_parser.y"
5685 >  case 536:
5686 > #line 2526 "conf_parser.y" /* yacc.c:1646  */
5687      {
5688 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5688 >  if (conf_parser_ctx.pass == 2)
5689 >    ConfigGeneral.cycle_on_host_change = yylval.number;
5690   }
5691 + #line 5692 "conf_parser.c" /* yacc.c:1646  */
5692      break;
5693  
5694 <  case 509:
5695 < /* Line 1787 of yacc.c  */
5941 < #line 2460 "conf_parser.y"
5694 >  case 537:
5695 > #line 2532 "conf_parser.y" /* yacc.c:1646  */
5696      {
5697 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5697 >  ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);
5698   }
5699 + #line 5700 "conf_parser.c" /* yacc.c:1646  */
5700      break;
5701  
5702 <  case 510:
5703 < /* Line 1787 of yacc.c  */
5949 < #line 2465 "conf_parser.y"
5702 >  case 538:
5703 > #line 2537 "conf_parser.y" /* yacc.c:1646  */
5704      {
5705 <  ConfigFileEntry.tkline_expire_notices = yylval.number;
5705 >  ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);
5706   }
5707 + #line 5708 "conf_parser.c" /* yacc.c:1646  */
5708      break;
5709  
5710 <  case 511:
5711 < /* Line 1787 of yacc.c  */
5957 < #line 2470 "conf_parser.y"
5710 >  case 539:
5711 > #line 2542 "conf_parser.y" /* yacc.c:1646  */
5712      {
5713 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5713 >  ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);
5714   }
5715 + #line 5716 "conf_parser.c" /* yacc.c:1646  */
5716      break;
5717  
5718 <  case 512:
5719 < /* Line 1787 of yacc.c  */
5965 < #line 2475 "conf_parser.y"
5718 >  case 540:
5719 > #line 2547 "conf_parser.y" /* yacc.c:1646  */
5720      {
5721 <  ConfigFileEntry.hide_spoof_ips = yylval.number;
5721 >  ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);
5722   }
5723 + #line 5724 "conf_parser.c" /* yacc.c:1646  */
5724      break;
5725  
5726 <  case 513:
5727 < /* Line 1787 of yacc.c  */
5973 < #line 2480 "conf_parser.y"
5726 >  case 541:
5727 > #line 2552 "conf_parser.y" /* yacc.c:1646  */
5728      {
5729 <  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5729 >  ConfigGeneral.tkline_expire_notices = yylval.number;
5730   }
5731 + #line 5732 "conf_parser.c" /* yacc.c:1646  */
5732      break;
5733  
5734 <  case 514:
5735 < /* Line 1787 of yacc.c  */
5981 < #line 2485 "conf_parser.y"
5734 >  case 542:
5735 > #line 2557 "conf_parser.y" /* yacc.c:1646  */
5736      {
5737 <  ConfigFileEntry.failed_oper_notice = yylval.number;
5737 >  ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5738   }
5739 + #line 5740 "conf_parser.c" /* yacc.c:1646  */
5740      break;
5741  
5742 <  case 515:
5743 < /* Line 1787 of yacc.c  */
5989 < #line 2490 "conf_parser.y"
5742 >  case 543:
5743 > #line 2562 "conf_parser.y" /* yacc.c:1646  */
5744      {
5745 <  ConfigFileEntry.anti_nick_flood = yylval.number;
5745 >  ConfigGeneral.ignore_bogus_ts = yylval.number;
5746   }
5747 + #line 5748 "conf_parser.c" /* yacc.c:1646  */
5748      break;
5749  
5750 <  case 516:
5751 < /* Line 1787 of yacc.c  */
5997 < #line 2495 "conf_parser.y"
5750 >  case 544:
5751 > #line 2567 "conf_parser.y" /* yacc.c:1646  */
5752      {
5753 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5753 >  ConfigGeneral.failed_oper_notice = yylval.number;
5754   }
5755 + #line 5756 "conf_parser.c" /* yacc.c:1646  */
5756      break;
5757  
5758 <  case 517:
5759 < /* Line 1787 of yacc.c  */
6005 < #line 2500 "conf_parser.y"
5758 >  case 545:
5759 > #line 2572 "conf_parser.y" /* yacc.c:1646  */
5760      {
5761 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5761 >  ConfigGeneral.anti_nick_flood = yylval.number;
5762   }
5763 + #line 5764 "conf_parser.c" /* yacc.c:1646  */
5764      break;
5765  
5766 <  case 518:
5767 < /* Line 1787 of yacc.c  */
6013 < #line 2505 "conf_parser.y"
5766 >  case 546:
5767 > #line 2577 "conf_parser.y" /* yacc.c:1646  */
5768      {
5769 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5769 >  ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5770   }
5771 + #line 5772 "conf_parser.c" /* yacc.c:1646  */
5772      break;
5773  
5774 <  case 519:
5775 < /* Line 1787 of yacc.c  */
6021 < #line 2510 "conf_parser.y"
5774 >  case 547:
5775 > #line 2582 "conf_parser.y" /* yacc.c:1646  */
5776      {
5777 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5777 >  ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5778   }
5779 + #line 5780 "conf_parser.c" /* yacc.c:1646  */
5780      break;
5781  
5782 <  case 520:
5783 < /* Line 1787 of yacc.c  */
6029 < #line 2515 "conf_parser.y"
5782 >  case 548:
5783 > #line 2587 "conf_parser.y" /* yacc.c:1646  */
5784      {
5785 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5785 >  ConfigGeneral.max_accept = (yyvsp[-1].number);
5786   }
5787 + #line 5788 "conf_parser.c" /* yacc.c:1646  */
5788      break;
5789  
5790 <  case 521:
5791 < /* Line 1787 of yacc.c  */
6037 < #line 2520 "conf_parser.y"
5790 >  case 549:
5791 > #line 2592 "conf_parser.y" /* yacc.c:1646  */
5792      {
5793 <  if (conf_parser_ctx.pass == 2)
6040 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5793 >  ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5794   }
5795 + #line 5796 "conf_parser.c" /* yacc.c:1646  */
5796      break;
5797  
5798 <  case 522:
5799 < /* Line 1787 of yacc.c  */
6046 < #line 2526 "conf_parser.y"
5798 >  case 550:
5799 > #line 2597 "conf_parser.y" /* yacc.c:1646  */
5800      {
5801 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6049 <  {
6050 <    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6051 <    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6052 <    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6053 <    exit(0);
6054 <  }
5801 >  ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5802   }
5803 + #line 5804 "conf_parser.c" /* yacc.c:1646  */
5804      break;
5805  
5806 <  case 523:
5807 < /* Line 1787 of yacc.c  */
6060 < #line 2537 "conf_parser.y"
5806 >  case 551:
5807 > #line 2602 "conf_parser.y" /* yacc.c:1646  */
5808      {
5809 <  ConfigFileEntry.invisible_on_connect = yylval.number;
5809 >  if (conf_parser_ctx.pass == 2)
5810 >    ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5811   }
5812 + #line 5813 "conf_parser.c" /* yacc.c:1646  */
5813      break;
5814  
5815 <  case 524:
5816 < /* Line 1787 of yacc.c  */
6068 < #line 2542 "conf_parser.y"
5815 >  case 552:
5816 > #line 2608 "conf_parser.y" /* yacc.c:1646  */
5817      {
5818 <  ConfigFileEntry.warn_no_nline = yylval.number;
5818 >  ConfigGeneral.invisible_on_connect = yylval.number;
5819   }
5820 + #line 5821 "conf_parser.c" /* yacc.c:1646  */
5821      break;
5822  
5823 <  case 525:
5824 < /* Line 1787 of yacc.c  */
6076 < #line 2547 "conf_parser.y"
5823 >  case 553:
5824 > #line 2613 "conf_parser.y" /* yacc.c:1646  */
5825      {
5826 <  ConfigFileEntry.stats_e_disabled = yylval.number;
5826 >  ConfigGeneral.warn_no_connect_block = yylval.number;
5827   }
5828 + #line 5829 "conf_parser.c" /* yacc.c:1646  */
5829      break;
5830  
5831 <  case 526:
5832 < /* Line 1787 of yacc.c  */
6084 < #line 2552 "conf_parser.y"
5831 >  case 554:
5832 > #line 2618 "conf_parser.y" /* yacc.c:1646  */
5833      {
5834 <  ConfigFileEntry.stats_o_oper_only = yylval.number;
5834 >  ConfigGeneral.stats_e_disabled = yylval.number;
5835   }
5836 + #line 5837 "conf_parser.c" /* yacc.c:1646  */
5837      break;
5838  
5839 <  case 527:
5840 < /* Line 1787 of yacc.c  */
6092 < #line 2557 "conf_parser.y"
5839 >  case 555:
5840 > #line 2623 "conf_parser.y" /* yacc.c:1646  */
5841      {
5842 <  ConfigFileEntry.stats_P_oper_only = yylval.number;
5842 >  ConfigGeneral.stats_m_oper_only = yylval.number;
5843   }
5844 + #line 5845 "conf_parser.c" /* yacc.c:1646  */
5845      break;
5846  
5847 <  case 528:
5848 < /* Line 1787 of yacc.c  */
6100 < #line 2562 "conf_parser.y"
5847 >  case 556:
5848 > #line 2628 "conf_parser.y" /* yacc.c:1646  */
5849      {
5850 <  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5850 >  ConfigGeneral.stats_o_oper_only = yylval.number;
5851   }
5852 + #line 5853 "conf_parser.c" /* yacc.c:1646  */
5853      break;
5854  
5855 <  case 529:
5856 < /* Line 1787 of yacc.c  */
6108 < #line 2565 "conf_parser.y"
5855 >  case 557:
5856 > #line 2633 "conf_parser.y" /* yacc.c:1646  */
5857      {
5858 <  ConfigFileEntry.stats_k_oper_only = 1;
5858 >  ConfigGeneral.stats_P_oper_only = yylval.number;
5859   }
5860 + #line 5861 "conf_parser.c" /* yacc.c:1646  */
5861      break;
5862  
5863 <  case 530:
5864 < /* Line 1787 of yacc.c  */
6116 < #line 2570 "conf_parser.y"
5863 >  case 558:
5864 > #line 2638 "conf_parser.y" /* yacc.c:1646  */
5865      {
5866 <  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5866 >  ConfigGeneral.stats_u_oper_only = yylval.number;
5867   }
5868 + #line 5869 "conf_parser.c" /* yacc.c:1646  */
5869      break;
5870  
5871 <  case 531:
5872 < /* Line 1787 of yacc.c  */
6124 < #line 2573 "conf_parser.y"
5871 >  case 559:
5872 > #line 2643 "conf_parser.y" /* yacc.c:1646  */
5873      {
5874 <  ConfigFileEntry.stats_i_oper_only = 1;
5874 >  ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5875   }
5876 + #line 5877 "conf_parser.c" /* yacc.c:1646  */
5877      break;
5878  
5879 <  case 532:
5880 < /* Line 1787 of yacc.c  */
6132 < #line 2578 "conf_parser.y"
5879 >  case 560:
5880 > #line 2646 "conf_parser.y" /* yacc.c:1646  */
5881      {
5882 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5882 >  ConfigGeneral.stats_k_oper_only = 1;
5883   }
5884 + #line 5885 "conf_parser.c" /* yacc.c:1646  */
5885      break;
5886  
5887 <  case 533:
5888 < /* Line 1787 of yacc.c  */
6140 < #line 2583 "conf_parser.y"
5887 >  case 561:
5888 > #line 2651 "conf_parser.y" /* yacc.c:1646  */
5889      {
5890 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5890 >  ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5891   }
5892 + #line 5893 "conf_parser.c" /* yacc.c:1646  */
5893      break;
5894  
5895 <  case 534:
5896 < /* Line 1787 of yacc.c  */
6148 < #line 2588 "conf_parser.y"
5895 >  case 562:
5896 > #line 2654 "conf_parser.y" /* yacc.c:1646  */
5897      {
5898 <  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5898 >  ConfigGeneral.stats_i_oper_only = 1;
5899   }
5900 + #line 5901 "conf_parser.c" /* yacc.c:1646  */
5901      break;
5902  
5903 <  case 535:
5904 < /* Line 1787 of yacc.c  */
6156 < #line 2593 "conf_parser.y"
5903 >  case 563:
5904 > #line 2659 "conf_parser.y" /* yacc.c:1646  */
5905      {
5906 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5906 >  ConfigGeneral.pace_wait = (yyvsp[-1].number);
5907   }
5908 + #line 5909 "conf_parser.c" /* yacc.c:1646  */
5909      break;
5910  
5911 <  case 536:
5912 < /* Line 1787 of yacc.c  */
6164 < #line 2598 "conf_parser.y"
5911 >  case 564:
5912 > #line 2664 "conf_parser.y" /* yacc.c:1646  */
5913      {
5914 <  ConfigFileEntry.short_motd = yylval.number;
5914 >  ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5915   }
5916 + #line 5917 "conf_parser.c" /* yacc.c:1646  */
5917      break;
5918  
5919 <  case 537:
5920 < /* Line 1787 of yacc.c  */
6172 < #line 2603 "conf_parser.y"
5919 >  case 565:
5920 > #line 2669 "conf_parser.y" /* yacc.c:1646  */
5921      {
5922 <  ConfigFileEntry.no_oper_flood = yylval.number;
5922 >  ConfigGeneral.opers_bypass_callerid = yylval.number;
5923   }
5924 + #line 5925 "conf_parser.c" /* yacc.c:1646  */
5925      break;
5926  
5927 <  case 538:
5928 < /* Line 1787 of yacc.c  */
6180 < #line 2608 "conf_parser.y"
5927 >  case 566:
5928 > #line 2674 "conf_parser.y" /* yacc.c:1646  */
5929      {
5930 <  ConfigFileEntry.true_no_oper_flood = yylval.number;
5930 >  ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5931   }
5932 + #line 5933 "conf_parser.c" /* yacc.c:1646  */
5933      break;
5934  
5935 <  case 539:
5936 < /* Line 1787 of yacc.c  */
6188 < #line 2613 "conf_parser.y"
5935 >  case 567:
5936 > #line 2679 "conf_parser.y" /* yacc.c:1646  */
5937      {
5938 <  ConfigFileEntry.oper_pass_resv = yylval.number;
5938 >  ConfigGeneral.short_motd = yylval.number;
5939   }
5940 + #line 5941 "conf_parser.c" /* yacc.c:1646  */
5941      break;
5942  
5943 <  case 540:
5944 < /* Line 1787 of yacc.c  */
6196 < #line 2618 "conf_parser.y"
5943 >  case 568:
5944 > #line 2684 "conf_parser.y" /* yacc.c:1646  */
5945      {
5946 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5946 >  ConfigGeneral.no_oper_flood = yylval.number;
5947   }
5948 + #line 5949 "conf_parser.c" /* yacc.c:1646  */
5949      break;
5950  
5951 <  case 541:
5952 < /* Line 1787 of yacc.c  */
6204 < #line 2623 "conf_parser.y"
5951 >  case 569:
5952 > #line 2689 "conf_parser.y" /* yacc.c:1646  */
5953      {
5954 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5954 >  ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
5955   }
5956 + #line 5957 "conf_parser.c" /* yacc.c:1646  */
5957      break;
5958  
5959 <  case 542:
5960 < /* Line 1787 of yacc.c  */
6212 < #line 2628 "conf_parser.y"
5959 >  case 570:
5960 > #line 2694 "conf_parser.y" /* yacc.c:1646  */
5961      {
5962 <  ConfigFileEntry.use_egd = yylval.number;
5962 >  ConfigGeneral.max_targets = (yyvsp[-1].number);
5963   }
5964 + #line 5965 "conf_parser.c" /* yacc.c:1646  */
5965      break;
5966  
5967 <  case 543:
5968 < /* Line 1787 of yacc.c  */
6220 < #line 2633 "conf_parser.y"
5967 >  case 571:
5968 > #line 2699 "conf_parser.y" /* yacc.c:1646  */
5969      {
5970 <  if (conf_parser_ctx.pass == 2)
6223 <  {
6224 <    MyFree(ConfigFileEntry.egdpool_path);
6225 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6226 <  }
5970 >  ConfigGeneral.ping_cookie = yylval.number;
5971   }
5972 + #line 5973 "conf_parser.c" /* yacc.c:1646  */
5973      break;
5974  
5975 <  case 544:
5976 < /* Line 1787 of yacc.c  */
6232 < #line 2642 "conf_parser.y"
5975 >  case 572:
5976 > #line 2704 "conf_parser.y" /* yacc.c:1646  */
5977      {
5978 <  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6235 <  {
6236 <    MyFree(ConfigFileEntry.service_name);
6237 <    ConfigFileEntry.service_name = xstrdup(yylval.string);
6238 <  }
5978 >  ConfigGeneral.disable_auth = yylval.number;
5979   }
5980 + #line 5981 "conf_parser.c" /* yacc.c:1646  */
5981      break;
5982  
5983 <  case 545:
5984 < /* Line 1787 of yacc.c  */
6244 < #line 2651 "conf_parser.y"
5983 >  case 573:
5984 > #line 2709 "conf_parser.y" /* yacc.c:1646  */
5985      {
5986 <  ConfigFileEntry.ping_cookie = yylval.number;
5986 >  ConfigGeneral.throttle_count = (yyvsp[-1].number);
5987   }
5988 + #line 5989 "conf_parser.c" /* yacc.c:1646  */
5989      break;
5990  
5991 <  case 546:
5992 < /* Line 1787 of yacc.c  */
6252 < #line 2656 "conf_parser.y"
5991 >  case 574:
5992 > #line 2714 "conf_parser.y" /* yacc.c:1646  */
5993      {
5994 <  ConfigFileEntry.disable_auth = yylval.number;
5994 >  ConfigGeneral.throttle_time = (yyvsp[-1].number);
5995   }
5996 + #line 5997 "conf_parser.c" /* yacc.c:1646  */
5997      break;
5998  
5999 <  case 547:
6000 < /* Line 1787 of yacc.c  */
6260 < #line 2661 "conf_parser.y"
5999 >  case 575:
6000 > #line 2719 "conf_parser.y" /* yacc.c:1646  */
6001      {
6002 <  ConfigFileEntry.throttle_time = yylval.number;
6002 >  ConfigGeneral.oper_umodes = 0;
6003   }
6004 + #line 6005 "conf_parser.c" /* yacc.c:1646  */
6005      break;
6006  
6007 <  case 548:
6008 < /* Line 1787 of yacc.c  */
6268 < #line 2666 "conf_parser.y"
6007 >  case 579:
6008 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
6009      {
6010 <  ConfigFileEntry.oper_umodes = 0;
6010 >  ConfigGeneral.oper_umodes |= UMODE_BOTS;
6011   }
6012 + #line 6013 "conf_parser.c" /* yacc.c:1646  */
6013      break;
6014  
6015 <  case 552:
6016 < /* Line 1787 of yacc.c  */
6276 < #line 2672 "conf_parser.y"
6015 >  case 580:
6016 > #line 2728 "conf_parser.y" /* yacc.c:1646  */
6017      {
6018 <  ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6018 >  ConfigGeneral.oper_umodes |= UMODE_CCONN;
6019   }
6020 + #line 6021 "conf_parser.c" /* yacc.c:1646  */
6021      break;
6022  
6023 <  case 553:
6024 < /* Line 1787 of yacc.c  */
6284 < #line 2675 "conf_parser.y"
6023 >  case 581:
6024 > #line 2731 "conf_parser.y" /* yacc.c:1646  */
6025      {
6026 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6026 >  ConfigGeneral.oper_umodes |= UMODE_DEAF;
6027   }
6028 + #line 6029 "conf_parser.c" /* yacc.c:1646  */
6029      break;
6030  
6031 <  case 554:
6032 < /* Line 1787 of yacc.c  */
6292 < #line 2678 "conf_parser.y"
6031 >  case 582:
6032 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
6033      {
6034 <  ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6034 >  ConfigGeneral.oper_umodes |= UMODE_DEBUG;
6035   }
6036 + #line 6037 "conf_parser.c" /* yacc.c:1646  */
6037      break;
6038  
6039 <  case 555:
6040 < /* Line 1787 of yacc.c  */
6300 < #line 2681 "conf_parser.y"
6039 >  case 583:
6040 > #line 2737 "conf_parser.y" /* yacc.c:1646  */
6041      {
6042 <  ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6042 >  ConfigGeneral.oper_umodes |= UMODE_FULL;
6043   }
6044 + #line 6045 "conf_parser.c" /* yacc.c:1646  */
6045      break;
6046  
6047 <  case 556:
6048 < /* Line 1787 of yacc.c  */
6308 < #line 2684 "conf_parser.y"
6047 >  case 584:
6048 > #line 2740 "conf_parser.y" /* yacc.c:1646  */
6049      {
6050 <  ConfigFileEntry.oper_umodes |= UMODE_FULL;
6050 >  ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
6051   }
6052 + #line 6053 "conf_parser.c" /* yacc.c:1646  */
6053      break;
6054  
6055 <  case 557:
6056 < /* Line 1787 of yacc.c  */
6316 < #line 2687 "conf_parser.y"
6055 >  case 585:
6056 > #line 2743 "conf_parser.y" /* yacc.c:1646  */
6057      {
6058 <  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6058 >  ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
6059   }
6060 + #line 6061 "conf_parser.c" /* yacc.c:1646  */
6061      break;
6062  
6063 <  case 558:
6064 < /* Line 1787 of yacc.c  */
6324 < #line 2690 "conf_parser.y"
6063 >  case 586:
6064 > #line 2746 "conf_parser.y" /* yacc.c:1646  */
6065      {
6066 <  ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6066 >  ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
6067   }
6068 + #line 6069 "conf_parser.c" /* yacc.c:1646  */
6069      break;
6070  
6071 <  case 559:
6072 < /* Line 1787 of yacc.c  */
6332 < #line 2693 "conf_parser.y"
6071 >  case 587:
6072 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
6073      {
6074 <  ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6074 >  ConfigGeneral.oper_umodes |= UMODE_SKILL;
6075   }
6076 + #line 6077 "conf_parser.c" /* yacc.c:1646  */
6077      break;
6078  
6079 <  case 560:
6080 < /* Line 1787 of yacc.c  */
6340 < #line 2696 "conf_parser.y"
6079 >  case 588:
6080 > #line 2752 "conf_parser.y" /* yacc.c:1646  */
6081      {
6082 <  ConfigFileEntry.oper_umodes |= UMODE_REJ;
6082 >  ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6083   }
6084 + #line 6085 "conf_parser.c" /* yacc.c:1646  */
6085      break;
6086  
6087 <  case 561:
6088 < /* Line 1787 of yacc.c  */
6348 < #line 2699 "conf_parser.y"
6087 >  case 589:
6088 > #line 2755 "conf_parser.y" /* yacc.c:1646  */
6089      {
6090 <  ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6090 >  ConfigGeneral.oper_umodes |= UMODE_REJ;
6091   }
6092 + #line 6093 "conf_parser.c" /* yacc.c:1646  */
6093      break;
6094  
6095 <  case 562:
6096 < /* Line 1787 of yacc.c  */
6356 < #line 2702 "conf_parser.y"
6095 >  case 590:
6096 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
6097      {
6098 <  ConfigFileEntry.oper_umodes |= UMODE_SPY;
6098 >  ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6099   }
6100 + #line 6101 "conf_parser.c" /* yacc.c:1646  */
6101      break;
6102  
6103 <  case 563:
6104 < /* Line 1787 of yacc.c  */
6364 < #line 2705 "conf_parser.y"
6103 >  case 591:
6104 > #line 2761 "conf_parser.y" /* yacc.c:1646  */
6105      {
6106 <  ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6106 >  ConfigGeneral.oper_umodes |= UMODE_SPY;
6107   }
6108 + #line 6109 "conf_parser.c" /* yacc.c:1646  */
6109      break;
6110  
6111 <  case 564:
6112 < /* Line 1787 of yacc.c  */
6372 < #line 2708 "conf_parser.y"
6111 >  case 592:
6112 > #line 2764 "conf_parser.y" /* yacc.c:1646  */
6113      {
6114 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6114 >  ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6115   }
6116 + #line 6117 "conf_parser.c" /* yacc.c:1646  */
6117      break;
6118  
6119 <  case 565:
6120 < /* Line 1787 of yacc.c  */
6380 < #line 2711 "conf_parser.y"
6119 >  case 593:
6120 > #line 2767 "conf_parser.y" /* yacc.c:1646  */
6121      {
6122 <  ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6122 >  ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6123   }
6124 + #line 6125 "conf_parser.c" /* yacc.c:1646  */
6125      break;
6126  
6127 <  case 566:
6128 < /* Line 1787 of yacc.c  */
6388 < #line 2714 "conf_parser.y"
6127 >  case 594:
6128 > #line 2770 "conf_parser.y" /* yacc.c:1646  */
6129      {
6130 <  ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6130 >  ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6131   }
6132 + #line 6133 "conf_parser.c" /* yacc.c:1646  */
6133      break;
6134  
6135 <  case 567:
6136 < /* Line 1787 of yacc.c  */
6396 < #line 2717 "conf_parser.y"
6135 >  case 595:
6136 > #line 2773 "conf_parser.y" /* yacc.c:1646  */
6137      {
6138 <  ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6138 >  ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6139   }
6140 + #line 6141 "conf_parser.c" /* yacc.c:1646  */
6141      break;
6142  
6143 <  case 568:
6144 < /* Line 1787 of yacc.c  */
6404 < #line 2720 "conf_parser.y"
6143 >  case 596:
6144 > #line 2776 "conf_parser.y" /* yacc.c:1646  */
6145      {
6146 <  ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6146 >  ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6147   }
6148 + #line 6149 "conf_parser.c" /* yacc.c:1646  */
6149      break;
6150  
6151 <  case 569:
6152 < /* Line 1787 of yacc.c  */
6412 < #line 2723 "conf_parser.y"
6151 >  case 597:
6152 > #line 2779 "conf_parser.y" /* yacc.c:1646  */
6153      {
6154 <  ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6154 >  ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6155   }
6156 + #line 6157 "conf_parser.c" /* yacc.c:1646  */
6157      break;
6158  
6159 <  case 570:
6160 < /* Line 1787 of yacc.c  */
6420 < #line 2726 "conf_parser.y"
6159 >  case 598:
6160 > #line 2782 "conf_parser.y" /* yacc.c:1646  */
6161      {
6162 <  ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6162 >  ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6163   }
6164 + #line 6165 "conf_parser.c" /* yacc.c:1646  */
6165      break;
6166  
6167 <  case 571:
6168 < /* Line 1787 of yacc.c  */
6428 < #line 2729 "conf_parser.y"
6167 >  case 599:
6168 > #line 2785 "conf_parser.y" /* yacc.c:1646  */
6169      {
6170 <  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6170 >  ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6171   }
6172 + #line 6173 "conf_parser.c" /* yacc.c:1646  */
6173      break;
6174  
6175 <  case 572:
6176 < /* Line 1787 of yacc.c  */
6436 < #line 2732 "conf_parser.y"
6175 >  case 600:
6176 > #line 2788 "conf_parser.y" /* yacc.c:1646  */
6177      {
6178 <  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6178 >  ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6179   }
6180 + #line 6181 "conf_parser.c" /* yacc.c:1646  */
6181      break;
6182  
6183 <  case 573:
6184 < /* Line 1787 of yacc.c  */
6444 < #line 2737 "conf_parser.y"
6183 >  case 601:
6184 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6185      {
6186 <  ConfigFileEntry.oper_only_umodes = 0;
6186 >  ConfigGeneral.oper_only_umodes = 0;
6187   }
6188 + #line 6189 "conf_parser.c" /* yacc.c:1646  */
6189      break;
6190  
6191 <  case 577:
6192 < /* Line 1787 of yacc.c  */
6452 < #line 2743 "conf_parser.y"
6191 >  case 605:
6192 > #line 2799 "conf_parser.y" /* yacc.c:1646  */
6193      {
6194 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6194 >  ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6195   }
6196 + #line 6197 "conf_parser.c" /* yacc.c:1646  */
6197      break;
6198  
6199 <  case 578:
6200 < /* Line 1787 of yacc.c  */
6460 < #line 2746 "conf_parser.y"
6199 >  case 606:
6200 > #line 2802 "conf_parser.y" /* yacc.c:1646  */
6201      {
6202 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6202 >  ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6203   }
6204 + #line 6205 "conf_parser.c" /* yacc.c:1646  */
6205      break;
6206  
6207 <  case 579:
6208 < /* Line 1787 of yacc.c  */
6468 < #line 2749 "conf_parser.y"
6207 >  case 607:
6208 > #line 2805 "conf_parser.y" /* yacc.c:1646  */
6209      {
6210 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6210 >  ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6211   }
6212 + #line 6213 "conf_parser.c" /* yacc.c:1646  */
6213      break;
6214  
6215 <  case 580:
6216 < /* Line 1787 of yacc.c  */
6476 < #line 2752 "conf_parser.y"
6215 >  case 608:
6216 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6217      {
6218 <  ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6218 >  ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6219   }
6220 + #line 6221 "conf_parser.c" /* yacc.c:1646  */
6221      break;
6222  
6223 <  case 581:
6224 < /* Line 1787 of yacc.c  */
6225 < #line 2755 "conf_parser.y"
6226 <    {
6486 <  ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6223 >  case 609:
6224 > #line 2811 "conf_parser.y" /* yacc.c:1646  */
6225 >    {
6226 >  ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6227   }
6228 + #line 6229 "conf_parser.c" /* yacc.c:1646  */
6229      break;
6230  
6231 <  case 582:
6232 < /* Line 1787 of yacc.c  */
6492 < #line 2758 "conf_parser.y"
6231 >  case 610:
6232 > #line 2814 "conf_parser.y" /* yacc.c:1646  */
6233      {
6234 <  ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6234 >  ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6235   }
6236 + #line 6237 "conf_parser.c" /* yacc.c:1646  */
6237      break;
6238  
6239 <  case 583:
6240 < /* Line 1787 of yacc.c  */
6500 < #line 2761 "conf_parser.y"
6239 >  case 611:
6240 > #line 2817 "conf_parser.y" /* yacc.c:1646  */
6241      {
6242 <  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6242 >  ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6243   }
6244 + #line 6245 "conf_parser.c" /* yacc.c:1646  */
6245      break;
6246  
6247 <  case 584:
6248 < /* Line 1787 of yacc.c  */
6508 < #line 2764 "conf_parser.y"
6247 >  case 612:
6248 > #line 2820 "conf_parser.y" /* yacc.c:1646  */
6249      {
6250 <  ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6250 >  ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6251   }
6252 + #line 6253 "conf_parser.c" /* yacc.c:1646  */
6253      break;
6254  
6255 <  case 585:
6256 < /* Line 1787 of yacc.c  */
6516 < #line 2767 "conf_parser.y"
6255 >  case 613:
6256 > #line 2823 "conf_parser.y" /* yacc.c:1646  */
6257      {
6258 <  ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6258 >  ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6259   }
6260 + #line 6261 "conf_parser.c" /* yacc.c:1646  */
6261      break;
6262  
6263 <  case 586:
6264 < /* Line 1787 of yacc.c  */
6524 < #line 2770 "conf_parser.y"
6263 >  case 614:
6264 > #line 2826 "conf_parser.y" /* yacc.c:1646  */
6265      {
6266 <  ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6266 >  ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6267   }
6268 + #line 6269 "conf_parser.c" /* yacc.c:1646  */
6269      break;
6270  
6271 <  case 587:
6272 < /* Line 1787 of yacc.c  */
6532 < #line 2773 "conf_parser.y"
6271 >  case 615:
6272 > #line 2829 "conf_parser.y" /* yacc.c:1646  */
6273      {
6274 <  ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6274 >  ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6275   }
6276 + #line 6277 "conf_parser.c" /* yacc.c:1646  */
6277      break;
6278  
6279 <  case 588:
6280 < /* Line 1787 of yacc.c  */
6540 < #line 2776 "conf_parser.y"
6279 >  case 616:
6280 > #line 2832 "conf_parser.y" /* yacc.c:1646  */
6281      {
6282 <  ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6282 >  ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6283   }
6284 + #line 6285 "conf_parser.c" /* yacc.c:1646  */
6285      break;
6286  
6287 <  case 589:
6288 < /* Line 1787 of yacc.c  */
6548 < #line 2779 "conf_parser.y"
6287 >  case 617:
6288 > #line 2835 "conf_parser.y" /* yacc.c:1646  */
6289      {
6290 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6290 >  ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6291   }
6292 + #line 6293 "conf_parser.c" /* yacc.c:1646  */
6293      break;
6294  
6295 <  case 590:
6296 < /* Line 1787 of yacc.c  */
6556 < #line 2782 "conf_parser.y"
6295 >  case 618:
6296 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6297      {
6298 <  ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6298 >  ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6299   }
6300 + #line 6301 "conf_parser.c" /* yacc.c:1646  */
6301      break;
6302  
6303 <  case 591:
6304 < /* Line 1787 of yacc.c  */
6564 < #line 2785 "conf_parser.y"
6303 >  case 619:
6304 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6305      {
6306 <  ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6306 >  ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6307   }
6308 + #line 6309 "conf_parser.c" /* yacc.c:1646  */
6309      break;
6310  
6311 <  case 592:
6312 < /* Line 1787 of yacc.c  */
6572 < #line 2788 "conf_parser.y"
6311 >  case 620:
6312 > #line 2844 "conf_parser.y" /* yacc.c:1646  */
6313      {
6314 <  ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6314 >  ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6315   }
6316 + #line 6317 "conf_parser.c" /* yacc.c:1646  */
6317      break;
6318  
6319 <  case 593:
6320 < /* Line 1787 of yacc.c  */
6580 < #line 2791 "conf_parser.y"
6319 >  case 621:
6320 > #line 2847 "conf_parser.y" /* yacc.c:1646  */
6321      {
6322 <  ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6322 >  ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6323   }
6324 + #line 6325 "conf_parser.c" /* yacc.c:1646  */
6325      break;
6326  
6327 <  case 594:
6328 < /* Line 1787 of yacc.c  */
6588 < #line 2794 "conf_parser.y"
6327 >  case 622:
6328 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6329      {
6330 <  ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6330 >  ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6331   }
6332 + #line 6333 "conf_parser.c" /* yacc.c:1646  */
6333      break;
6334  
6335 <  case 595:
6336 < /* Line 1787 of yacc.c  */
6596 < #line 2797 "conf_parser.y"
6335 >  case 623:
6336 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6337      {
6338 <  ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6338 >  ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6339   }
6340 + #line 6341 "conf_parser.c" /* yacc.c:1646  */
6341      break;
6342  
6343 <  case 596:
6344 < /* Line 1787 of yacc.c  */
6604 < #line 2800 "conf_parser.y"
6343 >  case 624:
6344 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6345      {
6346 <  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6346 >  ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6347   }
6348 + #line 6349 "conf_parser.c" /* yacc.c:1646  */
6349      break;
6350  
6351 <  case 597:
6352 < /* Line 1787 of yacc.c  */
6612 < #line 2803 "conf_parser.y"
6351 >  case 625:
6352 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6353      {
6354 <  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6354 >  ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6355   }
6356 + #line 6357 "conf_parser.c" /* yacc.c:1646  */
6357      break;
6358  
6359 <  case 598:
6360 < /* Line 1787 of yacc.c  */
6620 < #line 2808 "conf_parser.y"
6359 >  case 626:
6360 > #line 2866 "conf_parser.y" /* yacc.c:1646  */
6361      {
6362 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6362 >  ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6363   }
6364 + #line 6365 "conf_parser.c" /* yacc.c:1646  */
6365      break;
6366  
6367 <  case 599:
6368 < /* Line 1787 of yacc.c  */
6628 < #line 2813 "conf_parser.y"
6367 >  case 627:
6368 > #line 2871 "conf_parser.y" /* yacc.c:1646  */
6369      {
6370 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6370 >  ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6371   }
6372 + #line 6373 "conf_parser.c" /* yacc.c:1646  */
6373      break;
6374  
6375 <  case 600:
6376 < /* Line 1787 of yacc.c  */
6636 < #line 2818 "conf_parser.y"
6375 >  case 643:
6376 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6377      {
6378 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6378 >  ConfigChannel.disable_fake_channels = yylval.number;
6379   }
6380 + #line 6381 "conf_parser.c" /* yacc.c:1646  */
6381      break;
6382  
6383 <  case 617:
6384 < /* Line 1787 of yacc.c  */
6644 < #line 2841 "conf_parser.y"
6383 >  case 644:
6384 > #line 2901 "conf_parser.y" /* yacc.c:1646  */
6385      {
6386 <  ConfigChannel.disable_fake_channels = yylval.number;
6386 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6387   }
6388 + #line 6389 "conf_parser.c" /* yacc.c:1646  */
6389      break;
6390  
6391 <  case 618:
6392 < /* Line 1787 of yacc.c  */
6652 < #line 2846 "conf_parser.y"
6391 >  case 645:
6392 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6393      {
6394 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6394 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6395   }
6396 + #line 6397 "conf_parser.c" /* yacc.c:1646  */
6397      break;
6398  
6399 <  case 619:
6400 < /* Line 1787 of yacc.c  */
6660 < #line 2851 "conf_parser.y"
6399 >  case 646:
6400 > #line 2911 "conf_parser.y" /* yacc.c:1646  */
6401      {
6402 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6402 >  ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6403   }
6404 + #line 6405 "conf_parser.c" /* yacc.c:1646  */
6405      break;
6406  
6407 <  case 620:
6408 < /* Line 1787 of yacc.c  */
6668 < #line 2856 "conf_parser.y"
6407 >  case 647:
6408 > #line 2916 "conf_parser.y" /* yacc.c:1646  */
6409      {
6410 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6410 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6411   }
6412 + #line 6413 "conf_parser.c" /* yacc.c:1646  */
6413      break;
6414  
6415 <  case 621:
6416 < /* Line 1787 of yacc.c  */
6676 < #line 2861 "conf_parser.y"
6415 >  case 648:
6416 > #line 2921 "conf_parser.y" /* yacc.c:1646  */
6417      {
6418 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6418 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6419   }
6420 + #line 6421 "conf_parser.c" /* yacc.c:1646  */
6421      break;
6422  
6423 <  case 622:
6424 < /* Line 1787 of yacc.c  */
6684 < #line 2866 "conf_parser.y"
6423 >  case 649:
6424 > #line 2926 "conf_parser.y" /* yacc.c:1646  */
6425      {
6426 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6426 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6427   }
6428 + #line 6429 "conf_parser.c" /* yacc.c:1646  */
6429      break;
6430  
6431 <  case 623:
6432 < /* Line 1787 of yacc.c  */
6692 < #line 2871 "conf_parser.y"
6431 >  case 650:
6432 > #line 2931 "conf_parser.y" /* yacc.c:1646  */
6433      {
6434 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6434 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6435   }
6436 + #line 6437 "conf_parser.c" /* yacc.c:1646  */
6437      break;
6438  
6439 <  case 624:
6440 < /* Line 1787 of yacc.c  */
6700 < #line 2876 "conf_parser.y"
6439 >  case 651:
6440 > #line 2936 "conf_parser.y" /* yacc.c:1646  */
6441      {
6442 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6442 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6443   }
6444 + #line 6445 "conf_parser.c" /* yacc.c:1646  */
6445      break;
6446  
6447 <  case 625:
6448 < /* Line 1787 of yacc.c  */
6708 < #line 2881 "conf_parser.y"
6447 >  case 652:
6448 > #line 2941 "conf_parser.y" /* yacc.c:1646  */
6449      {
6450 <  ConfigChannel.no_create_on_split = yylval.number;
6450 >  ConfigChannel.default_join_flood_count = yylval.number;
6451   }
6452 + #line 6453 "conf_parser.c" /* yacc.c:1646  */
6453      break;
6454  
6455 <  case 626:
6456 < /* Line 1787 of yacc.c  */
6716 < #line 2886 "conf_parser.y"
6455 >  case 653:
6456 > #line 2946 "conf_parser.y" /* yacc.c:1646  */
6457      {
6458 <  ConfigChannel.no_join_on_split = yylval.number;
6458 >  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6459   }
6460 + #line 6461 "conf_parser.c" /* yacc.c:1646  */
6461      break;
6462  
6463 <  case 627:
6464 < /* Line 1787 of yacc.c  */
6724 < #line 2891 "conf_parser.y"
6463 >  case 667:
6464 > #line 2969 "conf_parser.y" /* yacc.c:1646  */
6465      {
6466 <  GlobalSetOptions.joinfloodcount = yylval.number;
6466 >  if (conf_parser_ctx.pass == 2)
6467 >    ConfigServerHide.flatten_links = yylval.number;
6468   }
6469 + #line 6470 "conf_parser.c" /* yacc.c:1646  */
6470      break;
6471  
6472 <  case 628:
6473 < /* Line 1787 of yacc.c  */
6732 < #line 2896 "conf_parser.y"
6472 >  case 668:
6473 > #line 2975 "conf_parser.y" /* yacc.c:1646  */
6474      {
6475 <  GlobalSetOptions.joinfloodtime = yylval.number;
6475 >  if (conf_parser_ctx.pass == 2)
6476 >  {
6477 >    if ((yyvsp[-1].number) > 0)
6478 >    {
6479 >      event_write_links_file.when = (yyvsp[-1].number);
6480 >      event_add(&event_write_links_file, NULL);
6481 >    }
6482 >    else
6483 >     event_delete(&event_write_links_file);
6484 >
6485 >    ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);
6486 >  }
6487   }
6488 + #line 6489 "conf_parser.c" /* yacc.c:1646  */
6489      break;
6490  
6491 <  case 641:
6492 < /* Line 1787 of yacc.c  */
6740 < #line 2916 "conf_parser.y"
6491 >  case 669:
6492 > #line 2991 "conf_parser.y" /* yacc.c:1646  */
6493      {
6494    if (conf_parser_ctx.pass == 2)
6495 <    ConfigServerHide.flatten_links = yylval.number;
6495 >  {
6496 >    xfree(ConfigServerHide.flatten_links_file);
6497 >    ConfigServerHide.flatten_links_file = xstrdup(yylval.string);
6498 >  }
6499   }
6500 + #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501      break;
6502  
6503 <  case 642:
6504 < /* Line 1787 of yacc.c  */
6749 < #line 2922 "conf_parser.y"
6503 >  case 670:
6504 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6505      {
6506    if (conf_parser_ctx.pass == 2)
6507      ConfigServerHide.disable_remote_commands = yylval.number;
6508   }
6509 + #line 6510 "conf_parser.c" /* yacc.c:1646  */
6510      break;
6511  
6512 <  case 643:
6513 < /* Line 1787 of yacc.c  */
6758 < #line 2928 "conf_parser.y"
6512 >  case 671:
6513 > #line 3006 "conf_parser.y" /* yacc.c:1646  */
6514      {
6515    if (conf_parser_ctx.pass == 2)
6516      ConfigServerHide.hide_servers = yylval.number;
6517   }
6518 + #line 6519 "conf_parser.c" /* yacc.c:1646  */
6519      break;
6520  
6521 <  case 644:
6522 < /* Line 1787 of yacc.c  */
6767 < #line 2934 "conf_parser.y"
6521 >  case 672:
6522 > #line 3012 "conf_parser.y" /* yacc.c:1646  */
6523      {
6524    if (conf_parser_ctx.pass == 2)
6525      ConfigServerHide.hide_services = yylval.number;
6526   }
6527 + #line 6528 "conf_parser.c" /* yacc.c:1646  */
6528      break;
6529  
6530 <  case 645:
6531 < /* Line 1787 of yacc.c  */
6776 < #line 2940 "conf_parser.y"
6530 >  case 673:
6531 > #line 3018 "conf_parser.y" /* yacc.c:1646  */
6532      {
6533    if (conf_parser_ctx.pass == 2)
6534    {
6535 <    MyFree(ConfigServerHide.hidden_name);
6535 >    xfree(ConfigServerHide.hidden_name);
6536      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6537    }
6538   }
6539 + #line 6540 "conf_parser.c" /* yacc.c:1646  */
6540      break;
6541  
6542 <  case 646:
6543 < /* Line 1787 of yacc.c  */
6788 < #line 2949 "conf_parser.y"
6789 <    {
6790 <  if (conf_parser_ctx.pass == 2)
6791 <  {
6792 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6793 <    {
6794 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6795 <      ConfigServerHide.links_disabled = 0;
6796 <    }
6797 <
6798 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6799 <  }
6800 < }
6801 <    break;
6802 <
6803 <  case 647:
6804 < /* Line 1787 of yacc.c  */
6805 < #line 2963 "conf_parser.y"
6542 >  case 674:
6543 > #line 3027 "conf_parser.y" /* yacc.c:1646  */
6544      {
6545    if (conf_parser_ctx.pass == 2)
6546      ConfigServerHide.hidden = yylval.number;
6547   }
6548 + #line 6549 "conf_parser.c" /* yacc.c:1646  */
6549      break;
6550  
6551 <  case 648:
6552 < /* Line 1787 of yacc.c  */
6814 < #line 2969 "conf_parser.y"
6551 >  case 675:
6552 > #line 3033 "conf_parser.y" /* yacc.c:1646  */
6553      {
6554    if (conf_parser_ctx.pass == 2)
6555      ConfigServerHide.hide_server_ips = yylval.number;
6556   }
6557 + #line 6558 "conf_parser.c" /* yacc.c:1646  */
6558      break;
6559  
6560  
6561 < /* Line 1787 of yacc.c  */
6823 < #line 6824 "conf_parser.c"
6561 > #line 6562 "conf_parser.c" /* yacc.c:1646  */
6562        default: break;
6563      }
6564    /* User semantic actions sometimes alter yychar, and that requires
# Line 6842 | Line 6580 | yyreduce:
6580  
6581    *++yyvsp = yyval;
6582  
6583 <  /* Now `shift' the result of the reduction.  Determine what state
6583 >  /* Now 'shift' the result of the reduction.  Determine what state
6584       that goes to, based on the state we popped back to and the rule
6585       number reduced by.  */
6586  
# Line 6857 | Line 6595 | yyreduce:
6595    goto yynewstate;
6596  
6597  
6598 < /*------------------------------------.
6599 < | yyerrlab -- here on detecting error |
6600 < `------------------------------------*/
6598 > /*--------------------------------------.
6599 > | yyerrlab -- here on detecting error.  |
6600 > `--------------------------------------*/
6601   yyerrlab:
6602    /* Make sure we have latest lookahead translation.  See comments at
6603       user semantic actions for why this is necessary.  */
# Line 6910 | Line 6648 | yyerrlab:
6648    if (yyerrstatus == 3)
6649      {
6650        /* If just tried and failed to reuse lookahead token after an
6651 <         error, discard it.  */
6651 >         error, discard it.  */
6652  
6653        if (yychar <= YYEOF)
6654 <        {
6655 <          /* Return failure if at end of input.  */
6656 <          if (yychar == YYEOF)
6657 <            YYABORT;
6658 <        }
6654 >        {
6655 >          /* Return failure if at end of input.  */
6656 >          if (yychar == YYEOF)
6657 >            YYABORT;
6658 >        }
6659        else
6660 <        {
6661 <          yydestruct ("Error: discarding",
6662 <                      yytoken, &yylval);
6663 <          yychar = YYEMPTY;
6664 <        }
6660 >        {
6661 >          yydestruct ("Error: discarding",
6662 >                      yytoken, &yylval);
6663 >          yychar = YYEMPTY;
6664 >        }
6665      }
6666  
6667    /* Else will try to reuse lookahead token after shifting the error
# Line 6942 | Line 6680 | yyerrorlab:
6680    if (/*CONSTCOND*/ 0)
6681       goto yyerrorlab;
6682  
6683 <  /* Do not reclaim the symbols of the rule which action triggered
6683 >  /* Do not reclaim the symbols of the rule whose action triggered
6684       this YYERROR.  */
6685    YYPOPSTACK (yylen);
6686    yylen = 0;
# Line 6955 | Line 6693 | yyerrorlab:
6693   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6694   `-------------------------------------------------------------*/
6695   yyerrlab1:
6696 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6696 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6697  
6698    for (;;)
6699      {
6700        yyn = yypact[yystate];
6701        if (!yypact_value_is_default (yyn))
6702 <        {
6703 <          yyn += YYTERROR;
6704 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6705 <            {
6706 <              yyn = yytable[yyn];
6707 <              if (0 < yyn)
6708 <                break;
6709 <            }
6710 <        }
6702 >        {
6703 >          yyn += YYTERROR;
6704 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6705 >            {
6706 >              yyn = yytable[yyn];
6707 >              if (0 < yyn)
6708 >                break;
6709 >            }
6710 >        }
6711  
6712        /* Pop the current state because it cannot handle the error token.  */
6713        if (yyssp == yyss)
6714 <        YYABORT;
6714 >        YYABORT;
6715  
6716  
6717        yydestruct ("Error: popping",
6718 <                  yystos[yystate], yyvsp);
6718 >                  yystos[yystate], yyvsp);
6719        YYPOPSTACK (1);
6720        yystate = *yyssp;
6721        YY_STACK_PRINT (yyss, yyssp);
# Line 7028 | Line 6766 | yyreturn:
6766        yydestruct ("Cleanup: discarding lookahead",
6767                    yytoken, &yylval);
6768      }
6769 <  /* Do not reclaim the symbols of the rule which action triggered
6769 >  /* Do not reclaim the symbols of the rule whose action triggered
6770       this YYABORT or YYACCEPT.  */
6771    YYPOPSTACK (yylen);
6772    YY_STACK_PRINT (yyss, yyssp);
6773    while (yyssp != yyss)
6774      {
6775        yydestruct ("Cleanup: popping",
6776 <                  yystos[*yyssp], yyvsp);
6776 >                  yystos[*yyssp], yyvsp);
6777        YYPOPSTACK (1);
6778      }
6779   #ifndef yyoverflow
# Line 7046 | Line 6784 | yyreturn:
6784    if (yymsg != yymsgbuf)
6785      YYSTACK_FREE (yymsg);
6786   #endif
6787 <  /* Make sure YYID is used.  */
7050 <  return YYID (yyresult);
6787 >  return yyresult;
6788   }
7052
7053

Comparing ircd-hybrid/trunk/src/conf_parser.c (property svn:keywords):
Revision 2228 by michael, Thu Jun 13 19:46:30 2013 UTC vs.
Revision 7675 by michael, Wed Jul 20 19:31:22 2016 UTC

# Line 1 | Line 0
1 Id Revision

Diff Legend

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