/[svn]/ircd-hybrid-7.2/src/ircd_parser.c
ViewVC logotype

Diff of /ircd-hybrid-7.2/src/ircd_parser.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 966 by michael, Wed Nov 7 23:20:12 2007 UTC revision 967 by michael, Sun Aug 2 18:05:28 2009 UTC
# Line 1  Line 1 
 /* A Bison parser, made by GNU Bison 2.3.  */  
1    
2  /* Skeleton implementation for Bison's Yacc-like parsers in C  /* A Bison parser, made by GNU Bison 2.4.1.  */
3    
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006  /* Skeleton implementation for Bison's Yacc-like parsers in C
5      
6          Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7     Free Software Foundation, Inc.     Free Software Foundation, Inc.
8      
9     This program is free software; you can redistribute it and/or modify     This program is free software: you can redistribute it and/or modify
10     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
11     the Free Software Foundation; either version 2, or (at your option)     the Free Software Foundation, either version 3 of the License, or
12     any later version.     (at your option) any later version.
13      
14     This program is distributed in the hope that it will be useful,     This program is distributed in the hope that it will be useful,
15     but WITHOUT ANY WARRANTY; without even the implied warranty of     but WITHOUT ANY WARRANTY; without even the implied warranty of
16     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17     GNU General Public License for more details.     GNU General Public License for more details.
18      
19     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
20     along with this program; if not, write to the Free Software     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
    Foundation, Inc., 51 Franklin Street, Fifth Floor,  
    Boston, MA 02110-1301, USA.  */  
21    
22  /* As a special exception, you may create a larger work that contains  /* As a special exception, you may create a larger work that contains
23     part or all of the Bison parser skeleton and distribute that work     part or all of the Bison parser skeleton and distribute that work
# Line 29  Line 28 
28     special exception, which will cause the skeleton and the resulting     special exception, which will cause the skeleton and the resulting
29     Bison output files to be licensed under the GNU General Public     Bison output files to be licensed under the GNU General Public
30     License without this special exception.     License without this special exception.
31      
32     This special exception was added by the Free Software Foundation in     This special exception was added by the Free Software Foundation in
33     version 2.2 of Bison.  */     version 2.2 of Bison.  */
34    
# Line 47  Line 46 
46  #define YYBISON 1  #define YYBISON 1
47    
48  /* Bison version.  */  /* Bison version.  */
49  #define YYBISON_VERSION "2.3"  #define YYBISON_VERSION "2.4.1"
50    
51  /* Skeleton name.  */  /* Skeleton name.  */
52  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
# Line 55  Line 54 
54  /* Pure parsers.  */  /* Pure parsers.  */
55  #define YYPURE 0  #define YYPURE 0
56    
57    /* Push parsers.  */
58    #define YYPUSH 0
59    
60    /* Pull parsers.  */
61    #define YYPULL 1
62    
63  /* Using locations.  */  /* Using locations.  */
64  #define YYLSP_NEEDED 0  #define YYLSP_NEEDED 0
65    
66    
67    
68    /* Copy the first part of user declarations.  */
69    
70    /* Line 189 of yacc.c  */
71    #line 25 "ircd_parser.y"
72    
73    
74    #define YY_NO_UNPUT
75    #include <sys/types.h>
76    #include <string.h>
77    
78    #include "stdinc.h"
79    #include "ircd.h"
80    #include "tools.h"
81    #include "list.h"
82    #include "s_conf.h"
83    #include "event.h"
84    #include "s_log.h"
85    #include "client.h"     /* for UMODE_ALL only */
86    #include "pcre.h"
87    #include "irc_string.h"
88    #include "irc_getaddrinfo.h"
89    #include "sprintf_irc.h"
90    #include "memory.h"
91    #include "modules.h"
92    #include "s_serv.h"
93    #include "hostmask.h"
94    #include "send.h"
95    #include "listener.h"
96    #include "resv.h"
97    #include "numeric.h"
98    #include "s_user.h"
99    
100    #ifdef HAVE_LIBCRYPTO
101    #include <openssl/rsa.h>
102    #include <openssl/bio.h>
103    #include <openssl/pem.h>
104    #endif
105    
106    static char *class_name = NULL;
107    static struct ConfItem *yy_conf = NULL;
108    static struct AccessItem *yy_aconf = NULL;
109    static struct MatchItem *yy_match_item = NULL;
110    static struct ClassItem *yy_class = NULL;
111    static char *yy_class_name = NULL;
112    
113    static dlink_list col_conf_list  = { NULL, NULL, 0 };
114    static dlink_list hub_conf_list  = { NULL, NULL, 0 };
115    static dlink_list leaf_conf_list = { NULL, NULL, 0 };
116    static unsigned int listener_flags = 0;
117    static unsigned int regex_ban = 0;
118    static char userbuf[IRCD_BUFSIZE];
119    static char hostbuf[IRCD_BUFSIZE];
120    static char reasonbuf[REASONLEN + 1];
121    static char gecos_name[REALLEN * 4];
122    
123    extern dlink_list gdeny_items; /* XXX */
124    
125    static char *resv_reason = NULL;
126    static char *listener_address = NULL;
127    static int not_atom = 0;
128    
129    struct CollectItem
130    {
131      dlink_node node;
132      char *name;
133      char *user;
134      char *host;
135      char *passwd;
136      int  port;
137      int  flags;
138    #ifdef HAVE_LIBCRYPTO
139      char *rsa_public_key_file;
140      RSA *rsa_public_key;
141    #endif
142    };
143    
144    static void
145    free_collect_item(struct CollectItem *item)
146    {
147      MyFree(item->name);
148      MyFree(item->user);
149      MyFree(item->host);
150      MyFree(item->passwd);
151    #ifdef HAVE_LIBCRYPTO
152      MyFree(item->rsa_public_key_file);
153    #endif
154      MyFree(item);
155    }
156    
157    static void
158    unhook_hub_leaf_confs(void)
159    {
160      dlink_node *ptr;
161      dlink_node *next_ptr;
162      struct CollectItem *yy_hconf;
163      struct CollectItem *yy_lconf;
164    
165      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
166      {
167        yy_hconf = ptr->data;
168        dlinkDelete(&yy_hconf->node, &hub_conf_list);
169        free_collect_item(yy_hconf);
170      }
171    
172      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
173      {
174        yy_lconf = ptr->data;
175        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
176        free_collect_item(yy_lconf);
177      }
178    }
179    
180    
181    
182    /* Line 189 of yacc.c  */
183    #line 184 "ircd_parser.c"
184    
185    /* Enabling traces.  */
186    #ifndef YYDEBUG
187    # define YYDEBUG 0
188    #endif
189    
190    /* Enabling verbose error messages.  */
191    #ifdef YYERROR_VERBOSE
192    # undef YYERROR_VERBOSE
193    # define YYERROR_VERBOSE 1
194    #else
195    # define YYERROR_VERBOSE 0
196    #endif
197    
198    /* Enabling the token table.  */
199    #ifndef YYTOKEN_TABLE
200    # define YYTOKEN_TABLE 0
201    #endif
202    
203    
204  /* Tokens.  */  /* Tokens.  */
205  #ifndef YYTOKENTYPE  #ifndef YYTOKENTYPE
206  # define YYTOKENTYPE  # define YYTOKENTYPE
# Line 233  Line 374 
374       RSA_PRIVATE_KEY_FILE = 422,       RSA_PRIVATE_KEY_FILE = 422,
375       RSA_PUBLIC_KEY_FILE = 423,       RSA_PUBLIC_KEY_FILE = 423,
376       SSL_CERTIFICATE_FILE = 424,       SSL_CERTIFICATE_FILE = 424,
377       RESV = 425,       T_SSL_CONNECTION_METHOD = 425,
378       RESV_EXEMPT = 426,       T_SSLV3 = 426,
379       SECONDS = 427,       T_TLSV1 = 427,
380       MINUTES = 428,       RESV = 428,
381       HOURS = 429,       RESV_EXEMPT = 429,
382       DAYS = 430,       SECONDS = 430,
383       WEEKS = 431,       MINUTES = 431,
384       SENDQ = 432,       HOURS = 432,
385       SEND_PASSWORD = 433,       DAYS = 433,
386       SERVERHIDE = 434,       WEEKS = 434,
387       SERVERINFO = 435,       SENDQ = 435,
388       SERVLINK_PATH = 436,       SEND_PASSWORD = 436,
389       IRCD_SID = 437,       SERVERHIDE = 437,
390       TKLINE_EXPIRE_NOTICES = 438,       SERVERINFO = 438,
391       T_SHARED = 439,       SERVLINK_PATH = 439,
392       T_CLUSTER = 440,       IRCD_SID = 440,
393       TYPE = 441,       TKLINE_EXPIRE_NOTICES = 441,
394       SHORT_MOTD = 442,       T_SHARED = 442,
395       SILENT = 443,       T_CLUSTER = 443,
396       SPOOF = 444,       TYPE = 444,
397       SPOOF_NOTICE = 445,       SHORT_MOTD = 445,
398       STATS_E_DISABLED = 446,       SILENT = 446,
399       STATS_I_OPER_ONLY = 447,       SPOOF = 447,
400       STATS_K_OPER_ONLY = 448,       SPOOF_NOTICE = 448,
401       STATS_O_OPER_ONLY = 449,       STATS_E_DISABLED = 449,
402       STATS_P_OPER_ONLY = 450,       STATS_I_OPER_ONLY = 450,
403       TBOOL = 451,       STATS_K_OPER_ONLY = 451,
404       TMASKED = 452,       STATS_O_OPER_ONLY = 452,
405       T_REJECT = 453,       STATS_P_OPER_ONLY = 453,
406       TS_MAX_DELTA = 454,       TBOOL = 454,
407       TS_WARN_DELTA = 455,       TMASKED = 455,
408       TWODOTS = 456,       T_REJECT = 456,
409       T_ALL = 457,       TS_MAX_DELTA = 457,
410       T_BOTS = 458,       TS_WARN_DELTA = 458,
411       T_SOFTCALLERID = 459,       TWODOTS = 459,
412       T_CALLERID = 460,       T_ALL = 460,
413       T_CCONN = 461,       T_BOTS = 461,
414       T_CCONN_FULL = 462,       T_SOFTCALLERID = 462,
415       T_CLIENT_FLOOD = 463,       T_CALLERID = 463,
416       T_DEAF = 464,       T_CCONN = 464,
417       T_DEBUG = 465,       T_CCONN_FULL = 465,
418       T_DRONE = 466,       T_CLIENT_FLOOD = 466,
419       T_EXTERNAL = 467,       T_DEAF = 467,
420       T_FULL = 468,       T_DEBUG = 468,
421       T_INVISIBLE = 469,       T_DRONE = 469,
422       T_IPV4 = 470,       T_EXTERNAL = 470,
423       T_IPV6 = 471,       T_FULL = 471,
424       T_LOCOPS = 472,       T_INVISIBLE = 472,
425       T_LOGPATH = 473,       T_IPV4 = 473,
426       T_L_CRIT = 474,       T_IPV6 = 474,
427       T_L_DEBUG = 475,       T_LOCOPS = 475,
428       T_L_ERROR = 476,       T_LOGPATH = 476,
429       T_L_INFO = 477,       T_L_CRIT = 477,
430       T_L_NOTICE = 478,       T_L_DEBUG = 478,
431       T_L_TRACE = 479,       T_L_ERROR = 479,
432       T_L_WARN = 480,       T_L_INFO = 480,
433       T_MAX_CLIENTS = 481,       T_L_NOTICE = 481,
434       T_NCHANGE = 482,       T_L_TRACE = 482,
435       T_OPERWALL = 483,       T_L_WARN = 483,
436       T_REJ = 484,       T_MAX_CLIENTS = 484,
437       T_SERVER = 485,       T_NCHANGE = 485,
438       T_SERVNOTICE = 486,       T_OPERWALL = 486,
439       T_SKILL = 487,       T_REJ = 487,
440       T_SPY = 488,       T_SERVER = 488,
441       T_SSL = 489,       T_SERVNOTICE = 489,
442       T_UMODES = 490,       T_SKILL = 490,
443       T_UNAUTH = 491,       T_SPY = 491,
444       T_UNRESV = 492,       T_SSL = 492,
445       T_UNXLINE = 493,       T_UMODES = 493,
446       T_WALLOP = 494,       T_UNAUTH = 494,
447       THROTTLE_TIME = 495,       T_UNRESV = 495,
448       TOPICBURST = 496,       T_UNXLINE = 496,
449       TRUE_NO_OPER_FLOOD = 497,       T_WALLOP = 497,
450       TKLINE = 498,       THROTTLE_TIME = 498,
451       TXLINE = 499,       TOPICBURST = 499,
452       TRESV = 500,       TRUE_NO_OPER_FLOOD = 500,
453       UNKLINE = 501,       TKLINE = 501,
454       USER = 502,       TXLINE = 502,
455       USE_EGD = 503,       TRESV = 503,
456       USE_EXCEPT = 504,       UNKLINE = 504,
457       USE_INVEX = 505,       USER = 505,
458       USE_KNOCK = 506,       USE_EGD = 506,
459       USE_LOGGING = 507,       USE_EXCEPT = 507,
460       USE_WHOIS_ACTUALLY = 508,       USE_INVEX = 508,
461       VHOST = 509,       USE_KNOCK = 509,
462       VHOST6 = 510,       USE_LOGGING = 510,
463       XLINE = 511,       USE_WHOIS_ACTUALLY = 511,
464       WARN = 512,       VHOST = 512,
465       WARN_NO_NLINE = 513       VHOST6 = 513,
466         XLINE = 514,
467         WARN = 515,
468         WARN_NO_NLINE = 516
469     };     };
470  #endif  #endif
471  /* Tokens.  */  /* Tokens.  */
# Line 492  Line 636 
636  #define RSA_PRIVATE_KEY_FILE 422  #define RSA_PRIVATE_KEY_FILE 422
637  #define RSA_PUBLIC_KEY_FILE 423  #define RSA_PUBLIC_KEY_FILE 423
638  #define SSL_CERTIFICATE_FILE 424  #define SSL_CERTIFICATE_FILE 424
639  #define RESV 425  #define T_SSL_CONNECTION_METHOD 425
640  #define RESV_EXEMPT 426  #define T_SSLV3 426
641  #define SECONDS 427  #define T_TLSV1 427
642  #define MINUTES 428  #define RESV 428
643  #define HOURS 429  #define RESV_EXEMPT 429
644  #define DAYS 430  #define SECONDS 430
645  #define WEEKS 431  #define MINUTES 431
646  #define SENDQ 432  #define HOURS 432
647  #define SEND_PASSWORD 433  #define DAYS 433
648  #define SERVERHIDE 434  #define WEEKS 434
649  #define SERVERINFO 435  #define SENDQ 435
650  #define SERVLINK_PATH 436  #define SEND_PASSWORD 436
651  #define IRCD_SID 437  #define SERVERHIDE 437
652  #define TKLINE_EXPIRE_NOTICES 438  #define SERVERINFO 438
653  #define T_SHARED 439  #define SERVLINK_PATH 439
654  #define T_CLUSTER 440  #define IRCD_SID 440
655  #define TYPE 441  #define TKLINE_EXPIRE_NOTICES 441
656  #define SHORT_MOTD 442  #define T_SHARED 442
657  #define SILENT 443  #define T_CLUSTER 443
658  #define SPOOF 444  #define TYPE 444
659  #define SPOOF_NOTICE 445  #define SHORT_MOTD 445
660  #define STATS_E_DISABLED 446  #define SILENT 446
661  #define STATS_I_OPER_ONLY 447  #define SPOOF 447
662  #define STATS_K_OPER_ONLY 448  #define SPOOF_NOTICE 448
663  #define STATS_O_OPER_ONLY 449  #define STATS_E_DISABLED 449
664  #define STATS_P_OPER_ONLY 450  #define STATS_I_OPER_ONLY 450
665  #define TBOOL 451  #define STATS_K_OPER_ONLY 451
666  #define TMASKED 452  #define STATS_O_OPER_ONLY 452
667  #define T_REJECT 453  #define STATS_P_OPER_ONLY 453
668  #define TS_MAX_DELTA 454  #define TBOOL 454
669  #define TS_WARN_DELTA 455  #define TMASKED 455
670  #define TWODOTS 456  #define T_REJECT 456
671  #define T_ALL 457  #define TS_MAX_DELTA 457
672  #define T_BOTS 458  #define TS_WARN_DELTA 458
673  #define T_SOFTCALLERID 459  #define TWODOTS 459
674  #define T_CALLERID 460  #define T_ALL 460
675  #define T_CCONN 461  #define T_BOTS 461
676  #define T_CCONN_FULL 462  #define T_SOFTCALLERID 462
677  #define T_CLIENT_FLOOD 463  #define T_CALLERID 463
678  #define T_DEAF 464  #define T_CCONN 464
679  #define T_DEBUG 465  #define T_CCONN_FULL 465
680  #define T_DRONE 466  #define T_CLIENT_FLOOD 466
681  #define T_EXTERNAL 467  #define T_DEAF 467
682  #define T_FULL 468  #define T_DEBUG 468
683  #define T_INVISIBLE 469  #define T_DRONE 469
684  #define T_IPV4 470  #define T_EXTERNAL 470
685  #define T_IPV6 471  #define T_FULL 471
686  #define T_LOCOPS 472  #define T_INVISIBLE 472
687  #define T_LOGPATH 473  #define T_IPV4 473
688  #define T_L_CRIT 474  #define T_IPV6 474
689  #define T_L_DEBUG 475  #define T_LOCOPS 475
690  #define T_L_ERROR 476  #define T_LOGPATH 476
691  #define T_L_INFO 477  #define T_L_CRIT 477
692  #define T_L_NOTICE 478  #define T_L_DEBUG 478
693  #define T_L_TRACE 479  #define T_L_ERROR 479
694  #define T_L_WARN 480  #define T_L_INFO 480
695  #define T_MAX_CLIENTS 481  #define T_L_NOTICE 481
696  #define T_NCHANGE 482  #define T_L_TRACE 482
697  #define T_OPERWALL 483  #define T_L_WARN 483
698  #define T_REJ 484  #define T_MAX_CLIENTS 484
699  #define T_SERVER 485  #define T_NCHANGE 485
700  #define T_SERVNOTICE 486  #define T_OPERWALL 486
701  #define T_SKILL 487  #define T_REJ 487
702  #define T_SPY 488  #define T_SERVER 488
703  #define T_SSL 489  #define T_SERVNOTICE 489
704  #define T_UMODES 490  #define T_SKILL 490
705  #define T_UNAUTH 491  #define T_SPY 491
706  #define T_UNRESV 492  #define T_SSL 492
707  #define T_UNXLINE 493  #define T_UMODES 493
708  #define T_WALLOP 494  #define T_UNAUTH 494
709  #define THROTTLE_TIME 495  #define T_UNRESV 495
710  #define TOPICBURST 496  #define T_UNXLINE 496
711  #define TRUE_NO_OPER_FLOOD 497  #define T_WALLOP 497
712  #define TKLINE 498  #define THROTTLE_TIME 498
713  #define TXLINE 499  #define TOPICBURST 499
714  #define TRESV 500  #define TRUE_NO_OPER_FLOOD 500
715  #define UNKLINE 501  #define TKLINE 501
716  #define USER 502  #define TXLINE 502
717  #define USE_EGD 503  #define TRESV 503
718  #define USE_EXCEPT 504  #define UNKLINE 504
719  #define USE_INVEX 505  #define USER 505
720  #define USE_KNOCK 506  #define USE_EGD 506
721  #define USE_LOGGING 507  #define USE_EXCEPT 507
722  #define USE_WHOIS_ACTUALLY 508  #define USE_INVEX 508
723  #define VHOST 509  #define USE_KNOCK 509
724  #define VHOST6 510  #define USE_LOGGING 510
725  #define XLINE 511  #define USE_WHOIS_ACTUALLY 511
726  #define WARN 512  #define VHOST 512
727  #define WARN_NO_NLINE 513  #define VHOST6 513
728    #define XLINE 514
729    #define WARN 515
730    #define WARN_NO_NLINE 516
731    
732    
733    
 /* Copy the first part of user declarations.  */  
 #line 25 "ircd_parser.y"  
   
   
 #define YY_NO_UNPUT  
 #include <sys/types.h>  
 #include <string.h>  
734    
735  #include "stdinc.h"  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
736  #include "ircd.h"  typedef union YYSTYPE
 #include "tools.h"  
 #include "list.h"  
 #include "s_conf.h"  
 #include "event.h"  
 #include "s_log.h"  
 #include "client.h"     /* for UMODE_ALL only */  
 #include "pcre.h"  
 #include "irc_string.h"  
 #include "irc_getaddrinfo.h"  
 #include "sprintf_irc.h"  
 #include "memory.h"  
 #include "modules.h"  
 #include "s_serv.h"  
 #include "hostmask.h"  
 #include "send.h"  
 #include "listener.h"  
 #include "resv.h"  
 #include "numeric.h"  
 #include "s_user.h"  
   
 #ifdef HAVE_LIBCRYPTO  
 #include <openssl/rsa.h>  
 #include <openssl/bio.h>  
 #include <openssl/pem.h>  
 #endif  
   
 static char *class_name = NULL;  
 static struct ConfItem *yy_conf = NULL;  
 static struct AccessItem *yy_aconf = NULL;  
 static struct MatchItem *yy_match_item = NULL;  
 static struct ClassItem *yy_class = NULL;  
 static char *yy_class_name = NULL;  
   
 static dlink_list col_conf_list  = { NULL, NULL, 0 };  
 static dlink_list hub_conf_list  = { NULL, NULL, 0 };  
 static dlink_list leaf_conf_list = { NULL, NULL, 0 };  
 static unsigned int listener_flags = 0;  
 static unsigned int regex_ban = 0;  
 static char userbuf[IRCD_BUFSIZE];  
 static char hostbuf[IRCD_BUFSIZE];  
 static char reasonbuf[REASONLEN + 1];  
 static char gecos_name[REALLEN * 4];  
   
 extern dlink_list gdeny_items; /* XXX */  
   
 static char *resv_reason = NULL;  
 static char *listener_address = NULL;  
 static int not_atom = 0;  
   
 struct CollectItem  
 {  
   dlink_node node;  
   char *name;  
   char *user;  
   char *host;  
   char *passwd;  
   int  port;  
   int  flags;  
 #ifdef HAVE_LIBCRYPTO  
   char *rsa_public_key_file;  
   RSA *rsa_public_key;  
 #endif  
 };  
   
 static void  
 free_collect_item(struct CollectItem *item)  
 {  
   MyFree(item->name);  
   MyFree(item->user);  
   MyFree(item->host);  
   MyFree(item->passwd);  
 #ifdef HAVE_LIBCRYPTO  
   MyFree(item->rsa_public_key_file);  
 #endif  
   MyFree(item);  
 }  
   
 static void  
 unhook_hub_leaf_confs(void)  
737  {  {
   dlink_node *ptr;  
   dlink_node *next_ptr;  
   struct CollectItem *yy_hconf;  
   struct CollectItem *yy_lconf;  
   
   DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)  
   {  
     yy_hconf = ptr->data;  
     dlinkDelete(&yy_hconf->node, &hub_conf_list);  
     free_collect_item(yy_hconf);  
   }  
   
   DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)  
   {  
     yy_lconf = ptr->data;  
     dlinkDelete(&yy_lconf->node, &leaf_conf_list);  
     free_collect_item(yy_lconf);  
   }  
 }  
   
738    
739    /* Line 214 of yacc.c  */
740    #line 135 "ircd_parser.y"
741    
742  /* Enabling traces.  */    int number;
743  #ifndef YYDEBUG    char *string;
 # define YYDEBUG 0  
 #endif  
744    
 /* Enabling verbose error messages.  */  
 #ifdef YYERROR_VERBOSE  
 # undef YYERROR_VERBOSE  
 # define YYERROR_VERBOSE 1  
 #else  
 # define YYERROR_VERBOSE 0  
 #endif  
745    
 /* Enabling the token table.  */  
 #ifndef YYTOKEN_TABLE  
 # define YYTOKEN_TABLE 0  
 #endif  
746    
747  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED  /* Line 214 of yacc.c  */
748  typedef union YYSTYPE  #line 749 "ircd_parser.c"
749  #line 135 "ircd_parser.y"  } YYSTYPE;
750  {  # define YYSTYPE_IS_TRIVIAL 1
   int number;  
   char *string;  
 }  
 /* Line 193 of yacc.c.  */  
 #line 727 "ircd_parser.c"  
         YYSTYPE;  
751  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
752  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1  
753  #endif  #endif
754    
755    
   
756  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
757    
758    
759  /* Line 216 of yacc.c.  */  /* Line 264 of yacc.c  */
760  #line 740 "ircd_parser.c"  #line 761 "ircd_parser.c"
761    
762  #ifdef short  #ifdef short
763  # undef short  # undef short
# Line 811  typedef short int yytype_int16; Line 832  typedef short int yytype_int16;
832  #if (defined __STDC__ || defined __C99__FUNC__ \  #if (defined __STDC__ || defined __C99__FUNC__ \
833       || defined __cplusplus || defined _MSC_VER)       || defined __cplusplus || defined _MSC_VER)
834  static int  static int
835  YYID (int i)  YYID (int yyi)
836  #else  #else
837  static int  static int
838  YYID (i)  YYID (yyi)
839      int i;      int yyi;
840  #endif  #endif
841  {  {
842    return i;    return yyi;
843  }  }
844  #endif  #endif
845    
# Line 899  void free (void *); /* INFRINGES ON USER Line 920  void free (void *); /* INFRINGES ON USER
920  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
921  union yyalloc  union yyalloc
922  {  {
923    yytype_int16 yyss;    yytype_int16 yyss_alloc;
924    YYSTYPE yyvs;    YYSTYPE yyvs_alloc;
925    };  };
926    
927  /* The size of the maximum gap between one aligned stack and the next.  */  /* The size of the maximum gap between one aligned stack and the next.  */
928  # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)  # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
# Line 935  union yyalloc Line 956  union yyalloc
956     elements in the stack, and YYPTR gives the new location of the     elements in the stack, and YYPTR gives the new location of the
957     stack.  Advance YYPTR to a properly aligned location for the next     stack.  Advance YYPTR to a properly aligned location for the next
958     stack.  */     stack.  */
959  # define YYSTACK_RELOCATE(Stack)                                        \  # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
960      do                                                                  \      do                                                                  \
961        {                                                                 \        {                                                                 \
962          YYSIZE_T yynewbytes;                                            \          YYSIZE_T yynewbytes;                                            \
963          YYCOPY (&yyptr->Stack, Stack, yysize);                          \          YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
964          Stack = &yyptr->Stack;                                          \          Stack = &yyptr->Stack_alloc;                                    \
965          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
966          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
967        }                                                                 \        }                                                                 \
# Line 951  union yyalloc Line 972  union yyalloc
972  /* YYFINAL -- State number of the termination state.  */  /* YYFINAL -- State number of the termination state.  */
973  #define YYFINAL  2  #define YYFINAL  2
974  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
975  #define YYLAST   1410  #define YYLAST   1413
976    
977  /* YYNTOKENS -- Number of terminals.  */  /* YYNTOKENS -- Number of terminals.  */
978  #define YYNTOKENS  264  #define YYNTOKENS  267
979  /* YYNNTS -- Number of nonterminals.  */  /* YYNNTS -- Number of nonterminals.  */
980  #define YYNNTS  342  #define YYNNTS  346
981  /* YYNRULES -- Number of rules.  */  /* YYNRULES -- Number of rules.  */
982  #define YYNRULES  736  #define YYNRULES  743
983  /* YYNRULES -- Number of states.  */  /* YYNRULES -- Number of states.  */
984  #define YYNSTATES  1483  #define YYNSTATES  1494
985    
986  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
987  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
988  #define YYMAXUTOK   513  #define YYMAXUTOK   516
989    
990  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
991    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 976  static const yytype_uint16 yytranslate[] Line 997  static const yytype_uint16 yytranslate[]
997         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
998         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
999         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1000         2,     2,     2,     2,   263,     2,     2,     2,     2,     2,         2,     2,     2,     2,   266,     2,     2,     2,     2,     2,
1001         2,     2,     2,     2,     2,     2,     2,     2,     2,   259,         2,     2,     2,     2,     2,     2,     2,     2,     2,   262,
1002         2,   262,     2,     2,     2,     2,     2,     2,     2,     2,         2,   265,     2,     2,     2,     2,     2,     2,     2,     2,
1003         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1004         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1005         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1006         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1007         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1008         2,     2,     2,   261,     2,   260,     2,     2,     2,     2,         2,     2,     2,   264,     2,   263,     2,     2,     2,     2,
1009         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1010         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1011         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1023  static const yytype_uint16 yytranslate[] Line 1044  static const yytype_uint16 yytranslate[]
1044       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1045       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1046       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1047       255,   256,   257,   258       255,   256,   257,   258,   259,   260,   261
1048  };  };
1049    
1050  #if YYDEBUG  #if YYDEBUG
# Line 1037  static const yytype_uint16 yyprhs[] = Line 1058  static const yytype_uint16 yyprhs[] =
1058        63,    67,    71,    75,    79,    80,    82,    85,    89,    93,        63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1059        97,   103,   106,   108,   110,   112,   115,   120,   125,   131,        97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1060       134,   136,   138,   140,   142,   144,   146,   148,   150,   152,       134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1061       154,   156,   158,   161,   166,   171,   176,   181,   186,   191,       154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
1062       196,   201,   206,   211,   216,   222,   225,   227,   229,   231,       180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
1063       233,   236,   241,   246,   251,   257,   260,   262,   264,   266,       230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
1064       268,   270,   272,   274,   276,   278,   280,   282,   284,   286,       265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
1065       289,   294,   299,   304,   309,   314,   319,   324,   329,   334,       293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
1066       339,   344,   349,   354,   359,   364,   369,   374,   379,   380,       323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
1067       388,   389,   391,   394,   396,   398,   400,   402,   404,   406,       373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
1068       408,   410,   412,   414,   416,   418,   420,   422,   424,   426,       413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
1069       428,   430,   432,   434,   436,   438,   440,   443,   448,   450,       433,   435,   437,   439,   441,   443,   445,   447,   449,   451,
1070       455,   460,   465,   470,   475,   476,   482,   486,   488,   490,       453,   455,   457,   459,   462,   467,   469,   474,   479,   484,
1071       492,   494,   496,   498,   500,   502,   504,   506,   508,   510,       489,   494,   495,   501,   505,   507,   509,   511,   513,   515,
1072       512,   514,   516,   518,   520,   522,   524,   526,   531,   536,       517,   519,   521,   523,   525,   527,   529,   531,   533,   535,
1073       541,   546,   551,   556,   561,   566,   571,   576,   581,   586,       537,   539,   541,   543,   545,   550,   555,   560,   565,   570,
1074       591,   596,   597,   603,   607,   609,   610,   614,   615,   618,       575,   580,   585,   590,   595,   600,   605,   610,   615,   616,
1075       620,   622,   624,   626,   628,   630,   632,   634,   636,   638,       622,   626,   628,   629,   633,   634,   637,   639,   641,   643,
1076       640,   642,   644,   646,   648,   650,   651,   659,   660,   662,       645,   647,   649,   651,   653,   655,   657,   659,   661,   663,
1077       665,   667,   669,   671,   673,   675,   677,   679,   681,   683,       665,   667,   669,   670,   678,   679,   681,   684,   686,   688,
1078       685,   687,   689,   691,   693,   696,   701,   703,   708,   713,       690,   692,   694,   696,   698,   700,   702,   704,   706,   708,
1079       718,   723,   728,   733,   738,   743,   748,   753,   758,   763,       710,   712,   715,   720,   722,   727,   732,   737,   742,   747,
1080       764,   771,   772,   778,   782,   784,   786,   788,   790,   793,       752,   757,   762,   767,   772,   777,   782,   783,   790,   791,
1081       795,   797,   799,   801,   803,   806,   807,   813,   817,   819,       797,   801,   803,   805,   807,   809,   812,   814,   816,   818,
1082       821,   825,   830,   835,   836,   843,   846,   848,   850,   852,       820,   822,   825,   826,   832,   836,   838,   840,   844,   849,
1083       854,   856,   858,   860,   862,   864,   866,   868,   870,   872,       854,   855,   862,   865,   867,   869,   871,   873,   875,   877,
1084       874,   876,   878,   880,   883,   888,   893,   898,   903,   908,       879,   881,   883,   885,   887,   889,   891,   893,   895,   897,
1085       909,   915,   919,   921,   922,   926,   927,   930,   932,   934,       899,   902,   907,   912,   917,   922,   927,   928,   934,   938,
1086       936,   938,   940,   942,   944,   946,   948,   950,   955,   960,       940,   941,   945,   946,   949,   951,   953,   955,   957,   959,
1087       965,   970,   975,   980,   985,   990,   995,  1000,  1001,  1008,       961,   963,   965,   967,   969,   974,   979,   984,   989,   994,
1088      1011,  1013,  1015,  1017,  1019,  1022,  1027,  1032,  1037,  1038,       999,  1004,  1009,  1014,  1019,  1020,  1027,  1030,  1032,  1034,
1089      1045,  1048,  1050,  1052,  1054,  1056,  1059,  1064,  1069,  1070,      1036,  1038,  1041,  1046,  1051,  1056,  1057,  1064,  1067,  1069,
1090      1076,  1080,  1082,  1084,  1086,  1088,  1090,  1092,  1094,  1096,      1071,  1073,  1075,  1078,  1083,  1088,  1089,  1095,  1099,  1101,
1091      1098,  1100,  1102,  1104,  1105,  1112,  1115,  1117,  1119,  1121,      1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,  1119,  1121,
1092      1124,  1129,  1130,  1136,  1140,  1142,  1144,  1146,  1148,  1150,      1123,  1124,  1131,  1134,  1136,  1138,  1140,  1143,  1148,  1149,
1093      1152,  1154,  1156,  1158,  1160,  1162,  1164,  1165,  1173,  1174,      1155,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
1094      1176,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,  1195,      1177,  1179,  1181,  1183,  1184,  1192,  1193,  1195,  1198,  1200,
1095      1197,  1199,  1201,  1203,  1205,  1207,  1209,  1211,  1213,  1215,      1202,  1204,  1206,  1208,  1210,  1212,  1214,  1216,  1218,  1220,
1096      1217,  1219,  1222,  1227,  1229,  1234,  1239,  1244,  1249,  1254,      1222,  1224,  1226,  1228,  1230,  1232,  1234,  1236,  1238,  1241,
1097      1259,  1264,  1269,  1270,  1276,  1280,  1282,  1283,  1287,  1288,      1246,  1248,  1253,  1258,  1263,  1268,  1273,  1278,  1283,  1288,
1098      1291,  1293,  1295,  1297,  1299,  1301,  1306,  1311,  1316,  1321,      1289,  1295,  1299,  1301,  1302,  1306,  1307,  1310,  1312,  1314,
1099      1326,  1331,  1336,  1341,  1346,  1351,  1352,  1359,  1360,  1366,      1316,  1318,  1320,  1325,  1330,  1335,  1340,  1345,  1350,  1355,
1100      1370,  1372,  1374,  1377,  1379,  1381,  1383,  1385,  1387,  1392,      1360,  1365,  1370,  1371,  1378,  1379,  1385,  1389,  1391,  1393,
1101      1397,  1398,  1405,  1408,  1410,  1412,  1414,  1416,  1421,  1426,      1396,  1398,  1400,  1402,  1404,  1406,  1411,  1416,  1417,  1424,
1102      1432,  1435,  1437,  1439,  1441,  1446,  1447,  1454,  1455,  1461,      1427,  1429,  1431,  1433,  1435,  1440,  1445,  1451,  1454,  1456,
1103      1465,  1467,  1469,  1472,  1474,  1476,  1478,  1480,  1482,  1487,      1458,  1460,  1465,  1466,  1473,  1474,  1480,  1484,  1486,  1488,
1104      1492,  1498,  1501,  1503,  1505,  1507,  1509,  1511,  1513,  1515,      1491,  1493,  1495,  1497,  1499,  1501,  1506,  1511,  1517,  1520,
1105      1517,  1519,  1521,  1523,  1525,  1527,  1529,  1531,  1533,  1535,      1522,  1524,  1526,  1528,  1530,  1532,  1534,  1536,  1538,  1540,
1106      1537,  1539,  1541,  1543,  1545,  1547,  1549,  1551,  1553,  1555,      1542,  1544,  1546,  1548,  1550,  1552,  1554,  1556,  1558,  1560,
1107      1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1575,      1562,  1564,  1566,  1568,  1570,  1572,  1574,  1576,  1578,  1580,
1108      1577,  1579,  1581,  1583,  1585,  1587,  1589,  1591,  1593,  1595,      1582,  1584,  1586,  1588,  1590,  1592,  1594,  1596,  1598,  1600,
1109      1597,  1599,  1601,  1603,  1605,  1607,  1609,  1611,  1613,  1615,      1602,  1604,  1606,  1608,  1610,  1612,  1614,  1616,  1618,  1620,
1110      1617,  1622,  1627,  1632,  1637,  1642,  1647,  1652,  1657,  1662,      1622,  1624,  1626,  1628,  1630,  1632,  1634,  1636,  1641,  1646,
1111      1667,  1672,  1677,  1682,  1687,  1692,  1697,  1702,  1707,  1712,      1651,  1656,  1661,  1666,  1671,  1676,  1681,  1686,  1691,  1696,
1112      1717,  1722,  1727,  1732,  1737,  1742,  1747,  1752,  1757,  1762,      1701,  1706,  1711,  1716,  1721,  1726,  1731,  1736,  1741,  1746,
1113      1767,  1772,  1777,  1782,  1787,  1792,  1797,  1802,  1807,  1812,      1751,  1756,  1761,  1766,  1771,  1776,  1781,  1786,  1791,  1796,
1114      1817,  1822,  1827,  1832,  1837,  1842,  1847,  1852,  1857,  1862,      1801,  1806,  1811,  1816,  1821,  1826,  1831,  1836,  1841,  1846,
1115      1867,  1872,  1873,  1879,  1883,  1885,  1887,  1889,  1891,  1893,      1851,  1856,  1861,  1866,  1871,  1876,  1881,  1886,  1891,  1892,
1116      1895,  1897,  1899,  1901,  1903,  1905,  1907,  1909,  1911,  1913,      1898,  1902,  1904,  1906,  1908,  1910,  1912,  1914,  1916,  1918,
1117      1915,  1917,  1919,  1921,  1923,  1924,  1930,  1934,  1936,  1938,      1920,  1922,  1924,  1926,  1928,  1930,  1932,  1934,  1936,  1938,
1118      1940,  1942,  1944,  1946,  1948,  1950,  1952,  1954,  1956,  1958,      1940,  1942,  1943,  1949,  1953,  1955,  1957,  1959,  1961,  1963,
1119      1960,  1962,  1964,  1966,  1968,  1970,  1972,  1974,  1979,  1984,      1965,  1967,  1969,  1971,  1973,  1975,  1977,  1979,  1981,  1983,
1120      1989,  1994,  1999,  2000,  2007,  2010,  2012,  2014,  2016,  2018,      1985,  1987,  1989,  1991,  1993,  1998,  2003,  2008,  2013,  2018,
1121      2020,  2022,  2024,  2026,  2031,  2036,  2037,  2043,  2047,  2049,      2019,  2026,  2029,  2031,  2033,  2035,  2037,  2039,  2041,  2043,
1122      2051,  2053,  2058,  2063,  2064,  2070,  2074,  2076,  2078,  2080,      2045,  2050,  2055,  2056,  2062,  2066,  2068,  2070,  2072,  2077,
1123      2086,  2089,  2091,  2093,  2095,  2097,  2099,  2101,  2103,  2105,      2082,  2083,  2089,  2093,  2095,  2097,  2099,  2105,  2108,  2110,
1124      2107,  2109,  2111,  2113,  2115,  2117,  2119,  2121,  2123,  2125,      2112,  2114,  2116,  2118,  2120,  2122,  2124,  2126,  2128,  2130,
1125      2127,  2129,  2134,  2139,  2144,  2149,  2154,  2159,  2164,  2169,      2132,  2134,  2136,  2138,  2140,  2142,  2144,  2146,  2148,  2153,
1126      2174,  2179,  2184,  2189,  2194,  2199,  2204,  2209,  2214,  2219,      2158,  2163,  2168,  2173,  2178,  2183,  2188,  2193,  2198,  2203,
1127      2225,  2228,  2230,  2232,  2234,  2236,  2238,  2240,  2242,  2244,      2208,  2213,  2218,  2223,  2228,  2233,  2238,  2244,  2247,  2249,
1128      2246,  2251,  2256,  2261,  2266,  2271,  2276      2251,  2253,  2255,  2257,  2259,  2261,  2263,  2265,  2270,  2275,
1129        2280,  2285,  2290,  2295
1130  };  };
1131    
1132  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1133  static const yytype_int16 yyrhs[] =  static const yytype_int16 yyrhs[] =
1134  {  {
1135       265,     0,    -1,    -1,   265,   266,    -1,   290,    -1,   296,       268,     0,    -1,    -1,   268,   269,    -1,   297,    -1,   303,
1136        -1,   311,    -1,   575,    -1,   348,    -1,   367,    -1,   381,        -1,   318,    -1,   582,    -1,   355,    -1,   374,    -1,   388,
1137        -1,   276,    -1,   596,    -1,   407,    -1,   414,    -1,   424,        -1,   279,    -1,   603,    -1,   414,    -1,   421,    -1,   431,
1138        -1,   433,    -1,   464,    -1,   474,    -1,   480,    -1,   494,        -1,   440,    -1,   471,    -1,   481,    -1,   487,    -1,   501,
1139        -1,   559,    -1,   484,    -1,   271,    -1,     1,   259,    -1,        -1,   566,    -1,   491,    -1,   274,    -1,     1,   262,    -1,
1140         1,   260,    -1,    -1,   268,    -1,   133,   267,    -1,   133,         1,   263,    -1,    -1,   271,    -1,   133,   270,    -1,   133,
1141       172,   267,    -1,   133,   173,   267,    -1,   133,   174,   267,       175,   270,    -1,   133,   176,   270,    -1,   133,   177,   270,
1142        -1,   133,   175,   267,    -1,   133,   176,   267,    -1,    -1,        -1,   133,   178,   270,    -1,   133,   179,   270,    -1,    -1,
1143       270,    -1,   133,   269,    -1,   133,    14,   269,    -1,   133,       273,    -1,   133,   272,    -1,   133,    14,   272,    -1,   133,
1144        15,   269,    -1,   133,    16,   269,    -1,   121,   261,   272,        15,   272,    -1,   133,    16,   272,    -1,   121,   264,   275,
1145       260,   259,    -1,   272,   273,    -1,   273,    -1,   274,    -1,       263,   262,    -1,   275,   276,    -1,   276,    -1,   277,    -1,
1146       275,    -1,     1,   259,    -1,   120,   262,   155,   259,    -1,       278,    -1,     1,   262,    -1,   120,   265,   155,   262,    -1,
1147       150,   262,   155,   259,    -1,   180,   261,   277,   260,   259,       150,   265,   155,   262,    -1,   183,   264,   280,   263,   262,
1148        -1,   277,   278,    -1,   278,    -1,   281,    -1,   286,    -1,        -1,   280,   281,    -1,   281,    -1,   288,    -1,   293,    -1,
1149       289,    -1,   283,    -1,   284,    -1,   285,    -1,   288,    -1,       296,    -1,   290,    -1,   291,    -1,   292,    -1,   295,    -1,
1150       280,    -1,   287,    -1,   282,    -1,   279,    -1,     1,   259,       287,    -1,   294,    -1,   289,    -1,   286,    -1,   282,    -1,
1151        -1,   169,   262,   155,   259,    -1,   167,   262,   155,   259,         1,   262,    -1,    -1,   170,   283,   265,   284,   262,    -1,
1152        -1,   122,   262,   155,   259,    -1,   182,   262,   155,   259,       284,   266,   285,    -1,   285,    -1,   171,    -1,   172,    -1,
1153        -1,    37,   262,   155,   259,    -1,   125,   262,   155,   259,       169,   265,   155,   262,    -1,   167,   265,   155,   262,    -1,
1154        -1,   124,   262,   155,   259,    -1,   254,   262,   155,   259,       122,   265,   155,   262,    -1,   185,   265,   155,   262,    -1,
1155        -1,   255,   262,   155,   259,    -1,   226,   262,   133,   259,        37,   265,   155,   262,    -1,   125,   265,   155,   262,    -1,
1156        -1,    86,   262,   196,   259,    -1,     5,   261,   291,   260,       124,   265,   155,   262,    -1,   257,   265,   155,   262,    -1,
1157       259,    -1,   291,   292,    -1,   292,    -1,   293,    -1,   295,       258,   265,   155,   262,    -1,   229,   265,   133,   262,    -1,
1158        -1,   294,    -1,     1,   259,    -1,   122,   262,   155,   259,        86,   265,   199,   262,    -1,     5,   264,   298,   263,   262,
1159        -1,    48,   262,   155,   259,    -1,    37,   262,   155,   259,        -1,   298,   299,    -1,   299,    -1,   300,    -1,   302,    -1,
1160        -1,   104,   261,   297,   260,   259,    -1,   297,   298,    -1,       301,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1161       298,    -1,   299,    -1,   300,    -1,   309,    -1,   310,    -1,        48,   265,   155,   262,    -1,    37,   265,   155,   262,    -1,
1162       301,    -1,   303,    -1,   305,    -1,   306,    -1,   308,    -1,       104,   264,   304,   263,   262,    -1,   304,   305,    -1,   305,
1163       304,    -1,   307,    -1,   302,    -1,     1,   259,    -1,   218,        -1,   306,    -1,   307,    -1,   316,    -1,   317,    -1,   308,
1164       262,   155,   259,    -1,   140,   262,   155,   259,    -1,    64,        -1,   310,    -1,   312,    -1,   313,    -1,   315,    -1,   311,
1165       262,   155,   259,    -1,    57,   262,   155,   259,    -1,    62,        -1,   314,    -1,   309,    -1,     1,   262,    -1,   221,   265,
1166       262,   155,   259,    -1,    63,   262,   155,   259,    -1,    60,       155,   262,    -1,   140,   265,   155,   262,    -1,    64,   265,
1167       262,   155,   259,    -1,    59,   262,   155,   259,    -1,    61,       155,   262,    -1,    57,   265,   155,   262,    -1,    62,   265,
1168       262,   155,   259,    -1,    58,   262,   155,   259,    -1,   105,       155,   262,    -1,    63,   265,   155,   262,    -1,    60,   265,
1169       262,   219,   259,    -1,   105,   262,   221,   259,    -1,   105,       155,   262,    -1,    59,   265,   155,   262,    -1,    61,   265,
1170       262,   225,   259,    -1,   105,   262,   223,   259,    -1,   105,       155,   262,    -1,    58,   265,   155,   262,    -1,   105,   265,
1171       262,   224,   259,    -1,   105,   262,   222,   259,    -1,   105,       222,   262,    -1,   105,   265,   224,   262,    -1,   105,   265,
1172       262,   220,   259,    -1,   252,   262,   196,   259,    -1,    -1,       228,   262,    -1,   105,   265,   226,   262,    -1,   105,   265,
1173       138,   312,   313,   261,   314,   260,   259,    -1,    -1,   317,       227,   262,    -1,   105,   265,   225,   262,    -1,   105,   265,
1174        -1,   314,   315,    -1,   315,    -1,   316,    -1,   318,    -1,       223,   262,    -1,   255,   265,   199,   262,    -1,    -1,   138,
1175       319,    -1,   338,    -1,   339,    -1,   323,    -1,   322,    -1,       319,   320,   264,   321,   263,   262,    -1,    -1,   324,    -1,
1176       327,    -1,   328,    -1,   330,    -1,   331,    -1,   332,    -1,       321,   322,    -1,   322,    -1,   323,    -1,   325,    -1,   326,
1177       333,    -1,   334,    -1,   329,    -1,   335,    -1,   336,    -1,        -1,   345,    -1,   346,    -1,   330,    -1,   329,    -1,   334,
1178       337,    -1,   340,    -1,   320,    -1,   321,    -1,   341,    -1,        -1,   335,    -1,   337,    -1,   338,    -1,   339,    -1,   340,
1179         1,   259,    -1,   122,   262,   155,   259,    -1,   155,    -1,        -1,   341,    -1,   336,    -1,   342,    -1,   343,    -1,   344,
1180       247,   262,   155,   259,    -1,   149,   262,   155,   259,    -1,        -1,   347,    -1,   327,    -1,   328,    -1,   348,    -1,     1,
1181        50,   262,   196,   259,    -1,   168,   262,   155,   259,    -1,       262,    -1,   122,   265,   155,   262,    -1,   155,    -1,   250,
1182        26,   262,   155,   259,    -1,    -1,   235,   324,   262,   325,       265,   155,   262,    -1,   149,   265,   155,   262,    -1,    50,
1183       259,    -1,   325,   263,   326,    -1,   326,    -1,   203,    -1,       265,   199,   262,    -1,   168,   265,   155,   262,    -1,    26,
1184       206,    -1,   207,    -1,   209,    -1,   210,    -1,   213,    -1,       265,   155,   262,    -1,    -1,   238,   331,   265,   332,   262,
1185       232,    -1,   227,    -1,   229,    -1,   236,    -1,   233,    -1,        -1,   332,   266,   333,    -1,   333,    -1,   206,    -1,   209,
1186       212,    -1,   228,    -1,   231,    -1,   214,    -1,   239,    -1,        -1,   210,    -1,   212,    -1,   213,    -1,   216,    -1,   235,
1187       204,    -1,   205,    -1,   217,    -1,    74,   262,   196,   259,        -1,   230,    -1,   232,    -1,   239,    -1,   236,    -1,   215,
1188        -1,   163,   262,   196,   259,    -1,   164,   262,   196,   259,        -1,   231,    -1,   234,    -1,   217,    -1,   242,    -1,   207,
1189        -1,    94,   262,   196,   259,    -1,   256,   262,   196,   259,        -1,   208,    -1,   220,    -1,    74,   265,   199,   262,    -1,
1190        -1,   246,   262,   196,   259,    -1,    67,   262,   196,   259,       163,   265,   199,   262,    -1,   164,   265,   199,   262,    -1,
1191        -1,   127,   262,   196,   259,    -1,    38,   262,   196,   259,        94,   265,   199,   262,    -1,   259,   265,   199,   262,    -1,
1192        -1,   161,   262,   196,   259,    -1,     5,   262,   196,   259,       249,   265,   199,   262,    -1,    67,   265,   199,   262,    -1,
1193        -1,    79,   262,   196,   259,    -1,    81,   262,   196,   259,       127,   265,   199,   262,    -1,    38,   265,   199,   262,    -1,
1194        -1,   228,   262,   196,   259,    -1,    -1,    55,   342,   262,       161,   265,   199,   262,    -1,     5,   265,   199,   262,    -1,
1195       343,   259,    -1,   343,   263,   344,    -1,   344,    -1,    -1,        79,   265,   199,   262,    -1,    81,   265,   199,   262,    -1,
1196       132,   345,   347,    -1,    -1,   346,   347,    -1,    74,    -1,       231,   265,   199,   262,    -1,    -1,    55,   349,   265,   350,
1197       163,    -1,    94,    -1,   246,    -1,   256,    -1,    67,    -1,       262,    -1,   350,   266,   351,    -1,   351,    -1,    -1,   132,
1198        38,    -1,   161,    -1,     5,    -1,    79,    -1,   127,    -1,       352,   354,    -1,    -1,   353,   354,    -1,    74,    -1,   163,
1199       228,    -1,   143,    -1,    81,    -1,   164,    -1,    50,    -1,        -1,    94,    -1,   249,    -1,   259,    -1,    67,    -1,    38,
1200        -1,    26,   349,   350,   261,   351,   260,   259,    -1,    -1,        -1,   161,    -1,     5,    -1,    79,    -1,   127,    -1,   231,
1201       354,    -1,   351,   352,    -1,   352,    -1,   353,    -1,   364,        -1,   143,    -1,    81,    -1,   164,    -1,    50,    -1,    -1,
1202        -1,   365,    -1,   355,    -1,   356,    -1,   366,    -1,   357,        26,   356,   357,   264,   358,   263,   262,    -1,    -1,   361,
1203        -1,   358,    -1,   359,    -1,   360,    -1,   361,    -1,   362,        -1,   358,   359,    -1,   359,    -1,   360,    -1,   371,    -1,
1204        -1,   363,    -1,     1,   259,    -1,   122,   262,   155,   259,       372,    -1,   362,    -1,   363,    -1,   373,    -1,   364,    -1,
1205        -1,   155,    -1,   152,   262,   268,   259,    -1,   153,   262,       365,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,
1206       268,   259,    -1,   136,   262,   133,   259,    -1,    30,   262,       370,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1207       268,   259,    -1,   114,   262,   133,   259,    -1,   109,   262,       155,    -1,   152,   265,   271,   262,    -1,   153,   265,   271,
1208       133,   259,    -1,   111,   262,   133,   259,    -1,   110,   262,       262,    -1,   136,   265,   133,   262,    -1,    30,   265,   271,
1209       133,   259,    -1,   177,   262,   270,   259,    -1,    23,   262,       262,    -1,   114,   265,   133,   262,    -1,   109,   265,   133,
1210       133,   259,    -1,    24,   262,   133,   259,    -1,   135,   262,       262,    -1,   111,   265,   133,   262,    -1,   110,   265,   133,
1211       133,   259,    -1,    -1,   102,   368,   261,   373,   260,   259,       262,    -1,   180,   265,   273,   262,    -1,    23,   265,   133,
1212        -1,    -1,    55,   370,   262,   371,   259,    -1,   371,   263,       262,    -1,    24,   265,   133,   262,    -1,   135,   265,   133,
1213       372,    -1,   372,    -1,   234,    -1,    78,    -1,   230,    -1,       262,    -1,    -1,   102,   375,   264,   380,   263,   262,    -1,
1214       373,   374,    -1,   374,    -1,   375,    -1,   369,    -1,   379,        -1,    55,   377,   265,   378,   262,    -1,   378,   266,   379,
1215        -1,   380,    -1,     1,   259,    -1,    -1,   154,   262,   377,        -1,   379,    -1,   237,    -1,    78,    -1,   233,    -1,   380,
1216       376,   259,    -1,   377,   263,   378,    -1,   378,    -1,   133,       381,    -1,   381,    -1,   382,    -1,   376,    -1,   386,    -1,
1217        -1,   133,   201,   133,    -1,    91,   262,   155,   259,    -1,       387,    -1,     1,   262,    -1,    -1,   154,   265,   384,   383,
1218        85,   262,   155,   259,    -1,    -1,    75,   382,   261,   383,       262,    -1,   384,   266,   385,    -1,   385,    -1,   133,    -1,
1219       260,   259,    -1,   383,   384,    -1,   384,    -1,   385,    -1,       133,   204,   133,    -1,    91,   265,   155,   262,    -1,    85,
1220       386,    -1,   388,    -1,   390,    -1,   397,    -1,   398,    -1,       265,   155,   262,    -1,    -1,    75,   389,   264,   390,   263,
1221       399,    -1,   401,    -1,   402,    -1,   403,    -1,   387,    -1,       262,    -1,   390,   391,    -1,   391,    -1,   392,    -1,   393,
1222       404,    -1,   405,    -1,   400,    -1,   406,    -1,   389,    -1,        -1,   395,    -1,   397,    -1,   404,    -1,   405,    -1,   406,
1223         1,   259,    -1,   247,   262,   155,   259,    -1,   149,   262,        -1,   408,    -1,   409,    -1,   410,    -1,   394,    -1,   411,
1224       155,   259,    -1,   190,   262,   196,   259,    -1,    26,   262,        -1,   412,    -1,   407,    -1,   413,    -1,   396,    -1,     1,
1225       155,   259,    -1,    50,   262,   196,   259,    -1,    -1,    55,       262,    -1,   250,   265,   155,   262,    -1,   149,   265,   155,
1226       391,   262,   392,   259,    -1,   392,   263,   393,    -1,   393,       262,    -1,   193,   265,   199,   262,    -1,    26,   265,   155,
1227        -1,    -1,   132,   394,   396,    -1,    -1,   395,   396,    -1,       262,    -1,    50,   265,   199,   262,    -1,    -1,    55,   398,
1228       190,    -1,    51,    -1,    95,    -1,    76,    -1,    20,    -1,       265,   399,   262,    -1,   399,   266,   400,    -1,   400,    -1,
1229        21,    -1,   131,    -1,    69,    -1,   171,    -1,   123,    -1,        -1,   132,   401,   403,    -1,    -1,   402,   403,    -1,   193,
1230        95,   262,   196,   259,    -1,    76,   262,   196,   259,    -1,        -1,    51,    -1,    95,    -1,    76,    -1,    20,    -1,    21,
1231        51,   262,   196,   259,    -1,    20,   262,   196,   259,    -1,        -1,   131,    -1,    69,    -1,   174,    -1,   123,    -1,    95,
1232       131,   262,   196,   259,    -1,    69,   262,   196,   259,    -1,       265,   199,   262,    -1,    76,   265,   199,   262,    -1,    51,
1233       189,   262,   155,   259,    -1,   159,   262,   155,   259,    -1,       265,   199,   262,    -1,    20,   265,   199,   262,    -1,   131,
1234       158,   262,   133,   259,    -1,   123,   262,   196,   259,    -1,       265,   199,   262,    -1,    69,   265,   199,   262,    -1,   192,
1235        -1,   170,   408,   261,   409,   260,   259,    -1,   409,   410,       265,   155,   262,    -1,   159,   265,   155,   262,    -1,   158,
1236        -1,   410,    -1,   411,    -1,   412,    -1,   413,    -1,     1,       265,   133,   262,    -1,   123,   265,   199,   262,    -1,    -1,
1237       259,    -1,   157,   262,   155,   259,    -1,    22,   262,   155,       173,   415,   264,   416,   263,   262,    -1,   416,   417,    -1,
1238       259,    -1,   126,   262,   155,   259,    -1,    -1,   184,   415,       417,    -1,   418,    -1,   419,    -1,   420,    -1,     1,   262,
1239       261,   416,   260,   259,    -1,   416,   417,    -1,   417,    -1,        -1,   157,   265,   155,   262,    -1,    22,   265,   155,   262,
1240       418,    -1,   419,    -1,   420,    -1,     1,   259,    -1,   122,        -1,   126,   265,   155,   262,    -1,    -1,   187,   422,   264,
1241       262,   155,   259,    -1,   247,   262,   155,   259,    -1,    -1,       423,   263,   262,    -1,   423,   424,    -1,   424,    -1,   425,
1242       186,   421,   262,   422,   259,    -1,   422,   263,   423,    -1,        -1,   426,    -1,   427,    -1,     1,   262,    -1,   122,   265,
1243       423,    -1,    94,    -1,   243,    -1,   246,    -1,   256,    -1,       155,   262,    -1,   250,   265,   155,   262,    -1,    -1,   189,
1244       244,    -1,   238,    -1,   170,    -1,   245,    -1,   237,    -1,       428,   265,   429,   262,    -1,   429,   266,   430,    -1,   430,
1245       217,    -1,   202,    -1,    -1,   185,   425,   261,   426,   260,        -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1246       259,    -1,   426,   427,    -1,   427,    -1,   428,    -1,   429,        -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1247        -1,     1,   259,    -1,   122,   262,   155,   259,    -1,    -1,        -1,   205,    -1,    -1,   188,   432,   264,   433,   263,   262,
1248       186,   430,   262,   431,   259,    -1,   431,   263,   432,    -1,        -1,   433,   434,    -1,   434,    -1,   435,    -1,   436,    -1,
1249       432,    -1,    94,    -1,   243,    -1,   246,    -1,   256,    -1,         1,   262,    -1,   122,   265,   155,   262,    -1,    -1,   189,
1250       244,    -1,   238,    -1,   170,    -1,   245,    -1,   237,    -1,       437,   265,   438,   262,    -1,   438,   266,   439,    -1,   439,
1251       217,    -1,   202,    -1,    -1,    29,   434,   435,   261,   436,        -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1252       260,   259,    -1,    -1,   439,    -1,   436,   437,    -1,   437,        -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1253        -1,   438,    -1,   440,    -1,   441,    -1,   442,    -1,   443,        -1,   205,    -1,    -1,    29,   441,   442,   264,   443,   263,
1254        -1,   445,    -1,   444,    -1,   446,    -1,   447,    -1,   460,       262,    -1,    -1,   446,    -1,   443,   444,    -1,   444,    -1,
1255        -1,   461,    -1,   462,    -1,   458,    -1,   455,    -1,   457,       445,    -1,   447,    -1,   448,    -1,   449,    -1,   450,    -1,
1256        -1,   456,    -1,   454,    -1,   463,    -1,   459,    -1,     1,       452,    -1,   451,    -1,   453,    -1,   454,    -1,   467,    -1,
1257       259,    -1,   122,   262,   155,   259,    -1,   155,    -1,    85,       468,    -1,   469,    -1,   465,    -1,   462,    -1,   464,    -1,
1258       262,   155,   259,    -1,   254,   262,   155,   259,    -1,   178,       463,    -1,   461,    -1,   470,    -1,   466,    -1,     1,   262,
1259       262,   155,   259,    -1,     3,   262,   155,   259,    -1,   154,        -1,   122,   265,   155,   262,    -1,   155,    -1,    85,   265,
1260       262,   133,   259,    -1,     6,   262,   215,   259,    -1,     6,       155,   262,    -1,   257,   265,   155,   262,    -1,   181,   265,
1261       262,   216,   259,    -1,    54,   262,   155,   259,    -1,    -1,       155,   262,    -1,     3,   265,   155,   262,    -1,   154,   265,
1262        55,   448,   262,   449,   259,    -1,   449,   263,   450,    -1,       133,   262,    -1,     6,   265,   218,   262,    -1,     6,   265,
1263       450,    -1,    -1,   132,   451,   453,    -1,    -1,   452,   453,       219,   262,    -1,    54,   265,   155,   262,    -1,    -1,    55,
1264        -1,    27,    -1,    31,    -1,    10,    -1,    12,    -1,   241,       455,   265,   456,   262,    -1,   456,   266,   457,    -1,   457,
1265        -1,   168,   262,   155,   259,    -1,    50,   262,   196,   259,        -1,    -1,   132,   458,   460,    -1,    -1,   459,   460,    -1,
1266        -1,    31,   262,   196,   259,    -1,    27,   262,   196,   259,        27,    -1,    31,    -1,    10,    -1,    12,    -1,   244,    -1,
1267        -1,    10,   262,   196,   259,    -1,   241,   262,   196,   259,       168,   265,   155,   262,    -1,    50,   265,   199,   262,    -1,
1268        -1,    87,   262,   155,   259,    -1,   100,   262,   155,   259,        31,   265,   199,   262,    -1,    27,   265,   199,   262,    -1,
1269        -1,    26,   262,   155,   259,    -1,    25,   262,   155,   259,        10,   265,   199,   262,    -1,   244,   265,   199,   262,    -1,
1270        -1,    -1,    92,   465,   261,   470,   260,   259,    -1,    -1,        87,   265,   155,   262,    -1,   100,   265,   155,   262,    -1,
1271       186,   467,   262,   468,   259,    -1,   468,   263,   469,    -1,        26,   265,   155,   262,    -1,    25,   265,   155,   262,    -1,
1272       469,    -1,   160,    -1,   470,   471,    -1,   471,    -1,   472,        -1,    92,   472,   264,   477,   263,   262,    -1,    -1,   189,
1273        -1,   473,    -1,   466,    -1,     1,    -1,   247,   262,   155,       474,   265,   475,   262,    -1,   475,   266,   476,    -1,   476,
1274       259,    -1,   157,   262,   155,   259,    -1,    -1,    36,   475,        -1,   160,    -1,   477,   478,    -1,   478,    -1,   479,    -1,
1275       261,   476,   260,   259,    -1,   476,   477,    -1,   477,    -1,       480,    -1,   473,    -1,     1,    -1,   250,   265,   155,   262,
1276       478,    -1,   479,    -1,     1,    -1,    91,   262,   155,   259,        -1,   157,   265,   155,   262,    -1,    -1,    36,   482,   264,
1277        -1,   157,   262,   155,   259,    -1,    52,   261,   481,   260,       483,   263,   262,    -1,   483,   484,    -1,   484,    -1,   485,
1278       259,    -1,   481,   482,    -1,   482,    -1,   483,    -1,     1,        -1,   486,    -1,     1,    -1,    91,   265,   155,   262,    -1,
1279        -1,    91,   262,   155,   259,    -1,    -1,    65,   485,   261,       157,   265,   155,   262,    -1,    52,   264,   488,   263,   262,
1280       490,   260,   259,    -1,    -1,   186,   487,   262,   488,   259,        -1,   488,   489,    -1,   489,    -1,   490,    -1,     1,    -1,
1281        -1,   488,   263,   489,    -1,   489,    -1,   160,    -1,   490,        91,   265,   155,   262,    -1,    -1,    65,   492,   264,   497,
1282       491,    -1,   491,    -1,   492,    -1,   493,    -1,   486,    -1,       263,   262,    -1,    -1,   189,   494,   265,   495,   262,    -1,
1283         1,    -1,   122,   262,   155,   259,    -1,   157,   262,   155,       495,   266,   496,    -1,   496,    -1,   160,    -1,   497,   498,
1284       259,    -1,    66,   261,   495,   260,   259,    -1,   495,   496,        -1,   498,    -1,   499,    -1,   500,    -1,   493,    -1,     1,
1285        -1,   496,    -1,   505,    -1,   506,    -1,   508,    -1,   509,        -1,   122,   265,   155,   262,    -1,   157,   265,   155,   262,
1286        -1,   510,    -1,   511,    -1,   512,    -1,   513,    -1,   514,        -1,    66,   264,   502,   263,   262,    -1,   502,   503,    -1,
1287        -1,   515,    -1,   504,    -1,   517,    -1,   518,    -1,   519,       503,    -1,   512,    -1,   513,    -1,   515,    -1,   516,    -1,
1288        -1,   520,    -1,   536,    -1,   522,    -1,   524,    -1,   526,       517,    -1,   518,    -1,   519,    -1,   520,    -1,   521,    -1,
1289        -1,   525,    -1,   529,    -1,   523,    -1,   530,    -1,   531,       522,    -1,   511,    -1,   524,    -1,   525,    -1,   526,    -1,
1290        -1,   532,    -1,   533,    -1,   535,    -1,   534,    -1,   550,       527,    -1,   543,    -1,   529,    -1,   531,    -1,   533,    -1,
1291        -1,   537,    -1,   541,    -1,   542,    -1,   546,    -1,   527,       532,    -1,   536,    -1,   530,    -1,   537,    -1,   538,    -1,
1292        -1,   528,    -1,   556,    -1,   554,    -1,   555,    -1,   538,       539,    -1,   540,    -1,   542,    -1,   541,    -1,   557,    -1,
1293        -1,   507,    -1,   539,    -1,   540,    -1,   557,    -1,   545,       544,    -1,   548,    -1,   549,    -1,   553,    -1,   534,    -1,
1294        -1,   516,    -1,   558,    -1,   543,    -1,   544,    -1,   500,       535,    -1,   563,    -1,   561,    -1,   562,    -1,   545,    -1,
1295        -1,   503,    -1,   498,    -1,   499,    -1,   501,    -1,   502,       514,    -1,   546,    -1,   547,    -1,   564,    -1,   552,    -1,
1296        -1,   521,    -1,   497,    -1,     1,    -1,   116,   262,   133,       523,    -1,   565,    -1,   550,    -1,   551,    -1,   507,    -1,
1297       259,    -1,    72,   262,   133,   259,    -1,    73,   262,   133,       510,    -1,   505,    -1,   506,    -1,   508,    -1,   509,    -1,
1298       259,    -1,    12,   262,   196,   259,    -1,   253,   262,   196,       528,    -1,   504,    -1,     1,    -1,   116,   265,   133,   262,
1299       259,    -1,   162,   262,   268,   259,    -1,   183,   262,   196,        -1,    72,   265,   133,   262,    -1,    73,   265,   133,   262,
1300       259,    -1,    93,   262,   133,   259,    -1,    84,   262,   196,        -1,    12,   265,   199,   262,    -1,   256,   265,   199,   262,
1301       259,    -1,    89,   262,   196,   259,    -1,    43,   262,   196,        -1,   162,   265,   271,   262,    -1,   186,   265,   199,   262,
1302       259,    -1,    53,   262,   196,   259,    -1,     8,   262,   196,        -1,    93,   265,   133,   262,    -1,    84,   265,   199,   262,
1303       259,    -1,   113,   262,   268,   259,    -1,   112,   262,   133,        -1,    89,   265,   199,   262,    -1,    43,   265,   199,   262,
1304       259,    -1,   106,   262,   133,   259,    -1,     9,   262,   268,        -1,    53,   265,   199,   262,    -1,     8,   265,   199,   262,
1305       259,    -1,   200,   262,   268,   259,    -1,   199,   262,   268,        -1,   113,   265,   271,   262,    -1,   112,   265,   133,   262,
1306       259,    -1,    77,   262,   133,   259,    -1,    97,   262,   196,        -1,   106,   265,   133,   262,    -1,     9,   265,   271,   262,
1307       259,    -1,    96,   262,   155,   259,    -1,    90,   262,   196,        -1,   203,   265,   271,   262,    -1,   202,   265,   271,   262,
1308       259,    -1,   258,   262,   196,   259,    -1,   191,   262,   196,        -1,    77,   265,   133,   262,    -1,    97,   265,   199,   262,
1309       259,    -1,   194,   262,   196,   259,    -1,   195,   262,   196,        -1,    96,   265,   155,   262,    -1,    90,   265,   199,   262,
1310       259,    -1,   193,   262,   196,   259,    -1,   193,   262,   197,        -1,   261,   265,   199,   262,    -1,   194,   265,   199,   262,
1311       259,    -1,   192,   262,   196,   259,    -1,   192,   262,   197,        -1,   197,   265,   199,   262,    -1,   198,   265,   199,   262,
1312       259,    -1,   147,   262,   268,   259,    -1,    19,   262,   268,        -1,   196,   265,   199,   262,    -1,   196,   265,   200,   262,
1313       259,    -1,   139,   262,   196,   259,    -1,   148,   262,   268,        -1,   195,   265,   199,   262,    -1,   195,   265,   200,   262,
1314       259,    -1,   187,   262,   196,   259,    -1,   130,   262,   196,        -1,   147,   265,   271,   262,    -1,    19,   265,   271,   262,
1315       259,    -1,   242,   262,   196,   259,    -1,   142,   262,   196,        -1,   139,   265,   199,   262,    -1,   148,   265,   271,   262,
1316       259,    -1,   117,   262,   155,   259,    -1,    88,   262,   268,        -1,   190,   265,   199,   262,    -1,   130,   265,   199,   262,
1317       259,    -1,    45,   262,   133,   259,    -1,   115,   262,   133,        -1,   245,   265,   199,   262,    -1,   142,   265,   199,   262,
1318       259,    -1,   181,   262,   155,   259,    -1,    32,   262,   155,        -1,   117,   265,   155,   262,    -1,    88,   265,   271,   262,
1319       259,    -1,    28,   262,   133,   259,    -1,   248,   262,   196,        -1,    45,   265,   133,   262,    -1,   115,   265,   133,   262,
1320       259,    -1,    47,   262,   155,   259,    -1,   151,   262,   196,        -1,   184,   265,   155,   262,    -1,    32,   265,   155,   262,
1321       259,    -1,    39,   262,   196,   259,    -1,   240,   262,   268,        -1,    28,   265,   133,   262,    -1,   251,   265,   199,   262,
1322       259,    -1,    -1,   144,   547,   262,   548,   259,    -1,   548,        -1,    47,   265,   155,   262,    -1,   151,   265,   199,   262,
1323       263,   549,    -1,   549,    -1,   203,    -1,   206,    -1,   207,        -1,    39,   265,   199,   262,    -1,   243,   265,   271,   262,
1324        -1,   209,    -1,   210,    -1,   213,    -1,   232,    -1,   227,        -1,    -1,   144,   554,   265,   555,   262,    -1,   555,   266,
1325        -1,   229,    -1,   236,    -1,   233,    -1,   212,    -1,   228,       556,    -1,   556,    -1,   206,    -1,   209,    -1,   210,    -1,
1326        -1,   231,    -1,   214,    -1,   239,    -1,   204,    -1,   205,       212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,    -1,
1327        -1,   217,    -1,    -1,   141,   551,   262,   552,   259,    -1,       232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,    -1,
1328       552,   263,   553,    -1,   553,    -1,   203,    -1,   206,    -1,       234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,    -1,
1329       207,    -1,   209,    -1,   210,    -1,   213,    -1,   232,    -1,       220,    -1,    -1,   141,   558,   265,   559,   262,    -1,   559,
1330       227,    -1,   229,    -1,   236,    -1,   233,    -1,   212,    -1,       266,   560,    -1,   560,    -1,   206,    -1,   209,    -1,   210,
1331       228,    -1,   231,    -1,   214,    -1,   239,    -1,   204,    -1,        -1,   212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,
1332       205,    -1,   217,    -1,   118,   262,   133,   259,    -1,   119,        -1,   232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,
1333       262,   133,   259,    -1,    33,   262,   133,   259,    -1,   208,        -1,   234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,
1334       262,   270,   259,    -1,    44,   262,   196,   259,    -1,    -1,        -1,   220,    -1,   118,   265,   133,   262,    -1,   119,   265,
1335        68,   560,   261,   561,   260,   259,    -1,   561,   562,    -1,       133,   262,    -1,    33,   265,   133,   262,    -1,   211,   265,
1336       562,    -1,   563,    -1,   564,    -1,   565,    -1,   569,    -1,       273,   262,    -1,    44,   265,   199,   262,    -1,    -1,    68,
1337       570,    -1,   571,    -1,     1,    -1,    49,   262,   196,   259,       567,   264,   568,   263,   262,    -1,   568,   569,    -1,   569,
1338        -1,    46,   262,   268,   259,    -1,    -1,   104,   566,   262,        -1,   570,    -1,   571,    -1,   572,    -1,   576,    -1,   577,
1339       567,   259,    -1,   567,   263,   568,    -1,   568,    -1,   198,        -1,   578,    -1,     1,    -1,    49,   265,   199,   262,    -1,
1340        -1,    11,    -1,   247,   262,   155,   259,    -1,   122,   262,        46,   265,   271,   262,    -1,    -1,   104,   573,   265,   574,
1341       155,   259,    -1,    -1,     4,   572,   262,   573,   259,    -1,       262,    -1,   574,   266,   575,    -1,   575,    -1,   201,    -1,
1342       573,   263,   574,    -1,   574,    -1,   198,    -1,    11,    -1,        11,    -1,   250,   265,   155,   262,    -1,   122,   265,   155,
1343        22,   261,   576,   260,   259,    -1,   576,   577,    -1,   577,       262,    -1,    -1,     4,   579,   265,   580,   262,    -1,   580,
1344        -1,   580,    -1,   581,    -1,   582,    -1,   583,    -1,   588,       266,   581,    -1,   581,    -1,   201,    -1,    11,    -1,    22,
1345        -1,   584,    -1,   585,    -1,   586,    -1,   587,    -1,   589,       264,   583,   263,   262,    -1,   583,   584,    -1,   584,    -1,
1346        -1,   590,    -1,   591,    -1,   579,    -1,   592,    -1,   593,       587,    -1,   588,    -1,   589,    -1,   590,    -1,   595,    -1,
1347        -1,   594,    -1,   595,    -1,   578,    -1,     1,    -1,    40,       591,    -1,   592,    -1,   593,    -1,   594,    -1,   596,    -1,
1348       262,   196,   259,    -1,   165,   262,   196,   259,    -1,    42,       597,    -1,   598,    -1,   586,    -1,   599,    -1,   600,    -1,
1349       262,   196,   259,    -1,   249,   262,   196,   259,    -1,   250,       601,    -1,   602,    -1,   585,    -1,     1,    -1,    40,   265,
1350       262,   196,   259,    -1,   251,   262,   196,   259,    -1,    98,       199,   262,    -1,   165,   265,   199,   262,    -1,    42,   265,
1351       262,   268,   259,    -1,    99,   262,   268,   259,    -1,   108,       199,   262,    -1,   252,   265,   199,   262,    -1,   253,   265,
1352       262,   133,   259,    -1,   156,   262,   196,   259,    -1,   107,       199,   262,    -1,   254,   265,   199,   262,    -1,    98,   265,
1353       262,   133,   259,    -1,    35,   262,   133,   259,    -1,    34,       271,   262,    -1,    99,   265,   271,   262,    -1,   108,   265,
1354       262,   133,   259,    -1,   128,   262,   196,   259,    -1,   129,       133,   262,    -1,   156,   265,   199,   262,    -1,   107,   265,
1355       262,   196,   259,    -1,    13,   262,   196,   259,    -1,   145,       133,   262,    -1,    35,   265,   133,   262,    -1,    34,   265,
1356       262,   133,   259,    -1,   146,   262,   268,   259,    -1,   179,       133,   262,    -1,   128,   265,   199,   262,    -1,   129,   265,
1357       261,   597,   260,   259,    -1,   597,   598,    -1,   598,    -1,       199,   262,    -1,    13,   265,   199,   262,    -1,   145,   265,
1358       599,    -1,   600,    -1,   602,    -1,   604,    -1,   603,    -1,       133,   262,    -1,   146,   265,   271,   262,    -1,   182,   264,
1359       601,    -1,   605,    -1,     1,    -1,    56,   262,   196,   259,       604,   263,   262,    -1,   604,   605,    -1,   605,    -1,   606,
1360        -1,    83,   262,   196,   259,    -1,    80,   262,   155,   259,        -1,   607,    -1,   609,    -1,   611,    -1,   610,    -1,   608,
1361        -1,   101,   262,   268,   259,    -1,    78,   262,   196,   259,        -1,   612,    -1,     1,    -1,    56,   265,   199,   262,    -1,
1362        -1,    41,   262,   196,   259,    -1,    82,   262,   196,   259,        83,   265,   199,   262,    -1,    80,   265,   155,   262,    -1,
1363        -1       101,   265,   271,   262,    -1,    78,   265,   199,   262,    -1,
1364          41,   265,   199,   262,    -1,    82,   265,   199,   262,    -1
1365  };  };
1366    
1367  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1368  static const yytype_uint16 yyrline[] =  static const yytype_uint16 yyrline[] =
1369  {  {
1370         0,   397,   397,   398,   401,   402,   403,   404,   405,   406,         0,   400,   400,   401,   404,   405,   406,   407,   408,   409,
1371       407,   408,   409,   410,   411,   412,   413,   414,   415,   416,       410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
1372       417,   418,   419,   420,   421,   422,   426,   426,   427,   431,       420,   421,   422,   423,   424,   425,   429,   429,   430,   434,
1373       435,   439,   443,   447,   453,   453,   454,   455,   456,   457,       438,   442,   446,   450,   456,   456,   457,   458,   459,   460,
1374       464,   467,   467,   468,   468,   468,   470,   487,   498,   501,       467,   470,   470,   471,   471,   471,   473,   490,   499,   501,
1375       502,   503,   503,   504,   504,   505,   505,   506,   507,   507,       501,   502,   502,   503,   503,   504,   504,   505,   506,   506,
1376       508,   508,   509,   511,   545,   605,   619,   634,   643,   657,       507,   507,   508,   509,   513,   512,   527,   527,   528,   532,
1377       666,   694,   724,   747,   769,   771,   771,   772,   772,   773,       538,   572,   632,   646,   661,   670,   684,   693,   721,   751,
1378       773,   775,   784,   793,   806,   808,   809,   811,   811,   812,       774,   796,   798,   798,   799,   799,   800,   800,   802,   811,
1379       813,   813,   814,   814,   815,   815,   816,   816,   817,   818,       820,   833,   835,   836,   838,   838,   839,   840,   840,   841,
1380       820,   824,   828,   835,   842,   849,   856,   863,   870,   877,       841,   842,   842,   843,   843,   844,   845,   847,   851,   855,
1381       884,   888,   892,   896,   900,   904,   908,   914,   924,   923,       862,   869,   876,   883,   890,   897,   904,   911,   915,   919,
1382      1017,  1017,  1018,  1018,  1019,  1019,  1019,  1019,  1020,  1020,       923,   927,   931,   935,   941,   951,   950,  1044,  1044,  1045,
1383      1021,  1021,  1021,  1022,  1022,  1022,  1023,  1023,  1023,  1024,      1045,  1046,  1046,  1046,  1046,  1047,  1047,  1048,  1048,  1048,
1384      1024,  1024,  1024,  1025,  1025,  1026,  1026,  1028,  1040,  1052,      1049,  1049,  1049,  1050,  1050,  1050,  1051,  1051,  1051,  1051,
1385      1086,  1098,  1109,  1151,  1161,  1160,  1166,  1166,  1167,  1171,      1052,  1052,  1053,  1053,  1055,  1067,  1079,  1113,  1125,  1136,
1386      1175,  1179,  1183,  1187,  1191,  1195,  1199,  1203,  1207,  1211,      1178,  1188,  1187,  1193,  1193,  1194,  1198,  1202,  1206,  1210,
1387      1215,  1219,  1223,  1227,  1231,  1235,  1239,  1245,  1256,  1267,      1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,  1250,
1388      1278,  1289,  1300,  1311,  1322,  1333,  1344,  1355,  1366,  1377,      1254,  1258,  1262,  1266,  1272,  1283,  1294,  1305,  1316,  1327,
1389      1388,  1400,  1399,  1403,  1403,  1404,  1404,  1405,  1405,  1407,      1338,  1349,  1360,  1371,  1382,  1393,  1404,  1415,  1427,  1426,
1390      1414,  1421,  1428,  1435,  1442,  1449,  1456,  1463,  1470,  1477,      1430,  1430,  1431,  1431,  1432,  1432,  1434,  1441,  1448,  1455,
1391      1484,  1491,  1498,  1505,  1512,  1526,  1525,  1575,  1575,  1577,      1462,  1469,  1476,  1483,  1490,  1497,  1504,  1511,  1518,  1525,
1392      1577,  1578,  1579,  1579,  1580,  1581,  1582,  1583,  1584,  1585,      1532,  1539,  1553,  1552,  1602,  1602,  1604,  1604,  1605,  1606,
1393      1586,  1587,  1588,  1589,  1590,  1592,  1601,  1610,  1616,  1622,      1606,  1607,  1608,  1609,  1610,  1611,  1612,  1613,  1614,  1615,
1394      1628,  1634,  1640,  1646,  1652,  1658,  1664,  1670,  1676,  1686,      1616,  1617,  1619,  1628,  1637,  1643,  1649,  1655,  1661,  1667,
1395      1685,  1702,  1701,  1706,  1706,  1707,  1711,  1715,  1723,  1723,      1673,  1679,  1685,  1691,  1697,  1703,  1713,  1712,  1729,  1728,
1396      1724,  1724,  1724,  1724,  1724,  1726,  1726,  1728,  1728,  1730,      1733,  1733,  1734,  1738,  1742,  1750,  1750,  1751,  1751,  1751,
1397      1744,  1764,  1773,  1786,  1785,  1854,  1854,  1855,  1855,  1855,      1751,  1751,  1753,  1753,  1755,  1755,  1757,  1771,  1791,  1800,
1398      1855,  1856,  1856,  1857,  1857,  1857,  1858,  1858,  1859,  1859,      1813,  1812,  1881,  1881,  1882,  1882,  1882,  1882,  1883,  1883,
1399      1859,  1860,  1860,  1860,  1862,  1899,  1912,  1923,  1932,  1944,      1884,  1884,  1884,  1885,  1885,  1886,  1886,  1886,  1887,  1887,
1400      1943,  1947,  1947,  1948,  1948,  1949,  1949,  1951,  1959,  1966,      1887,  1889,  1926,  1939,  1950,  1959,  1971,  1970,  1974,  1974,
1401      1973,  1980,  1987,  1994,  2001,  2008,  2015,  2024,  2035,  2046,      1975,  1975,  1976,  1976,  1978,  1986,  1993,  2000,  2007,  2014,
1402      2057,  2068,  2079,  2091,  2110,  2120,  2129,  2145,  2144,  2160,      2021,  2028,  2035,  2042,  2051,  2062,  2073,  2084,  2095,  2106,
1403      2160,  2161,  2161,  2161,  2161,  2163,  2172,  2187,  2201,  2200,      2118,  2137,  2147,  2156,  2172,  2171,  2187,  2187,  2188,  2188,
1404      2216,  2216,  2217,  2217,  2217,  2217,  2219,  2228,  2251,  2250,      2188,  2188,  2190,  2199,  2214,  2228,  2227,  2243,  2243,  2244,
1405      2256,  2256,  2257,  2261,  2265,  2269,  2273,  2277,  2281,  2285,      2244,  2244,  2244,  2246,  2255,  2278,  2277,  2283,  2283,  2284,
1406      2289,  2293,  2297,  2307,  2306,  2323,  2323,  2324,  2324,  2324,      2288,  2292,  2296,  2300,  2304,  2308,  2312,  2316,  2320,  2324,
1407      2326,  2333,  2332,  2338,  2338,  2339,  2343,  2347,  2351,  2355,      2334,  2333,  2350,  2350,  2351,  2351,  2351,  2353,  2360,  2359,
1408      2359,  2363,  2367,  2371,  2375,  2379,  2389,  2388,  2534,  2534,      2365,  2365,  2366,  2370,  2374,  2378,  2382,  2386,  2390,  2394,
1409      2535,  2535,  2536,  2536,  2536,  2537,  2537,  2538,  2538,  2539,      2398,  2402,  2406,  2416,  2415,  2561,  2561,  2562,  2562,  2563,
1410      2539,  2539,  2540,  2540,  2540,  2541,  2541,  2541,  2542,  2542,      2563,  2563,  2564,  2564,  2565,  2565,  2566,  2566,  2566,  2567,
1411      2543,  2543,  2545,  2557,  2569,  2578,  2604,  2622,  2640,  2646,      2567,  2567,  2568,  2568,  2568,  2569,  2569,  2570,  2570,  2572,
1412      2650,  2658,  2668,  2667,  2671,  2671,  2672,  2672,  2673,  2673,      2584,  2596,  2605,  2631,  2649,  2667,  2673,  2677,  2685,  2695,
1413      2675,  2686,  2693,  2700,  2707,  2717,  2758,  2769,  2780,  2795,      2694,  2698,  2698,  2699,  2699,  2700,  2700,  2702,  2713,  2720,
1414      2806,  2817,  2830,  2843,  2852,  2888,  2887,  2952,  2951,  2955,      2727,  2734,  2744,  2785,  2796,  2807,  2822,  2833,  2844,  2857,
1415      2955,  2956,  2962,  2962,  2963,  2963,  2963,  2963,  2965,  2984,      2870,  2879,  2915,  2914,  2979,  2978,  2982,  2982,  2983,  2989,
1416      2994,  2993,  3015,  3015,  3016,  3016,  3016,  3018,  3027,  3039,      2989,  2990,  2990,  2990,  2990,  2992,  3011,  3021,  3020,  3042,
1417      3041,  3041,  3042,  3042,  3044,  3066,  3065,  3108,  3107,  3111,      3042,  3043,  3043,  3043,  3045,  3054,  3066,  3068,  3068,  3069,
1418      3111,  3112,  3118,  3118,  3119,  3119,  3119,  3119,  3121,  3127,      3069,  3071,  3093,  3092,  3135,  3134,  3138,  3138,  3139,  3145,
1419      3136,  3139,  3139,  3140,  3140,  3141,  3141,  3142,  3142,  3143,      3145,  3146,  3146,  3146,  3146,  3148,  3154,  3163,  3166,  3166,
1420      3143,  3144,  3144,  3145,  3145,  3146,  3146,  3147,  3147,  3148,      3167,  3167,  3168,  3168,  3169,  3169,  3170,  3170,  3171,  3171,
1421      3148,  3149,  3149,  3150,  3150,  3151,  3151,  3152,  3152,  3153,      3172,  3172,  3173,  3173,  3174,  3174,  3175,  3175,  3176,  3176,
1422      3153,  3154,  3154,  3155,  3155,  3156,  3156,  3157,  3157,  3158,      3177,  3177,  3178,  3178,  3179,  3179,  3180,  3180,  3181,  3181,
1423      3158,  3159,  3159,  3160,  3161,  3161,  3162,  3162,  3163,  3163,      3182,  3182,  3183,  3183,  3184,  3184,  3185,  3185,  3186,  3186,
1424      3164,  3164,  3165,  3165,  3166,  3166,  3167,  3167,  3168,  3169,      3187,  3188,  3188,  3189,  3189,  3190,  3190,  3191,  3191,  3192,
1425      3172,  3177,  3182,  3187,  3192,  3197,  3202,  3207,  3212,  3217,      3192,  3193,  3193,  3194,  3194,  3195,  3196,  3199,  3204,  3209,
1426      3222,  3227,  3232,  3237,  3242,  3247,  3252,  3257,  3262,  3268,      3214,  3219,  3224,  3229,  3234,  3239,  3244,  3249,  3254,  3259,
1427      3279,  3284,  3293,  3298,  3303,  3308,  3313,  3318,  3321,  3326,      3264,  3269,  3274,  3279,  3284,  3289,  3295,  3306,  3311,  3320,
1428      3329,  3334,  3339,  3344,  3349,  3354,  3359,  3364,  3369,  3374,      3325,  3330,  3335,  3340,  3345,  3348,  3353,  3356,  3361,  3366,
1429      3385,  3390,  3395,  3400,  3409,  3441,  3459,  3464,  3473,  3478,      3371,  3376,  3381,  3386,  3391,  3396,  3401,  3412,  3417,  3422,
1430      3483,  3489,  3488,  3493,  3493,  3494,  3497,  3500,  3503,  3506,      3427,  3436,  3468,  3486,  3491,  3500,  3505,  3510,  3516,  3515,
1431      3509,  3512,  3515,  3518,  3521,  3524,  3527,  3530,  3533,  3536,      3520,  3520,  3521,  3524,  3527,  3530,  3533,  3536,  3539,  3542,
1432      3539,  3542,  3545,  3548,  3554,  3553,  3558,  3558,  3559,  3562,      3545,  3548,  3551,  3554,  3557,  3560,  3563,  3566,  3569,  3572,
1433      3565,  3568,  3571,  3574,  3577,  3580,  3583,  3586,  3589,  3592,      3575,  3581,  3580,  3585,  3585,  3586,  3589,  3592,  3595,  3598,
1434      3595,  3598,  3601,  3604,  3607,  3610,  3613,  3618,  3623,  3628,      3601,  3604,  3607,  3610,  3613,  3616,  3619,  3622,  3625,  3628,
1435      3633,  3638,  3647,  3646,  3670,  3670,  3671,  3672,  3673,  3674,      3631,  3634,  3637,  3640,  3645,  3650,  3655,  3660,  3665,  3674,
1436      3675,  3676,  3677,  3679,  3685,  3692,  3691,  3696,  3696,  3697,      3673,  3697,  3697,  3698,  3699,  3700,  3701,  3702,  3703,  3704,
1437      3701,  3707,  3741,  3751,  3750,  3800,  3800,  3801,  3805,  3814,      3706,  3712,  3719,  3718,  3723,  3723,  3724,  3728,  3734,  3768,
1438      3817,  3817,  3818,  3818,  3819,  3819,  3820,  3820,  3821,  3821,      3778,  3777,  3827,  3827,  3828,  3832,  3841,  3844,  3844,  3845,
1439      3822,  3822,  3823,  3824,  3824,  3825,  3825,  3826,  3826,  3827,      3845,  3846,  3846,  3847,  3847,  3848,  3848,  3849,  3849,  3850,
1440      3827,  3829,  3834,  3839,  3844,  3849,  3854,  3859,  3864,  3869,      3851,  3851,  3852,  3852,  3853,  3853,  3854,  3854,  3856,  3861,
1441      3874,  3879,  3884,  3889,  3894,  3899,  3904,  3909,  3914,  3922,      3866,  3871,  3876,  3881,  3886,  3891,  3896,  3901,  3906,  3911,
1442      3925,  3925,  3926,  3926,  3927,  3928,  3929,  3929,  3930,  3931,      3916,  3921,  3926,  3931,  3936,  3941,  3949,  3952,  3952,  3953,
1443      3933,  3939,  3945,  3954,  3968,  3974,  3980      3953,  3954,  3955,  3956,  3956,  3957,  3958,  3960,  3966,  3972,
1444        3981,  3995,  4001,  4007
1445  };  };
1446  #endif  #endif
1447    
# Line 1463  static const char *const yytname[] = Line 1487  static const char *const yytname[] =
1487    "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",    "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1488    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1489    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1490    "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "RESV", "RESV_EXEMPT",    "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1491    "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1492    "SERVERHIDE", "SERVERINFO", "SERVLINK_PATH", "IRCD_SID",    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1493    "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",    "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1494    "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",    "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1495    "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",    "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1496    "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",    "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1497    "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",    "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1498    "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF",    "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1499    "T_DEBUG", "T_DRONE", "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4",    "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1500    "T_IPV6", "T_LOCOPS", "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR",    "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1501    "T_L_INFO", "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS",    "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1502    "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE",    "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1503    "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV",    "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1504    "T_UNXLINE", "T_WALLOP", "THROTTLE_TIME", "TOPICBURST",    "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1505    "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV", "UNKLINE", "USER",    "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1506    "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK", "USE_LOGGING",    "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1507    "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",    "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1508    "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",    "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1509    "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1510    "modules_entry", "modules_items", "modules_item", "modules_module",    "sizespec", "modules_entry", "modules_items", "modules_item",
1511    "modules_path", "serverinfo_entry", "serverinfo_items",    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1512    "serverinfo_item", "serverinfo_ssl_certificate_file",    "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1513      "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1514    "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",    "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1515    "serverinfo_description", "serverinfo_network_name",    "serverinfo_description", "serverinfo_network_name",
1516    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
# Line 1495  static const char *const yytname[] = Line 1520  static const char *const yytname[] =
1520    "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",    "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1521    "logging_foperlog", "logging_foperspylog", "logging_fglinelog",    "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1522    "logging_fklinelog", "logging_ioerrlog", "logging_killlog",    "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1523    "logging_log_level", "logging_use_logging", "oper_entry", "@1",    "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1524    "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",    "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1525    "oper_user", "oper_password", "oper_encrypted",    "oper_user", "oper_password", "oper_encrypted",
1526    "oper_rsa_public_key_file", "oper_class", "oper_umodes", "@2",    "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1527    "oper_umodes_items", "oper_umodes_item", "oper_global_kill",    "oper_umodes_items", "oper_umodes_item", "oper_global_kill",
1528    "oper_remote", "oper_remoteban", "oper_kline", "oper_xline",    "oper_remote", "oper_remoteban", "oper_kline", "oper_xline",
1529    "oper_unkline", "oper_gline", "oper_nick_changes", "oper_die",    "oper_unkline", "oper_gline", "oper_nick_changes", "oper_die",
1530    "oper_rehash", "oper_admin", "oper_hidden_admin", "oper_hidden_oper",    "oper_rehash", "oper_admin", "oper_hidden_admin", "oper_hidden_oper",
1531    "oper_operwall", "oper_flags", "@3", "oper_flags_items",    "oper_operwall", "oper_flags", "$@4", "oper_flags_items",
1532    "oper_flags_item", "@4", "@5", "oper_flags_item_atom", "class_entry",    "oper_flags_item", "$@5", "$@6", "oper_flags_item_atom", "class_entry",
1533    "@6", "class_name_b", "class_items", "class_item", "class_name",    "$@7", "class_name_b", "class_items", "class_item", "class_name",
1534    "class_name_t", "class_ping_time", "class_ping_warning",    "class_name_t", "class_ping_time", "class_ping_warning",
1535    "class_number_per_ip", "class_connectfreq", "class_max_number",    "class_number_per_ip", "class_connectfreq", "class_max_number",
1536    "class_max_global", "class_max_local", "class_max_ident", "class_sendq",    "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1537    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1538    "class_number_per_cidr", "listen_entry", "@7", "listen_flags", "@8",    "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1539    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1540    "listen_port", "@9", "port_items", "port_item", "listen_address",    "listen_port", "$@10", "port_items", "port_item", "listen_address",
1541    "listen_host", "auth_entry", "@10", "auth_items", "auth_item",    "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1542    "auth_user", "auth_passwd", "auth_spoof_notice", "auth_class",    "auth_user", "auth_passwd", "auth_spoof_notice", "auth_class",
1543    "auth_encrypted", "auth_flags", "@11", "auth_flags_items",    "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1544    "auth_flags_item", "@12", "@13", "auth_flags_item_atom",    "auth_flags_item", "$@13", "$@14", "auth_flags_item_atom",
1545    "auth_kline_exempt", "auth_need_ident", "auth_exceed_limit",    "auth_kline_exempt", "auth_need_ident", "auth_exceed_limit",
1546    "auth_can_flood", "auth_no_tilde", "auth_gline_exempt", "auth_spoof",    "auth_can_flood", "auth_no_tilde", "auth_gline_exempt", "auth_spoof",
1547    "auth_redir_serv", "auth_redir_port", "auth_need_password", "resv_entry",    "auth_redir_serv", "auth_redir_port", "auth_need_password", "resv_entry",
1548    "@14", "resv_items", "resv_item", "resv_creason", "resv_channel",    "$@15", "resv_items", "resv_item", "resv_creason", "resv_channel",
1549    "resv_nick", "shared_entry", "@15", "shared_items", "shared_item",    "resv_nick", "shared_entry", "$@16", "shared_items", "shared_item",
1550    "shared_name", "shared_user", "shared_type", "@16", "shared_types",    "shared_name", "shared_user", "shared_type", "$@17", "shared_types",
1551    "shared_type_item", "cluster_entry", "@17", "cluster_items",    "shared_type_item", "cluster_entry", "$@18", "cluster_items",
1552    "cluster_item", "cluster_name", "cluster_type", "@18", "cluster_types",    "cluster_item", "cluster_name", "cluster_type", "$@19", "cluster_types",
1553    "cluster_type_item", "connect_entry", "@19", "connect_name_b",    "cluster_type_item", "connect_entry", "$@20", "connect_name_b",
1554    "connect_items", "connect_item", "connect_name", "connect_name_t",    "connect_items", "connect_item", "connect_name", "connect_name_t",
1555    "connect_host", "connect_vhost", "connect_send_password",    "connect_host", "connect_vhost", "connect_send_password",
1556    "connect_accept_password", "connect_port", "connect_aftype",    "connect_accept_password", "connect_port", "connect_aftype",
1557    "connect_fakename", "connect_flags", "@20", "connect_flags_items",    "connect_fakename", "connect_flags", "$@21", "connect_flags_items",
1558    "connect_flags_item", "@21", "@22", "connect_flags_item_atom",    "connect_flags_item", "$@22", "$@23", "connect_flags_item_atom",
1559    "connect_rsa_public_key_file", "connect_encrypted", "connect_cryptlink",    "connect_rsa_public_key_file", "connect_encrypted", "connect_cryptlink",
1560    "connect_compressed", "connect_auto", "connect_topicburst",    "connect_compressed", "connect_auto", "connect_topicburst",
1561    "connect_hub_mask", "connect_leaf_mask", "connect_class",    "connect_hub_mask", "connect_leaf_mask", "connect_class",
1562    "connect_cipher_preference", "kill_entry", "@23", "kill_type", "@24",    "connect_cipher_preference", "kill_entry", "$@24", "kill_type", "$@25",
1563    "kill_type_items", "kill_type_item", "kill_items", "kill_item",    "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1564    "kill_user", "kill_reason", "deny_entry", "@25", "deny_items",    "kill_user", "kill_reason", "deny_entry", "$@26", "deny_items",
1565    "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",    "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1566    "exempt_item", "exempt_ip", "gecos_entry", "@26", "gecos_flags", "@27",    "exempt_item", "exempt_ip", "gecos_entry", "$@27", "gecos_flags", "$@28",
1567    "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",    "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1568    "gecos_name", "gecos_reason", "general_entry", "general_items",    "gecos_name", "gecos_reason", "general_entry", "general_items",
1569    "general_item", "general_max_watch", "general_gline_min_cidr",    "general_item", "general_max_watch", "general_gline_min_cidr",
# Line 1564  static const char *const yytname[] = Line 1589  static const char *const yytname[] =
1589    "general_default_cipher_preference", "general_compression_level",    "general_default_cipher_preference", "general_compression_level",
1590    "general_use_egd", "general_egdpool_path", "general_ping_cookie",    "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1591    "general_disable_auth", "general_throttle_time", "general_oper_umodes",    "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1592    "@28", "umode_oitems", "umode_oitem", "general_oper_only_umodes", "@29",    "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1593    "umode_items", "umode_item", "general_min_nonwildcard",    "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1594    "general_min_nonwildcard_simple", "general_default_floodcount",    "general_min_nonwildcard_simple", "general_default_floodcount",
1595    "general_client_flood", "general_dot_in_ip6_addr", "gline_entry", "@30",    "general_client_flood", "general_dot_in_ip6_addr", "gline_entry", "$@31",
1596    "gline_items", "gline_item", "gline_enable", "gline_duration",    "gline_items", "gline_item", "gline_enable", "gline_duration",
1597    "gline_logging", "@31", "gline_logging_types", "gline_logging_type_item",    "gline_logging", "$@32", "gline_logging_types",
1598    "gline_user", "gline_server", "gline_action", "@32", "gdeny_types",    "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1599    "gdeny_type_item", "channel_entry", "channel_items", "channel_item",    "$@33", "gdeny_types", "gdeny_type_item", "channel_entry",
1600    "channel_disable_fake_channels", "channel_restrict_channels",    "channel_items", "channel_item", "channel_disable_fake_channels",
1601    "channel_disable_local_channels", "channel_use_except",    "channel_restrict_channels", "channel_disable_local_channels",
1602    "channel_use_invex", "channel_use_knock", "channel_knock_delay",    "channel_use_except", "channel_use_invex", "channel_use_knock",
1603    "channel_knock_delay_channel", "channel_max_chans_per_user",    "channel_knock_delay", "channel_knock_delay_channel",
1604    "channel_quiet_on_ban", "channel_max_bans",    "channel_max_chans_per_user", "channel_quiet_on_ban", "channel_max_bans",
1605    "channel_default_split_user_count", "channel_default_split_server_count",    "channel_default_split_user_count", "channel_default_split_server_count",
1606    "channel_no_create_on_split", "channel_no_join_on_split",    "channel_no_create_on_split", "channel_no_join_on_split",
1607    "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",    "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
# Line 1617  static const yytype_uint16 yytoknum[] = Line 1642  static const yytype_uint16 yytoknum[] =
1642       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1643       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1644       495,   496,   497,   498,   499,   500,   501,   502,   503,   504,       495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1645       505,   506,   507,   508,   509,   510,   511,   512,   513,    59,       505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1646       125,   123,    61,    44       515,   516,    59,   125,   123,    61,    44
1647  };  };
1648  # endif  # endif
1649    
1650  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1651  static const yytype_uint16 yyr1[] =  static const yytype_uint16 yyr1[] =
1652  {  {
1653         0,   264,   265,   265,   266,   266,   266,   266,   266,   266,         0,   267,   268,   268,   269,   269,   269,   269,   269,   269,
1654       266,   266,   266,   266,   266,   266,   266,   266,   266,   266,       269,   269,   269,   269,   269,   269,   269,   269,   269,   269,
1655       266,   266,   266,   266,   266,   266,   267,   267,   268,   268,       269,   269,   269,   269,   269,   269,   270,   270,   271,   271,
1656       268,   268,   268,   268,   269,   269,   270,   270,   270,   270,       271,   271,   271,   271,   272,   272,   273,   273,   273,   273,
1657       271,   272,   272,   273,   273,   273,   274,   275,   276,   277,       274,   275,   275,   276,   276,   276,   277,   278,   279,   280,
1658       277,   278,   278,   278,   278,   278,   278,   278,   278,   278,       280,   281,   281,   281,   281,   281,   281,   281,   281,   281,
1659       278,   278,   278,   279,   280,   281,   282,   283,   284,   285,       281,   281,   281,   281,   283,   282,   284,   284,   285,   285,
1660       286,   287,   288,   289,   290,   291,   291,   292,   292,   292,       286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
1661       292,   293,   294,   295,   296,   297,   297,   298,   298,   298,       296,   297,   298,   298,   299,   299,   299,   299,   300,   301,
1662       298,   298,   298,   298,   298,   298,   298,   298,   298,   298,       302,   303,   304,   304,   305,   305,   305,   305,   305,   305,
1663       299,   300,   301,   302,   303,   304,   305,   306,   307,   308,       305,   305,   305,   305,   305,   305,   305,   306,   307,   308,
1664       309,   309,   309,   309,   309,   309,   309,   310,   312,   311,       309,   310,   311,   312,   313,   314,   315,   316,   316,   316,
1665       313,   313,   314,   314,   315,   315,   315,   315,   315,   315,       316,   316,   316,   316,   317,   319,   318,   320,   320,   321,
1666       315,   315,   315,   315,   315,   315,   315,   315,   315,   315,       321,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1667       315,   315,   315,   315,   315,   315,   315,   316,   317,   318,       322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1668       319,   320,   321,   322,   324,   323,   325,   325,   326,   326,       322,   322,   322,   322,   323,   324,   325,   326,   327,   328,
1669       326,   326,   326,   326,   326,   326,   326,   326,   326,   326,       329,   331,   330,   332,   332,   333,   333,   333,   333,   333,
1670       326,   326,   326,   326,   326,   326,   326,   327,   328,   329,       333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1671       330,   331,   332,   333,   334,   335,   336,   337,   338,   339,       333,   333,   333,   333,   334,   335,   336,   337,   338,   339,
1672       340,   342,   341,   343,   343,   345,   344,   346,   344,   347,       340,   341,   342,   343,   344,   345,   346,   347,   349,   348,
1673       347,   347,   347,   347,   347,   347,   347,   347,   347,   347,       350,   350,   352,   351,   353,   351,   354,   354,   354,   354,
1674       347,   347,   347,   347,   347,   349,   348,   350,   350,   351,       354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1675       351,   352,   352,   352,   352,   352,   352,   352,   352,   352,       354,   354,   356,   355,   357,   357,   358,   358,   359,   359,
1676       352,   352,   352,   352,   352,   353,   354,   355,   356,   357,       359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1677       358,   359,   360,   361,   362,   363,   364,   365,   366,   368,       359,   359,   360,   361,   362,   363,   364,   365,   366,   367,
1678       367,   370,   369,   371,   371,   372,   372,   372,   373,   373,       368,   369,   370,   371,   372,   373,   375,   374,   377,   376,
1679       374,   374,   374,   374,   374,   376,   375,   377,   377,   378,       378,   378,   379,   379,   379,   380,   380,   381,   381,   381,
1680       378,   379,   380,   382,   381,   383,   383,   384,   384,   384,       381,   381,   383,   382,   384,   384,   385,   385,   386,   387,
1681       384,   384,   384,   384,   384,   384,   384,   384,   384,   384,       389,   388,   390,   390,   391,   391,   391,   391,   391,   391,
1682       384,   384,   384,   384,   385,   386,   387,   388,   389,   391,       391,   391,   391,   391,   391,   391,   391,   391,   391,   391,
1683       390,   392,   392,   394,   393,   395,   393,   396,   396,   396,       391,   392,   393,   394,   395,   396,   398,   397,   399,   399,
1684       396,   396,   396,   396,   396,   396,   396,   397,   398,   399,       401,   400,   402,   400,   403,   403,   403,   403,   403,   403,
1685       400,   401,   402,   403,   404,   405,   406,   408,   407,   409,       403,   403,   403,   403,   404,   405,   406,   407,   408,   409,
1686       409,   410,   410,   410,   410,   411,   412,   413,   415,   414,       410,   411,   412,   413,   415,   414,   416,   416,   417,   417,
1687       416,   416,   417,   417,   417,   417,   418,   419,   421,   420,       417,   417,   418,   419,   420,   422,   421,   423,   423,   424,
1688       422,   422,   423,   423,   423,   423,   423,   423,   423,   423,       424,   424,   424,   425,   426,   428,   427,   429,   429,   430,
1689       423,   423,   423,   425,   424,   426,   426,   427,   427,   427,       430,   430,   430,   430,   430,   430,   430,   430,   430,   430,
1690       428,   430,   429,   431,   431,   432,   432,   432,   432,   432,       432,   431,   433,   433,   434,   434,   434,   435,   437,   436,
1691       432,   432,   432,   432,   432,   432,   434,   433,   435,   435,       438,   438,   439,   439,   439,   439,   439,   439,   439,   439,
1692       436,   436,   437,   437,   437,   437,   437,   437,   437,   437,       439,   439,   439,   441,   440,   442,   442,   443,   443,   444,
1693       437,   437,   437,   437,   437,   437,   437,   437,   437,   437,       444,   444,   444,   444,   444,   444,   444,   444,   444,   444,
1694       437,   437,   438,   439,   440,   441,   442,   443,   444,   445,       444,   444,   444,   444,   444,   444,   444,   444,   444,   445,
1695       445,   446,   448,   447,   449,   449,   451,   450,   452,   450,       446,   447,   448,   449,   450,   451,   452,   452,   453,   455,
1696       453,   453,   453,   453,   453,   454,   455,   456,   457,   458,       454,   456,   456,   458,   457,   459,   457,   460,   460,   460,
1697       459,   460,   461,   462,   463,   465,   464,   467,   466,   468,       460,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1698       468,   469,   470,   470,   471,   471,   471,   471,   472,   473,       469,   470,   472,   471,   474,   473,   475,   475,   476,   477,
1699       475,   474,   476,   476,   477,   477,   477,   478,   479,   480,       477,   478,   478,   478,   478,   479,   480,   482,   481,   483,
1700       481,   481,   482,   482,   483,   485,   484,   487,   486,   488,       483,   484,   484,   484,   485,   486,   487,   488,   488,   489,
1701       488,   489,   490,   490,   491,   491,   491,   491,   492,   493,       489,   490,   492,   491,   494,   493,   495,   495,   496,   497,
1702       494,   495,   495,   496,   496,   496,   496,   496,   496,   496,       497,   498,   498,   498,   498,   499,   500,   501,   502,   502,
1703       496,   496,   496,   496,   496,   496,   496,   496,   496,   496,       503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1704       496,   496,   496,   496,   496,   496,   496,   496,   496,   496,       503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1705       496,   496,   496,   496,   496,   496,   496,   496,   496,   496,       503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1706       496,   496,   496,   496,   496,   496,   496,   496,   496,   496,       503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1707       496,   496,   496,   496,   496,   496,   496,   496,   496,   496,       503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1708       497,   498,   499,   500,   501,   502,   503,   504,   505,   506,       503,   503,   503,   503,   503,   503,   503,   504,   505,   506,
1709       507,   508,   509,   510,   511,   512,   513,   514,   515,   516,       507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
1710       517,   518,   519,   520,   521,   522,   523,   524,   524,   525,       517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
1711       525,   526,   527,   528,   529,   530,   531,   532,   533,   534,       527,   528,   529,   530,   531,   531,   532,   532,   533,   534,
1712       535,   536,   537,   538,   539,   540,   541,   542,   543,   544,       535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1713       545,   547,   546,   548,   548,   549,   549,   549,   549,   549,       545,   546,   547,   548,   549,   550,   551,   552,   554,   553,
1714       549,   549,   549,   549,   549,   549,   549,   549,   549,   549,       555,   555,   556,   556,   556,   556,   556,   556,   556,   556,
1715       549,   549,   549,   549,   551,   550,   552,   552,   553,   553,       556,   556,   556,   556,   556,   556,   556,   556,   556,   556,
1716       553,   553,   553,   553,   553,   553,   553,   553,   553,   553,       556,   558,   557,   559,   559,   560,   560,   560,   560,   560,
1717       553,   553,   553,   553,   553,   553,   553,   554,   555,   556,       560,   560,   560,   560,   560,   560,   560,   560,   560,   560,
1718       557,   558,   560,   559,   561,   561,   562,   562,   562,   562,       560,   560,   560,   560,   561,   562,   563,   564,   565,   567,
1719       562,   562,   562,   563,   564,   566,   565,   567,   567,   568,       566,   568,   568,   569,   569,   569,   569,   569,   569,   569,
1720       568,   569,   570,   572,   571,   573,   573,   574,   574,   575,       570,   571,   573,   572,   574,   574,   575,   575,   576,   577,
1721       576,   576,   577,   577,   577,   577,   577,   577,   577,   577,       579,   578,   580,   580,   581,   581,   582,   583,   583,   584,
1722       577,   577,   577,   577,   577,   577,   577,   577,   577,   577,       584,   584,   584,   584,   584,   584,   584,   584,   584,   584,
1723       577,   578,   579,   580,   581,   582,   583,   584,   585,   586,       584,   584,   584,   584,   584,   584,   584,   584,   585,   586,
1724       587,   588,   589,   590,   591,   592,   593,   594,   595,   596,       587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
1725       597,   597,   598,   598,   598,   598,   598,   598,   598,   598,       597,   598,   599,   600,   601,   602,   603,   604,   604,   605,
1726       599,   600,   601,   602,   603,   604,   605       605,   605,   605,   605,   605,   605,   605,   606,   607,   608,
1727         609,   610,   611,   612
1728  };  };
1729    
1730  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1710  static const yytype_uint8 yyr2[] = Line 1736  static const yytype_uint8 yyr2[] =
1736         3,     3,     3,     3,     0,     1,     2,     3,     3,     3,         3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1737         5,     2,     1,     1,     1,     2,     4,     4,     5,     2,         5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1738         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1739         1,     1,     2,     4,     4,     4,     4,     4,     4,     4,         1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
        4,     4,     4,     4,     5,     2,     1,     1,     1,     1,  
        2,     4,     4,     4,     5,     2,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,  
1740         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1741         4,     4,     4,     4,     4,     4,     4,     4,     0,     7,         4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1742         0,     1,     2,     1,     1,     1,     1,     1,     1,     1,         4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1743           1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1744           4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1745           4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1746         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     2,     4,     1,     4,  
        4,     4,     4,     4,     0,     5,     3,     1,     1,     1,  
1747         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1748         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,         1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1749         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
        4,     0,     5,     3,     1,     0,     3,     0,     2,     1,  
1750         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1751         1,     1,     1,     1,     1,     0,     7,     0,     1,     2,         1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1752           4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1753           3,     1,     0,     3,     0,     2,     1,     1,     1,     1,
1754         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1755         1,     1,     1,     1,     2,     4,     1,     4,     4,     4,         1,     1,     0,     7,     0,     1,     2,     1,     1,     1,
        4,     4,     4,     4,     4,     4,     4,     4,     4,     0,  
        6,     0,     5,     3,     1,     1,     1,     1,     2,     1,  
        1,     1,     1,     1,     2,     0,     5,     3,     1,     1,  
        3,     4,     4,     0,     6,     2,     1,     1,     1,     1,  
1756         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1757         1,     1,     1,     2,     4,     4,     4,     4,     4,     0,         1,     2,     4,     1,     4,     4,     4,     4,     4,     4,
1758         5,     3,     1,     0,     3,     0,     2,     1,     1,     1,         4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1759         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,         3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1760         4,     4,     4,     4,     4,     4,     4,     0,     6,     2,         1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1761         1,     1,     1,     1,     2,     4,     4,     4,     0,     6,         0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1762         2,     1,     1,     1,     1,     2,     4,     4,     0,     5,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1763           2,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1764           0,     3,     0,     2,     1,     1,     1,     1,     1,     1,
1765           1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1766           4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1767           1,     2,     4,     4,     4,     0,     6,     2,     1,     1,
1768           1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1769           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1770           0,     6,     2,     1,     1,     1,     2,     4,     0,     5,
1771         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1772         1,     1,     1,     0,     6,     2,     1,     1,     1,     2,         1,     1,     1,     0,     7,     0,     1,     2,     1,     1,
        4,     0,     5,     3,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     0,     7,     0,     1,  
        2,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
1773         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1774         1,     2,     4,     1,     4,     4,     4,     4,     4,     4,         1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1775         4,     4,     0,     5,     3,     1,     0,     3,     0,     2,         1,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1776         1,     1,     1,     1,     1,     4,     4,     4,     4,     4,         5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1777         4,     4,     4,     4,     4,     0,     6,     0,     5,     3,         1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1778         1,     1,     2,     1,     1,     1,     1,     1,     4,     4,         4,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1779         0,     6,     2,     1,     1,     1,     1,     4,     4,     5,         1,     1,     1,     1,     1,     4,     4,     0,     6,     2,
1780         2,     1,     1,     1,     4,     0,     6,     0,     5,     3,         1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1781         1,     1,     2,     1,     1,     1,     1,     1,     4,     4,         1,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1782         5,     2,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1783         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1784         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1785         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1786         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1787         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1788           1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1789         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1790         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1791         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1792         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1793         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1794         4,     0,     5,     3,     1,     1,     1,     1,     1,     1,         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1795         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1796         1,     1,     1,     1,     0,     5,     3,     1,     1,     1,         1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1797         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1798         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,         1,     1,     1,     1,     4,     4,     4,     4,     4,     0,
1799         4,     4,     0,     6,     2,     1,     1,     1,     1,     1,         6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1800         1,     1,     1,     4,     4,     0,     5,     3,     1,     1,         4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1801         1,     4,     4,     0,     5,     3,     1,     1,     1,     5,         0,     5,     3,     1,     1,     1,     5,     2,     1,     1,
        2,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
1802         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1803         1,     4,     4,     4,     4,     4,     4,     4,     4,     4,         1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1804         4,     4,     4,     4,     4,     4,     4,     4,     4,     5,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1805         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,         4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1806         4,     4,     4,     4,     4,     4,     4         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1807           4,     4,     4,     4
1808  };  };
1809    
1810  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 1785  static const yytype_uint8 yyr2[] = Line 1812  static const yytype_uint8 yyr2[] =
1812     means the default is an error.  */     means the default is an error.  */
1813  static const yytype_uint16 yydefact[] =  static const yytype_uint16 yydefact[] =
1814  {  {
1815         2,     0,     1,     0,     0,     0,   215,   386,   460,     0,         2,     0,     1,     0,     0,     0,   222,   393,   467,     0,
1816       475,     0,   652,   273,   445,   249,     0,     0,   118,   327,       482,     0,   659,   280,   452,   256,     0,     0,   125,   334,
1817         0,     0,   338,   363,     3,    23,    11,     4,     5,     6,         0,     0,   345,   370,     3,    23,    11,     4,     5,     6,
1818         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1819        22,    20,    21,     7,    12,    24,    25,     0,     0,   217,        22,    20,    21,     7,    12,    24,    25,     0,     0,   224,
1820       388,     0,     0,     0,     0,     0,     0,     0,     0,     0,       395,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1821         0,   120,     0,     0,     0,     0,     0,     0,     0,     0,         0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1822         0,     0,    76,    77,    79,    78,   700,     0,     0,     0,         0,     0,    83,    84,    86,    85,   707,     0,     0,     0,
1823           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1824           0,     0,     0,     0,     0,     0,   688,   706,   701,   689,
1825         690,   691,   692,   694,   695,   696,   697,   693,   698,   699,
1826         700,   702,   703,   704,   705,   243,     0,   225,   420,     0,
1827         396,     0,   480,     0,     0,   478,   479,     0,   556,     0,
1828           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1829         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   681,   699,   694,   682,  
      683,   684,   685,   687,   688,   689,   690,   686,   691,   692,  
      693,   695,   696,   697,   698,   236,     0,   218,   413,     0,  
      389,     0,   473,     0,     0,   471,   472,     0,   549,     0,  
1830         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1831           0,     0,   631,     0,   608,     0,     0,     0,     0,     0,
1832         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1833           0,     0,     0,     0,     0,     0,   499,   555,   550,   551,
1834         548,   552,   553,   549,   510,   500,   501,   539,   502,   503,
1835         504,   505,   506,   507,   508,   509,   544,   511,   512,   513,
1836         514,   554,   516,   521,   517,   519,   518,   533,   534,   520,
1837         522,   523,   524,   525,   527,   526,   515,   529,   538,   540,
1838         541,   530,   531,   546,   547,   543,   532,   528,   536,   537,
1839         535,   542,   545,     0,     0,     0,     0,     0,     0,     0,
1840         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1841         0,     0,   624,     0,   601,     0,     0,     0,     0,     0,         0,    93,    94,    95,    98,   105,    99,   103,   100,   101,
1842         104,   102,    96,    97,     0,     0,     0,     0,    42,    43,
1843          44,   155,     0,   128,     0,   736,     0,     0,     0,     0,
1844           0,     0,     0,     0,   728,   729,   730,   734,   731,   733,
1845         732,   735,     0,     0,     0,     0,     0,     0,     0,     0,
1846          64,     0,     0,     0,     0,     0,    50,    62,    61,    58,
1847          51,    60,    54,    55,    56,    52,    59,    57,    53,     0,
1848           0,    87,     0,     0,     0,     0,    82,     0,     0,     0,
1849         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1850         0,     0,     0,     0,     0,     0,   492,   548,   543,   544,         0,     0,     0,     0,     0,     0,   687,     0,     0,   473,
1851       541,   545,   546,   542,   503,   493,   494,   532,   495,   496,         0,     0,     0,   470,   471,   472,     0,     0,   477,   494,
1852       497,   498,   499,   500,   501,   502,   537,   504,   505,   506,         0,     0,   484,   493,     0,   490,   491,   492,     0,     0,
      507,   547,   509,   514,   510,   512,   511,   526,   527,   513,  
      515,   516,   517,   518,   520,   519,   508,   522,   531,   533,  
      534,   523,   524,   539,   540,   536,   525,   521,   529,   530,  
      528,   535,   538,     0,     0,     0,     0,     0,     0,     0,  
1853         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    86,    87,    88,    91,    98,    92,    96,    93,    94,  
       97,    95,    89,    90,     0,     0,     0,     0,    42,    43,  
       44,   148,     0,   121,     0,   729,     0,     0,     0,     0,  
        0,     0,     0,     0,   721,   722,   723,   727,   724,   726,  
      725,   728,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,    50,    61,    58,    51,    60,  
       54,    55,    56,    52,    59,    57,    53,     0,     0,    80,  
        0,     0,     0,     0,    75,     0,     0,     0,     0,     0,  
1854         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   680,     0,     0,   466,     0,     0,  
        0,   463,   464,   465,     0,     0,   470,   487,     0,     0,  
      477,   486,     0,   483,   484,   485,     0,     0,     0,     0,  
1855         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1856         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1857         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1858           0,     0,     0,     0,     0,   498,   669,   680,     0,     0,
1859         672,     0,     0,     0,   662,   663,   664,   665,   666,   667,
1860         668,     0,     0,     0,     0,     0,   306,     0,     0,     0,
1861           0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
1862         284,   285,   294,   286,   299,   287,   288,   289,   290,   297,
1863         291,   292,   293,   295,   296,   298,   464,     0,   454,     0,
1864         463,     0,   460,   461,   462,     0,   258,     0,     0,     0,
1865         268,     0,   266,   267,   269,   270,   106,     0,     0,     0,
1866         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1867          92,    45,     0,     0,     0,    41,     0,     0,     0,     0,
1868           0,     0,   337,   338,   339,   340,     0,     0,     0,     0,
1869           0,     0,     0,     0,   727,    63,     0,     0,     0,     0,
1870           0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1871           0,     0,   355,     0,     0,   348,   349,   350,   351,     0,
1872           0,   378,     0,   373,   374,   375,     0,     0,     0,    81,
1873           0,     0,     0,     0,     0,    26,     0,     0,     0,     0,
1874           0,     0,     0,     0,     0,     0,     0,     0,     0,   686,
1875         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1876         0,     0,     0,   491,   662,   673,     0,     0,   665,     0,         0,     0,     0,     0,     0,   227,   228,   231,   232,   234,
1877         0,     0,   655,   656,   657,   658,   659,   660,   661,     0,       235,   236,   237,   238,   239,   240,   229,   230,   233,     0,
1878         0,     0,     0,     0,   299,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   429,
        0,     0,     0,     0,     0,     0,     0,   276,   277,   278,  
      287,   279,   292,   280,   281,   282,   283,   290,   284,   285,  
      286,   288,   289,   291,   457,     0,   447,     0,   456,     0,  
      453,   454,   455,     0,   251,     0,     0,     0,   261,     0,  
      259,   260,   262,   263,    99,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,    85,    45,  
        0,     0,     0,    41,     0,     0,     0,     0,     0,     0,  
      330,   331,   332,   333,     0,     0,     0,     0,     0,     0,  
        0,     0,   720,    62,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,    49,     0,     0,   348,  
        0,     0,   341,   342,   343,   344,     0,     0,   371,     0,  
      366,   367,   368,     0,     0,     0,    74,     0,     0,     0,  
        0,     0,    26,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,   679,     0,     0,     0,  
1879         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1880         0,     0,   220,   221,   224,   225,   227,   228,   229,   230,       398,   399,   400,   401,   402,   403,   405,   404,   406,   407,
1881       231,   232,   233,   222,   223,   226,     0,     0,     0,     0,       415,   412,   414,   413,   411,   417,   408,   409,   410,   416,
1882         0,     0,     0,     0,     0,     0,   422,     0,     0,     0,         0,     0,     0,   469,     0,   476,     0,     0,     0,     0,
1883         0,     0,     0,     0,     0,     0,     0,   391,   392,   393,       489,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      394,   395,   396,   398,   397,   399,   400,   408,   405,   407,  
      406,   404,   410,   401,   402,   403,   409,     0,     0,     0,  
      462,     0,   469,     0,     0,     0,     0,   482,     0,     0,  
1884         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1885         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1886         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1887         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1888           0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
1889         497,     0,     0,     0,     0,     0,     0,     0,   661,   300,
1890         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1891        34,     0,     0,     0,     0,     0,     0,   490,     0,     0,         0,     0,     0,     0,     0,     0,     0,   282,     0,     0,
1892         0,     0,     0,     0,     0,   654,   293,     0,     0,     0,         0,     0,   459,   271,     0,     0,     0,     0,     0,   265,
1893         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1894         0,     0,     0,     0,   275,     0,     0,     0,     0,   452,         0,     0,     0,     0,     0,     0,     0,     0,    91,     0,
1895       264,     0,     0,     0,     0,     0,   258,     0,     0,     0,         0,    40,     0,     0,     0,     0,     0,   198,     0,     0,
1896         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1897         0,     0,     0,     0,     0,    84,     0,     0,    40,     0,         0,   161,     0,     0,     0,     0,   130,   131,   132,   133,
1898         0,     0,     0,     0,   191,     0,     0,     0,     0,     0,       150,   151,   137,   136,   138,   139,   145,   140,   141,   142,
1899         0,     0,     0,     0,     0,     0,     0,     0,   154,     0,       143,   144,   146,   147,   148,   134,   135,   149,   152,   341,
1900         0,     0,     0,   123,   124,   125,   126,   143,   144,   130,         0,     0,     0,     0,   336,     0,     0,     0,     0,     0,
1901       129,   131,   132,   138,   133,   134,   135,   136,   137,   139,         0,     0,   726,     0,     0,     0,     0,     0,     0,     0,
1902       140,   141,   127,   128,   142,   145,   334,     0,     0,     0,         0,     0,     0,     0,     0,    48,   352,     0,     0,     0,
1903         0,   329,     0,     0,     0,     0,     0,     0,     0,   719,         0,   347,   376,     0,     0,     0,   372,    90,    89,    88,
1904         723,   720,   719,   708,   710,    26,    26,    26,    26,    26,
1905          28,    27,   714,   715,   718,   716,   721,   722,   724,   725,
1906         717,   709,   711,   712,   713,   241,     0,     0,     0,     0,
1907         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1908         0,    48,   345,     0,     0,     0,     0,   340,   369,     0,       226,   418,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   365,    83,    82,    81,   716,   713,   712,   701,  
      703,    26,    26,    26,    26,    26,    28,    27,   707,   708,  
      711,   709,   714,   715,   717,   718,   710,   702,   704,   705,  
      706,   234,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,   219,   411,     0,     0,  
1909         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1910         0,     0,     0,     0,     0,     0,     0,     0,   390,     0,         0,     0,   397,     0,     0,   468,   481,     0,     0,     0,
1911         0,   461,   474,     0,     0,     0,   476,   562,   566,   553,       483,   569,   573,   560,   589,   602,   601,   656,   606,   567,
1912       582,   595,   594,   649,   599,   560,   651,   591,   597,   561,       658,   598,   604,   568,   558,   559,   576,   565,   597,   566,
1913       551,   552,   569,   558,   590,   559,   572,   557,   571,   570,       579,   564,   578,   577,   572,   571,   570,   599,   557,   596,
1914       565,   564,   563,   592,   550,   589,   647,   648,   586,   583,       654,   655,   593,   590,   635,   651,   652,   636,   637,   638,
1915       628,   644,   645,   629,   630,   631,   632,   639,   633,   642,       639,   646,   640,   649,   653,   642,   647,   643,   648,   641,
1916       646,   635,   640,   636,   641,   634,   638,   637,   643,     0,       645,   644,   650,     0,   634,   595,   612,   628,   629,   613,
1917       627,   588,   605,   621,   622,   606,   607,   608,   609,   616,       614,   615,   616,   623,   617,   626,   630,   619,   624,   620,
1918       610,   619,   623,   612,   617,   613,   618,   611,   615,   614,       625,   618,   622,   621,   627,     0,   611,   588,   591,   605,
1919       620,     0,   604,   581,   584,   598,   555,   593,   556,   585,       562,   600,   563,   592,   581,   586,   587,   584,   585,   582,
1920       574,   579,   580,   577,   578,   575,   576,   568,   567,    34,       583,   575,   574,    34,    34,    34,    36,    35,   657,   607,
1921        34,    34,    36,    35,   650,   600,   587,   596,   554,   573,       594,   603,   561,   580,     0,     0,     0,     0,     0,     0,
1922         0,     0,     0,     0,     0,     0,   653,     0,     0,     0,       660,     0,     0,     0,     0,   312,     0,     0,     0,     0,
1923         0,   305,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   281,     0,     0,
1924         0,     0,     0,   274,     0,     0,     0,   446,     0,     0,         0,   453,     0,     0,     0,   276,   272,   275,   257,   110,
1925         0,   269,   265,   268,   250,   103,   109,   107,   106,   108,       116,   114,   113,   115,   111,   112,   109,   117,   123,   118,
1926       104,   105,   102,   110,   116,   111,   115,   113,   114,   112,       122,   120,   121,   119,   108,   107,   124,    46,    47,   153,
      101,   100,   117,    46,    47,   146,     0,     0,     0,     0,  
1927         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   122,  
        0,     0,     0,   328,   735,   730,   734,   732,   736,   731,  
      733,    67,    73,    65,    69,    68,    64,    63,    66,    72,  
       70,    71,     0,     0,     0,   339,     0,     0,   364,    29,  
       30,    31,    32,    33,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,   216,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   428,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   387,   467,  
      468,   488,   489,   481,     0,   480,   625,     0,   602,     0,  
       37,    38,    39,   678,   677,     0,   676,   664,   663,   670,  
      669,     0,   668,   672,   671,   320,   297,   298,   319,   303,  
        0,   302,     0,   322,   318,   317,   326,   321,   295,   325,  
      324,   323,   296,   294,   459,   451,     0,   450,   458,   256,  
      257,   255,     0,   254,   272,   271,     0,     0,     0,     0,  
        0,     0,     0,   197,     0,     0,     0,     0,     0,     0,  
1928         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1929         0,   119,   336,   337,   335,   346,   352,   358,   362,   361,         0,     0,     0,   129,     0,     0,     0,   335,   742,   737,
1930       360,   357,   353,   356,   359,   354,   355,     0,   351,   347,       741,   739,   743,   738,   740,    74,    80,    72,    76,    75,
1931       370,   375,   381,   385,   384,   383,   380,   376,   379,   382,        71,    70,    68,    69,     0,    67,    73,    79,    77,    78,
1932       377,   378,     0,   374,   246,   247,   240,   242,   244,   243,         0,     0,     0,   346,     0,     0,   371,    29,    30,    31,
1933       241,   235,   248,   239,   237,   238,   245,   417,   419,   420,        32,    33,     0,     0,     0,     0,     0,     0,     0,     0,
1934       439,   444,   443,   438,   437,   436,   421,   426,     0,   425,         0,     0,     0,     0,     0,   223,     0,     0,     0,     0,
1935         0,   414,   441,   442,   412,   418,   435,   416,   440,   415,         0,     0,     0,     0,     0,     0,   435,     0,     0,     0,
1936       478,     0,   626,   603,   674,     0,   666,     0,     0,   300,         0,     0,     0,     0,     0,     0,   394,   474,   475,   495,
1937       305,   311,   312,   308,   314,   310,   309,   316,   313,   315,       496,   488,     0,   487,   632,     0,   609,     0,    37,    38,
1938       307,   306,   448,     0,   252,     0,   270,   267,   266,   187,        39,   685,   684,     0,   683,   671,   670,   677,   676,     0,
1939       153,   185,   151,   195,     0,   194,     0,   183,   177,   188,       675,   679,   678,   327,   304,   305,   326,   310,     0,   309,
1940       189,   180,   147,   184,   150,   186,   178,   179,   152,   190,         0,   329,   325,   324,   333,   328,   302,   332,   331,   330,
1941       158,   174,   175,   159,   160,   161,   162,   169,   163,   172,       303,   301,   466,   458,     0,   457,   465,   263,   264,   262,
1942       176,   165,   170,   166,   171,   164,   168,   167,   173,     0,         0,   261,   279,   278,     0,     0,     0,     0,     0,     0,
1943       157,   182,   149,   181,   349,     0,   372,     0,     0,   423,         0,   204,     0,     0,     0,     0,     0,     0,     0,     0,
1944       428,   432,   433,   430,   431,   434,   429,   479,   675,   667,         0,     0,     0,     0,     0,     0,     0,     0,     0,   126,
1945       304,   301,   449,   253,     0,   192,   197,   207,   205,   214,       343,   344,   342,    65,     0,   353,   359,   365,   369,   368,
1946       204,   199,   208,   212,   201,   209,   211,   206,   200,   213,       367,   364,   360,   363,   366,   361,   362,     0,   358,   354,
1947       210,   202,   203,   198,   155,     0,   350,   373,   427,   424,       377,   382,   388,   392,   391,   390,   387,   383,   386,   389,
1948       196,   193,   156       384,   385,     0,   381,   253,   254,   247,   249,   251,   250,
1949         248,   242,   255,   246,   244,   245,   252,   424,   426,   427,
1950         446,   451,   450,   445,   444,   443,   428,   433,     0,   432,
1951           0,   421,   448,   449,   419,   425,   442,   423,   447,   422,
1952         485,     0,   633,   610,   681,     0,   673,     0,     0,   307,
1953         312,   318,   319,   315,   321,   317,   316,   323,   320,   322,
1954         314,   313,   455,     0,   259,     0,   277,   274,   273,   194,
1955         160,   192,   158,   202,     0,   201,     0,   190,   184,   195,
1956         196,   187,   154,   191,   157,   193,   185,   186,   159,   197,
1957         165,   181,   182,   166,   167,   168,   169,   176,   170,   179,
1958         183,   172,   177,   173,   178,   171,   175,   174,   180,     0,
1959         164,   189,   156,   188,    66,   356,     0,   379,     0,     0,
1960         430,   435,   439,   440,   437,   438,   441,   436,   486,   682,
1961         674,   311,   308,   456,   260,     0,   199,   204,   214,   212,
1962         221,   211,   206,   215,   219,   208,   216,   218,   213,   207,
1963         220,   217,   209,   210,   205,   162,     0,   357,   380,   434,
1964         431,   203,   200,   163
1965  };  };
1966    
1967  /* YYDEFGOTO[NTERM-NUM].  */  /* YYDEFGOTO[NTERM-NUM].  */
1968  static const yytype_int16 yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1969  {  {
1970        -1,     1,    24,   896,   897,  1052,  1053,    25,   277,   278,        -1,     1,    24,   900,   901,  1056,  1057,    25,   277,   278,
1971       279,   280,    26,   314,   315,   316,   317,   318,   319,   320,       279,   280,    26,   315,   316,   317,   553,  1164,  1165,   318,
1972       321,   322,   323,   324,   325,   326,    27,    71,    72,    73,       319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
1973        74,    75,    28,   260,   261,   262,   263,   264,   265,   266,        27,    71,    72,    73,    74,    75,    28,   260,   261,   262,
1974       267,   268,   269,   270,   271,   272,   273,    29,    61,   282,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1975       822,   823,   824,   283,   825,   826,   827,   828,   829,   830,       273,    29,    61,   282,   825,   826,   827,   283,   828,   829,
1976      1134,  1429,  1430,   831,   832,   833,   834,   835,   836,   837,       830,   831,   832,   833,  1138,  1439,  1440,   834,   835,   836,
1977       838,   839,   840,   841,   842,   843,   844,   845,  1120,  1394,       837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
1978      1395,  1454,  1396,  1473,    30,    49,   116,   611,   612,   613,       847,   848,  1124,  1404,  1405,  1465,  1406,  1484,    30,    49,
1979       117,   614,   615,   616,   617,   618,   619,   620,   621,   622,       116,   614,   615,   616,   117,   617,   618,   619,   620,   621,
1980       623,   624,   625,    31,    58,   498,   771,  1262,  1263,   499,       622,   623,   624,   625,   626,   627,   628,    31,    58,   500,
1981       500,   501,  1268,  1092,  1093,   502,   503,    32,    56,   466,       774,  1270,  1271,   501,   502,   503,  1276,  1096,  1097,   504,
1982       467,   468,   469,   470,   471,   472,   473,   751,  1240,  1241,       505,    32,    56,   468,   469,   470,   471,   472,   473,   474,
1983      1368,  1242,  1381,   474,   475,   476,   477,   478,   479,   480,       475,   754,  1248,  1249,  1378,  1250,  1391,   476,   477,   478,
1984       481,   482,   483,    33,    62,   529,   530,   531,   532,   533,       479,   480,   481,   482,   483,   484,   485,    33,    62,   531,
1985        34,    65,   561,   562,   563,   564,   565,   874,  1307,  1308,       532,   533,   534,   535,    34,    65,   564,   565,   566,   567,
1986        35,    66,   569,   570,   571,   572,   880,  1322,  1323,    36,       568,   878,  1317,  1318,    35,    66,   572,   573,   574,   575,
1987        50,   119,   646,   647,   648,   120,   649,   650,   651,   652,       884,  1332,  1333,    36,    50,   119,   649,   650,   651,   120,
1988       653,   654,   655,   656,   937,  1348,  1349,  1438,  1350,  1446,       652,   653,   654,   655,   656,   657,   658,   659,   941,  1358,
1989       657,   658,   659,   660,   661,   662,   663,   664,   665,   666,      1359,  1449,  1360,  1457,   660,   661,   662,   663,   664,   665,
1990        37,    57,   488,   766,  1256,  1257,   489,   490,   491,   492,       666,   667,   668,   669,    37,    57,   490,   769,  1264,  1265,
1991        38,    51,   360,   361,   362,   363,    39,   124,   125,   126,       491,   492,   493,   494,    38,    51,   362,   363,   364,   365,
1992        40,    53,   371,   675,  1214,  1215,   372,   373,   374,   375,        39,   124,   125,   126,    40,    53,   373,   678,  1222,  1223,
1993        41,   185,   186,   187,   188,   189,   190,   191,   192,   193,       374,   375,   376,   377,    41,   185,   186,   187,   188,   189,
1994       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1995       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1996       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1997       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1998       234,   235,   236,   411,  1031,  1032,   237,   409,  1009,  1010,       230,   231,   232,   233,   234,   235,   236,   413,  1035,  1036,
1999       238,   239,   240,   241,   242,    42,    55,   441,   442,   443,       237,   411,  1013,  1014,   238,   239,   240,   241,   242,    42,
2000       444,   445,   741,  1231,  1232,   446,   447,   448,   738,  1225,        55,   443,   444,   445,   446,   447,   744,  1239,  1240,   448,
2001      1226,    43,    95,    96,    97,    98,    99,   100,   101,   102,       449,   450,   741,  1233,  1234,    43,    95,    96,    97,    98,
2002       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2003       113,   114,    44,   293,   294,   295,   296,   297,   298,   299,       109,   110,   111,   112,   113,   114,    44,   293,   294,   295,
2004       300,   301       296,   297,   298,   299,   300,   301
2005  };  };
2006    
2007  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2008     STATE-NUM.  */     STATE-NUM.  */
2009  #define YYPACT_NINF -811  #define YYPACT_NINF -952
2010  static const yytype_int16 yypact[] =  static const yytype_int16 yypact[] =
2011  {  {
2012      -811,   895,  -811,  -145,  -238,  -216,  -811,  -811,  -811,  -214,      -952,   888,  -952,  -233,  -260,  -258,  -952,  -952,  -952,  -255,
2013      -811,  -204,  -811,  -811,  -811,  -811,  -196,  -190,  -811,  -811,      -952,  -253,  -952,  -952,  -952,  -952,  -250,  -237,  -952,  -952,
2014      -169,  -167,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -228,  -226,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2015      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2016      -811,  -811,  -811,  -811,  -811,  -811,  -811,   349,   821,  -127,      -952,  -952,  -952,  -952,  -952,  -952,  -952,   302,   766,  -136,
2017      -119,  -153,    11,  -143,   548,  -139,  -124,  -116,  -112,   553,      -112,  -199,    17,  -193,   475,  -190,  -187,  -173,  -167,   702,
2018        26,     1,  -110,     8,   212,  -103,   -81,   -64,   -65,   -60,         2,   -46,  -149,   361,   520,  -140,  -134,  -130,  -121,  -102,
2019       -57,     4,  -811,  -811,  -811,  -811,  -811,   -55,   -53,   -41,       -84,     4,  -952,  -952,  -952,  -952,  -952,   -82,   -77,   -62,
2020       -33,   -29,   -28,   -25,   -17,   -15,   -12,   -10,    -9,    -1,       -57,   -51,   -33,   -30,   -25,   -16,    -5,    -4,    20,    24,
2021        29,    30,    35,    39,    43,   276,  -811,  -811,  -811,  -811,        37,    40,    46,    49,    59,   286,  -952,  -952,  -952,  -952,
2022      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2023      -811,  -811,  -811,  -811,  -811,  -811,    51,  -811,  -811,    52,      -952,  -952,  -952,  -952,  -952,  -952,    36,  -952,  -952,    63,
2024      -811,   103,  -811,    55,    42,  -811,  -811,   186,  -811,    58,      -952,    19,  -952,    70,     7,  -952,  -952,   159,  -952,    71,
2025        63,    65,    68,    69,    70,    84,    85,    86,    91,    93,        76,    79,    84,    91,    98,   104,   105,   107,   108,   109,
2026        96,    98,   101,   104,   108,   109,   111,   114,   115,   123,       112,   113,   114,   116,   117,   118,   121,   125,   126,   130,
2027       126,   131,   133,   134,   136,   138,   139,   140,   141,   144,       132,   136,   140,   142,   144,   146,   148,   153,   155,   157,
2028       148,   156,  -811,   157,  -811,   173,   174,   180,   182,   184,       161,   164,  -952,   165,  -952,   169,   170,   171,   172,   173,
2029       187,   190,   191,   192,   193,   195,   198,   203,   206,   207,       181,   184,   185,   194,   196,   198,   199,   200,   201,   204,
2030       211,   214,   215,   218,   219,    23,  -811,  -811,  -811,  -811,       206,   209,   210,   212,   213,    23,  -952,  -952,  -952,  -952,
2031      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2032      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2033      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2034      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2035      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2036      -811,  -811,  -811,   341,   650,    62,   153,   -23,   220,   221,      -952,  -952,  -952,   552,   784,    93,    88,   217,   215,   216,
2037       232,   234,   237,   239,   240,   242,   243,   244,   246,   247,       220,   224,   225,   226,   227,   231,   232,   234,   235,   239,
2038       367,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,       133,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2039      -811,  -811,  -811,  -811,    31,   249,   250,     7,  -811,  -811,      -952,  -952,  -952,  -952,   243,   241,   245,    27,  -952,  -952,
2040      -811,  -811,    53,  -811,    24,  -811,   251,   253,   254,   255,      -952,  -952,   247,  -952,    25,  -952,   248,   250,   252,   259,
2041       257,   258,   259,   202,  -811,  -811,  -811,  -811,  -811,  -811,       260,   261,   266,    45,  -952,  -952,  -952,  -952,  -952,  -952,
2042      -811,  -811,    45,   260,   262,   266,   268,   271,   272,   273,      -952,  -952,   271,   269,   270,   272,   276,   278,   279,   280,
2043       281,   282,   283,   286,   292,  -811,  -811,  -811,  -811,  -811,      -952,   281,   285,   289,   290,   303,  -952,  -952,  -952,  -952,
2044      -811,  -811,  -811,  -811,  -811,  -811,  -811,    10,    12,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    56,
2045       204,   209,   227,    82,  -811,   217,   315,   331,   307,   335,        62,  -952,   357,   381,   396,   296,  -952,   363,   434,   436,
2046       418,   418,   420,   422,   363,   366,   428,   418,   369,   370,       374,   375,   444,   444,   449,   450,   387,   390,   462,   444,
2047       372,   373,   374,   304,  -811,   823,   794,  -811,   309,   310,       397,   400,   403,   404,   405,   318,  -952,   634,   703,  -952,
2048        78,  -811,  -811,  -811,   423,   314,  -811,  -811,   313,   322,       342,   343,    15,  -952,  -952,  -952,   454,   348,  -952,  -952,
2049      -811,  -811,     2,  -811,  -811,  -811,   381,   418,   390,   418,       346,   353,  -952,  -952,   158,  -952,  -952,  -952,   414,   444,
2050       456,   439,   463,   401,   402,   406,   470,   449,   426,   490,       421,   444,   494,   476,   497,   433,   435,   437,   500,   483,
2051       491,   493,   432,   418,   433,   434,   500,   479,   443,   507,       440,   510,   513,   514,   451,   444,   452,   453,   516,   499,
2052       509,   418,   510,   513,   492,   515,   516,   454,   457,   393,       461,   529,   530,   444,   533,   542,   512,   543,   546,   481,
2053       461,   397,   418,   418,   466,   418,   497,   473,   475,   476,       482,   417,   484,   419,   444,   444,   486,   444,   536,   489,
2054        15,    28,   477,   478,   418,   418,   542,   418,   481,   483,       493,   495,  -150,  -141,   496,   498,   444,   444,   560,   444,
2055       485,   486,   424,  -811,  -811,  -811,   429,   436,  -811,   440,       501,   503,   509,   511,   455,  -952,  -952,  -952,   446,   456,
2056       441,    79,  -811,  -811,  -811,  -811,  -811,  -811,  -811,   425,      -952,   457,   459,    44,  -952,  -952,  -952,  -952,  -952,  -952,
2057       444,   445,   446,   450,  -811,   452,   453,   455,   458,   459,      -952,   463,   467,   468,   485,   487,  -952,   490,   506,   507,
2058       460,   465,   468,   471,   472,   474,    97,  -811,  -811,  -811,       508,   519,   524,   526,   527,   531,   532,   544,   160,  -952,
2059      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2060      -811,  -811,  -811,  -811,  -811,   482,  -811,   487,  -811,   102,      -952,  -952,  -952,  -952,  -952,  -952,  -952,   548,  -952,   550,
2061      -811,  -811,  -811,   427,  -811,   488,   489,   504,  -811,    14,      -952,    12,  -952,  -952,  -952,   465,  -952,   551,   553,   554,
2062      -811,  -811,  -811,  -811,  -811,   533,   539,   561,   563,   568,      -952,    14,  -952,  -952,  -952,  -952,  -952,   557,   559,   561,
2063       570,   573,   577,   540,   582,   583,   557,   495,  -811,  -811,       564,   585,   586,   591,   592,   230,   596,   613,   577,   537,
2064       600,   612,   511,  -811,   630,   517,   506,   512,   518,    18,      -952,  -952,   640,   643,   549,  -952,   574,   555,   556,   562,
2065      -811,  -811,  -811,  -811,   576,   581,   587,   614,   588,   589,       563,    32,  -952,  -952,  -952,  -952,   623,   630,   631,   665,
2066       418,   519,  -811,  -811,   631,   596,   648,   652,   655,   656,       632,   633,   444,   575,  -952,  -952,   681,   639,   685,   688,
2067       657,   658,   681,   660,   661,   558,  -811,   559,   564,  -811,       689,   690,   691,   582,   693,   565,   694,   695,   589,  -952,
2068       565,   120,  -811,  -811,  -811,  -811,   569,   567,  -811,   129,       590,   593,  -952,   594,     9,  -952,  -952,  -952,  -952,   601,
2069      -811,  -811,  -811,   571,   572,   574,  -811,   578,   579,   584,       607,  -952,    33,  -952,  -952,  -952,   604,   614,   615,  -952,
2070       586,   591,   365,   593,   595,   598,   601,   603,   605,   607,       616,   619,   620,   624,   625,   189,   628,   629,   635,   636,
2071       608,   609,   611,   615,   616,   619,  -811,   621,   580,   597,       637,   638,   641,   642,   644,   646,   647,   651,   654,  -952,
2072       620,   622,   623,   625,   626,   627,   628,   629,   636,   637,       656,   610,   618,   627,   655,   660,   661,   662,   663,   664,
2073       639,   298,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,       667,   669,   670,   671,   223,  -952,  -952,  -952,  -952,  -952,
2074      -811,  -811,  -811,  -811,  -811,  -811,   624,   640,   641,   642,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   657,
2075       643,   644,   645,   646,   647,   649,  -811,   651,   653,   663,       672,   673,   674,   676,   679,   680,   683,   684,   686,  -952,
2076       664,   665,   668,   673,   676,   677,   269,  -811,  -811,  -811,       687,   696,   697,   699,   700,   701,   704,   705,   706,   238,
2077      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2078      -811,  -811,  -811,  -811,  -811,  -811,  -811,   686,   718,   633,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2079      -811,   634,  -811,   755,   757,   678,   659,  -811,   682,   683,       730,   741,   659,  -952,   668,  -952,   746,   747,   707,   711,
2080       684,   685,   687,   692,   693,   694,   696,   697,   698,   706,      -952,   712,   713,   716,   717,   719,   720,   721,   722,   723,
2081       709,   710,   712,   714,   715,   719,   720,   721,   722,   723,       724,   725,   726,   727,   729,   731,   732,   733,   734,   735,
2082       724,   725,   726,   729,   730,   731,   732,   733,   734,   735,       736,   737,   738,   739,   740,   742,   743,   744,   745,   748,
2083       736,   798,   737,   878,   739,   747,   750,   754,   758,   759,       749,   750,   751,   752,   815,   753,   871,   754,   755,   767,
2084       760,   761,   762,   763,   764,   765,   769,   773,   777,   779,       771,   774,   775,   776,   777,   778,   779,   780,   781,   782,
2085        44,   780,   781,   782,   783,   784,   785,  -811,   752,   418,       786,   790,   791,   315,   793,   794,   796,   797,   798,   800,
2086       727,   787,   767,   890,   788,  -811,  -811,   850,   896,   854,      -952,   799,   444,   756,   801,   795,   803,   805,  -952,  -952,
2087       856,   791,   858,   859,   860,   861,   862,   904,   690,   905,       760,   812,   769,   804,   807,   809,   864,   866,   869,   870,
2088       906,   866,   908,   805,  -811,   911,   806,   912,   810,  -811,       918,   566,   919,   927,   886,   934,   828,  -952,   937,   829,
2089      -811,   811,   921,   922,   699,   819,  -811,   827,   830,   834,       938,   833,  -952,  -952,   831,   942,   943,   772,   837,  -952,
2090       835,   837,   838,   839,   840,   841,   842,   843,   844,   845,       838,   842,   846,   847,   849,   850,   857,   860,   865,   867,
2091       849,   853,   857,   864,   867,  -811,   871,   872,  -811,   874,       868,   872,   873,   874,   875,   879,   883,   884,  -952,   887,
2092       851,   873,   875,   876,  -811,   877,   879,   883,   887,   888,       889,  -952,   890,   861,   891,   892,   893,  -952,   894,   895,
2093       891,   893,   894,   897,   898,   899,   900,   901,  -811,   902,       896,   897,   898,   899,   900,   901,   902,   903,   904,   905,
2094       903,   907,   105,  -811,  -811,  -811,  -811,  -811,  -811,  -811,       906,  -952,   907,   909,   910,   149,  -952,  -952,  -952,  -952,
2095      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2096      -811,  -811,  -811,  -811,  -811,  -811,  -811,   960,   979,   981,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2097       881,  -811,   909,   913,   914,   916,   917,   918,   919,  -811,       976,   977,   978,   911,  -952,   914,   915,   916,   917,   920,
2098       920,   923,   924,   925,   926,   927,   928,   929,   930,   931,       921,   922,  -952,   923,   924,   925,   926,   928,   929,   930,
2099       932,  -811,  -811,   997,   933,  1002,   934,  -811,  -811,  1003,       -15,   931,   932,   933,   935,  -952,  -952,   993,   936,   998,
2100       935,   937,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,       940,  -952,  -952,   999,   939,   941,  -952,  -952,  -952,  -952,
2101      -811,   418,   418,   418,   418,   418,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,   444,   444,   444,   444,   444,
2102      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2103      -811,  -811,   703,  1033,   418,  1034,  1037,  1038,  1041,  1025,      -952,  -952,  -952,  -952,  -952,  -952,   813,  1022,   444,  1047,
2104      1048,  1059,   418,   418,   542,   939,  -811,  -811,  1039,   -26,      1048,  1056,  1063,  1043,  1066,  1067,   444,   444,   560,   944,
2105      1004,  1044,  1046,  1006,  1007,  1008,  1050,   944,  1052,  1053,      -952,  -952,  1050,   -13,  1008,  1053,  1054,  1011,  1012,  1013,
2106      1054,  1055,  1078,  1057,  1058,  1018,  1060,   957,  -811,   958,      1058,   949,  1060,  1061,  1062,  1064,  1085,  1065,  1068,  1023,
2107       959,  -811,  -811,   961,   962,  1062,  -811,  -811,  -811,  -811,      1069,   959,  -952,   963,   964,  -952,  -952,   965,   966,  1070,
2108      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2109      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2110      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2111      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2112      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -249,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2113      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -245,  -952,  -952,  -952,  -952,  -952,  -952,
2114      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2115      -811,  -243,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -202,  -952,  -952,  -952,  -952,
2116      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,   542,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2117       542,   542,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,   560,   560,   560,  -952,  -952,  -952,  -952,
2118        -7,   964,   965,    -5,   966,   967,  -811,   968,   969,   970,      -952,  -952,  -952,  -952,     1,   967,   969,    11,   970,   971,
2119       971,  1087,   972,   973,   974,   975,   976,   977,   978,   980,      -952,   972,   973,   974,   975,  1106,   979,   980,   981,   982,
2120       982,   983,   984,  -811,   985,  1080,   986,  -811,    -4,   987,       983,   984,   985,   986,   987,   988,   989,  -952,   990,  1079,
2121       988,   713,   152,  -811,  -811,  -811,  -811,  -811,  -811,  -811,       991,  -952,     0,   992,   994,   650,   995,  -952,  -952,  -952,
2122      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2123      -811,  -811,  -811,  -811,  -811,  -811,  1042,  1093,  1056,  1061,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2124       989,  1063,  1064,  1065,  1066,  1067,  1094,  1068,  1095,  1069,      1041,  1100,  1059,  1071,   997,  1072,  1073,  1074,  1075,  1076,
2125      1070,  1071,  1098,  1072,   992,  1073,  1100,  1074,   999,  -811,      1102,  1077,  1104,  1078,  1080,  1081,  1105,  1082,  1000,  1083,
2126      1012,  1013,  1014,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      1108,  1084,  1002,  -952,  1004,  1005,  1006,  -952,  -952,  -952,
2127      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2128      -811,  -811,  1015,   241,  1016,  -811,  1017,   362,  -811,  -811,      -952,  -952,  -952,  -952,  -174,  -952,  -952,  -952,  -952,  -952,
2129      -811,  -811,  -811,  -811,  1019,  1020,  1021,  1022,  1023,  1024,      1007,   534,  1016,  -952,  1024,   621,  -952,  -952,  -952,  -952,
2130      1026,  1027,  1028,  1029,  1030,  1031,  1032,  -811,  1035,  1036,      -952,  -952,  1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,
2131      1040,  1043,  1045,  1047,  1049,  1051,  1075,  1076,  1124,  1077,      1033,  1034,  1035,  1036,  1037,  -952,  1038,  1039,  1040,  1042,
2132      1079,  1081,  1082,  1083,  1084,  1085,  1086,  1088,  -811,  -811,      1044,  1045,  1046,  1049,  1051,  1052,  1152,  1055,  1057,  1086,
2133      -811,  -811,  -811,  -811,  -242,  -811,  -811,   798,  -811,   878,      1087,  1088,  1089,  1090,  1091,  1092,  -952,  -952,  -952,  -952,
2134      -811,  -811,  -811,  -811,  -811,  -241,  -811,  -811,  -811,  -811,      -952,  -952,  -148,  -952,  -952,   815,  -952,   871,  -952,  -952,
2135      -811,  -233,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -145,  -952,  -952,  -952,  -952,  -952,  -129,
2136      -230,  -811,   419,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -117,  -952,
2137      -811,  -811,  -811,  -811,  -811,  -811,  -225,  -811,  -811,  -811,       447,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2138      -811,  -811,  -215,  -811,  -811,  -811,  1144,   699,  1089,  1090,      -952,  -952,  -952,  -952,   -35,  -952,  -952,  -952,  -952,  -952,
2139      1091,  1092,  1096,  1152,  1097,  1099,  1101,  1102,  1103,  1104,       -10,  -952,  -952,  -952,  1170,   772,  1093,  1094,  1095,  1096,
2140      1105,  1106,  1107,  1108,  1109,  1110,  1111,   915,  1112,  1113,      1097,  1153,  1098,  1099,  1101,  1103,  1107,  1109,  1110,  1111,
2141      1114,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      1112,  1113,  1114,  1115,  1116,   908,  1117,  1118,  1119,  -952,
2142      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -209,  -811,  -811,      -952,  -952,  -952,  -952,   -15,  -952,  -952,  -952,  -952,  -952,
2143      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,    -8,  -952,  -952,
2144      -811,  -811,  -182,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2145      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,    35,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2146      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -181,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2147       151,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    80,  -952,
2148      -811,  1062,  -811,  -811,  -811,    -7,  -811,    -5,   419,  -811,        13,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2149      1087,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  1070,  -952,  -952,  -952,     1,  -952,    11,   447,  -952,
2150      -811,  -811,  -811,  1080,  -811,    -4,  -811,  -811,  -811,  -811,      1106,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2151      -811,  -811,  -811,  -811,  -170,  -811,   708,  -811,  -811,  -811,      -952,  -952,  -952,  1079,  -952,     0,  -952,  -952,  -952,  -952,
2152      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,    89,  -952,   366,  -952,  -952,  -952,
2153      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2154      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -162,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2155      -811,  -811,  -811,  -811,  -811,   241,  -811,   362,   151,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    95,
2156      1124,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,   534,  -952,   621,    13,
2157      -811,  -811,  -811,  -811,   708,  -811,  1152,  -811,  -811,  -811,      -952,  1152,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2158      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,   366,  -952,  1153,  -952,  -952,
2159      -811,  -811,  -811,  -811,  -811,   915,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2160      -811,  -811,  -811      -952,  -952,  -952,  -952,  -952,  -952,   908,  -952,  -952,  -952,
2161        -952,  -952,  -952,  -952
2162  };  };
2163    
2164  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
2165  static const yytype_int16 yypgoto[] =  static const yytype_int16 yypgoto[] =
2166  {  {
2167      -811,  -811,  -811,  -402,  -340,  -810,  -424,  -811,  -811,  1115,      -952,  -952,  -952,  -816,  -342,  -951,  -426,  -952,  -952,   578,
2168      -811,  -811,  -811,  -811,   991,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,   541,  -952,  -952,  -952,     5,  -952,
2169      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  1221,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2170      -811,  -811,  -811,  -811,  1116,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  1234,  -952,  -952,  -952,  -952,  -952,  1122,  -952,
2171      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2172      -811,   494,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,   491,  -952,  -952,  -952,  -952,
2173      -811,  -811,  -179,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -176,  -952,  -952,  -952,
2174      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2175      -163,  -811,  -811,  -157,  -811,  -811,  -811,  -811,   689,  -811,      -952,  -952,  -952,  -952,  -155,  -952,  -952,  -147,  -952,  -952,
2176      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,   708,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2177      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,   -87,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2178       802,  -811,  -811,  -811,    36,  -811,  -811,  -811,  -811,  -811,      -952,  -952,   -80,  -952,   819,  -952,  -952,  -952,    48,  -952,
2179       846,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,   -63,      -952,  -952,  -952,  -952,   853,  -952,  -952,  -952,  -952,  -952,
2180      -811,  -811,   -59,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,   -56,  -952,  -952,   -53,  -952,  -952,  -952,
2181      -811,  -811,  -811,  -811,  -811,  -811,   786,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2182      -811,  -811,  -811,   753,  -811,  -811,  -811,  -811,  -811,  -122,       802,  -952,  -952,  -952,  -952,  -952,  -952,   762,  -952,  -952,
2183      -811,  -811,  -811,   742,  -811,  -811,  -811,  -811,  -120,  -811,      -952,  -952,  -952,  -119,  -952,  -952,  -952,   757,  -952,  -952,
2184      -811,  -811,  -811,   672,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -120,  -952,  -952,  -952,  -952,   682,  -952,  -952,
2185      -811,  -811,  -811,  -811,  -811,  -811,  -121,  -811,  -811,  -118,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2186      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -116,  -952,  -952,  -115,  -952,  -952,  -952,  -952,  -952,  -952,
2187      -811,  -811,  -811,  -811,  -811,   -62,  -811,   833,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   -63,
2188      -811,  -811,  -811,   963,  -811,  -811,  -811,  -811,  1200,  -811,      -952,   841,  -952,  -952,  -952,  -952,  -952,  1021,  -952,  -952,
2189      -811,  -811,  -811,  -811,  -811,   -36,  -811,   954,  -811,  -811,      -952,  -952,  1212,  -952,  -952,  -952,  -952,  -952,  -952,   -34,
2190      -811,  -811,  1142,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,   968,  -952,  -952,  -952,  -952,  1154,  -952,  -952,  -952,
2191      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2192      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2193      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2194      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2195      -811,  -811,  -811,  -811,  -811,   110,  -811,  -811,  -811,   113,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   111,
2196      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,   892,  -811,      -952,  -952,  -952,   115,  -952,  -952,  -952,  -952,  -952,  -952,
2197      -811,  -811,  -811,  -811,   -39,  -811,  -811,  -811,  -811,  -811,      -952,  -952,   945,  -952,  -952,  -952,  -952,  -952,   -36,  -952,
2198       -34,  -811,  -811,  1237,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,   -32,  -952,  -952,  1249,  -952,  -952,
2199      -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2200      -811,  -811,  -811,  -811,  1117,  -811,  -811,  -811,  -811,  -811,      -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  1120,  -952,
2201      -811,  -811      -952,  -952,  -952,  -952,  -952,  -952
2202  };  };
2203    
2204  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
# Line 2179  static const yytype_int16 yypgoto[] = Line 2208  static const yytype_int16 yypgoto[] =
2208  #define YYTABLE_NINF -1  #define YYTABLE_NINF -1
2209  static const yytype_uint16 yytable[] =  static const yytype_uint16 yytable[] =
2210  {  {
2211       583,   584,   731,   367,  1223,    67,  1229,   590,   274,   285,       586,   587,   734,   274,    47,    67,    48,   593,   122,    52,
2212      1216,   557,   122,   566,  1217,   493,  1218,  1360,  1364,   525,       560,    54,  1231,   486,    59,   495,   359,  1224,   122,   115,
2213      1219,  1361,  1365,    47,   128,   525,  1366,   274,   115,  1369,       359,  1225,  1237,  1452,   128,  1453,   527,    60,   274,    45,
2214      1367,   129,   130,  1370,  1382,   131,   118,   679,  1383,   681,        46,   129,   130,   527,   569,   131,    63,   682,    64,   684,
2215       526,    68,   132,   122,  1384,    48,   526,    52,  1385,   286,      1454,    68,   132,   118,  1455,   436,   285,   528,   437,   725,
2216      1434,   133,    69,   695,  1435,   134,   135,    54,  1049,  1050,       726,   133,    69,   698,   528,   134,   135,   560,   727,   728,
2217      1051,   703,   136,   484,   287,    59,   137,   138,   139,   494,      1226,   706,   136,   569,  1227,   121,   137,   138,   139,   496,
2218       140,    60,   714,   715,  1259,   717,   141,  1436,  1439,   357,       140,   127,   717,   718,   243,   720,   141,   244,  1267,  1177,
2219       434,  1437,  1440,   435,   728,   729,   288,   732,   289,  1455,      1178,  1179,  1180,  1181,   731,   732,   286,   735,  1303,   495,
2220       290,   291,    63,  1456,    64,   142,   143,  1474,   449,   495,       438,   245,  1304,   439,   486,   142,   143,   246,   123,   497,
2221       144,  1475,   123,   484,   357,   496,   799,   145,   121,   292,       144,   287,  1228,  1229,  1230,   498,   360,   145,   123,   281,
2222       800,   146,   147,   148,    45,    46,   149,   450,   127,   150,       360,   146,   147,   148,  1370,   284,   149,  1374,  1371,   150,
2223       151,   557,   243,   451,   368,   436,    70,   275,   437,   152,       151,  1375,   275,   288,   329,   289,    70,   290,   291,   152,
2224       566,   801,   558,   123,   567,   153,   154,   244,   155,   156,       330,   561,   331,  1376,   247,   153,   154,  1377,   155,   156,
2225       157,   158,   159,   802,   527,   245,   275,   452,   453,   246,       157,   158,   159,   496,   332,  1379,   292,   275,   440,  1380,
2226       527,   284,   454,   160,   493,   803,   281,   276,   327,   369,       802,   529,   276,   160,   803,   570,  1162,  1163,   529,   369,
2227       804,  1441,   161,  1442,   162,   163,   455,   164,   497,   358,       369,   451,   161,   333,   162,   163,   441,   164,   499,   487,
2228       165,   166,   805,   456,   167,   528,   276,   730,  1443,   806,       165,   166,   361,   497,   167,   804,   361,   276,   561,   498,
2229       328,   528,  1444,   438,   807,   168,   808,   367,   370,  1189,       452,   334,   530,   337,   570,   168,   453,   805,   338,   530,
2230      1190,  1224,   457,  1230,   358,   329,   559,   330,   568,   809,       248,   249,   250,   251,   252,   253,   254,   255,   562,   806,
2231       858,   439,   331,   285,   169,   332,   170,   335,   494,   336,       861,   488,  1232,   339,   807,  1197,  1198,   169,   340,   170,
2232       171,   722,   723,   302,   172,   173,   174,   175,   176,   485,       454,   455,  1238,   171,   341,   456,   808,   172,   173,   174,
2233       458,   337,   177,   178,   724,   725,  1260,   810,   459,   338,       175,   176,   571,   809,   600,   177,   178,  1392,   810,   457,
2234      1261,   179,   811,   339,   340,   359,   504,   341,   495,  1220,       811,  1393,   342,  1268,   179,   343,   458,  1269,   256,   629,
2235      1221,  1222,   558,   286,   496,   342,   460,   343,   486,   303,       344,   630,   499,   812,   631,   562,   601,   602,   632,   345,
2236       344,   567,   345,   346,   812,   461,   462,   560,   287,   485,       487,   571,  1394,   603,  1445,   459,  1395,  1456,  1446,   563,
2237       359,   347,   676,   180,   333,   181,   813,   522,   814,   815,       346,   347,   489,   633,   634,   635,   180,   335,   181,   636,
2238       626,   182,   627,   816,   775,   628,   183,    76,   850,   629,       367,   813,   880,   257,   182,   771,   814,   778,   672,   183,
2239       288,   184,   289,   432,   290,   291,   463,   464,   486,    77,       370,   370,   488,   460,   184,   348,   434,    76,   637,   349,
2240       519,   348,   349,   302,   630,   631,   632,   350,   304,   597,       524,   461,   638,   639,   442,   853,   885,  1447,   815,    77,
2241       633,   351,   365,   292,   543,   352,   559,   497,   368,   487,       357,  1448,   350,    67,   302,   351,   563,   747,   543,   462,
2242        78,    79,   355,   356,   524,   568,    80,   364,    81,   634,       816,   352,   817,   818,   353,   371,   371,   819,   463,   464,
2243       376,   598,   599,   635,   636,   377,   440,   378,   600,   303,        78,    79,   585,   640,   354,   641,    80,   358,    81,  1053,
2244       379,   380,   381,   817,   305,  1296,   306,   307,   669,   744,      1054,  1055,   604,   605,   606,   366,   378,   607,   642,    68,
2245       818,   576,   434,   369,   465,   435,   382,   383,   384,   487,       303,   379,  1450,   489,   380,   608,  1451,   372,   372,   381,
2246        67,   819,   820,   385,   637,   386,   638,   763,   387,   573,        69,  1466,   465,   466,   258,  1467,   382,  1485,   609,   610,
2247       388,   821,   768,   389,   574,  1138,   390,   560,   247,   639,       643,  1486,   285,   383,   895,   896,   897,   898,   899,   384,
2248       391,   392,   370,   393,    82,    83,   394,   395,   304,   308,       385,  1468,   386,   387,   388,   611,   612,   389,   390,   391,
2249       876,   309,   575,    84,    85,   396,    68,   436,   397,   881,       820,   392,   393,   394,    82,    83,   395,   821,   259,   304,
2250       437,   640,  1445,   398,   310,   399,   400,    69,   401,  1061,       396,   397,   644,    84,    85,   398,   519,   399,   822,   823,
2251       402,   403,   404,   405,    86,    87,   406,   601,   602,   603,      1065,   400,   286,   613,  1469,   401,   645,   402,   824,   403,
2252       407,  1297,   604,   577,   305,  1267,   306,   307,   408,   410,       467,   404,  1142,   405,    86,    87,  1470,   287,   406,   646,
2253       605,    88,    89,   641,   248,   249,   250,   251,   252,   253,       407,   679,   408,   766,    70,   305,   409,   306,   307,   410,
2254       254,   255,    90,   606,   607,   412,   413,   642,   311,  1371,       412,    88,    89,  1471,   414,   415,   416,   417,   418,   288,
2255      1372,    91,   414,  1298,   415,   438,   416,   643,   578,   417,      1472,   289,    90,   290,   291,  1473,   419,  1474,   733,   420,
2256       608,   609,   418,   419,   420,   421,  1311,   422,  1299,   308,       421,    91,   788,   789,   790,   791,   792,   793,   794,   422,
2257       423,   309,   541,   439,   579,   424,   312,   313,   425,   426,      1475,   423,   292,   424,   425,   426,   427,  1381,  1382,   428,
2258      1373,    70,   256,   427,   310,   610,   428,   429,  1300,  1301,       308,   429,   309,   310,   430,   431,   128,   432,   433,   506,
2259       430,   431,   505,   506,  1302,  1303,  1304,  1305,  1374,  1169,       507,   508,   647,   129,   130,   509,   929,   131,   311,   510,
2260      1170,  1171,  1172,  1173,   507,  1375,   508,  1306,   582,   509,       511,   512,   513,  1476,   132,   648,   514,   515,  1383,   516,
2261      1186,   510,   511,   580,   512,   513,   514,   257,   515,   516,       517,   951,  1194,   133,   518,   521,   522,   134,   135,  1477,
2262       644,   520,   521,   534,  1376,   535,   536,   537,   311,   538,       523,   526,   576,   536,   136,   537,  1384,   538,   137,   138,
2263       539,   540,   544,   645,   545,    92,    93,    94,   546,   947,       139,   302,   140,  1385,   539,   540,   541,  1478,   141,  1479,
2264       547,   581,  1312,   548,   549,   550,   353,   891,   892,   893,      1480,   542,   312,   545,   546,   547,   577,   548,    92,    93,
2265       894,   895,  1377,   551,   552,   553,   312,   313,   554,   128,        94,   549,  1386,   550,   551,   552,   554,   142,   143,   355,
2266      1378,   582,   555,   585,   247,   586,   129,   130,   925,   587,       555,   578,   144,   436,   556,   557,   437,   303,   579,   145,
2267       131,   589,   588,   596,  1313,   591,   592,   132,   593,   594,       313,   314,   580,   146,   147,   148,   558,   581,   149,   582,
2268       595,   667,   668,   672,  1176,   673,   133,   678,   671,  1314,      1387,   150,   151,   583,   584,   802,  1184,   585,  1388,   803,
2269       134,   135,  1184,  1185,   674,   258,   680,   136,   440,   682,       599,   152,   588,   589,  1192,  1193,   590,   153,   154,   591,
2270      1379,   137,   138,   139,   683,   140,   684,   685,   686,  1315,       155,   156,   157,   158,   159,   592,   594,  1481,   438,   595,
2271      1316,   141,   687,   688,   689,  1317,  1318,  1319,  1320,  1380,       804,   439,   596,   597,   598,   160,   304,   670,   671,   674,
2272       248,   249,   250,   251,   252,   253,   254,   255,  1321,   259,       675,   676,   805,   681,   161,  1482,   162,   163,   677,   164,
2273       142,   143,   690,   691,   692,   144,   693,   517,   694,   696,       683,  1389,   165,   166,   806,  1483,   167,   685,  1306,   807,
2274       697,   799,   145,   698,   699,   800,   146,   147,   148,   700,       687,   686,   688,   691,   689,   600,   690,   168,   692,   693,
2275       701,   149,   702,   704,   150,   151,   705,   706,   707,   708,      1390,   808,   305,   694,   306,   307,   695,   696,   809,   701,
2276       709,   449,   718,   710,   152,   711,   801,   712,   256,   713,       697,   699,   700,   810,   702,   811,   440,   601,   602,   169,
2277       153,   154,   716,   155,   156,   157,   158,   159,   802,   719,       703,   170,   704,   705,   603,   171,   707,   709,   812,   172,
2278       450,   720,   721,   726,   727,   730,   451,   733,   160,   734,       173,   174,   175,   176,   441,   708,   710,   177,   178,   711,
2279       803,   735,   736,   737,   746,   804,   770,   161,   777,   162,       712,   713,   714,   715,   716,   719,   179,   308,   722,   309,
2280       163,   739,   164,   257,   778,   165,   166,   805,   740,   167,       310,   721,   723,   733,   724,   729,   813,   730,   872,  1082,
2281       452,   453,   742,   743,   806,   454,   747,   748,   749,   807,       736,   814,   737,   247,   629,   311,   630,  1307,   738,   631,
2282       168,   808,   750,  1457,   752,   753,   779,   754,   780,   455,       739,   742,   780,   632,   781,  1321,   782,   740,   180,   783,
2283       755,   756,   757,   781,   809,   782,   456,   758,   783,   169,       181,   743,   745,   815,   746,   749,   182,   773,   633,   634,
2284       759,   170,   784,   760,   761,   171,   762,   792,   793,   172,       635,   183,   750,   751,   636,   816,   184,   817,   818,  1308,
2285       173,   174,   175,   176,   765,   457,  1458,   177,   178,   767,       784,   785,   819,   604,   605,   606,   786,   787,   607,   312,
2286       772,   773,   810,   794,   795,   796,   179,   811,  1459,   785,       752,   795,   753,   637,  1309,   755,   608,   638,   639,   248,
2287       786,   787,   788,   789,   790,   791,   774,   797,   847,   855,       249,   250,   251,   252,   253,   254,   255,    76,   796,   609,
2288       798,   258,   852,   458,   848,  1460,   846,   853,   859,   812,       610,   756,   757,   758,  1310,  1311,   797,   313,   314,    77,
2289       849,   459,  1461,   854,   856,   857,   860,  1462,   180,  1463,      1312,  1313,  1314,  1315,   759,   451,   611,   612,   640,   760,
2290       181,   813,   861,   814,   815,   626,   182,   627,   816,   460,       641,   761,   762,  1316,  1322,   799,   763,   764,   800,   798,
2291       628,   183,  1464,   862,   629,   259,   184,   863,   461,   462,        78,    79,   442,   642,   452,   820,    80,   256,    81,   765,
2292       864,   865,   866,   867,   868,   869,   870,   871,   872,   630,       453,   801,   821,   768,   613,   770,   775,   849,   776,   777,
2293       631,   632,    76,  1078,   597,   633,   873,   875,   878,   879,       858,   850,   855,   822,   823,   643,  1323,   851,   852,   856,
2294       883,   884,  1091,   885,    77,  1465,  1174,   886,   887,   463,       857,   859,   860,   824,   454,   455,   863,   862,   864,   456,
2295       464,   949,   912,   888,   634,   889,   598,   599,   635,   636,       865,  1324,   257,   866,   867,   868,   869,   870,   871,   873,
2296       890,  1466,   898,   600,   899,    78,    79,   900,   817,   913,       874,   875,   876,   457,  1274,   525,   559,   644,   877,   879,
2297       901,    80,   902,    81,   903,   818,   904,   905,   906,  1467,       458,  1325,  1326,   882,    82,    83,   887,  1327,  1328,  1329,
2298       907,  1468,  1469,   950,   908,   909,   819,   820,   910,   637,      1330,   645,   883,    84,    85,   916,   888,   889,   890,   459,
2299       911,   638,   914,   927,   915,   916,   821,   917,   918,   919,      1331,   891,   892,   917,   646,   953,   893,   894,     2,     3,
2300       920,   921,   951,   952,   639,     2,     3,   465,   922,   923,       902,   903,   918,     4,    86,    87,   954,   904,   905,   906,
2301         4,   924,   928,   929,   930,   931,   932,   933,   934,   935,       907,   957,   958,   908,   909,  1095,   910,   460,   911,   912,
2302       953,   936,   954,   938,  1266,   939,   640,     5,   956,    82,         5,    88,    89,   913,     6,   461,   914,     7,   915,   931,
2303        83,     6,  1064,  1062,     7,   940,   941,   942,    84,    85,       919,   955,    90,   258,     8,   920,   921,   922,   923,   924,
2304       943,     8,   601,   602,   603,   944,  1470,   604,   945,   946,       956,    91,   925,   462,   926,   927,   928,   932,   933,   934,
2305       955,   957,   958,   959,   960,   605,   961,     9,   641,    86,         9,   935,   463,   464,   936,   937,  1182,   647,   938,   939,
2306        87,   962,   963,   964,  1471,   965,   966,   967,   606,   607,      1068,   940,   942,    10,    11,  1066,    12,   259,  1069,  1071,
2307        10,    11,   642,    12,  1472,   968,    88,    89,   969,   970,       648,   943,   944,    13,   945,   946,   947,  1072,  1073,   948,
2308        13,   971,   643,   972,   973,   608,   609,    90,   974,   975,       949,   950,   959,   960,   961,   962,   465,   466,   963,   964,
2309       976,   977,   978,   979,   980,   981,    91,    14,   982,   983,        14,   965,   966,   967,   968,   969,   970,   971,   972,   973,
2310       984,   985,   986,   987,   988,   989,  1011,    15,  1033,    16,        15,   974,    16,   975,   976,   977,   978,   979,   980,   981,
2311       610,   990,   991,   992,   993,   994,  1034,   995,   996,  1035,       982,   983,   984,  1074,   985,   986,   987,   988,  1076,    17,
2312       997,   998,   999,  1036,  1060,  1000,    17,  1037,  1038,  1039,       989,   990,   991,   992,   993,  1015,  1037,  1038,    92,    93,
2313      1040,  1041,  1042,  1043,  1044,  1001,  1002,  1003,  1045,  1004,        94,   994,   995,   996,   997,   998,    18,   999,  1000,  1039,
2314      1005,  1006,  1046,    18,  1007,   644,  1047,  1008,  1048,  1054,      1001,  1002,  1003,  1040,   467,  1004,  1041,  1042,  1043,  1044,
2315      1055,  1056,  1057,  1058,  1059,  1065,  1067,  1066,   645,  1063,      1045,  1046,  1047,  1048,  1049,  1005,  1006,  1007,  1050,  1008,
2316      1069,  1068,  1070,  1071,  1072,  1073,  1074,  1075,  1076,  1077,      1009,  1010,  1051,  1052,  1011,  1058,  1059,  1012,  1060,  1061,
2317      1079,  1080,  1081,  1082,  1083,    19,  1084,  1086,  1085,  1087,      1062,    19,  1063,  1077,  1064,  1078,  1067,  1070,  1079,  1080,
2318        92,    93,    94,  1088,    20,    21,  1089,  1090,  1094,    22,        20,    21,  1075,  1081,  1083,    22,    23,  1016,  1017,  1018,
2319        23,  1012,  1013,  1014,  1015,  1016,  1095,  1017,  1018,  1096,      1019,  1020,  1084,  1021,  1022,  1085,  1023,  1024,  1025,  1086,
2320      1019,  1020,  1021,  1097,  1098,  1022,  1099,  1100,  1101,  1102,      1087,  1026,  1088,  1090,  1089,  1091,  1092,  1093,  1094,  1098,
2321      1103,  1104,  1105,  1106,  1107,  1023,  1024,  1025,  1108,  1026,      1099,  1027,  1028,  1029,  1100,  1030,  1031,  1032,  1101,  1102,
2322      1027,  1028,  1109,  1116,  1029,  1140,  1110,  1030,  1410,  1411,      1033,  1103,  1104,  1034,  1420,  1421,  1422,  1423,  1424,  1105,
2323      1412,  1413,  1414,  1111,  1415,  1416,  1112,  1417,  1418,  1419,      1425,  1426,  1106,  1427,  1428,  1429,  1120,  1107,  1430,  1108,
2324      1113,  1114,  1420,  1115,  1141,  1117,  1142,  1118,  1119,  1121,      1109,  1144,  1145,  1146,  1110,  1111,  1112,  1113,  1431,  1432,
2325      1143,  1122,  1421,  1422,  1423,  1123,  1424,  1425,  1426,  1124,      1433,  1114,  1434,  1435,  1436,  1115,  1116,  1437,  1170,  1117,
2326      1125,  1427,  1162,  1126,  1428,  1127,  1128,  1164,  1166,  1129,      1438,  1118,  1119,  1172,  1174,  1183,  1121,  1122,  1123,  1125,
2327      1130,  1131,  1132,  1133,  1135,  1136,  1175,  1177,  1144,  1137,      1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,
2328      1178,  1179,  1145,  1146,  1180,  1147,  1148,  1149,  1150,  1151,      1136,  1137,  1139,  1147,  1140,  1141,  1148,  1149,  1150,  1151,
2329      1181,  1182,  1152,  1153,  1154,  1155,  1156,  1157,  1158,  1159,      1185,  1186,  1152,  1153,  1154,  1155,  1156,  1157,  1158,  1187,
2330      1160,  1161,  1183,  1165,  1188,  1163,  1168,  1167,  1187,  1192,      1159,  1160,  1161,  1166,  1167,  1168,  1188,  1169,  1189,  1190,
2331      1191,  1193,  1194,  1195,  1196,  1197,  1198,  1199,  1200,  1201,      1191,  1171,  1173,  1176,  1175,  1196,  1195,  1199,  1200,  1201,
2332      1202,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1210,  1239,      1202,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1211,  1210,
2333      1211,  1212,  1213,  1227,  1228,  1233,  1234,  1235,  1236,  1237,      1212,  1216,  1214,  1213,  1215,  1217,  1218,  1219,  1220,  1235,
2334      1238,  1243,  1244,  1245,  1246,  1247,  1248,  1249,  1269,  1250,      1221,  1236,  1241,  1242,  1243,  1244,  1245,  1246,  1247,  1263,
2335      1255,  1251,  1252,  1253,  1254,  1258,  1264,  1265,  1270,  1279,      1277,  1251,  1252,  1253,  1254,  1255,  1256,  1257,  1258,  1259,
2336      1281,  1273,  1271,  1285,  1287,  1289,  1347,  1272,  1291,  1274,      1260,  1261,  1262,  1266,  1272,  1278,  1273,  1287,  1279,  1289,
2337      1275,  1276,  1277,  1278,  1280,  1282,  1283,  1284,  1286,  1288,      1293,  1275,  1281,  1297,  1299,  1295,  1300,  1301,  1302,  1305,
2338      1290,  1292,  1293,  1294,  1295,  1309,  1310,  1386,  1324,  1325,      1280,  1282,  1283,  1284,  1285,  1286,  1288,  1290,  1319,  1291,
2339      1326,  1327,  1328,  1329,  1393,  1330,  1331,  1332,  1333,  1334,      1292,  1294,  1296,  1298,  1357,  1403,  1320,  1334,  1335,  1336,
2340      1335,  1336,   334,  1481,  1337,  1338,  1482,  1480,  1453,  1339,      1337,  1338,  1339,  1340,  1341,  1342,  1343,  1344,  1345,  1346,
2341       926,   776,  1340,  1387,  1341,   556,  1342,  1451,  1343,  1450,      1347,  1348,  1349,  1396,  1350,   336,  1351,  1352,  1353,  1444,
2342      1344,   882,   764,  1476,   877,   851,  1139,  1477,   948,  1479,      1493,  1354,  1492,  1355,  1356,  1464,  1143,  1361,  1491,  1362,
2343      1478,  1452,   769,   670,   366,  1447,   677,   433,  1449,  1363,       779,   767,   930,  1397,  1462,  1461,   881,  1487,  1488,   886,
2344      1362,  1448,   354,   745,  1345,  1346,  1351,     0,  1352,     0,      1463,   952,   772,   854,  1489,  1490,   368,  1458,  1373,   435,
2345      1353,  1354,  1355,  1356,  1357,  1358,     0,  1359,  1388,  1389,      1372,  1460,   680,  1459,   356,     0,     0,     0,  1363,  1364,
2346      1390,  1391,     0,     0,     0,  1392,  1397,     0,  1398,     0,      1365,  1366,  1367,  1368,  1369,  1398,  1399,  1400,  1401,  1402,
2347      1399,  1400,  1401,  1402,  1403,  1404,  1405,  1406,  1407,  1408,      1407,  1408,     0,  1409,     0,  1410,     0,     0,     0,  1411,
2348      1409,  1431,  1432,  1433,     0,     0,   518,     0,     0,     0,         0,  1412,  1413,  1414,  1415,  1416,  1417,  1418,  1419,  1441,
2349        1442,  1443,   520,   673,     0,     0,     0,     0,   748,     0,
2350         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   523,     0,     0,     0,     0,     0,     0,     0,  
2351         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2352       542         0,     0,     0,   544
2353  };  };
2354    
2355  static const yytype_int16 yycheck[] =  static const yytype_int16 yycheck[] =
2356  {  {
2357       340,   341,   426,     1,    11,     1,    11,   347,     1,     1,       342,   343,   428,     1,   264,     1,   264,   349,     1,   264,
2358       259,     1,     1,     1,   263,     1,   259,   259,   259,     1,         1,   264,    11,     1,   264,     1,     1,   262,     1,   155,
2359       263,   263,   263,   261,     1,     1,   259,     1,   155,   259,         1,   266,    11,    10,     1,    12,     1,   264,     1,   262,
2360       263,     8,     9,   263,   259,    12,   155,   377,   263,   379,       263,     8,     9,     1,     1,    12,   264,   379,   264,   381,
2361        22,    37,    19,     1,   259,   261,    22,   261,   263,    41,        27,    37,    19,   155,    31,     1,     1,    22,     4,   199,
2362       259,    28,    48,   393,   263,    32,    33,   261,    14,    15,       200,    28,    48,   395,    22,    32,    33,     1,   199,   200,
2363        16,   401,    39,     1,    56,   261,    43,    44,    45,    55,       262,   403,    39,     1,   266,   264,    43,    44,    45,    55,
2364        47,   261,   412,   413,    78,   415,    53,   259,   259,     1,        47,   264,   414,   415,   264,   417,    53,   264,    78,   895,
2365         1,   263,   263,     4,   424,   425,    78,   427,    80,   259,       896,   897,   898,   899,   426,   427,    41,   429,   262,     1,
2366        82,    83,   261,   263,   261,    72,    73,   259,     1,    85,        46,   264,   266,    49,     1,    72,    73,   264,    91,    85,
2367        77,   263,    91,     1,     1,    91,     1,    84,   261,   101,        77,    56,  1053,  1054,  1055,    91,    91,    84,    91,   155,
2368         5,    88,    89,    90,   259,   260,    93,    20,   261,    96,        91,    88,    89,    90,   262,   264,    93,   262,   266,    96,
2369        97,     1,   261,    26,   122,    46,   122,   120,    49,   106,        97,   266,   120,    78,   264,    80,   122,    82,    83,   106,
2370         1,    26,   122,    91,   122,   112,   113,   261,   115,   116,       264,   122,   262,   262,     1,   112,   113,   266,   115,   116,
2371       117,   118,   119,    38,   126,   261,   120,    50,    51,   261,       117,   118,   119,    55,   265,   262,   101,   120,   104,   266,
2372       126,   261,    55,   130,     1,    50,   155,   150,   261,   157,         1,   126,   150,   130,     5,   122,   171,   172,   126,     1,
2373        55,    10,   139,    12,   141,   142,    69,   144,   154,    91,         1,     1,   139,   265,   141,   142,   122,   144,   154,   157,
2374       147,   148,    67,    76,   151,   157,   150,   133,    27,    74,       147,   148,   157,    85,   151,    26,   157,   150,   122,    91,
2375       261,   157,    31,   104,    79,   162,    81,     1,   186,   215,        20,   265,   157,   265,   122,   162,    26,    38,   265,   157,
2376       216,   198,    95,   198,    91,   259,   186,   262,   186,    94,        57,    58,    59,    60,    61,    62,    63,    64,   189,    50,
2377       540,   122,   262,     1,   181,   262,   183,   262,    55,   262,       542,   189,   201,   265,    55,   218,   219,   184,   265,   186,
2378       187,   196,   197,     1,   191,   192,   193,   194,   195,   157,        50,    51,   201,   190,   265,    55,    67,   194,   195,   196,
2379       123,   262,   199,   200,   196,   197,   230,   122,   131,   262,       197,   198,   189,    74,     1,   202,   203,   262,    79,    69,
2380       234,   208,   127,   262,   262,   157,   259,   262,    85,  1049,        81,   266,   265,   233,   211,   265,    76,   237,   105,     1,
2381      1050,  1051,   122,    41,    91,   262,   149,   262,   186,    37,       265,     3,   154,    94,     6,   189,    23,    24,    10,   265,
2382       262,   122,   262,   262,   149,   158,   159,   247,    56,   157,       157,   189,   262,    30,   262,    95,   266,   244,   266,   250,
2383       157,   262,   260,   240,   260,   242,   161,   260,   163,   164,       265,   265,   250,    25,    26,    27,   243,   263,   245,    31,
2384         1,   248,     3,   168,   260,     6,   253,     1,   260,    10,       263,   122,   263,   140,   251,   263,   127,   263,   263,   256,
2385        78,   258,    80,   260,    82,    83,   189,   190,   186,    13,       122,   122,   189,   123,   261,   265,   263,     1,    50,   265,
2386       259,   262,   262,     1,    25,    26,    27,   262,    86,     1,       263,   131,    54,    55,   250,   263,   263,   262,   149,    13,
2387        31,   262,   260,   101,   259,   262,   186,   154,   122,   247,       264,   266,   265,     1,     1,   265,   250,   263,   263,   149,
2388        34,    35,   261,   261,   261,   186,    40,   262,    42,    50,       161,   265,   163,   164,   265,   157,   157,   168,   158,   159,
2389       262,    23,    24,    54,    55,   262,   247,   262,    30,    37,        34,    35,   133,    85,   265,    87,    40,   264,    42,    14,
2390       262,   262,   262,   228,   122,    94,   124,   125,   260,   260,        15,    16,   109,   110,   111,   265,   265,   114,   100,    37,
2391       235,   259,     1,   157,   247,     4,   262,   262,   262,   247,        37,   265,   262,   250,   265,   122,   266,   189,   189,   265,
2392         1,   246,   247,   262,    85,   262,    87,   260,   262,   155,        48,   262,   192,   193,   221,   266,   265,   262,   135,   136,
2393       262,   256,   260,   262,   155,   260,   262,   247,     1,   100,       122,   266,     1,   265,   175,   176,   177,   178,   179,   265,
2394       262,   262,   186,   262,    98,    99,   262,   262,    86,   167,       265,     5,   265,   265,   265,   152,   153,   265,   265,   265,
2395       260,   169,   155,   107,   108,   262,    37,    46,   262,   260,       231,   265,   265,   265,    98,    99,   265,   238,   255,    86,
2396        49,   122,   241,   262,   182,   262,   262,    48,   262,   739,       265,   265,   154,   107,   108,   265,   263,   265,   249,   250,
2397       262,   262,   262,   262,   128,   129,   262,   109,   110,   111,       742,   265,    41,   180,    38,   265,   168,   265,   259,   265,
2398       262,   170,   114,   196,   122,   263,   124,   125,   262,   262,       250,   265,   263,   265,   128,   129,    50,    56,   265,   181,
2399       122,   145,   146,   154,    57,    58,    59,    60,    61,    62,       265,   263,   265,   263,   122,   122,   265,   124,   125,   265,
2400        63,    64,   156,   135,   136,   262,   262,   168,   226,    20,       265,   145,   146,    67,   265,   265,   265,   265,   265,    78,
2401        21,   165,   262,   202,   262,   104,   262,   178,   133,   262,        74,    80,   156,    82,    83,    79,   265,    81,   133,   265,
2402       152,   153,   262,   262,   262,   262,    94,   262,   217,   167,       265,   165,   222,   223,   224,   225,   226,   227,   228,   265,
2403       262,   169,   260,   122,   133,   262,   254,   255,   262,   262,        94,   265,   101,   265,   265,   265,   265,    20,    21,   265,
2404        51,   122,   105,   262,   182,   177,   262,   262,   237,   238,       167,   265,   169,   170,   265,   265,     1,   265,   265,   262,
2405       262,   262,   262,   262,   243,   244,   245,   246,    69,   891,       265,   265,   244,     8,     9,   265,   263,    12,   185,   265,
2406       892,   893,   894,   895,   262,    76,   262,   256,   133,   262,       265,   265,   265,   127,    19,   257,   265,   265,    51,   265,
2407       924,   262,   262,   196,   262,   262,   262,   140,   262,   262,       265,   263,   928,    28,   265,   262,   265,    32,    33,   143,
2408       241,   262,   262,   262,    95,   262,   262,   262,   226,   262,       265,   264,   155,   265,    39,   265,    69,   265,    43,    44,
2409       262,   262,   262,   254,   262,   249,   250,   251,   262,   260,        45,     1,    47,    76,   265,   265,   265,   161,    53,   163,
2410       262,   196,   170,   262,   262,   262,   260,   172,   173,   174,       164,   265,   229,   262,   265,   265,   155,   265,   252,   253,
2411       175,   176,   123,   262,   262,   262,   254,   255,   262,     1,       254,   265,    95,   265,   265,   265,   265,    72,    73,   263,
2412       131,   133,   260,   133,     1,   133,     8,     9,   260,   196,       265,   155,    77,     1,   265,   265,     4,    37,   262,    84,
2413        12,   133,   196,   259,   202,   196,   196,    19,   196,   196,       257,   258,   199,    88,    89,    90,   263,   133,    93,   133,
2414       196,   262,   262,   259,   914,   262,    28,   196,   155,   217,       123,    96,    97,   199,   199,     1,   918,   133,   131,     5,
2415        32,    33,   922,   923,   262,   218,   196,    39,   247,   133,       262,   106,   133,   133,   926,   927,   199,   112,   113,   199,
2416       171,    43,    44,    45,   155,    47,   133,   196,   196,   237,       115,   116,   117,   118,   119,   133,   199,   231,    46,   199,
2417       238,    53,   196,   133,   155,   243,   244,   245,   246,   190,        26,    49,   199,   199,   199,   130,    86,   265,   265,   155,
2418        57,    58,    59,    60,    61,    62,    63,    64,   256,   252,       262,   265,    38,   199,   139,   249,   141,   142,   265,   144,
2419        72,    73,   196,   133,   133,    77,   133,   260,   196,   196,       199,   174,   147,   148,    50,   259,   151,   133,    94,    55,
2420       196,     1,    84,   133,   155,     5,    88,    89,    90,   196,       133,   155,   199,   133,   199,     1,   199,   162,   155,   199,
2421       133,    93,   133,   133,    96,    97,   133,   155,   133,   133,       193,    67,   122,   133,   124,   125,   133,   133,    74,   133,
2422       196,     1,   155,   196,   106,   262,    26,   196,   105,   262,       199,   199,   199,    79,   155,    81,   104,    23,    24,   184,
2423       112,   113,   196,   115,   116,   117,   118,   119,    38,   196,       199,   186,   133,   133,    30,   190,   133,   155,    94,   194,
2424        20,   196,   196,   196,   196,   133,    26,   196,   130,   196,       195,   196,   197,   198,   122,   133,   133,   202,   203,   133,
2425        50,   196,   196,   259,   259,    55,   259,   139,   155,   141,       199,   199,   265,   199,   265,   199,   211,   167,   199,   169,
2426       142,   262,   144,   140,   155,   147,   148,    67,   262,   151,       170,   155,   199,   133,   199,   199,   122,   199,   133,   133,
2427        50,    51,   262,   262,    74,    55,   262,   262,   262,    79,       199,   127,   199,     1,     1,   185,     3,   173,   199,     6,
2428       162,    81,   262,     5,   262,   262,   155,   262,   155,    69,       199,   265,   155,    10,   155,    94,   155,   262,   243,   155,
2429       262,   262,   262,   155,    94,   155,    76,   262,   155,   181,       245,   265,   265,   149,   265,   262,   251,   262,    25,    26,
2430       262,   183,   155,   262,   262,   187,   262,   155,   155,   191,        27,   256,   265,   265,    31,   161,   261,   163,   164,   205,
2431       192,   193,   194,   195,   262,    95,    38,   199,   200,   262,       155,   155,   168,   109,   110,   111,   155,   155,   114,   229,
2432       262,   262,   122,   196,   259,   155,   208,   127,    50,   219,       265,   155,   265,    50,   220,   265,   122,    54,    55,    57,
2433       220,   221,   222,   223,   224,   225,   262,   155,   262,   155,        58,    59,    60,    61,    62,    63,    64,     1,   155,   135,
2434       259,   218,   196,   123,   262,    67,   259,   196,   259,   149,       136,   265,   265,   265,   240,   241,   199,   257,   258,    13,
2435       262,   131,    74,   196,   196,   196,   155,    79,   240,    81,       246,   247,   248,   249,   265,     1,   152,   153,    85,   265,
2436       242,   161,   196,   163,   164,     1,   248,     3,   168,   149,        87,   265,   265,   259,   173,   155,   265,   265,   155,   262,
2437         6,   253,    94,   155,    10,   252,   258,   155,   158,   159,        34,    35,   250,   100,    20,   231,    40,   105,    42,   265,
2438       155,   155,   155,   155,   133,   155,   155,   259,   259,    25,        26,   262,   238,   265,   180,   265,   265,   262,   265,   265,
2439        26,    27,     1,   133,     1,    31,   262,   262,   259,   262,       155,   265,   199,   249,   250,   122,   205,   265,   265,   199,
2440       259,   259,   133,   259,    13,   127,   133,   259,   259,   189,       199,   199,   199,   259,    50,    51,   155,   262,   199,    55,
2441       190,   155,   262,   259,    50,   259,    23,    24,    54,    55,       155,   220,   140,   155,   155,   155,   155,   265,   155,   155,
2442       259,   143,   259,    30,   259,    34,    35,   259,   228,   262,       155,   262,   262,    69,   204,   277,   315,   154,   265,   265,
2443       259,    40,   259,    42,   259,   235,   259,   259,   259,   161,        76,   240,   241,   262,    98,    99,   262,   246,   247,   248,
2444       259,   163,   164,   155,   259,   259,   246,   247,   259,    85,       249,   168,   265,   107,   108,   265,   262,   262,   262,    95,
2445       259,    87,   262,   259,   262,   262,   256,   262,   262,   262,       259,   262,   262,   265,   181,   155,   262,   262,     0,     1,
2446       262,   262,   259,   259,   100,     0,     1,   247,   262,   262,       262,   262,   265,     5,   128,   129,   155,   262,   262,   262,
2447         5,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   155,   155,   262,   262,   133,   262,   123,   262,   262,
2448       155,   262,   155,   262,   201,   262,   122,    22,   259,    98,        22,   145,   146,   262,    26,   131,   262,    29,   262,   262,
2449        99,    26,   155,   196,    29,   262,   262,   262,   107,   108,       265,   262,   156,   221,    36,   265,   265,   265,   265,   265,
2450       262,    36,   109,   110,   111,   262,   228,   114,   262,   262,       262,   165,   265,   149,   265,   265,   265,   265,   265,   265,
2451       262,   259,   259,   259,   259,   122,   259,    52,   154,   128,        52,   265,   158,   159,   265,   265,   133,   244,   265,   265,
2452       129,   259,   259,   259,   246,   259,   259,   259,   135,   136,       155,   265,   265,    65,    66,   199,    68,   255,   155,   199,
2453        65,    66,   168,    68,   256,   259,   145,   146,   259,   259,       257,   265,   265,    75,   265,   265,   265,   155,   199,   265,
2454        75,   259,   178,   259,   259,   152,   153,   156,   259,   259,       265,   265,   265,   262,   262,   262,   192,   193,   262,   262,
2455       259,   259,   259,   259,   259,   259,   165,    92,   259,   259,        92,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2456       259,   259,   259,   259,   259,   259,   259,   102,   259,   104,       102,   262,   104,   262,   262,   262,   262,   262,   262,   262,
2457       177,   203,   204,   205,   206,   207,   259,   209,   210,   259,       262,   262,   262,   199,   262,   262,   262,   262,   199,   121,
2458       212,   213,   214,   259,   262,   217,   121,   259,   259,   259,       262,   262,   262,   262,   262,   262,   262,   262,   252,   253,
2459       259,   259,   259,   259,   259,   227,   228,   229,   259,   231,       254,   206,   207,   208,   209,   210,   138,   212,   213,   262,
2460       232,   233,   259,   138,   236,   241,   259,   239,   259,   259,       215,   216,   217,   262,   250,   220,   262,   262,   262,   262,
2461       259,   259,   259,   259,   259,   155,   196,   259,   254,   262,       262,   262,   262,   262,   262,   230,   231,   232,   262,   234,
2462       196,   155,   196,   262,   196,   196,   196,   196,   196,   155,       235,   236,   262,   262,   239,   262,   262,   242,   262,   262,
2463       155,   155,   196,   155,   259,   170,   155,   155,   262,   259,       262,   173,   262,   199,   265,   199,   265,   262,   199,   199,
2464       249,   250,   251,   262,   179,   180,   155,   155,   259,   184,       182,   183,   265,   155,   155,   187,   188,   206,   207,   208,
2465       185,   203,   204,   205,   206,   207,   259,   209,   210,   259,       209,   210,   155,   212,   213,   199,   215,   216,   217,   155,
2466       212,   213,   214,   259,   259,   217,   259,   259,   259,   259,       262,   220,   155,   155,   265,   262,   265,   155,   155,   262,
2467       259,   259,   259,   259,   259,   227,   228,   229,   259,   231,       262,   230,   231,   232,   262,   234,   235,   236,   262,   262,
2468       232,   233,   259,   262,   236,   155,   259,   239,   203,   204,       239,   262,   262,   242,   206,   207,   208,   209,   210,   262,
2469       205,   206,   207,   259,   209,   210,   259,   212,   213,   214,       212,   213,   262,   215,   216,   217,   265,   262,   220,   262,
2470       259,   259,   217,   259,   155,   262,   155,   262,   262,   262,       262,   155,   155,   155,   262,   262,   262,   262,   230,   231,
2471       259,   262,   227,   228,   229,   262,   231,   232,   233,   262,       232,   262,   234,   235,   236,   262,   262,   239,   155,   262,
2472       262,   236,   155,   262,   239,   262,   262,   155,   155,   262,       242,   262,   262,   155,   155,   133,   265,   265,   265,   265,
2473       262,   262,   262,   262,   262,   262,   133,   133,   259,   262,       265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2474       133,   133,   259,   259,   133,   259,   259,   259,   259,   259,       265,   265,   265,   262,   265,   265,   262,   262,   262,   262,
2475       155,   133,   259,   259,   259,   259,   259,   259,   259,   259,       133,   133,   262,   262,   262,   262,   262,   262,   262,   133,
2476       259,   259,   133,   259,   155,   262,   259,   262,   259,   155,       262,   262,   262,   262,   262,   262,   133,   262,   155,   133,
2477       196,   155,   196,   196,   196,   155,   262,   155,   155,   155,       133,   265,   262,   262,   265,   155,   262,   199,   155,   155,
2478       155,   133,   155,   155,   196,   155,   259,   259,   259,   132,       199,   199,   199,   155,   265,   155,   155,   155,   133,   155,
2479       259,   259,   160,   259,   259,   259,   259,   259,   259,   259,       155,   262,   199,   155,   155,   262,   262,   262,   262,   262,
2480       259,   259,   259,   259,   259,   259,   259,   259,   196,   259,       160,   262,   262,   262,   262,   262,   262,   262,   132,   160,
2481       160,   259,   259,   259,   259,   259,   259,   259,   155,   155,       199,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2482       155,   262,   196,   155,   262,   155,   132,   196,   259,   196,       262,   262,   262,   262,   262,   155,   262,   155,   199,   155,
2483       196,   196,   196,   196,   196,   196,   196,   196,   196,   196,       155,   266,   265,   155,   262,   265,   262,   262,   262,   262,
2484       196,   259,   259,   259,   259,   259,   259,   133,   259,   259,       199,   199,   199,   199,   199,   199,   199,   199,   262,   199,
2485       259,   259,   259,   259,   132,   259,   259,   259,   259,   259,       199,   199,   199,   199,   132,   132,   262,   262,   262,   262,
2486       259,   259,    71,  1456,   259,   259,  1475,  1454,  1385,   259,       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2487       611,   499,   259,  1267,   259,   314,   259,  1370,   259,  1368,       262,   262,   262,   133,   262,    71,   262,   262,   262,  1304,
2488       259,   569,   466,  1435,   561,   529,   822,  1437,   646,  1440,      1486,   262,  1467,   262,   262,  1395,   825,   262,  1465,   262,
2489      1438,  1383,   489,   360,   124,  1361,   372,   185,  1367,  1219,       501,   468,   614,  1275,  1380,  1378,   564,  1446,  1448,   572,
2490      1217,  1365,    95,   441,   259,   259,   259,    -1,   259,    -1,      1393,   649,   491,   531,  1449,  1451,   124,  1371,  1227,   185,
2491       259,   259,   259,   259,   259,   259,    -1,   259,   259,   259,      1225,  1377,   374,  1375,    95,    -1,    -1,    -1,   262,   262,
2492       259,   259,    -1,    -1,    -1,   259,   259,    -1,   259,    -1,       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2493       259,   259,   259,   259,   259,   259,   259,   259,   259,   259,       262,   262,    -1,   262,    -1,   262,    -1,    -1,    -1,   262,
2494       259,   259,   259,   259,    -1,    -1,   260,    -1,    -1,    -1,        -1,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2495         262,   262,   260,   362,    -1,    -1,    -1,    -1,   443,    -1,
2496        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,   277,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2497        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2498       293        -1,    -1,    -1,   293
2499  };  };
2500    
2501  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2502     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2503  static const yytype_uint16 yystos[] =  static const yytype_uint16 yystos[] =
2504  {  {
2505         0,   265,     0,     1,     5,    22,    26,    29,    36,    52,         0,   268,     0,     1,     5,    22,    26,    29,    36,    52,
2506        65,    66,    68,    75,    92,   102,   104,   121,   138,   170,        65,    66,    68,    75,    92,   102,   104,   121,   138,   173,
2507       179,   180,   184,   185,   266,   271,   276,   290,   296,   311,       182,   183,   187,   188,   269,   274,   279,   297,   303,   318,
2508       348,   367,   381,   407,   414,   424,   433,   464,   474,   480,       355,   374,   388,   414,   421,   431,   440,   471,   481,   487,
2509       484,   494,   559,   575,   596,   259,   260,   261,   261,   349,       491,   501,   566,   582,   603,   262,   263,   264,   264,   356,
2510       434,   475,   261,   485,   261,   560,   382,   465,   368,   261,       441,   482,   264,   492,   264,   567,   389,   472,   375,   264,
2511       261,   312,   408,   261,   261,   415,   425,     1,    37,    48,       264,   319,   415,   264,   264,   422,   432,     1,    37,    48,
2512       122,   291,   292,   293,   294,   295,     1,    13,    34,    35,       122,   298,   299,   300,   301,   302,     1,    13,    34,    35,
2513        40,    42,    98,    99,   107,   108,   128,   129,   145,   146,        40,    42,    98,    99,   107,   108,   128,   129,   145,   146,
2514       156,   165,   249,   250,   251,   576,   577,   578,   579,   580,       156,   165,   252,   253,   254,   583,   584,   585,   586,   587,
2515       581,   582,   583,   584,   585,   586,   587,   588,   589,   590,       588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
2516       591,   592,   593,   594,   595,   155,   350,   354,   155,   435,       598,   599,   600,   601,   602,   155,   357,   361,   155,   442,
2517       439,   261,     1,    91,   481,   482,   483,   261,     1,     8,       446,   264,     1,    91,   488,   489,   490,   264,     1,     8,
2518         9,    12,    19,    28,    32,    33,    39,    43,    44,    45,         9,    12,    19,    28,    32,    33,    39,    43,    44,    45,
2519        47,    53,    72,    73,    77,    84,    88,    89,    90,    93,        47,    53,    72,    73,    77,    84,    88,    89,    90,    93,
2520        96,    97,   106,   112,   113,   115,   116,   117,   118,   119,        96,    97,   106,   112,   113,   115,   116,   117,   118,   119,
2521       130,   139,   141,   142,   144,   147,   148,   151,   162,   181,       130,   139,   141,   142,   144,   147,   148,   151,   162,   184,
2522       183,   187,   191,   192,   193,   194,   195,   199,   200,   208,       186,   190,   194,   195,   196,   197,   198,   202,   203,   211,
2523       240,   242,   248,   253,   258,   495,   496,   497,   498,   499,       243,   245,   251,   256,   261,   502,   503,   504,   505,   506,
2524       500,   501,   502,   503,   504,   505,   506,   507,   508,   509,       507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
2525       510,   511,   512,   513,   514,   515,   516,   517,   518,   519,       517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
2526       520,   521,   522,   523,   524,   525,   526,   527,   528,   529,       527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
2527       530,   531,   532,   533,   534,   535,   536,   537,   538,   539,       537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
2528       540,   541,   542,   543,   544,   545,   546,   550,   554,   555,       547,   548,   549,   550,   551,   552,   553,   557,   561,   562,
2529       556,   557,   558,   261,   261,   261,   261,     1,    57,    58,       563,   564,   565,   264,   264,   264,   264,     1,    57,    58,
2530        59,    60,    61,    62,    63,    64,   105,   140,   218,   252,        59,    60,    61,    62,    63,    64,   105,   140,   221,   255,
2531       297,   298,   299,   300,   301,   302,   303,   304,   305,   306,       304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2532       307,   308,   309,   310,     1,   120,   150,   272,   273,   274,       314,   315,   316,   317,     1,   120,   150,   275,   276,   277,
2533       275,   155,   313,   317,   261,     1,    41,    56,    78,    80,       278,   155,   320,   324,   264,     1,    41,    56,    78,    80,
2534        82,    83,   101,   597,   598,   599,   600,   601,   602,   603,        82,    83,   101,   604,   605,   606,   607,   608,   609,   610,
2535       604,   605,     1,    37,    86,   122,   124,   125,   167,   169,       611,   612,     1,    37,    86,   122,   124,   125,   167,   169,
2536       182,   226,   254,   255,   277,   278,   279,   280,   281,   282,       170,   185,   229,   257,   258,   280,   281,   282,   286,   287,
2537       283,   284,   285,   286,   287,   288,   289,   261,   261,   259,       288,   289,   290,   291,   292,   293,   294,   295,   296,   264,
2538       262,   262,   262,   260,   292,   262,   262,   262,   262,   262,       264,   262,   265,   265,   265,   263,   299,   265,   265,   265,
2539         265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2540         265,   265,   265,   265,   265,   263,   584,   264,   264,     1,
2541          91,   157,   483,   484,   485,   486,   265,   263,   489,     1,
2542         122,   157,   189,   493,   497,   498,   499,   500,   265,   265,
2543         265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2544         265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2545         265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2546         265,   558,   265,   554,   265,   265,   265,   265,   265,   265,
2547         265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2548         265,   265,   265,   265,   263,   503,     1,     4,    46,    49,
2549         104,   122,   250,   568,   569,   570,   571,   572,   576,   577,
2550         578,     1,    20,    26,    50,    51,    55,    69,    76,    95,
2551         123,   131,   149,   158,   159,   192,   193,   250,   390,   391,
2552         392,   393,   394,   395,   396,   397,   404,   405,   406,   407,
2553         408,   409,   410,   411,   412,   413,     1,   157,   189,   250,
2554         473,   477,   478,   479,   480,     1,    55,    85,    91,   154,
2555         376,   380,   381,   382,   386,   387,   262,   265,   265,   265,
2556         265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2557         305,   262,   265,   265,   263,   276,   264,     1,    22,   126,
2558         157,   416,   417,   418,   419,   420,   265,   265,   265,   265,
2559         265,   265,   265,   263,   605,   262,   265,   265,   265,   265,
2560         265,   265,   265,   283,   265,   265,   265,   265,   263,   281,
2561           1,   122,   189,   250,   423,   424,   425,   426,   427,     1,
2562         122,   189,   433,   434,   435,   436,   155,   155,   155,   262,
2563         199,   133,   133,   199,   199,   133,   271,   271,   133,   133,
2564         199,   199,   133,   271,   199,   199,   199,   199,   199,   262,
2565           1,    23,    24,    30,   109,   110,   111,   114,   122,   135,
2566         136,   152,   153,   180,   358,   359,   360,   362,   363,   364,
2567         365,   366,   367,   368,   369,   370,   371,   372,   373,     1,
2568           3,     6,    10,    25,    26,    27,    31,    50,    54,    55,
2569          85,    87,   100,   122,   154,   168,   181,   244,   257,   443,
2570         444,   445,   447,   448,   449,   450,   451,   452,   453,   454,
2571         461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
2572         265,   265,   263,   484,   155,   262,   265,   265,   494,   263,
2573         498,   199,   271,   199,   271,   133,   155,   133,   199,   199,
2574         199,   133,   155,   199,   133,   133,   133,   199,   271,   199,
2575         199,   133,   155,   199,   133,   133,   271,   133,   133,   155,
2576         133,   133,   199,   199,   265,   199,   265,   271,   271,   199,
2577         271,   155,   199,   199,   199,   199,   200,   199,   200,   199,
2578         199,   271,   271,   133,   273,   271,   199,   199,   199,   199,
2579         262,   579,   265,   265,   573,   265,   265,   263,   569,   262,
2580         265,   265,   265,   265,   398,   265,   265,   265,   265,   265,
2581         265,   265,   265,   265,   265,   265,   263,   391,   265,   474,
2582         265,   263,   478,   262,   377,   265,   265,   265,   263,   381,
2583         155,   155,   155,   155,   155,   155,   155,   155,   222,   223,
2584         224,   225,   226,   227,   228,   155,   155,   199,   262,   155,
2585         155,   262,     1,     5,    26,    38,    50,    55,    67,    74,
2586          79,    81,    94,   122,   127,   149,   161,   163,   164,   168,
2587         231,   238,   249,   250,   259,   321,   322,   323,   325,   326,
2588         327,   328,   329,   330,   334,   335,   336,   337,   338,   339,
2589         340,   341,   342,   343,   344,   345,   346,   347,   348,   262,
2590         265,   265,   265,   263,   417,   199,   199,   199,   155,   199,
2591         199,   271,   262,   155,   199,   155,   155,   155,   155,   155,
2592         265,   155,   133,   155,   155,   262,   262,   265,   428,   265,
2593         263,   424,   262,   265,   437,   263,   434,   262,   262,   262,
2594         262,   262,   262,   262,   262,   175,   176,   177,   178,   179,
2595         270,   271,   262,   262,   262,   262,   262,   262,   262,   262,
2596         262,   262,   262,   262,   262,   262,   265,   265,   265,   265,
2597         265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2598         359,   262,   265,   265,   265,   265,   265,   265,   265,   265,
2599         265,   455,   265,   265,   265,   265,   265,   265,   265,   265,
2600         265,   263,   444,   155,   155,   262,   262,   155,   155,   265,
2601         262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2602         262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2603         262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2604         262,   262,   262,   262,   206,   207,   208,   209,   210,   212,
2605         213,   215,   216,   217,   220,   230,   231,   232,   234,   235,
2606         236,   239,   242,   559,   560,   262,   206,   207,   208,   209,
2607         210,   212,   213,   215,   216,   217,   220,   230,   231,   232,
2608         234,   235,   236,   239,   242,   555,   556,   262,   262,   262,
2609         262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2610         262,   262,   262,    14,    15,    16,   272,   273,   262,   262,
2611         262,   262,   262,   262,   265,   271,   199,   265,   155,   155,
2612         262,   199,   155,   199,   199,   265,   199,   199,   199,   199,
2613         199,   155,   133,   155,   155,   199,   155,   262,   155,   265,
2614         155,   262,   265,   155,   155,   133,   384,   385,   262,   262,
2615       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
      262,   262,   262,   260,   577,   261,   261,     1,    91,   157,  
      476,   477,   478,   479,   262,   260,   482,     1,   122,   157,  
      186,   486,   490,   491,   492,   493,   262,   262,   262,   262,  
2616       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2617         265,   265,   265,   265,   349,   265,   265,   265,   265,   265,
2618         265,   265,   265,   265,   265,   265,   265,   265,   331,   265,
2619         265,   265,   263,   322,   155,   155,   155,   262,   262,   262,
2620       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2621       262,   262,   262,   262,   262,   262,   262,   262,   262,   551,       262,   262,   171,   172,   284,   285,   262,   262,   262,   262,
2622       262,   547,   262,   262,   262,   262,   262,   262,   262,   262,       155,   265,   155,   262,   155,   265,   262,   270,   270,   270,
2623         270,   270,   133,   133,   271,   133,   133,   133,   133,   155,
2624         133,   133,   271,   271,   273,   262,   155,   218,   219,   199,
2625         155,   155,   199,   199,   199,   155,   265,   155,   155,   155,
2626         155,   133,   155,   155,   199,   155,   262,   262,   262,   262,
2627         262,   160,   495,   496,   262,   266,   262,   266,   272,   272,
2628         272,    11,   201,   580,   581,   262,   262,    11,   201,   574,
2629         575,   262,   262,   262,   262,   262,   262,   132,   399,   400,
2630         402,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2631         262,   262,   262,   160,   475,   476,   262,    78,   233,   237,
2632         378,   379,   262,   262,   204,   266,   383,   199,   155,   199,
2633         199,   265,   199,   199,   199,   199,   199,   155,   199,   155,
2634         199,   199,   199,   155,   199,   265,   199,   155,   199,   262,
2635         262,   262,   262,   262,   266,   262,    94,   173,   205,   220,
2636         240,   241,   246,   247,   248,   249,   259,   429,   430,   262,
2637         262,    94,   173,   205,   220,   240,   241,   246,   247,   248,
2638         249,   259,   438,   439,   262,   262,   262,   262,   262,   262,
2639       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2640       262,   262,   260,   496,     1,     4,    46,    49,   104,   122,       262,   262,   262,   262,   262,   262,   262,   132,   456,   457,
2641       247,   561,   562,   563,   564,   565,   569,   570,   571,     1,       459,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2642        20,    26,    50,    51,    55,    69,    76,    95,   123,   131,       262,   266,   560,   556,   262,   266,   262,   266,   401,   262,
2643       149,   158,   159,   189,   190,   247,   383,   384,   385,   386,       266,    20,    21,    51,    69,    76,    95,   123,   131,   174,
2644       387,   388,   389,   390,   397,   398,   399,   400,   401,   402,       193,   403,   262,   266,   262,   266,   133,   385,   262,   262,
2645       403,   404,   405,   406,     1,   157,   186,   247,   466,   470,       262,   262,   262,   132,   350,   351,   353,   262,   262,   262,
2646       471,   472,   473,     1,    55,    85,    91,   154,   369,   373,       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2647       374,   375,   379,   380,   259,   262,   262,   262,   262,   262,       206,   207,   208,   209,   210,   212,   213,   215,   216,   217,
2648       262,   262,   262,   262,   262,   262,   262,   260,   298,   259,       220,   230,   231,   232,   234,   235,   236,   239,   242,   332,
2649       262,   262,   260,   273,   261,     1,    22,   126,   157,   409,       333,   262,   262,   262,   285,   262,   266,   262,   266,   458,
2650       410,   411,   412,   413,   262,   262,   262,   262,   262,   262,       262,   266,    10,    12,    27,    31,   244,   460,   496,   581,
2651       262,   260,   598,   259,   262,   262,   262,   262,   262,   262,       575,   403,   400,   476,   379,   352,   262,   266,     5,    38,
2652       262,   262,   262,   262,   262,   260,   278,     1,   122,   186,        50,    67,    74,    79,    81,    94,   127,   143,   161,   163,
2653       247,   416,   417,   418,   419,   420,     1,   122,   186,   426,       164,   231,   249,   259,   354,   262,   266,   430,   439,   460,
2654       427,   428,   429,   155,   155,   155,   259,   196,   133,   133,       457,   354,   351,   333
      196,   196,   133,   268,   268,   133,   133,   196,   196,   133,  
      268,   196,   196,   196,   196,   196,   259,     1,    23,    24,  
       30,   109,   110,   111,   114,   122,   135,   136,   152,   153,  
      177,   351,   352,   353,   355,   356,   357,   358,   359,   360,  
      361,   362,   363,   364,   365,   366,     1,     3,     6,    10,  
       25,    26,    27,    31,    50,    54,    55,    85,    87,   100,  
      122,   154,   168,   178,   241,   254,   436,   437,   438,   440,  
      441,   442,   443,   444,   445,   446,   447,   454,   455,   456,  
      457,   458,   459,   460,   461,   462,   463,   262,   262,   260,  
      477,   155,   259,   262,   262,   487,   260,   491,   196,   268,  
      196,   268,   133,   155,   133,   196,   196,   196,   133,   155,  
      196,   133,   133,   133,   196,   268,   196,   196,   133,   155,  
      196,   133,   133,   268,   133,   133,   155,   133,   133,   196,  
      196,   262,   196,   262,   268,   268,   196,   268,   155,   196,  
      196,   196,   196,   197,   196,   197,   196,   196,   268,   268,  
      133,   270,   268,   196,   196,   196,   196,   259,   572,   262,  
      262,   566,   262,   262,   260,   562,   259,   262,   262,   262,  
      262,   391,   262,   262,   262,   262,   262,   262,   262,   262,  
      262,   262,   262,   260,   384,   262,   467,   262,   260,   471,  
      259,   370,   262,   262,   262,   260,   374,   155,   155,   155,  
      155,   155,   155,   155,   155,   219,   220,   221,   222,   223,  
      224,   225,   155,   155,   196,   259,   155,   155,   259,     1,  
        5,    26,    38,    50,    55,    67,    74,    79,    81,    94,  
      122,   127,   149,   161,   163,   164,   168,   228,   235,   246,  
      247,   256,   314,   315,   316,   318,   319,   320,   321,   322,  
      323,   327,   328,   329,   330,   331,   332,   333,   334,   335,  
      336,   337,   338,   339,   340,   341,   259,   262,   262,   262,  
      260,   410,   196,   196,   196,   155,   196,   196,   268,   259,  
      155,   196,   155,   155,   155,   155,   155,   155,   133,   155,  
      155,   259,   259,   262,   421,   262,   260,   417,   259,   262,  
      430,   260,   427,   259,   259,   259,   259,   259,   259,   259,  
      259,   172,   173,   174,   175,   176,   267,   268,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   262,   262,   262,   262,   262,   262,   262,   262,  
      262,   262,   262,   262,   262,   260,   352,   259,   262,   262,  
      262,   262,   262,   262,   262,   262,   262,   448,   262,   262,  
      262,   262,   262,   262,   262,   262,   262,   260,   437,   155,  
      155,   259,   259,   155,   155,   262,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      203,   204,   205,   206,   207,   209,   210,   212,   213,   214,  
      217,   227,   228,   229,   231,   232,   233,   236,   239,   552,  
      553,   259,   203,   204,   205,   206,   207,   209,   210,   212,  
      213,   214,   217,   227,   228,   229,   231,   232,   233,   236,  
      239,   548,   549,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,    14,  
       15,    16,   269,   270,   259,   259,   259,   259,   259,   259,  
      262,   268,   196,   262,   155,   155,   259,   196,   155,   196,  
      196,   262,   196,   196,   196,   196,   196,   155,   133,   155,  
      155,   196,   155,   259,   155,   262,   155,   259,   262,   155,  
      155,   133,   377,   378,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   262,   262,   262,   262,  
      342,   262,   262,   262,   262,   262,   262,   262,   262,   262,  
      262,   262,   262,   262,   324,   262,   262,   262,   260,   315,  
      155,   155,   155,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   155,   262,   155,   259,   155,   262,   259,   267,  
      267,   267,   267,   267,   133,   133,   268,   133,   133,   133,  
      133,   155,   133,   133,   268,   268,   270,   259,   155,   215,  
      216,   196,   155,   155,   196,   196,   196,   155,   262,   155,  
      155,   155,   155,   133,   155,   155,   196,   155,   259,   259,  
      259,   259,   259,   160,   488,   489,   259,   263,   259,   263,  
      269,   269,   269,    11,   198,   573,   574,   259,   259,    11,  
      198,   567,   568,   259,   259,   259,   259,   259,   259,   132,  
      392,   393,   395,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   160,   468,   469,   259,    78,  
      230,   234,   371,   372,   259,   259,   201,   263,   376,   196,  
      155,   196,   196,   262,   196,   196,   196,   196,   196,   155,  
      196,   155,   196,   196,   196,   155,   196,   262,   196,   155,  
      196,   259,   259,   259,   259,   259,    94,   170,   202,   217,  
      237,   238,   243,   244,   245,   246,   256,   422,   423,   259,  
      259,    94,   170,   202,   217,   237,   238,   243,   244,   245,  
      246,   256,   431,   432,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   132,   449,   450,  
      452,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      259,   263,   553,   549,   259,   263,   259,   263,   394,   259,  
      263,    20,    21,    51,    69,    76,    95,   123,   131,   171,  
      190,   396,   259,   263,   259,   263,   133,   378,   259,   259,  
      259,   259,   259,   132,   343,   344,   346,   259,   259,   259,  
      259,   259,   259,   259,   259,   259,   259,   259,   259,   259,  
      203,   204,   205,   206,   207,   209,   210,   212,   213,   214,  
      217,   227,   228,   229,   231,   232,   233,   236,   239,   325,  
      326,   259,   259,   259,   259,   263,   259,   263,   451,   259,  
      263,    10,    12,    27,    31,   241,   453,   489,   574,   568,  
      396,   393,   469,   372,   345,   259,   263,     5,    38,    50,  
       67,    74,    79,    81,    94,   127,   143,   161,   163,   164,  
      228,   246,   256,   347,   259,   263,   423,   432,   453,   450,  
      347,   344,   326  
2655  };  };
2656    
2657  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
# Line 2806  yy_symbol_print (yyoutput, yytype, yyval Line 2836  yy_symbol_print (yyoutput, yytype, yyval
2836  #if (defined __STDC__ || defined __C99__FUNC__ \  #if (defined __STDC__ || defined __C99__FUNC__ \
2837       || defined __cplusplus || defined _MSC_VER)       || defined __cplusplus || defined _MSC_VER)
2838  static void  static void
2839  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)  yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2840  #else  #else
2841  static void  static void
2842  yy_stack_print (bottom, top)  yy_stack_print (yybottom, yytop)
2843      yytype_int16 *bottom;      yytype_int16 *yybottom;
2844      yytype_int16 *top;      yytype_int16 *yytop;
2845  #endif  #endif
2846  {  {
2847    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2848    for (; bottom <= top; ++bottom)    for (; yybottom <= yytop; yybottom++)
2849      YYFPRINTF (stderr, " %d", *bottom);      {
2850          int yybot = *yybottom;
2851          YYFPRINTF (stderr, " %d", yybot);
2852        }
2853    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2854  }  }
2855    
# Line 2850  yy_reduce_print (yyvsp, yyrule) Line 2883  yy_reduce_print (yyvsp, yyrule)
2883    /* The symbols being reduced.  */    /* The symbols being reduced.  */
2884    for (yyi = 0; yyi < yynrhs; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2885      {      {
2886        fprintf (stderr, "   $%d = ", yyi + 1);        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2887        yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],        yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2888                         &(yyvsp[(yyi + 1) - (yynrhs)])                         &(yyvsp[(yyi + 1) - (yynrhs)])
2889                                         );                                         );
2890        fprintf (stderr, "\n");        YYFPRINTF (stderr, "\n");
2891      }      }
2892  }  }
2893    
# Line 3134  yydestruct (yymsg, yytype, yyvaluep) Line 3167  yydestruct (yymsg, yytype, yyvaluep)
3167          break;          break;
3168      }      }
3169  }  }
   
3170    
3171  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
   
3172  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3173  #if defined __STDC__ || defined __cplusplus  #if defined __STDC__ || defined __cplusplus
3174  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
# Line 3153  int yyparse (); Line 3184  int yyparse ();
3184  #endif /* ! YYPARSE_PARAM */  #endif /* ! YYPARSE_PARAM */
3185    
3186    
3187    /* The lookahead symbol.  */
 /* The look-ahead symbol.  */  
3188  int yychar;  int yychar;
3189    
3190  /* The semantic value of the look-ahead symbol.  */  /* The semantic value of the lookahead symbol.  */
3191  YYSTYPE yylval;  YYSTYPE yylval;
3192    
3193  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
# Line 3165  int yynerrs; Line 3195  int yynerrs;
3195    
3196    
3197    
3198  /*----------.  /*-------------------------.
3199  | yyparse.  |  | yyparse or yypush_parse.  |
3200  `----------*/  `-------------------------*/
3201    
3202  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3203  #if (defined __STDC__ || defined __C99__FUNC__ \  #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3191  yyparse () Line 3221  yyparse ()
3221  #endif  #endif
3222  #endif  #endif
3223  {  {
3224      
3225    int yystate;  
3226        int yystate;
3227        /* Number of tokens to shift before error messages enabled.  */
3228        int yyerrstatus;
3229    
3230        /* The stacks and their tools:
3231           `yyss': related to states.
3232           `yyvs': related to semantic values.
3233    
3234           Refer to the stacks thru separate pointers, to allow yyoverflow
3235           to reallocate them elsewhere.  */
3236    
3237        /* The state stack.  */
3238        yytype_int16 yyssa[YYINITDEPTH];
3239        yytype_int16 *yyss;
3240        yytype_int16 *yyssp;
3241    
3242        /* The semantic value stack.  */
3243        YYSTYPE yyvsa[YYINITDEPTH];
3244        YYSTYPE *yyvs;
3245        YYSTYPE *yyvsp;
3246    
3247        YYSIZE_T yystacksize;
3248    
3249    int yyn;    int yyn;
3250    int yyresult;    int yyresult;
3251    /* Number of tokens to shift before error messages enabled.  */    /* Lookahead token as an internal (translated) token number.  */
3252    int yyerrstatus;    int yytoken;
3253    /* Look-ahead token as an internal (translated) token number.  */    /* The variables used to return semantic value and location from the
3254    int yytoken = 0;       action routines.  */
3255      YYSTYPE yyval;
3256    
3257  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
3258    /* Buffer for error messages, and its allocated size.  */    /* Buffer for error messages, and its allocated size.  */
3259    char yymsgbuf[128];    char yymsgbuf[128];
# Line 3206  yyparse () Line 3261  yyparse ()
3261    YYSIZE_T yymsg_alloc = sizeof yymsgbuf;    YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3262  #endif  #endif
3263    
   /* Three stacks and their tools:  
      `yyss': related to states,  
      `yyvs': related to semantic values,  
      `yyls': related to locations.  
   
      Refer to the stacks thru separate pointers, to allow yyoverflow  
      to reallocate them elsewhere.  */  
   
   /* The state stack.  */  
   yytype_int16 yyssa[YYINITDEPTH];  
   yytype_int16 *yyss = yyssa;  
   yytype_int16 *yyssp;  
   
   /* The semantic value stack.  */  
   YYSTYPE yyvsa[YYINITDEPTH];  
   YYSTYPE *yyvs = yyvsa;  
   YYSTYPE *yyvsp;  
   
   
   
3264  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3265    
   YYSIZE_T yystacksize = YYINITDEPTH;  
   
   /* The variables used to return semantic value and location from the  
      action routines.  */  
   YYSTYPE yyval;  
   
   
3266    /* The number of symbols on the RHS of the reduced rule.    /* The number of symbols on the RHS of the reduced rule.
3267       Keep to zero when no symbol should be popped.  */       Keep to zero when no symbol should be popped.  */
3268    int yylen = 0;    int yylen = 0;
3269    
3270      yytoken = 0;
3271      yyss = yyssa;
3272      yyvs = yyvsa;
3273      yystacksize = YYINITDEPTH;
3274    
3275    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3276    
3277    yystate = 0;    yystate = 0;
3278    yyerrstatus = 0;    yyerrstatus = 0;
3279    yynerrs = 0;    yynerrs = 0;
3280    yychar = YYEMPTY;             /* Cause a token to be read.  */    yychar = YYEMPTY; /* Cause a token to be read.  */
3281    
3282    /* Initialize stack pointers.    /* Initialize stack pointers.
3283       Waste one element of value and location stack       Waste one element of value and location stack
3284       so that they stay on the same level as the state stack.       so that they stay on the same level as the state stack.
3285       The wasted elements are never initialized.  */       The wasted elements are never initialized.  */
   
3286    yyssp = yyss;    yyssp = yyss;
3287    yyvsp = yyvs;    yyvsp = yyvs;
3288    
# Line 3280  yyparse () Line 3312  yyparse ()
3312          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3313          yytype_int16 *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3314    
   
3315          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3316             data in use in that stack, in bytes.  This used to be a             data in use in that stack, in bytes.  This used to be a
3317             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
# Line 3288  yyparse () Line 3319  yyparse ()
3319          yyoverflow (YY_("memory exhausted"),          yyoverflow (YY_("memory exhausted"),
3320                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3321                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
   
3322                      &yystacksize);                      &yystacksize);
3323    
3324          yyss = yyss1;          yyss = yyss1;
# Line 3311  yyparse () Line 3341  yyparse ()
3341            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3342          if (! yyptr)          if (! yyptr)
3343            goto yyexhaustedlab;            goto yyexhaustedlab;
3344          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss_alloc, yyss);
3345          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs_alloc, yyvs);
   
3346  #  undef YYSTACK_RELOCATE  #  undef YYSTACK_RELOCATE
3347          if (yyss1 != yyssa)          if (yyss1 != yyssa)
3348            YYSTACK_FREE (yyss1);            YYSTACK_FREE (yyss1);
# Line 3324  yyparse () Line 3353  yyparse ()
3353        yyssp = yyss + yysize - 1;        yyssp = yyss + yysize - 1;
3354        yyvsp = yyvs + yysize - 1;        yyvsp = yyvs + yysize - 1;
3355    
   
3356        YYDPRINTF ((stderr, "Stack size increased to %lu\n",        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3357                    (unsigned long int) yystacksize));                    (unsigned long int) yystacksize));
3358    
# Line 3334  yyparse () Line 3362  yyparse ()
3362    
3363    YYDPRINTF ((stderr, "Entering state %d\n", yystate));    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3364    
3365      if (yystate == YYFINAL)
3366        YYACCEPT;
3367    
3368    goto yybackup;    goto yybackup;
3369    
3370  /*-----------.  /*-----------.
# Line 3342  yyparse () Line 3373  yyparse ()
3373  yybackup:  yybackup:
3374    
3375    /* Do appropriate processing given the current state.  Read a    /* Do appropriate processing given the current state.  Read a
3376       look-ahead token if we need one and don't already have one.  */       lookahead token if we need one and don't already have one.  */
3377    
3378    /* First try to decide what to do without reference to look-ahead token.  */    /* First try to decide what to do without reference to lookahead token.  */
3379    yyn = yypact[yystate];    yyn = yypact[yystate];
3380    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3381      goto yydefault;      goto yydefault;
3382    
3383    /* Not known => get a look-ahead token if don't already have one.  */    /* Not known => get a lookahead token if don't already have one.  */
3384    
3385    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
3386    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3387      {      {
3388        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 3383  yybackup: Line 3414  yybackup:
3414        goto yyreduce;        goto yyreduce;
3415      }      }
3416    
   if (yyn == YYFINAL)  
     YYACCEPT;  
   
3417    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3418       status.  */       status.  */
3419    if (yyerrstatus)    if (yyerrstatus)
3420      yyerrstatus--;      yyerrstatus--;
3421    
3422    /* Shift the look-ahead token.  */    /* Shift the lookahead token.  */
3423    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3424    
3425    /* Discard the shifted token unless it is eof.  */    /* Discard the shifted token.  */
3426    if (yychar != YYEOF)    yychar = YYEMPTY;
     yychar = YYEMPTY;  
3427    
3428    yystate = yyn;    yystate = yyn;
3429    *++yyvsp = yylval;    *++yyvsp = yylval;
# Line 3436  yyreduce: Line 3463  yyreduce:
3463    switch (yyn)    switch (yyn)
3464      {      {
3465          case 26:          case 26:
3466  #line 426 "ircd_parser.y"  
3467    /* Line 1455 of yacc.c  */
3468    #line 429 "ircd_parser.y"
3469      { (yyval.number) = 0; }      { (yyval.number) = 0; }
3470      break;      break;
3471    
3472    case 28:    case 28:
3473  #line 428 "ircd_parser.y"  
3474    /* Line 1455 of yacc.c  */
3475    #line 431 "ircd_parser.y"
3476      {      {
3477                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3478                  }                  }
3479      break;      break;
3480    
3481    case 29:    case 29:
3482  #line 432 "ircd_parser.y"  
3483    /* Line 1455 of yacc.c  */
3484    #line 435 "ircd_parser.y"
3485      {      {
3486                          (