/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.cpp

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

revision 778 by iliev, Fri Sep 23 06:58:26 2005 UTC revision 1187 by iliev, Wed May 16 14:22:26 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 2.0.  */  /* A Bison parser, made by GNU Bison 2.3.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton implementation for Bison's Yacc-like parsers in C
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.  
5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6       Free Software Foundation, Inc.
7    
8     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
9     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
# Line 15  Line 17 
17    
18     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place - Suite 330,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02111-1307, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23    /* As a special exception, you may create a larger work that contains
24       part or all of the Bison parser skeleton and distribute that work
25       under terms of your choice, so long as that work isn't itself a
26       parser generator using the skeleton or a modified version thereof
27       as a parser skeleton.  Alternatively, if you modify or redistribute
28       the parser skeleton itself, you may (at your option) remove this
29       special exception, which will cause the skeleton and the resulting
30       Bison output files to be licensed under the GNU General Public
31       License without this special exception.
32    
33  /* As a special exception, when this file is copied by Bison into a     This special exception was added by the Free Software Foundation in
34     Bison output file, you may use that output file without restriction.     version 2.2 of Bison.  */
    This special exception was added by the Free Software Foundation  
    in version 1.24 of Bison.  */  
35    
36  /* Written by Richard Stallman by simplifying the original so called  /* C LALR(1) parser skeleton written by Richard Stallman, by
37     ``semantic'' parser.  */     simplifying the original so-called "semantic" parser.  */
38    
39  /* All symbols defined below should begin with yy or YY, to avoid  /* All symbols defined below should begin with yy or YY, to avoid
40     infringing on user name space.  This should be done even for local     infringing on user name space.  This should be done even for local
# Line 36  Line 46 
46  /* Identify Bison output.  */  /* Identify Bison output.  */
47  #define YYBISON 1  #define YYBISON 1
48    
49    /* Bison version.  */
50    #define YYBISON_VERSION "2.3"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
54    
# Line 50  Line 63 
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 27 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 104  int yylex(YYSTYPE* yylval) { Line 118  int yylex(YYSTYPE* yylval) {
118  # define YYERROR_VERBOSE 0  # define YYERROR_VERBOSE 0
119  #endif  #endif
120    
121  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  /* Enabling the token table.  */
122    #ifndef YYTOKEN_TABLE
123    # define YYTOKEN_TABLE 0
124    #endif
125    
126    #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127  typedef int YYSTYPE;  typedef int YYSTYPE;
128  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
# Line 116  typedef int YYSTYPE; Line 135  typedef int YYSTYPE;
135  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
136    
137    
138  /* Line 213 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 121 "y.tab.c"  #line 140 "y.tab.c"
140    
141    #ifdef short
142    # undef short
143    #endif
144    
145    #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151    #ifdef YYTYPE_INT8
152    typedef YYTYPE_INT8 yytype_int8;
153    #elif (defined __STDC__ || defined __C99__FUNC__ \
154         || defined __cplusplus || defined _MSC_VER)
155    typedef signed char yytype_int8;
156    #else
157    typedef short int yytype_int8;
158    #endif
159    
160    #ifdef YYTYPE_UINT16
161    typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164    #endif
165    
166    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #endif
171    
172    #ifndef YYSIZE_T
173    # ifdef __SIZE_TYPE__
174    #  define YYSIZE_T __SIZE_TYPE__
175    # elif defined size_t
176    #  define YYSIZE_T size_t
177    # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178         || defined __cplusplus || defined _MSC_VER)
179    #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180    #  define YYSIZE_T size_t
181    # else
182    #  define YYSIZE_T unsigned int
183    # endif
184    #endif
185    
186  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188  # ifndef YYFREE  #ifndef YY_
189  #  define YYFREE free  # if YYENABLE_NLS
190    #  if ENABLE_NLS
191    #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192    #   define YY_(msgid) dgettext ("bison-runtime", msgid)
193    #  endif
194  # endif  # endif
195  # ifndef YYMALLOC  # ifndef YY_
196  #  define YYMALLOC malloc  #  define YY_(msgid) msgid
197  # endif  # endif
198    #endif
199    
200    /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
# Line 134  typedef int YYSTYPE; Line 230  typedef int YYSTYPE;
230  #  if YYSTACK_USE_ALLOCA  #  if YYSTACK_USE_ALLOCA
231  #   ifdef __GNUC__  #   ifdef __GNUC__
232  #    define YYSTACK_ALLOC __builtin_alloca  #    define YYSTACK_ALLOC __builtin_alloca
233    #   elif defined __BUILTIN_VA_ARG_INCR
234    #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235    #   elif defined _AIX
236    #    define YYSTACK_ALLOC __alloca
237    #   elif defined _MSC_VER
238    #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239    #    define alloca _alloca
240  #   else  #   else
241  #    define YYSTACK_ALLOC alloca  #    define YYSTACK_ALLOC alloca
242    #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243         || defined __cplusplus || defined _MSC_VER)
244    #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245    #     ifndef _STDLIB_H
246    #      define _STDLIB_H 1
247    #     endif
248    #    endif
249  #   endif  #   endif
250  #  endif  #  endif
251  # endif  # endif
252    
253  # ifdef YYSTACK_ALLOC  # ifdef YYSTACK_ALLOC
254     /* Pacify GCC's `empty if-body' warning. */     /* Pacify GCC's `empty if-body' warning.  */
255  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256  # else  #  ifndef YYSTACK_ALLOC_MAXIMUM
257  #  if defined (__STDC__) || defined (__cplusplus)      /* The OS might guarantee only one guard page at the bottom of the stack,
258  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */         and a page size can be as small as 4096 bytes.  So we cannot safely
259  #   define YYSIZE_T size_t         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260           to allow for a few compiler-allocated temporary stack slots.  */
261    #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262  #  endif  #  endif
263    # else
264  #  define YYSTACK_ALLOC YYMALLOC  #  define YYSTACK_ALLOC YYMALLOC
265  #  define YYSTACK_FREE YYFREE  #  define YYSTACK_FREE YYFREE
266    #  ifndef YYSTACK_ALLOC_MAXIMUM
267    #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268    #  endif
269    #  if (defined __cplusplus && ! defined _STDLIB_H \
270           && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272    #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273    #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276    #  endif
277    #  ifndef YYMALLOC
278    #   define YYMALLOC malloc
279    #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280         || defined __cplusplus || defined _MSC_VER)
281    void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282    #   endif
283    #  endif
284    #  ifndef YYFREE
285    #   define YYFREE free
286    #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287         || defined __cplusplus || defined _MSC_VER)
288    void free (void *); /* INFRINGES ON USER NAME SPACE */
289    #   endif
290    #  endif
291  # endif  # endif
292  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293    
294    
295  #if (! defined (yyoverflow) \  #if (! defined yyoverflow \
296       && (! defined (__cplusplus) \       && (! defined __cplusplus \
297           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))           || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298    
299  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
300  union yyalloc  union yyalloc
301  {  {
302    short int yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 171  union yyalloc Line 309  union yyalloc
309  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
310     N elements.  */     N elements.  */
311  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
312       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
314    
315  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
316     not overlap.  */     not overlap.  */
317  # ifndef YYCOPY  # ifndef YYCOPY
318  #  if defined (__GNUC__) && 1 < __GNUC__  #  if defined __GNUC__ && 1 < __GNUC__
319  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
320        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321  #  else  #  else
322  #   define YYCOPY(To, From, Count)              \  #   define YYCOPY(To, From, Count)              \
323        do                                        \        do                                        \
324          {                                       \          {                                       \
325            register YYSIZE_T yyi;                \            YYSIZE_T yyi;                         \
326            for (yyi = 0; yyi < (Count); yyi++)   \            for (yyi = 0; yyi < (Count); yyi++)   \
327              (To)[yyi] = (From)[yyi];            \              (To)[yyi] = (From)[yyi];            \
328          }                                       \          }                                       \
329        while (0)        while (YYID (0))
330  #  endif  #  endif
331  # endif  # endif
332    
# Line 206  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
   
 #endif  
348    
 #if defined (__STDC__) || defined (__cplusplus)  
    typedef signed char yysigned_char;  
 #else  
    typedef short int yysigned_char;  
349  #endif  #endif
350    
351  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state.  */
352  #define YYFINAL  40  #define YYFINAL  52
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4527  #define YYLAST   5508
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  99  #define YYNNTS  165
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  437  #define YYNRULES  601
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1240  #define YYNSTATES  2038
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       218,   219,   220,   221,   222,   223,     1,     2       216,   217,   218,   219,   220,   221,     1,     2
401  };  };
402    
403  #if YYDEBUG  #if YYDEBUG
404  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405     YYRHS.  */     YYRHS.  */
406  static const unsigned short int yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    95,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        99,   101,   103,   105,   109,   117,   125,   131,   139,   141,
412       113,   115,   117,   119,   125,   133,   143,   145,   151,   159,       145,   147,   149,   151,   153,   155,   157,   159,   161,   163,
413       169,   171,   173,   179,   185,   193,   203,   211,   221,   223,       165,   167,   169,   171,   173,   175,   177,   179,   181,   183,
414       229,   237,   243,   249,   255,   259,   261,   263,   271,   281,       185,   187,   189,   191,   193,   195,   197,   199,   201,   203,
415       289,   299,   303,   307,   313,   317,   323,   327,   331,   335,       205,   207,   209,   211,   213,   215,   217,   219,   221,   223,
416       339,   343,   349,   357,   363,   373,   379,   385,   391,   397,       225,   227,   229,   231,   233,   250,   269,   288,   309,   317,
417       403,   409,   415,   419,   425,   427,   429,   431,   433,   435,       321,   325,   329,   335,   339,   343,   345,   347,   353,   361,
418       437,   439,   441,   447,   455,   459,   461,   463,   465,   467,       371,   373,   379,   387,   397,   399,   401,   407,   413,   421,
419       469,   471,   473,   475,   477,   479,   481,   483,   485,   487,       431,   439,   449,   451,   457,   465,   471,   477,   483,   487,
420       491,   493,   497,   501,   503,   505,   507,   509,   511,   514,       489,   491,   495,   499,   509,   511,   517,   521,   529,   535,
421       518,   523,   528,   530,   533,   535,   537,   539,   541,   543,       539,   545,   551,   555,   561,   563,   571,   581,   589,   599,
422       545,   547,   549,   551,   553,   555,   558,   561,   564,   567,       603,   611,   621,   633,   643,   653,   661,   669,   677,   685,
423       570,   573,   576,   579,   582,   584,   586,   588,   590,   592,       689,   693,   699,   703,   709,   713,   719,   727,   731,   735,
424       594,   596,   598,   600,   602,   604,   606,   608,   610,   612,       739,   747,   753,   761,   767,   773,   779,   785,   791,   795,
425       614,   616,   618,   620,   622,   624,   626,   628,   630,   632,       799,   805,   809,   813,   819,   827,   833,   843,   849,   855,
426       634,   636,   638,   640,   642,   644,   646,   648,   650,   652,       861,   867,   873,   879,   885,   891,   897,   903,   904,   907,
427       654,   656,   658,   660,   662,   664,   666,   668,   670,   672,       911,   917,   919,   921,   923,   925,   927,   929,   931,   933,
428       674,   676,   678,   680,   682,   684,   686,   688,   690,   692,       937,   941,   943,   947,   953,   957,   963,   967,   973,   981,
429       694,   696,   698,   700,   702,   704,   706,   708,   710,   712,       985,   987,   989,   991,   993,   995,   997,   999,  1001,  1003,
430       714,   716,   718,   720,   722,   724,   726,   728,   730,   732,      1005,  1007,  1009,  1011,  1013,  1015,  1017,  1019,  1021,  1023,
431       734,   736,   738,   740,   742,   744,   746,   748,   750,   752,      1025,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1043,  1045,
432       754,   756,   758,   760,   762,   764,   766,   768,   770,   772,      1047,  1049,  1051,  1055,  1061,  1063,  1065,  1067,  1069,  1071,
433       774,   776,   778,   780,   782,   784,   786,   788,   790,   792,      1074,  1078,  1083,  1088,  1090,  1093,  1095,  1097,  1099,  1101,
434       794,   796,   798,   800,   802,   804,   806,   808,   810,   812,      1103,  1105,  1107,  1109,  1111,  1113,  1115,  1118,  1121,  1124,
435       814,   816,   818,   820,   822,   824,   826,   828,   830,   832,      1127,  1130,  1133,  1136,  1139,  1142,  1144,  1146,  1148,  1150,
436       834,   836,   838,   840,   842,   844,   846,   848,   850,   852,      1152,  1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,  1170,
437       854,   856,   858,   860,   862,   864,   866,   868,   870,   872,      1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,
438       874,   876,   878,   880,   882,   884,   886,   888,   890,   892,      1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,  1210,
439       894,   896,   898,   900,   902,   904,   906,   908,   910,   912,      1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,  1230,
440       914,   916,   918,   920,   922,   924,   926,   928,   930,   932,      1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,  1250,
441       934,   936,   938,   940,   942,   944,   946,   948,   950,   952,      1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,  1270,
442       954,   956,   958,   960,   962,   964,   966,   968,   970,   972,      1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,  1290,
443       974,   976,   978,   980,   982,   984,   986,   988,   990,   992,      1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,  1310,
444       994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,      1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,
445      1014,  1016,  1018,  1020,  1022,  1024,  1027,  1030,  1034,  1038,      1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,
446      1040,  1042,  1044,  1048,  1052,  1059,  1067,  1072,  1077,  1081,      1352,  1354,  1356,  1358,  1360,  1362,  1364,  1366,  1368,  1370,
447      1091,  1098,  1102,  1112,  1124,  1131,  1139,  1157,  1188,  1197,      1372,  1374,  1376,  1378,  1380,  1382,  1384,  1386,  1388,  1390,
448      1202,  1216,  1229,  1241,  1254,  1266,  1284,  1306,  1317,  1324,      1392,  1394,  1396,  1398,  1400,  1402,  1404,  1406,  1408,  1410,
449      1354,  1375,  1395,  1425,  1445,  1476,  1497,  1515,  1544,  1572,      1412,  1414,  1416,  1418,  1420,  1422,  1424,  1426,  1428,  1430,
450      1598,  1617,  1635,  1663,  1681,  1697,  1716,  1732,  1743,  1750,      1432,  1434,  1436,  1438,  1440,  1442,  1444,  1446,  1448,  1450,
451      1757,  1762,  1767,  1773,  1784,  1790,  1804,  1809      1452,  1454,  1456,  1458,  1460,  1462,  1464,  1466,  1468,  1470,
452        1472,  1474,  1476,  1478,  1480,  1482,  1484,  1486,  1488,  1490,
453        1492,  1494,  1496,  1498,  1500,  1502,  1504,  1506,  1508,  1510,
454        1512,  1514,  1516,  1518,  1520,  1522,  1524,  1526,  1528,  1530,
455        1532,  1534,  1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,
456        1552,  1554,  1556,  1558,  1560,  1562,  1564,  1566,  1568,  1570,
457        1572,  1574,  1576,  1578,  1580,  1582,  1584,  1587,  1590,  1594,
458        1598,  1600,  1602,  1604,  1608,  1612,  1616,  1622,  1628,  1633,
459        1638,  1643,  1650,  1658,  1663,  1668,  1672,  1677,  1685,  1695,
460        1702,  1706,  1716,  1728,  1736,  1754,  1785,  1794,  1799,  1825,
461        1850,  1874,  1897,  1923,  1948,  1970,  1991,  2021,  2050,  2070,
462        2089,  2103,  2116,  2130,  2143,  2155,  2168,  2180,  2198,  2220,
463        2232,  2243,  2250,  2260,  2275,  2286,  2316,  2337,  2357,  2387,
464        2407,  2438,  2459,  2477,  2506,  2534,  2560,  2579,  2597,  2625,
465        2641,  2658,  2678,  2699,  2717,  2733,  2752,  2768,  2779,  2795,
466        2803,  2812,  2836,  2862,  2877,  2891,  2903,  2909,  2914,  2924,
467        2938,  2945,  2952,  2958,  2963,  2968,  2974,  2985,  2991,  3005,
468        3010,  3015
469  };  };
470    
471  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
472  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
473  {  {
474       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   291,    -1,   229,   292,   291,    -1,
475        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
476         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   290,    -1,   230,   286,    -1,   230,   282,
477        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   293,   290,   232,    -1,   295,   290,   235,    -1,   296,
478       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       290,   236,    -1,   294,   290,   238,    -1,   301,   290,   240,
479        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   302,   290,   246,    -1,   303,   290,   252,    -1,   304,
480        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       290,   247,    -1,   309,   290,   237,    -1,   310,   290,   239,
481       267,   233,    -1,   282,   267,   265,    -1,   322,   267,   283,        -1,   311,   290,   233,    -1,   312,   290,   234,    -1,   387,
482       267,   252,    -1,   322,    -1,   325,    -1,   288,    -1,   292,       290,   241,    -1,   297,   290,   242,    -1,   298,   290,   243,
483        -1,   291,    -1,   290,    -1,   289,    -1,   323,    -1,   293,        -1,   299,   290,   244,    -1,   300,   290,   245,    -1,   387,
484        -1,   288,    -1,   292,    -1,   291,    -1,   290,    -1,   289,        -1,   391,    -1,   313,    -1,   371,   290,   271,    -1,   373,
485        -1,   323,    -1,   293,    -1,   284,    -1,   305,    -1,   311,       290,   377,   290,   271,   290,   271,    -1,   373,   290,   379,
486       267,   287,   267,   259,    -1,   310,   267,   287,   267,   259,       290,   271,   290,   271,    -1,   373,   290,   271,   290,   271,
487       267,   259,    -1,   310,   267,   287,   267,   259,   267,   259,        -1,   373,   290,   271,   290,   271,   290,   268,    -1,   361,
488       267,   240,    -1,   285,    -1,   301,   267,   287,   267,   259,        -1,   361,   290,   274,    -1,   318,    -1,   319,    -1,   320,
489        -1,   300,   267,   287,   267,   259,   267,   259,    -1,   300,        -1,   321,    -1,   330,    -1,   336,    -1,   335,    -1,   334,
490       267,   287,   267,   259,   267,   259,   267,   240,    -1,   298,        -1,   331,    -1,   332,    -1,   333,    -1,   322,    -1,   323,
491        -1,   308,    -1,   299,   267,   287,   267,   263,    -1,   309,        -1,   324,    -1,   325,    -1,   326,    -1,   327,    -1,   328,
492       267,   287,   267,   263,    -1,   312,   267,   287,   267,   263,        -1,   329,    -1,   388,    -1,   337,    -1,   339,    -1,   318,
493       267,   263,    -1,   307,   267,   287,   267,   263,   267,   263,        -1,   319,    -1,   320,    -1,   321,    -1,   330,    -1,   336,
494       267,   259,    -1,   303,   267,   287,   267,   263,   267,   263,        -1,   335,    -1,   334,    -1,   331,    -1,   332,    -1,   333,
495        -1,   302,   267,   287,   267,   263,   267,   263,   267,   259,        -1,   322,    -1,   323,    -1,   324,    -1,   325,    -1,   326,
496        -1,   286,    -1,   283,   267,   287,   267,   252,    -1,   283,        -1,   327,    -1,   328,    -1,   329,    -1,   388,    -1,   337,
497       267,   290,   267,   241,   267,   252,    -1,   283,   267,   291,        -1,   339,    -1,   359,   290,   249,   262,   290,   263,   290,
498       267,   252,    -1,   283,   267,   292,   267,   252,    -1,   296,       264,   290,   270,   290,   273,   290,   268,   290,   266,    -1,
499       267,   287,   267,   254,    -1,   316,   267,   287,    -1,   293,       359,   290,   249,   262,   290,   263,   290,   264,   290,   270,
500        -1,   294,    -1,   297,   267,   263,   267,   259,     4,   256,       290,   273,   290,   268,   290,   266,   290,   255,    -1,   359,
501        -1,   302,   267,   263,   267,   263,   267,   259,     4,   256,       290,   249,   262,   290,   263,   290,   264,   290,   270,   290,
502        -1,   306,   267,   263,   267,   259,     4,   256,    -1,   307,       273,   290,   268,   290,   266,   290,   275,    -1,   359,   290,
503       267,   263,   267,   263,   267,   259,     4,   256,    -1,   283,       249,   262,   290,   263,   290,   264,   290,   270,   290,   273,
504       267,   239,    -1,   324,   267,   258,    -1,   299,   267,   259,       290,   268,   290,   266,   290,   255,   290,   275,    -1,   359,
505       267,   240,    -1,   299,   267,   259,    -1,   309,   267,   259,       290,   262,   290,   263,   290,   264,    -1,   313,   290,   267,
506       267,   240,    -1,   309,   267,   259,    -1,   299,   267,   263,        -1,   361,   290,   262,    -1,   361,   290,   305,    -1,   371,
507        -1,   309,   267,   263,    -1,   295,   267,   243,    -1,   296,       290,   376,   290,   271,    -1,   371,   290,   271,    -1,   374,
508       267,   244,    -1,   299,   267,   252,   267,   245,    -1,   303,       290,   271,    -1,   314,    -1,   353,    -1,   363,   290,   317,
509       267,   252,   267,   246,   267,   246,    -1,   304,   267,   252,       290,   282,    -1,   358,   290,   317,   290,   282,   290,   282,
510       267,   247,    -1,   315,   267,   252,   267,   245,   267,   248,        -1,   358,   290,   317,   290,   282,   290,   282,   290,   250,
511       267,   249,    -1,   309,   267,   252,   267,   245,    -1,   312,        -1,   315,    -1,   349,   290,   317,   290,   282,    -1,   348,
512       267,   252,   267,   248,    -1,   313,   267,   252,   267,   249,       290,   317,   290,   282,   290,   282,    -1,   348,   290,   317,
513        -1,   314,   267,   252,   267,   250,    -1,   317,   267,   252,       290,   282,   290,   282,   290,   250,    -1,   346,    -1,   356,
514       267,   251,    -1,   318,   267,   252,   267,   258,    -1,   319,        -1,   347,   290,   317,   290,   286,    -1,   357,   290,   317,
515       267,   252,   267,   258,    -1,   259,     4,   256,    -1,   240,       290,   286,    -1,   364,   290,   317,   290,   286,   290,   286,
516       267,   259,     4,   256,    -1,   320,    -1,   321,    -1,   298,        -1,   355,   290,   317,   290,   286,   290,   286,   290,   282,
517        -1,   308,    -1,   286,    -1,   284,    -1,   305,    -1,   285,        -1,   351,   290,   317,   290,   286,   290,   286,    -1,   350,
518        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,       290,   317,   290,   286,   290,   286,   290,   282,    -1,   316,
519       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,        -1,   313,   290,   317,   290,   267,    -1,   313,   290,   334,
520        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,       290,   251,   290,   267,    -1,   313,   290,   335,   290,   267,
521        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,        -1,   313,   290,   336,   290,   267,    -1,   341,   290,   317,
522        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,       290,   270,    -1,   380,   290,   317,    -1,   337,    -1,   338,
523        -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,        -1,   360,   290,   262,    -1,   360,   290,   305,    -1,   359,
524        -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,       290,   317,   290,   262,   290,   263,   290,   264,    -1,   362,
525        -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,        -1,   361,   290,   317,   290,   262,    -1,   370,   290,   267,
526         8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,        -1,   369,   290,   317,   290,   267,   290,   269,    -1,   372,
527       261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,       290,   378,   290,   271,    -1,   372,   290,   271,    -1,   371,
528        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,       290,   317,   290,   271,    -1,   373,   290,   378,   290,   271,
529        -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,        -1,   373,   290,   271,    -1,   374,   290,   317,   290,   271,
530        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,        -1,   381,    -1,   345,   290,   286,   290,   282,     4,   277,
531        17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,        -1,   350,   290,   286,   290,   286,   290,   282,     4,   277,
532       261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,        -1,   354,   290,   286,   290,   282,     4,   277,    -1,   355,
533        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,       290,   286,   290,   286,   290,   282,     4,   277,    -1,   313,
534        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,       290,   248,    -1,   361,   290,   389,   290,   262,   290,   274,
535        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,        -1,   369,   290,   389,   290,   267,   290,   269,   290,   276,
536        40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,        -1,   369,   290,   351,   290,   267,   290,   269,   290,   257,
537        45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,       290,   257,    -1,   369,   290,   368,   290,   267,   290,   269,
538        50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,       290,   265,    -1,   369,   290,   382,   290,   267,   290,   269,
539        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,       290,   266,    -1,   371,   290,   389,   290,   271,   290,   272,
540        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,        -1,   371,   290,   375,   290,   271,   290,   289,    -1,   374,
541        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,       290,   389,   290,   271,   290,   272,    -1,   374,   290,   375,
542        70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,       290,   271,   290,   289,    -1,   390,   290,   281,    -1,   381,
543        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,       290,   266,    -1,   347,   290,   282,   290,   250,    -1,   347,
544        18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,       290,   282,    -1,   357,   290,   282,   290,   250,    -1,   357,
545        74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,       290,   282,    -1,   369,   290,   267,   290,   265,    -1,   369,
546        79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,       290,   267,   290,   265,   290,   276,    -1,   313,   290,   267,
547        80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,        -1,   360,   290,   262,    -1,   360,   290,   305,    -1,   373,
548        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,       290,   379,   290,   271,   290,   279,    -1,   373,   290,   271,
549        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,       290,   279,    -1,   372,   290,   379,   290,   271,   290,   279,
550        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,        -1,   372,   290,   271,   290,   279,    -1,   371,   290,   271,
551        99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,       290,   271,    -1,   374,   290,   271,   290,   271,    -1,   371,
552       104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,       290,   271,   290,   271,    -1,   374,   290,   271,   290,   271,
553       109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,        -1,   347,   290,   286,    -1,   357,   290,   286,    -1,   369,
554       114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,       290,   267,   290,   269,    -1,   340,   290,   253,    -1,   341,
555       119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,       290,   254,    -1,   347,   290,   267,   290,   256,    -1,   351,
556       124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,       290,   267,   290,   257,   290,   257,    -1,   352,   290,   267,
557       129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,       290,   258,    -1,   367,   290,   267,   290,   256,   290,   259,
558       134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,       290,   260,    -1,   357,   290,   267,   290,   256,    -1,   364,
559       139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,       290,   267,   290,   259,    -1,   365,   290,   267,   290,   260,
560       144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,        -1,   366,   290,   267,   290,   261,    -1,   381,   290,   267,
561       149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,       290,   266,    -1,   383,   290,   267,   290,   281,    -1,   384,
562       154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,       290,   267,   290,   281,    -1,   361,   290,   267,   290,   262,
563       159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,        -1,   361,   290,   267,   290,   306,    -1,   361,   290,   267,
564       164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,       290,   307,    -1,    -1,   308,   290,    -1,   282,     4,   277,
565       169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,        -1,   250,   290,   282,     4,   277,    -1,   385,    -1,   386,
566       174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,        -1,   346,    -1,   356,    -1,   316,    -1,   314,    -1,   353,
567       179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,        -1,   315,    -1,   360,   290,   262,    -1,   360,   290,   305,
568       184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,        -1,   362,    -1,   370,   290,   267,    -1,   372,   290,   378,
569       189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,       290,   271,    -1,   372,   290,   271,    -1,   373,   290,   378,
570       194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,       290,   271,    -1,   373,   290,   271,    -1,   273,   290,   268,
571       199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,       290,   267,    -1,   308,   290,   273,   290,   268,   290,   267,
572       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,        -1,   270,   290,   267,    -1,   342,    -1,   343,    -1,   344,
573       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,        -1,   286,    -1,   286,    -1,   282,    -1,   286,    -1,   286,
574       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,        -1,   305,    -1,   282,    -1,   286,    -1,   286,    -1,   286,
575       219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,        -1,   286,    -1,   283,    -1,   286,    -1,   286,    -1,   286,
576       267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,        -1,   286,    -1,   282,    -1,   289,    -1,   289,    -1,   289,
577         6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,        -1,   289,    -1,   289,    -1,   289,    -1,   278,    -1,   277,
578       225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,         5,   278,    -1,   282,    -1,   289,    -1,   286,    -1,   283,
579        40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,        -1,   282,     4,   280,    -1,   279,   290,   282,     4,   280,
580        25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,        -1,   282,    -1,   289,    -1,   286,    -1,   282,    -1,   287,
581        40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,        -1,   282,   287,    -1,   284,     6,   284,    -1,     7,   284,
582        -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,         6,   284,    -1,     8,   284,     6,   284,    -1,   285,    -1,
583        -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,       284,   285,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
584        40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,        -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,
585        25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,        -1,    18,    -1,   285,    -1,    10,   284,    -1,    11,   284,
586        29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,        -1,    12,   284,    -1,    13,   284,    -1,    14,   284,    -1,
587        -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,        15,   284,    -1,    16,   284,    -1,    17,   284,    -1,    18,
588        42,    21,    29,    32,    21,    22,    32,    25,    91,    25,       284,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,
589        34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,        23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,
590        29,    32,    21,    22,    32,    25,    91,    21,    41,    24,        28,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,
591        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,        33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
592        24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,        38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,    -1,
593        21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,        43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,
594        35,    -1,    23,    28,    21,    34,    34,    25,    32,    91,        48,    -1,    49,    -1,    50,    -1,    51,    -1,    52,    -1,
595        23,    35,    41,    34,    40,    -1,    23,    28,    21,    34,        53,    -1,    54,    -1,    55,    -1,    56,    -1,    57,    -1,
596        34,    25,    32,    91,    29,    34,    26,    35,    -1,    22,        58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,
597        41,    26,    26,    25,    38,    91,    26,    29,    32,    32,        63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1,
598        -1,    39,    40,    38,    25,    21,    33,    91,    23,    35,        68,    -1,    69,    -1,    70,    -1,     9,    -1,    10,    -1,
599        41,    34,    40,    -1,    42,    35,    29,    23,    25,    91,        11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,
600        23,    35,    41,    34,    40,    -1,    40,    35,    40,    21,        16,    -1,    17,    -1,    18,    -1,    71,    -1,     3,    -1,
601        32,    91,    42,    35,    29,    23,    25,    91,    23,    35,        72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,
602        41,    34,    40,    -1,    40,    35,    40,    21,    32,    91,        77,    -1,     7,    -1,     8,    -1,     6,    -1,     5,    -1,
603        42,    35,    29,    23,    25,    91,    23,    35,    41,    34,        78,    -1,    79,    -1,    80,    -1,    81,    -1,     4,    -1,
604        40,    91,    33,    21,    44,    -1,    29,    34,    39,    40,        82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,
605        38,    41,    33,    25,    34,    40,    -1,    25,    34,    27,        87,    -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,
606        29,    34,    25,    -1,    21,    41,    24,    29,    35,    91,        92,    -1,    93,    -1,    94,    -1,    95,    -1,    96,    -1,
607        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,        97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,    -1,
608        29,    23,    25,    91,    36,    21,    38,    21,    33,    25,       102,    -1,   103,    -1,   104,    -1,   105,    -1,   106,    -1,
609        40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,       107,    -1,   108,    -1,   109,    -1,   110,    -1,   111,    -1,
610        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,       112,    -1,   113,    -1,   114,    -1,   115,    -1,   116,    -1,
611        29,    23,    25,    39,    -1,    21,    41,    24,    29,    35,       117,    -1,   118,    -1,   119,    -1,   120,    -1,   121,    -1,
612        91,    35,    41,    40,    36,    41,    40,    91,    24,    25,       122,    -1,   123,    -1,   124,    -1,   125,    -1,   126,    -1,
613        42,    29,    23,    25,    -1,    21,    41,    24,    29,    35,       127,    -1,   128,    -1,   129,    -1,   130,    -1,   131,    -1,
614        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,       132,    -1,   133,    -1,   134,    -1,   135,    -1,   136,    -1,
615        29,    42,    25,    38,    91,    36,    21,    38,    21,    33,       137,    -1,   138,    -1,   139,    -1,   140,    -1,   141,    -1,
616        25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,       142,    -1,   143,    -1,   144,    -1,   145,    -1,   146,    -1,
617        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,       147,    -1,   148,    -1,   149,    -1,   150,    -1,   151,    -1,
618        29,    42,    25,    38,    -1,    21,    41,    24,    29,    35,       152,    -1,   153,    -1,   154,    -1,   155,    -1,   156,    -1,
619        91,    35,    41,    40,    36,    41,    40,    91,    23,    28,       157,    -1,   158,    -1,   159,    -1,   160,    -1,   161,    -1,
620        21,    34,    34,    25,    32,    91,    36,    21,    38,    21,       162,    -1,   163,    -1,   164,    -1,   165,    -1,   166,    -1,
621        33,    25,    40,    25,    38,    -1,    21,    41,    24,    29,       167,    -1,   168,    -1,   169,    -1,   170,    -1,   171,    -1,
622        35,    91,    35,    41,    40,    36,    41,    40,    91,    23,       172,    -1,   173,    -1,   174,    -1,   175,    -1,   176,    -1,
623        28,    21,    34,    34,    25,    32,    -1,    21,    41,    24,       177,    -1,   178,    -1,   179,    -1,   180,    -1,   181,    -1,
624        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,       182,    -1,   183,    -1,   184,    -1,   185,    -1,   186,    -1,
625        40,    45,    36,    25,    -1,    21,    42,    21,    29,    32,       187,    -1,   188,    -1,   189,    -1,   190,    -1,   191,    -1,
626        21,    22,    32,    25,    91,    33,    29,    24,    29,    91,       192,    -1,   193,    -1,   194,    -1,   195,    -1,   196,    -1,
627        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,       197,    -1,   198,    -1,   199,    -1,   200,    -1,   201,    -1,
628        25,    38,    39,    -1,    33,    29,    24,    29,    91,    29,       202,    -1,   203,    -1,   204,    -1,   205,    -1,   206,    -1,
629        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,       207,    -1,   208,    -1,   209,    -1,   210,    -1,   211,    -1,
630        25,    91,    36,    21,    38,    21,    33,    25,    40,    25,       212,    -1,   213,    -1,   214,    -1,   215,    -1,   216,    -1,
631        38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,       217,    -1,   218,    -1,   219,    -1,   220,    -1,   221,    -1,
632        41,    40,    91,    36,    35,    38,    40,    91,    36,    21,       290,    -1,   282,    -1,   288,   290,    -1,   288,   282,    -1,
633        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,       222,   288,   222,    -1,   223,   288,   223,    -1,   224,    -1,
634        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,       225,    -1,   226,    -1,    19,    22,    22,    -1,    25,    23,
635        25,    42,    29,    23,    25,    39,    -1,    33,    29,    24,        38,    -1,    31,    19,    34,    -1,    39,    32,    31,    19,
636        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,        34,    -1,    21,    30,    23,    19,    36,    -1,    24,    27,
637        42,    29,    23,    25,    -1,    33,    29,    24,    29,    91,        32,    22,    -1,    31,    33,    40,    23,    -1,    21,    33,
638        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        34,    43,    -1,    21,    36,    23,    19,    38,    23,    -1,
639        25,    38,    91,    36,    21,    38,    21,    33,    25,    40,        22,    23,    37,    38,    36,    33,    43,    -1,    30,    27,
640        25,    38,    -1,    33,    29,    24,    29,    91,    29,    34,        37,    38,    -1,    30,    33,    19,    22,    -1,    19,    30,
641        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        30,    -1,    32,    33,    32,    23,    -1,    22,    23,    24,
642        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,        19,    39,    30,    38,    -1,    32,    33,    32,    89,    31,
643        40,    91,    36,    35,    38,    40,    -1,    33,    29,    24,        33,    22,    19,    30,    -1,    36,    23,    31,    33,    40,
644        29,    91,    29,    34,    36,    41,    40,    91,    23,    28,        23,    -1,    37,    23,    38,    -1,    37,    39,    20,    37,
645        21,    34,    34,    25,    32,    -1,    33,    29,    24,    29,        21,    36,    27,    20,    23,    -1,    39,    32,    37,    39,
646        91,    29,    34,    36,    41,    40,    91,    40,    45,    36,        20,    37,    21,    36,    27,    20,    23,    -1,    21,    26,
647        25,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        19,    32,    32,    23,    30,    -1,    19,    40,    19,    27,
648        41,    40,    -1,    39,    25,    38,    42,    25,    38,    -1,        30,    19,    20,    30,    23,    89,    23,    32,    25,    27,
649        42,    35,    32,    41,    33,    25,    -1,    33,    41,    40,        32,    23,    37,    -1,    19,    40,    19,    27,    30,    19,
650        25,    -1,    39,    35,    32,    35,    -1,    22,    45,    40,        20,    30,    23,    89,    19,    39,    22,    27,    33,    89,
651        25,    39,    -1,    36,    25,    38,    23,    25,    34,    40,        33,    39,    38,    34,    39,    38,    89,    22,    36,    27,
652        21,    27,    25,    -1,    38,    25,    39,    25,    40,    -1,        40,    23,    36,    37,    -1,    21,    26,    19,    32,    32,
653        33,    29,    39,    23,    25,    32,    32,    21,    34,    25,        23,    30,    37,    -1,    27,    32,    24,    33,    -1,    19,
654        35,    41,    39,    -1,    25,    23,    28,    35,    -1,    37,        39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
655        41,    29,    40,    -1        38,    89,    22,    23,    40,    27,    21,    23,    89,    21,
656          33,    39,    32,    38,    -1,    19,    39,    22,    27,    33,
657          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
658          40,    27,    21,    23,    89,    27,    32,    24,    33,    -1,
659          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
660          89,    22,    23,    40,    27,    21,    23,    89,    21,    33,
661          39,    32,    38,    -1,    31,    27,    22,    27,    89,    27,
662          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
663          23,    89,    27,    32,    24,    33,    -1,    31,    27,    22,
664          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
665          32,    38,    89,    31,    19,    34,    89,    21,    33,    39,
666          32,    38,    -1,    31,    27,    22,    27,    89,    27,    32,
667          37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
668          19,    34,    89,    27,    32,    24,    33,    -1,    31,    27,
669          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
670          23,    32,    38,    89,    21,    33,    39,    32,    38,    -1,
671          31,    27,    22,    27,    89,    27,    32,    37,    38,    36,
672          39,    31,    23,    32,    38,    89,    27,    32,    24,    33,
673          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
674          31,    23,    32,    38,    89,    22,    27,    36,    23,    21,
675          38,    33,    36,    43,    89,    21,    33,    39,    32,    38,
676          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
677          31,    23,    32,    38,    89,    22,    27,    36,    23,    21,
678          38,    33,    36,    43,    89,    27,    32,    24,    33,    -1,
679          22,    20,    89,    27,    32,    37,    38,    36,    39,    31,
680          23,    32,    38,    89,    21,    33,    39,    32,    38,    -1,
681          22,    20,    89,    27,    32,    37,    38,    36,    39,    31,
682          23,    32,    38,    89,    27,    32,    24,    33,    -1,    21,
683          26,    19,    32,    32,    23,    30,    89,    21,    33,    39,
684          32,    38,    -1,    21,    26,    19,    32,    32,    23,    30,
685          89,    27,    32,    24,    33,    -1,    24,    42,    89,    37,
686          23,    32,    22,    89,    21,    33,    39,    32,    38,    -1,
687          24,    42,    89,    37,    23,    32,    22,    89,    27,    32,
688          24,    33,    -1,    20,    39,    24,    24,    23,    36,    89,
689          24,    27,    30,    30,    -1,    37,    38,    36,    23,    19,
690          31,    89,    21,    33,    39,    32,    38,    -1,    40,    33,
691          27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
692          38,    33,    38,    19,    30,    89,    40,    33,    27,    21,
693          23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,
694          38,    19,    30,    89,    40,    33,    27,    21,    23,    89,
695          21,    33,    39,    32,    38,    89,    31,    19,    42,    -1,
696          25,    30,    33,    20,    19,    30,    89,    27,    32,    24,
697          33,    -1,    27,    32,    37,    38,    36,    39,    31,    23,
698          32,    38,    -1,    23,    32,    25,    27,    32,    23,    -1,
699          33,    32,    89,    22,    23,    31,    19,    32,    22,    -1,
700          33,    32,    89,    22,    23,    31,    19,    32,    22,    89,
701          26,    33,    30,    22,    -1,    34,    23,    36,    37,    27,
702          37,    38,    23,    32,    38,    -1,    19,    39,    22,    27,
703          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
704          23,    40,    27,    21,    23,    89,    34,    19,    36,    19,
705          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
706          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
707          23,    40,    27,    21,    23,    37,    -1,    19,    39,    22,
708          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
709          22,    23,    40,    27,    21,    23,    -1,    19,    39,    22,
710          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
711          22,    36,    27,    40,    23,    36,    89,    34,    19,    36,
712          19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,
713          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
714          22,    36,    27,    40,    23,    36,    -1,    19,    39,    22,
715          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
716          21,    26,    19,    32,    32,    23,    30,    89,    34,    19,
717          36,    19,    31,    23,    38,    23,    36,    -1,    19,    39,
718          22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
719          89,    21,    26,    19,    32,    32,    23,    30,    -1,    19,
720          39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
721          38,    89,    38,    43,    34,    23,    -1,    19,    40,    19,
722          27,    30,    19,    20,    30,    23,    89,    31,    27,    22,
723          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
724          27,    40,    23,    36,    37,    -1,    31,    27,    22,    27,
725          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
726          27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
727          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
728          32,    34,    39,    38,    89,    34,    33,    36,    38,    89,
729          34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
730          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
731          89,    22,    23,    40,    27,    21,    23,    37,    -1,    31,
732          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
733          22,    23,    40,    27,    21,    23,    -1,    31,    27,    22,
734          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
735          27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
736          23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,
737          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
738          -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
739          36,    39,    31,    23,    32,    38,    37,    -1,    31,    27,
740          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
741          23,    32,    38,    89,    31,    19,    34,    -1,    31,    27,
742          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
743          23,    32,    38,    89,    31,    19,    34,    37,    -1,    31,
744          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
745          22,    36,    27,    40,    23,    36,    -1,    31,    27,    22,
746          27,    89,    27,    32,    34,    39,    38,    89,    34,    33,
747          36,    38,    -1,    31,    27,    22,    27,    89,    27,    32,
748          34,    39,    38,    89,    21,    26,    19,    32,    32,    23,
749          30,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
750          39,    38,    89,    38,    43,    34,    23,    -1,    31,    27,
751          22,    27,    89,    27,    32,    34,    39,    38,    -1,    31,
752          27,    22,    27,    89,    21,    33,    32,    38,    36,    33,
753          30,    30,    23,    36,    -1,    24,    42,    89,    37,    23,
754          32,    22,    -1,    24,    42,    89,    37,    23,    32,    22,
755          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
756          39,    31,    23,    32,    38,    89,    22,    27,    36,    23,
757          21,    38,    33,    36,    43,    -1,    22,    20,    89,    27,
758          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
759          22,    27,    36,    23,    21,    38,    33,    36,    27,    23,
760          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
761          39,    31,    23,    32,    38,    37,    -1,    22,    20,    89,
762          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
763          -1,    22,    23,    37,    21,    36,    27,    34,    38,    27,
764          33,    32,    -1,    24,    33,    36,    21,    23,    -1,    24,
765          30,    19,    38,    -1,    36,    23,    21,    39,    36,    37,
766          27,    40,    23,    -1,    32,    33,    32,    89,    36,    23,
767          21,    39,    36,    37,    27,    40,    23,    -1,    37,    23,
768          36,    40,    23,    36,    -1,    40,    33,    30,    39,    31,
769          23,    -1,    30,    23,    40,    23,    30,    -1,    31,    39,
770          38,    23,    -1,    37,    33,    30,    33,    -1,    20,    43,
771          38,    23,    37,    -1,    34,    23,    36,    21,    23,    32,
772          38,    19,    25,    23,    -1,    36,    23,    37,    23,    38,
773          -1,    31,    27,    37,    21,    23,    30,    30,    19,    32,
774          23,    33,    39,    37,    -1,    32,    19,    31,    23,    -1,
775          23,    21,    26,    33,    -1,    35,    39,    27,    38,    -1
776  };  };
777    
778  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
779  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
780  {  {
781         0,    90,    90,    91,    94,    95,    96,    97,   100,   101,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
782       102,   103,   104,   107,   108,   109,   110,   111,   112,   113,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
783       114,   115,   116,   117,   118,   119,   120,   123,   124,   125,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
784       126,   127,   128,   129,   132,   133,   134,   135,   136,   137,       131,   132,   135,   136,   137,   138,   139,   140,   141,   142,
785       138,   141,   142,   143,   144,   145,   146,   147,   148,   149,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
786       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
787       160,   161,   162,   163,   164,   165,   166,   169,   170,   171,       165,   166,   169,   170,   171,   172,   173,   174,   175,   176,
788       172,   173,   174,   177,   178,   179,   180,   183,   184,   187,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
789       188,   191,   192,   193,   194,   195,   196,   197,   198,   199,       187,   188,   189,   190,   193,   194,   195,   196,   199,   202,
790       200,   201,   204,   205,   208,   209,   212,   213,   214,   215,       203,   204,   205,   206,   207,   210,   211,   212,   213,   214,
791       216,   217,   220,   221,   224,   227,   230,   233,   236,   239,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
792       240,   243,   246,   247,   250,   253,   256,   259,   262,   263,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
793       266,   267,   268,   269,   270,   278,   279,   282,   283,   286,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
794       287,   288,   292,   293,   296,   297,   298,   299,   300,   301,       245,   246,   247,   248,   249,   252,   253,   254,   255,   256,
795       302,   303,   304,   305,   308,   309,   310,   311,   312,   313,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
796       314,   315,   316,   317,   319,   319,   319,   319,   319,   319,       267,   270,   271,   272,   273,   274,   275,   278,   281,   282,
797       319,   319,   319,   319,   319,   319,   319,   319,   319,   319,       285,   286,   287,   288,   291,   292,   295,   296,   299,   300,
798       319,   319,   319,   319,   319,   319,   319,   319,   319,   319,       301,   304,   305,   308,   309,   310,   311,   312,   313,   314,
799       320,   320,   320,   320,   320,   320,   320,   320,   320,   320,       315,   316,   317,   318,   319,   320,   321,   324,   325,   328,
800       320,   320,   320,   320,   320,   320,   320,   320,   320,   320,       329,   332,   333,   336,   337,   338,   339,   340,   341,   342,
801       320,   320,   320,   320,   320,   320,   321,   321,   321,   321,       343,   344,   345,   346,   347,   348,   349,   352,   353,   356,
802       321,   321,   321,   321,   321,   321,   322,   322,   322,   322,       359,   360,   361,   364,   367,   370,   373,   376,   377,   380,
803       322,   322,   322,   322,   322,   322,   322,   322,   322,   323,       383,   386,   389,   392,   395,   396,   399,   402,   405,   408,
804       323,   323,   323,   323,   323,   323,   324,   324,   324,   324,       411,   414,   417,   420,   423,   426,   429,   430,   433,   434,
805       324,   325,   325,   325,   325,   326,   326,   326,   327,   327,       435,   436,   439,   440,   443,   444,   452,   453,   456,   457,
806       327,   328,   328,   328,   329,   329,   329,   330,   330,   330,       460,   461,   462,   466,   467,   470,   471,   472,   473,   474,
807       331,   331,   331,   332,   332,   332,   333,   333,   333,   334,       475,   476,   477,   478,   479,   482,   483,   484,   485,   486,
808       334,   334,   335,   335,   335,   336,   336,   336,   337,   337,       487,   488,   489,   490,   491,   493,   493,   493,   493,   493,
809       337,   338,   338,   338,   339,   339,   339,   340,   340,   340,       493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
810       341,   341,   341,   342,   342,   342,   343,   343,   343,   344,       493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
811       344,   344,   345,   345,   345,   346,   346,   346,   347,   347,       493,   494,   494,   494,   494,   494,   494,   494,   494,   494,
812       347,   348,   348,   348,   349,   349,   349,   350,   350,   350,       494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
813       351,   351,   351,   352,   352,   352,   353,   353,   353,   354,       494,   494,   494,   494,   494,   494,   494,   495,   495,   495,
814       354,   354,   355,   355,   355,   356,   356,   356,   357,   357,       495,   495,   495,   495,   495,   495,   495,   496,   496,   496,
815       357,   358,   358,   358,   359,   359,   359,   360,   360,   360,       496,   496,   496,   496,   496,   496,   496,   496,   496,   496,
816       361,   361,   361,   362,   362,   362,   363,   363,   363,   364,       497,   497,   497,   497,   497,   497,   497,   498,   498,   498,
817       364,   364,   365,   365,   365,   366,   366,   366,   367,   367,       498,   498,   499,   499,   499,   499,   500,   500,   500,   501,
818       367,   368,   368,   371,   372,   373,   374,   377,   378,   384,       501,   501,   502,   502,   502,   503,   503,   503,   504,   504,
819       387,   390,   393,   396,   399,   402,   405,   408,   411,   414,       504,   505,   505,   505,   506,   506,   506,   507,   507,   507,
820       417,   420,   423,   426,   429,   432,   435,   438,   441,   444,       508,   508,   508,   509,   509,   509,   510,   510,   510,   511,
821       447,   450,   453,   456,   459,   462,   465,   468,   471,   474,       511,   511,   512,   512,   512,   513,   513,   513,   514,   514,
822       477,   480,   483,   486,   489,   492,   495,   498,   501,   504,       514,   515,   515,   515,   516,   516,   516,   517,   517,   517,
823       507,   510,   513,   516,   519,   522,   525,   528,   531,   534,       518,   518,   518,   519,   519,   519,   520,   520,   520,   521,
824       537,   540,   543,   546,   549,   552,   555,   558       521,   521,   522,   522,   522,   523,   523,   523,   524,   524,
825         524,   525,   525,   525,   526,   526,   526,   527,   527,   527,
826         528,   528,   528,   529,   529,   529,   530,   530,   530,   531,
827         531,   531,   532,   532,   532,   533,   533,   533,   534,   534,
828         534,   535,   535,   535,   536,   536,   536,   537,   537,   537,
829         538,   538,   538,   539,   539,   539,   540,   540,   540,   541,
830         541,   541,   542,   542,   545,   546,   547,   548,   551,   552,
831         558,   561,   564,   567,   570,   573,   576,   579,   582,   585,
832         588,   591,   594,   597,   600,   603,   606,   609,   612,   615,
833         618,   621,   624,   627,   630,   633,   636,   639,   642,   645,
834         648,   651,   654,   657,   660,   663,   666,   669,   672,   675,
835         678,   681,   684,   687,   690,   693,   696,   699,   702,   705,
836         708,   711,   714,   717,   720,   723,   726,   729,   732,   735,
837         738,   741,   744,   747,   750,   753,   756,   759,   762,   765,
838         768,   771,   774,   777,   780,   783,   786,   789,   792,   795,
839         798,   801,   804,   807,   810,   813,   816,   819,   822,   825,
840         828,   831,   834,   837,   840,   843,   846,   849,   852,   855,
841         858,   861
842  };  };
843  #endif  #endif
844    
845  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
846  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
847     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
848  static const char *const yytname[] =  static const char *const yytname[] =
849  {  {
850    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
851    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
852    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
853    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
854    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
855    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
856    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
857    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
858    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
859    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
860    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
861    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
862    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
863    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
864    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
865    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
866    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
867    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
868    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
869    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
870    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
871    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
872    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
873    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
874    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
875    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
876    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
877    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
878    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
879    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
880    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
881    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
882    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
883    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
884    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "get_instruction", "set_instruction", "create_instruction",
885    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "reset_instruction", "clear_instruction", "find_instruction",
886    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "move_instruction", "copy_instruction", "destroy_instruction",
887    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
888    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "buffer_size_type", "list_instruction", "load_instr_args",
889    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "load_engine_args", "instr_load_mode", "device_index",
890    "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
891      "midi_input_channel_index", "midi_input_type_name", "midi_map",
892      "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
893      "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
894      "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
895      "param_val", "query_val_list", "query_val", "boolean", "string",
896      "dotnum", "digits", "digit", "number", "char", "text", "stringval", "SP",
897      "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR", "FIND", "MOVE",
898      "COPY", "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
899      "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "CHANNEL",
900      "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",
901      "INFO", "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
902      "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
903      "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
904      "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
905      "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
906      "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "CHANNEL_COUNT",
907      "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO", "BUFFER_FILL",
908      "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
909      "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
910      "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
911    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
912    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
913    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
914    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
915    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
916    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
917    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
918    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER",    "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
919    "VOLUME", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",    "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
920    "MISCELLANEOUS", "ECHO", "QUIT", 0    "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
921      "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
922      "DESCRIPTION", "FORCE", "FLAT", "RECURSIVE", "NON_RECURSIVE", "SERVER",
923      "VOLUME", "LEVEL", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",
924      "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
925  };  };
926  #endif  #endif
927    
928  # ifdef YYPRINT  # ifdef YYPRINT
929  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
930     token YYLEX-NUM.  */     token YYLEX-NUM.  */
931  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
932  {  {
933         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
934        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
935        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
936        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
937        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
938       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
939       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
940       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
941        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
942        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
943       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
944       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
945       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
946       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
947       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
948       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
949       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
950       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
951       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
952       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
953       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
954       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
955       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
956  };  };
957  # endif  # endif
958    
959  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
960  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
961  {  {
962         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
963       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
964       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
965       232,   232,   232,   232,   233,   233,   233,   233,   233,   233,       231,   231,   232,   232,   232,   232,   232,   232,   232,   232,
966       233,   234,   234,   234,   234,   234,   234,   234,   234,   234,       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
967         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
968         233,   233,   234,   234,   234,   234,   234,   234,   234,   234,
969       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
970       234,   234,   234,   234,   234,   234,   234,   235,   235,   235,       234,   234,   234,   234,   235,   235,   235,   235,   236,   237,
971       235,   235,   235,   236,   236,   236,   236,   237,   237,   238,       237,   237,   237,   237,   237,   238,   238,   238,   238,   238,
972       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
973       239,   239,   240,   240,   241,   241,   242,   242,   242,   242,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
974       242,   242,   243,   243,   244,   245,   246,   247,   248,   249,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
975       249,   250,   251,   251,   252,   253,   254,   255,   256,   256,       238,   238,   238,   238,   238,   239,   239,   239,   239,   239,
976       257,   257,   257,   257,   257,   258,   258,   259,   259,   260,       239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
977       260,   260,   261,   261,   262,   262,   262,   262,   262,   262,       239,   240,   240,   240,   240,   240,   240,   241,   242,   242,
978       262,   262,   262,   262,   263,   263,   263,   263,   263,   263,       243,   243,   243,   243,   244,   244,   245,   245,   246,   246,
979       263,   263,   263,   263,   264,   264,   264,   264,   264,   264,       246,   247,   247,   248,   248,   248,   248,   248,   248,   248,
980       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
981       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       250,   251,   251,   252,   252,   252,   252,   252,   252,   252,
982       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       252,   252,   252,   252,   252,   252,   252,   253,   253,   254,
983       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       255,   255,   255,   256,   257,   258,   259,   260,   260,   261,
984       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       262,   263,   264,   265,   266,   266,   267,   268,   269,   270,
985       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       271,   272,   273,   274,   275,   276,   277,   277,   278,   278,
986       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       278,   278,   279,   279,   280,   280,   281,   281,   282,   282,
987       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       283,   283,   283,   284,   284,   285,   285,   285,   285,   285,
988       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       285,   285,   285,   285,   285,   286,   286,   286,   286,   286,
989       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       286,   286,   286,   286,   286,   287,   287,   287,   287,   287,
990       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
991       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
992       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
993       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
994       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
995       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
996       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
997       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
998       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
999       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1000       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1001       264,   264,   264,   265,   265,   265,   265,   266,   266,   267,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1002       268,   269,   270,   271,   272,   273,   274,   275,   276,   277,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1003       278,   279,   280,   281,   282,   283,   284,   285,   286,   287,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1004       288,   289,   290,   291,   292,   293,   294,   295,   296,   297,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1005       298,   299,   300,   301,   302,   303,   304,   305,   306,   307,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1006       308,   309,   310,   311,   312,   313,   314,   315,   316,   317,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1007       318,   319,   320,   321,   322,   323,   324,   325       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1008         287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1009         287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1010         287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1011         287,   287,   287,   287,   288,   288,   288,   288,   289,   289,
1012         290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
1013         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
1014         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
1015         320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
1016         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
1017         340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
1018         350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
1019         360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
1020         370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
1021         380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1022         390,   391
1023  };  };
1024    
1025  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1026  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
1027  {  {
1028         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
1029         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
1030         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1031           1,     1,     1,     3,     7,     7,     5,     7,     1,     3,
1032           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1033           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1034           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1035           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1036           1,     1,     1,     1,    16,    18,    18,    20,     7,     3,
1037           3,     3,     5,     3,     3,     1,     1,     5,     7,     9,
1038           1,     5,     7,     9,     1,     1,     5,     5,     7,     9,
1039           7,     9,     1,     5,     7,     5,     5,     5,     3,     1,
1040           1,     3,     3,     9,     1,     5,     3,     7,     5,     3,
1041           5,     5,     3,     5,     1,     7,     9,     7,     9,     3,
1042           7,     9,    11,     9,     9,     7,     7,     7,     7,     3,
1043           3,     5,     3,     5,     3,     5,     7,     3,     3,     3,
1044           7,     5,     7,     5,     5,     5,     5,     5,     3,     3,
1045           5,     3,     3,     5,     7,     5,     9,     5,     5,     5,
1046           5,     5,     5,     5,     5,     5,     5,     0,     2,     3,
1047           5,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1048           3,     1,     3,     5,     3,     5,     3,     5,     7,     3,
1049           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1050         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1051         1,     1,     1,     5,     7,     9,     1,     5,     7,     9,         1,     1,     1,     1,     1,     1,     1,     3,     1,     1,
1052         1,     1,     5,     5,     7,     9,     7,     9,     1,     5,         1,     1,     3,     5,     1,     1,     1,     1,     1,     2,
1053         7,     5,     5,     5,     3,     1,     1,     7,     9,     7,         3,     4,     4,     1,     2,     1,     1,     1,     1,     1,
1054         9,     3,     3,     5,     3,     5,     3,     3,     3,     3,         1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
1055         3,     5,     7,     5,     9,     5,     5,     5,     5,     5,         2,     2,     2,     2,     2,     1,     1,     1,     1,     1,
        5,     5,     3,     5,     1,     1,     1,     1,     1,     1,  
        1,     1,     5,     7,     3,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,  
        1,     3,     3,     1,     1,     1,     1,     1,     2,     3,  
        4,     4,     1,     2,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     2,     2,     2,     2,     2,  
        2,     2,     2,     2,     1,     1,     1,     1,     1,     1,  
1056         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1057         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1058         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 735  static const unsigned char yyr2[] = Line 1074  static const unsigned char yyr2[] =
1074         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1075         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1076         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1077         1,     1,     1,     1,     1,     2,     2,     3,     3,     1,         1,     1,     1,     1,     1,     1,     2,     2,     3,     3,
1078         1,     1,     3,     3,     6,     7,     4,     4,     3,     9,         1,     1,     1,     3,     3,     3,     5,     5,     4,     4,
1079         6,     3,     9,    11,     6,     7,    17,    30,     8,     4,         4,     6,     7,     4,     4,     3,     4,     7,     9,     6,
1080        13,    12,    11,    12,    11,    17,    21,    10,     6,    29,         3,     9,    11,     7,    17,    30,     8,     4,    25,    24,
1081        20,    19,    29,    19,    30,    20,    17,    28,    27,    25,        23,    22,    25,    24,    21,    20,    29,    28,    19,    18,
1082        18,    17,    27,    17,    15,    18,    15,    10,     6,     6,        13,    12,    13,    12,    11,    12,    11,    17,    21,    11,
1083         4,     4,     5,    10,     5,    13,     4,     4        10,     6,     9,    14,    10,    29,    20,    19,    29,    19,
1084          30,    20,    17,    28,    27,    25,    18,    17,    27,    15,
1085          16,    19,    20,    17,    15,    18,    15,    10,    15,     7,
1086           8,    23,    25,    14,    13,    11,     5,     4,     9,    13,
1087           6,     6,     5,     4,     4,     5,    10,     5,    13,     4,
1088           4,     4
1089  };  };
1090    
1091  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1092     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1093     means the default is an error.  */     means the default is an error.  */
1094  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1095  {  {
1096         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1097         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     5,     6,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    25,    26,     0,  
1098         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1099         1,   380,   381,     2,     0,     9,   232,   227,   226,   224,         0,     0,     0,     0,    30,    31,     0,     0,     0,     0,
      225,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   216,   218,   219,   220,   221,   222,   223,  
      228,   229,   230,   231,   233,   234,   235,   236,   237,   238,  
      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,  
      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,  
      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,  
      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,  
      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,  
      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,  
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,  
      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,  
      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,  
      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,  
      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,  
      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,  
      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,  
      369,   370,   371,   372,   379,    12,   144,    11,   127,    10,  
1100         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1101         0,     0,   382,     0,     0,   383,     0,     0,     0,     0,         0,     0,     1,   501,   502,     2,     0,     9,   353,   348,
1102         0,     0,   391,     0,     0,     3,   134,   135,   136,   137,       347,   345,   346,   255,   256,   257,   258,   259,   260,   261,
1103       138,   139,   140,   141,   142,   143,   145,   132,   146,   147,       262,   263,   264,   275,   276,   277,   278,   279,   280,   281,
1104       148,   149,   150,   151,   152,   153,   217,   206,   207,   208,       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
1105       209,   210,   211,   212,   213,   214,   215,   128,     0,    13,       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
1106         0,     0,     0,     0,     0,     0,    14,     0,    41,    46,       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
1107        58,    65,    66,     0,    50,     0,     0,     0,     0,     0,       312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
1108        42,     0,    51,     0,     0,     0,     0,     0,     0,     0,       322,   323,   324,   325,   326,   337,   339,   340,   341,   342,
1109        15,     0,     0,    16,     0,     0,     0,     0,     0,    17,       343,   344,   349,   350,   351,   352,   354,   355,   356,   357,
1110        99,   101,    98,    96,   100,    97,     0,    18,     0,     0,       358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
1111         0,     0,     0,     0,    20,     0,     0,     0,     0,     0,       368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
1112         0,     0,     0,     0,     0,     0,     0,    21,    27,    31,       378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1113        30,    29,    28,    33,    32,    22,    34,    38,    37,    36,       388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
1114        35,    40,    39,   374,    23,   373,     0,     0,     0,   386,       398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
1115       387,   437,     0,     0,     0,     0,     0,   133,     0,     0,       408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
1116         418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
1117         428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
1118         438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1119         448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
1120         458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
1121         468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
1122         478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
1123         488,   489,   490,   491,   492,   493,   500,    12,   265,    11,
1124         248,    10,     0,     0,     0,     0,     0,     0,     0,     0,
1125           0,     0,     0,     0,     0,     0,     0,     0,     0,   503,
1126           0,     0,     0,     0,     0,   504,     0,     0,   505,     0,
1127           0,     0,     0,   520,     0,     0,     0,     3,   255,   256,
1128         257,   258,   259,   260,   261,   262,   263,   264,   266,   253,
1129         267,   268,   269,   270,   271,   272,   273,   274,   338,   327,
1130         328,   329,   330,   331,   332,   333,   334,   335,   336,   249,
1131           0,     0,     0,    13,    32,    38,     0,     0,     0,     0,
1132           0,     0,     0,     0,     0,     0,     0,    16,     0,    95,
1133         100,   112,   119,   120,     0,   104,     0,     0,     0,     0,
1134           0,    96,     0,   105,     0,     0,     0,     0,     0,   124,
1135           0,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1136           0,    14,     0,    15,     0,     0,    26,     0,     0,    27,
1137           0,     0,     0,    28,     0,     0,    29,     0,     0,     0,
1138           0,     0,    17,     0,     0,     0,    18,     0,     0,     0,
1139           0,     0,     0,     0,    19,   196,   198,   195,   193,   197,
1140         194,     0,   201,     0,     0,     0,     0,    20,     0,     0,
1141          21,     0,     0,     0,     0,     0,     0,     0,    22,     0,
1142         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1144          23,    40,    41,    42,    43,    51,    52,    53,    54,    55,
1145          56,    57,    58,    44,    48,    49,    50,    47,    46,    45,
1146          60,    61,    59,    24,    62,    63,    64,    65,    73,    74,
1147          75,    76,    77,    78,    79,    80,    66,    70,    71,    72,
1148          69,    68,    67,    82,    83,    81,    25,     0,     0,   510,
1149           0,     0,   508,   513,   514,   509,   601,     0,     0,     0,
1150           0,     0,   254,     0,     0,     0,     0,     0,     0,     0,
1151         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1152         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,   376,   375,     0,  
        0,     0,     0,   434,     0,     0,     0,     0,     0,     0,  
1153         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1154           0,     0,   187,     0,     0,     0,     0,     0,     0,     0,
1155         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    64,     0,     0,    74,    76,   135,   136,   137,   138,  
      139,   140,   141,   142,   143,    77,    78,     0,     0,     0,  
        0,     0,     0,     0,    79,     0,   117,     0,    80,     0,  
      116,    19,   114,     0,     0,     0,     0,     0,     0,     0,  
       71,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,    72,   126,   125,     0,  
        0,     0,     0,     0,     0,    24,   384,     0,   390,   394,  
1156         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1157         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1158         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1159         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160         0,   436,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,   507,     0,     0,     0,   597,     0,   506,
1161           0,     0,     0,     0,     0,     0,    39,   233,    33,   230,
1162         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,   385,  
1163         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    59,     0,     0,     0,    94,    95,    61,    62,    63,  
       52,     0,    47,     0,     0,     0,    53,     0,    43,     0,  
        0,     0,    73,     0,    75,     0,     0,     0,     0,   377,  
      378,     0,     0,   115,     0,   104,     0,     0,     0,     0,  
1164         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1165         256,   257,   258,   259,   260,   261,   262,   263,   264,     0,
1166         121,   220,   122,     0,     0,     0,     0,   126,   226,     0,
1167           0,   129,     0,   132,     0,     0,   118,     0,     0,     0,
1168           0,     0,     0,   158,   159,     0,     0,     0,     0,     0,
1169           0,     0,     0,     0,     0,     0,     0,     0,   152,   154,
1170           0,   168,   169,     0,     0,     0,     0,     0,   199,   200,
1171         202,   204,     0,   206,     0,     0,   171,     0,   232,     0,
1172         172,     0,   229,    89,    90,    91,     0,    93,     0,    94,
1173           0,     0,     0,     0,     0,     0,   139,     0,     0,     0,
1174         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1175         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1176       408,     0,   428,     0,   399,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   150,
1177         224,     0,   253,   225,   149,   247,   246,     0,     0,     0,
1178           0,     0,     0,     0,     0,     0,     0,     0,   157,   511,
1179           0,   519,     0,     0,     0,     0,     0,   495,     0,   494,
1180         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,   430,  
      431,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1181         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   392,     0,   395,     0,     0,   395,     0,  
        0,     0,     0,    60,    48,     0,    56,     0,    44,    54,  
        0,     0,     0,     0,     0,   224,   225,    92,   118,   120,  
      124,     0,   132,   123,     0,     0,     0,     0,     0,   102,  
        0,     0,     0,     0,     0,     0,    81,   105,     0,   106,  
       83,   107,    85,    86,   108,     0,    87,   109,   110,    88,  
      111,     0,     0,     0,    89,   112,   113,    90,    91,    67,  
        0,    69,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,   398,     0,     0,     0,     0,     0,     0,     0,  
1182         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,   429,  
1183         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1184         0,   393,     0,     0,     0,     0,   432,     0,    49,    57,         0,     0,     0,     0,   188,     0,     0,     0,     0,     0,
       55,    45,     0,     0,    93,   121,   122,     0,     0,   119,  
      129,     0,     0,     0,     0,   103,     0,     0,     0,     0,  
       82,   388,     0,    68,    70,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   130,  
      131,     0,     0,   407,     0,     0,     0,     0,     0,     0,  
1185         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,   389,     0,  
        0,     0,     0,    84,   402,     0,     0,     0,     0,     0,  
      404,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,   427,     0,   401,  
        0,   403,     0,     0,     0,     0,     0,     0,     0,     0,  
1186         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1187         0,   400,   435,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   600,     0,     0,
        0,     0,     0,   433,     0,     0,     0,     0,     0,     0,  
1188         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,   424,     0,     0,     0,     0,  
1189         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1190         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1191         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1192         0,     0,     0,     0,     0,     0,     0,   396,     0,   421,         0,     0,     0,     0,     0,     0,     0,   512,     0,     0,
1193       423,     0,   405,     0,   421,     0,     0,     0,     0,     0,         0,     0,     0,   498,   497,   496,   499,     0,     0,    36,
        0,     0,     0,   424,   426,   405,     0,     0,     0,     0,  
        0,   420,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   411,   413,     0,     0,     0,     0,  
        0,   411,     0,     0,     0,     0,     0,   416,     0,   415,  
      410,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,   425,     0,     0,     0,     0,     0,     0,   406,     0,  
1194         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1195       415,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,   113,     0,     0,     0,   191,   192,   115,
1196         116,   117,   106,     0,   101,     0,     0,     0,   107,     0,
1197           0,   515,   125,    97,     0,     0,   130,     0,   128,   131,
1198         133,     0,     0,     0,     0,   221,     0,     0,   163,     0,
1199           0,   161,     0,     0,   164,   165,   166,   167,     0,     0,
1200           0,   151,     0,   153,   155,   223,   170,   228,     0,     0,
1201           0,     0,   203,   205,     0,     0,   227,     0,   209,     0,
1202          92,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1203         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1204         0,     0,   419,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1205         0,     0,     0,     0,     0,     0,   422,     0,   418,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   250,
1206         0,     0,   417,     0,     0,   412,     0,   409,   414,   397         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1207           0,     0,     0,     0,     0,     0,   587,     0,     0,     0,
1208           0,     0,     0,     0,     0,   551,     0,     0,   590,     0,
1209         591,   527,     0,     0,     0,     0,     0,     0,     0,     0,
1210           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1211           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1212           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1213           0,     0,     0,   593,   594,     0,     0,     0,     0,     0,
1214           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1215           0,   599,     0,     0,     0,     0,     0,     0,     0,     0,
1216           0,     0,     0,     0,     0,   251,   252,     0,     0,     0,
1217           0,     0,     0,     0,     0,     0,     0,     0,   521,     0,
1218         523,     0,     0,     0,    37,    34,    35,     0,     0,   523,
1219           0,   579,     0,     0,     0,     0,   114,   102,     0,   110,
1220           0,    98,     0,   108,   127,     0,     0,     0,     0,    88,
1221         222,     0,     0,     0,   242,   244,   245,   162,   160,     0,
1222           0,   579,     0,     0,   345,   346,   189,   236,   238,   241,
1223         240,   239,   156,   235,     0,     0,     0,     0,     0,   207,
1224           0,   586,     0,     0,     0,     0,   173,   213,     0,   214,
1225         175,   215,   177,     0,     0,   184,   185,   186,   178,   216,
1226         179,   217,   218,   180,   219,     0,   181,   182,   183,   135,
1227           0,   137,     0,   140,     0,   592,     0,     0,     0,     0,
1228           0,     0,   146,   145,   231,   148,   147,     0,     0,     0,
1229           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1230           0,     0,     0,     0,   526,     0,   580,     0,     0,     0,
1231           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1232           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1233           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1234           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1235           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1236           0,     0,     0,   522,     0,     0,     0,     0,     0,     0,
1237           0,     0,     0,   595,     0,   103,   111,   109,    99,   123,
1238           0,     0,     0,     0,     0,     0,   243,     0,     0,     0,
1239         190,   237,     0,     0,     0,     0,   208,     0,     0,     0,
1240           0,   174,     0,     0,     0,   136,   138,     0,     0,     0,
1241         143,   144,   141,     0,     0,     0,     0,     0,     0,     0,
1242           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1243           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1244           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1245         550,     0,     0,     0,     0,     0,   516,     0,     0,     0,
1246           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1247           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1248           0,     0,     0,     0,     0,     0,     0,     0,   588,     0,
1249         518,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1250           0,     0,     0,     0,     0,   176,     0,     0,   142,     0,
1251           0,   544,     0,     0,     0,     0,     0,   549,     0,     0,
1252           0,     0,     0,   546,     0,     0,     0,     0,     0,     0,
1253           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1254           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1255           0,   577,     0,     0,     0,     0,     0,     0,   541,     0,
1256           0,   543,     0,     0,     0,   545,     0,     0,     0,     0,
1257           0,     0,     0,     0,   584,     0,     0,     0,     0,     0,
1258           0,     0,     0,     0,     0,   584,     0,     0,     0,     0,
1259           0,     0,     0,     0,     0,     0,   517,     0,     0,   585,
1260           0,   540,     0,   542,     0,     0,   598,     0,   583,     0,
1261           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1262           0,     0,     0,   596,     0,     0,     0,     0,     0,     0,
1263           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1264           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1265         589,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1266         574,   569,     0,   569,     0,     0,     0,     0,     0,     0,
1267           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1268           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1269           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1270           0,   570,     0,     0,    84,     0,     0,     0,     0,     0,
1271           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1272           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1273           0,     0,     0,   524,     0,     0,   567,   573,     0,     0,
1274         547,     0,     0,     0,   567,     0,     0,     0,     0,     0,
1275           0,     0,     0,     0,   574,   576,   578,     0,     0,     0,
1276           0,     0,     0,     0,     0,   547,     0,     0,     0,     0,
1277           0,     0,     0,     0,   566,     0,     0,     0,     0,     0,
1278           0,    85,    86,   234,   210,   211,   212,     0,     0,     0,
1279           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1280         539,     0,     0,     0,     0,     0,   571,     0,   557,   559,
1281           0,     0,     0,     0,     0,   571,     0,     0,     0,     0,
1282           0,   557,     0,     0,     0,     0,     0,     0,   562,     0,
1283           0,   538,     0,     0,     0,     0,     0,     0,     0,   561,
1284         556,     0,     0,     0,     0,     0,     0,   572,     0,     0,
1285           0,    87,     0,     0,     0,     0,     0,   575,     0,     0,
1286           0,     0,     0,   535,     0,     0,     0,     0,     0,     0,
1287           0,     0,     0,   548,     0,     0,     0,     0,     0,     0,
1288           0,     0,     0,     0,     0,   534,     0,     0,     0,     0,
1289           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1290           0,   561,     0,     0,     0,     0,   531,     0,     0,   581,
1291           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1292           0,     0,     0,     0,   530,     0,     0,     0,     0,     0,
1293           0,     0,     0,     0,     0,     0,     0,     0,     0,   529,
1294           0,     0,   533,     0,     0,     0,     0,   582,     0,   565,
1295           0,     0,     0,     0,   528,     0,     0,   532,     0,     0,
1296           0,     0,     0,   552,     0,     0,     0,     0,     0,     0,
1297           0,     0,     0,   568,     0,   554,     0,   564,     0,     0,
1298           0,     0,     0,   563,     0,     0,     0,   537,     0,   558,
1299           0,     0,   555,   536,   560,   525,     0,   553
1300  };  };
1301    
1302  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1303  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1304  {  {
1305        -1,    12,    13,    14,    15,   397,   405,   336,   384,   360,        -1,    14,    15,    16,    17,   353,   480,   503,   401,   403,
1306       363,   377,   550,   682,   664,   369,   534,   538,   826,   828,       450,   367,   458,   422,   526,   406,   409,   413,   416,   426,
1307       830,   833,   836,   839,   844,   541,   692,   539,   535,   807,       447,   776,   719,  1041,   996,   434,   756,   760,  1821,  1286,
1308       808,   566,   809,   810,   811,   266,   542,   268,   414,   536,      1288,  1290,  1298,  1300,  1303,   700,  1024,  1249,  1044,   809,
1309       746,    43,    44,    16,    17,    18,    19,    20,    21,   838,       707,  1055,  1046,   761,   658,  1323,   757,   656,  1822,  1272,
1310       537,    22,    23,    24,    25,    26,   329,   338,   339,   340,      1266,  1267,  1028,  1254,   814,  1268,  1269,   811,   278,   708,
1311       496,   398,   399,   400,   401,   402,   341,   342,   378,   343,       280,   838,   659,  1150,    55,    56,    18,    19,    20,    21,
1312       386,   344,   345,   346,   347,   348,   349,   553,   350,   388,        22,    23,    24,    25,    26,    27,    28,    29,  1302,  1296,
1313       351,   352,   353,   354,   355,   356,   556,   557,   558,   357,      1297,   720,    30,    31,    32,    33,   354,   369,   370,   371,
1314       559,   560,   561,   665,   666,    27,   404,   390,    28       676,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1315         490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
1316         372,   373,   501,   448,   374,  1824,  1825,  1826,   460,   375,
1317         376,   377,   378,   379,   380,   779,   381,   462,   382,   383,
1318         384,   385,   386,   387,   355,   389,   390,   391,   783,   784,
1319         785,   799,   392,   393,   356,   395,   357,   397,   803,   768,
1320         663,   712,   664,   398,   399,   800,   787,   788,   997,   998,
1321          34,   502,   794,   469,    35
1322  };  };
1323    
1324  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1325     STATE-NUM.  */     STATE-NUM.  */
1326  #define YYPACT_NINF -750  #define YYPACT_NINF -1308
1327  static const short int yypact[] =  static const yytype_int16 yypact[] =
1328  {  {
1329        53,  -750,  -750,     7,    -5,    33,    50,     3,    43,   121,        45, -1308, -1308,    84,   258,   127,   105,   182,   140,   126,
1330         0,   104,   150,  -105,  1650,  -750,   -47,   -47,   -47,   -47,       193,   184,    74,   210,   296,    61,  2430, -1308,   122,   122,
1331       -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,  -750,   187,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1332       206,   193,   209,   194,   229,   222,    76,    -3,   230,   216,       122,   122,   122,   122,   122, -1308,   285,   327,   351,   332,
1333      -750,  -750,  -750,  -750,    31,  -750,  -750,  -750,  -750,  -750,       350,   378,   388,   393,   436,   442,   486,   495,   192,   493,
1334      -750,  -750,   269,   269,   269,   269,   269,   269,   269,   269,       512,   306, -1308, -1308, -1308, -1308,   308, -1308, -1308, -1308,
1335       269,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308,   492,   492,   492,   492,   492,   492,
1336      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,       492,   492,   492, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1337      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1338      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1339      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1340      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1341      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1342      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1343      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1344      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1345      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1346      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1347      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1348      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1349      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1350      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1351      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1352      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1353      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1354      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1355      -750,  -750,  -750,  -750,  -750,  2757,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1356       234,    72,    65,    65,    80,     5,   234,    85,    39,    39,     -1308, -1308, -1308, -1308, -1308, -1308, -1308,  3316, -1308, -1308,
1357      1872,   234,  -750,   238,   221,  -750,   223,   240,   225,   227,     -1308, -1308,    83,   139,   504,   504,   505,   515,   516,   516,
1358       241,   243,  -750,   231,   228,  -750,  -750,  -750,  -750,  -750,       249,   249,   179,   168,   219,   159,   117,   117,   513, -1308,
1359      -750,  -750,  -750,  -750,  -750,  -750,   269,  -750,   269,   269,       520,   498,   523,   506,   521, -1308,   508,   525, -1308,   526,
1360       269,   269,   269,   269,   269,   269,  -750,  -750,  -750,  -750,       510,   517,   528, -1308,   518,   533,   514, -1308, -1308, -1308,
1361      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   244,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,   492, -1308,
1362       122,   245,   237,   246,   265,   256,  -750,   -47,  -750,  -750,       492,   492,   492,   492,   492,   492,   492,   492, -1308, -1308,
1363      -750,  -750,  -750,   -47,  -750,   -47,   -47,   -47,   -47,   -47,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1364      -750,   -47,  -750,   -47,   -47,   -47,   -47,   -47,   251,   264,       530,   534,   531, -1308, -1308,   122,   122,   122,   227,   536,
1365      -750,   -47,   -47,  -750,   -47,   -47,   134,   266,   268,  -750,       537,   527,   522,   538,   540,   535,   539, -1308,   122, -1308,
1366      -750,  -750,  -750,  -750,  -750,  -750,   261,  -750,   -47,   -47,     -1308, -1308, -1308, -1308,   122, -1308,   122,   122,   122,   122,
1367       -47,   275,   294,   289,  -750,   -47,   -47,   -47,   -47,   -47,       122, -1308,   122, -1308,   122,   122,   122,   122,   122, -1308,
1368       -47,   278,   292,   293,   281,   288,   290,  -750,  -750,  -750,       122,   122,   122,   122,   122,   122,   122,   122,   122, -1308,
1369      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,       542, -1308,   122, -1308,   122,   543, -1308,   122,   546, -1308,
1370      -750,  -750,  -750,  2757,  1872,  -750,   -47,   286,   291,  -750,       122,   122,   547, -1308,   122,   122, -1308,   122,   122,   532,
1371      -750,  -750,   285,   297,   305,   316,   323,  -750,   325,   326,       544,   550, -1308,   122,   122,   122, -1308,   122,   122,   122,
1372       332,   333,   320,   331,   318,   319,    60,   328,   328,   328,       279,   548,   545,   551, -1308, -1308, -1308, -1308, -1308, -1308,
1373       328,   328,   328,   328,   328,   328,   328,   328,   328,   334,     -1308,   122, -1308,   122,   122,   122,   541, -1308,   122,   122,
1374       336,  2757,  2757,   295,   295,   337,   341,   339,   329,    21,     -1308,   122,   122,   122,   122,   549,   558,   553, -1308,   122,
1375      2757,   295,   340,   342,   345,    18,   295,   295,   295,   295,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1376      2978,   352,   350,   343,   346,   347,   351,  2757,  -750,   295,       566,   569,   556,   564,   567,   555,   563,   554,   577,   578,
1377       354,   348,   356,  -750,   349,   353,   355,   358,   357,   359,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1378       361,   364,   367,   360,   369,   363,   -47,   -47,   -47,   -47,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1379       -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1380       -47,  -750,   370,   371,  1872,  1872,   269,   269,   269,   269,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1381       269,   269,   269,   269,   269,  -750,  -750,   375,   372,   376,     -1308, -1308, -1308, -1308, -1308, -1308, -1308,   122,   524, -1308,
1382       368,  1872,  1872,   374,  -750,   -47,  -750,   -47,  -750,   -47,       574,   582, -1308, -1308, -1308, -1308, -1308,   579,   584,   602,
1383      2757,  -750,  -750,   381,   377,   382,   344,    78,   378,   379,       590,   605, -1308,   607,   552,   611,   174,   174,    13,   612,
1384      -750,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,       608,   616,   560,   615,   561,   620,   609,   606,   613,   107,
1385       -47,   -47,   -47,   -47,   -47,   -47,  -750,  2757,  -750,   389,       624,   624,   624,   624,   624,   624,   624,   624,   624,   624,
1386       383,   393,   373,   397,   396,  -750,  -750,   380,  -750,  -750,       405,   624,   624,   624,   624,   503,   624,    22,    22,   624,
1387       391,   398,   388,   392,   394,   390,   395,   366,   403,   399,       624,   630,   621,   503,   632,   405,   568,     3,     3,   570,
1388       404,   295,    37,   295,   295,  2757,   295,  2757,  2757,   295,       174,   174,   174,   174,   633,   585,   634,  3316,  3316,   503,
1389       295,   295,   295,  2757,  2757,   295,   400,   384,  2757,  2757,       503,   503,   503,   636,   665,   596,   664,   405,   503,    22,
1390       401,   407,   385,   405,  1206,  1428,   408,   295,   176,   295,        22,   654,    15,  3316,   503,   405,     8,   174,   670,   668,
1391       402,  -750,   386,   409,   410,   406,   412,   413,   295,   295,       673,   109,   503,   503,   503,   503,   669,   156,   111,   111,
1392       295,   295,   295,   295,   295,   295,   295,   295,   295,  2757,       482,  3535,   675,   676,   683,   614,   617,   674,   129,   672,
1393       295,  2757,   295,   422,   414,   424,   411,   418,   426,  -750,       671,   687,   503, -1308,   696,   688,   697, -1308,   690, -1308,
1394       416,   420,   434,   387,   439,   436,   437,   435,   425,   429,       691,   698,   702,   704,  2652,  2652, -1308, -1308, -1308, -1308,
1395       430,  -750,   421,   442,   -47,  -750,  -750,  -750,  -750,  -750,       703,   699,   122,   122,   122,   707,   708,   705,   712,   713,
1396      -750,  1872,  2757,   -47,   -47,   -47,  -750,  1872,  2757,   -47,       709,   715,   710,   725,   714,   716,   122,   122,   122,   122,
1397       432,   440,   -47,  3199,   -47,   445,   443,   441,   431,  -750,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1398      -750,   446,   -47,  -750,   -47,  -750,   462,   444,   450,   451,       492,   492,   492,   492,   492,   492,   492,   492,   492,   717,
1399       449,   447,   457,   -47,   -47,   -47,   -47,   -47,   -47,   -47,     -1308, -1308, -1308,   122,   122,   122,   122, -1308, -1308,   122,
1400       -47,   -47,   -47,   -47,  3420,   -47,  3641,   -47,   433,   456,       726, -1308,   122, -1308,   122,   122, -1308,   724,   721,   503,
1401       467,   470,   463,   464,   475,   476,   472,   480,   494,   485,       122,   122,   728, -1308, -1308,   729,   122,   122,   122,   122,
1402      -750,   487,  -750,   483,  -750,   516,   519,   295,  2757,   295,       730,   122,   122,   122,   122,   732,   723,   753,  2652,  2652,
1403       295,   295,  2757,   295,   523,   525,  2757,  2094,   526,   528,       122, -1308, -1308,   122,   754,   759,   749,   767, -1308, -1308,
1404       530,   529,   532,   295,   295,   531,   533,   534,   477,  -750,     -1308, -1308,   122, -1308,   122,   757, -1308,   122, -1308,   122,
1405      -750,   537,   295,   295,  2757,   295,   295,   226,  2757,   295,     -1308,   122,  3316, -1308, -1308, -1308,   763, -1308,   122, -1308,
1406       185,  2978,  2978,  2094,  2757,  2094,  2757,   481,   539,   541,       770,   765,   772,   761,   167,   768, -1308,   122,   122,   122,
1407       484,   535,   551,  -750,   554,  -750,   538,   546,   542,   544,       122,   122,   122,   122,   122,   122,   122,   122,   122,   122,
1408       548,   559,   566,  -750,  1872,   -47,  -750,   -47,  1872,  -750,       122,   122,   122,   783,   122,   764,   782,   779,   122,   122,
1409       549,   556,  3862,  2757,  2757,   269,   269,   588,  -750,  2757,       122,   122,   784,   122,   122,   122,   122,   492,   492, -1308,
1410      -750,   114,    10,  -750,   553,   542,   560,   570,   563,  -750,     -1308,   247,    23, -1308, -1308,  3316, -1308,   781,   785,   778,
1411       -47,   558,   564,   513,   576,   581,  -750,  -750,   -47,  -750,       786,   774,   792,   787,   794,   793,   798,   797, -1308, -1308,
1412      -750,  2757,  -750,  -750,  -750,   575,  -750,  -750,  -750,  -750,       776, -1308,   796,   799,   789,   795,   736,  3316,  1986, -1308,
1413      2757,   -47,   269,   269,  -750,  -750,  -750,  -750,  -750,   588,      2208,   807,   800,   174,   174,   174,   801,   803,   814,   815,
1414      4083,   588,  4304,   582,   518,   589,   590,   577,   579,   586,       816,   805,   740,   808,   819,   804,   806,   503,   151,   503,
1415       578,   591,  -750,   574,   592,   580,   595,  2757,  2757,  2757,       503,  3316,   503,  3316,  3316,   503,   503,   503,   503,  3316,
1416      2757,   583,   584,  2094,  2315,  2536,   154,   173,  2094,   269,       503,   820,   503,  3316,   503,   503,   174,   830,   174,   174,
1417       587,   593,   596,   598,   295,   597,   594,   601,   599,  -750,       174,   766,   821,   122, -1308,   503,   769,   822,  3316,   174,
1418       295,   585,   295,  2094,  2094,   600,   118,   604,   605,   602,      3316,   174,   824,   174,   174,   174,   174,   826,   829,   771,
1419       603,  -750,   606,   550,   607,   609,  -750,   611,   -47,  2757,      3316,  3316,   503,   503,   828,   825,   839,   775,   174,   174,
1420      2757,   -47,   610,   608,   588,  -750,  -750,   269,   269,  -750,       827,   503,   174,   503,   833,   174,   832, -1308,   777,   848,
1421       269,   613,   612,   614,   618,  -750,   617,   615,   616,   620,       853,   841,   847,   503,   503,   503,   503,   503,   503,   503,
1422      -750,  -750,   -47,   588,   588,   627,   628,   631,   625,   626,       503,   503,   503,   503,   503,  3316,   503,  3316,   503,   850,
1423       645,   635,   629,   115,   552,   646,   632,   633,   619,   269,       503,   860,   843,   862,   503,   503,   503,   503,   849,   174,
1424       269,   634,   621,  -750,   641,   636,   622,   638,   639,   226,       174,   174,   174,   318,   450,   492,   852,   864,   856,   857,
1425       644,   642,   656,   649,   651,   661,   647,   648,   660,   655,       867,   873,   809,   870,   875,   865,   874, -1308,   876,   863,
1426       674,    99,   623,   684,   666,   683,   668,   685,  -750,   675,       877,   866,   878, -1308,  3316, -1308, -1308,   869,   812,   122,
1427       113,   680,   677,  -750,  -750,   686,   687,   678,   681,   637,       122,   122,   813,   885,   883,   879,   887,   880,   884,   882,
1428      -750,   643,   694,   696,   700,    15,   695,   709,   708,   650,       831,   890,   881, -1308,   872,   896,   122, -1308, -1308, -1308,
1429       711,   652,   713,   653,   714,   707,   704,   659,   706,  -750,     -1308, -1308, -1308,  2652,  3316,   122,   122,   122, -1308,  2652,
1430       715,  -750,   724,   183,   733,   735,   737,   725,   741,   734,       122, -1308, -1308,  3316,   122,   122, -1308,   886, -1308, -1308,
1431       736,   748,   750,   738,   752,   744,   202,   746,   740,   739,     -1308,   894,   834,   503,   122, -1308,   895,   889,   122,  3754,
1432        64,  -750,  -750,   754,   755,    58,   756,   758,   699,   764,       122,   122,   122,   891, -1308, -1308, -1308, -1308,   835,   897,
1433       757,   760,   753,  -750,   772,   769,   777,   774,   776,   780,       900,   122,  3973,   122,   122, -1308, -1308, -1308,   842,   907,
1434       779,   766,   718,   782,   783,   775,   770,   793,   781,   790,       901,   905, -1308, -1308,   898,   122, -1308,   122, -1308,   913,
1435       730,   797,   795,   802,   801,   743,   796,   785,   806,   789,     -1308,   846,   909,   911,   912,   918,   910,   122,   122,   122,
1436       812,   815,   798,   814,   743,    12,   818,   803,   807,   808,       122,   122,   122,   122,   122,   122,   122,   122,   122,  4192,
1437       810,   816,   804,   817,   811,   813,   826,   819,   820,   821,       122,  4411,   122,   922,   122,   920,   925,   923,   122,   122,
1438       829,   830,   831,   837,   836,   842,   847,   845,   832,   840,       122,   122,   928,   122,   122,   122,   122,   492,   492,   492,
1439       835,   856,   846,   848,   862,   863,   850,  -750,   851,   853,       871,   915,   929,   916,   924,   927,   932,   931,   935,   888,
1440       805,   868,   809,   870,  -750,   871,   853,   861,   874,   822,       892,   939,   940,   938,   933,   937, -1308,   934,   503,   174,
1441       877,   865,   869,  -750,  -750,  -750,   879,   880,   864,   859,       174,   941,   952,   943,   944, -1308,   953,   946, -1308,   936,
1442       875,  -750,   873,   884,   878,   881,   892,   893,   898,   888,     -1308, -1308,   945,   948,   503,  3316,   503,   503,   503,  3316,
1443       896,   902,   908,   903,   895,   852,   900,   897,   917,   920,       503,   503,   503,   949,   947,   955,   122,   503,   956,   954,
1444       921,  -750,   895,   912,   855,   926,   914,  -750,   918,   858,      3316,  2874,  3316,  3316,   957,   963,   978,   969,  3316,  3095,
1445      -750,   915,   911,   866,   916,   922,   909,   858,   923,   924,       174,   970,   972,   982,   975,   979,   503,   503,   986,   980,
1446       935,  -750,   925,   942,   927,   940,   944,   941,  -750,   947,       983,   984,   930, -1308, -1308,   503,   503,  3316,   503,    78,
1447       950,   945,   951,   936,   882,   946,   949,   938,   948,   952,       503,   405,  3316,   503,   482,  3535,  3535,  3095,  3316,  3095,
1448      -750,   953,   958,   956,   954,   962,   963,   968,   965,   971,      3316, -1308,   174,   985,   981,   942,   503,   503,   503,   503,
1449       960,   957,   955,   959,   964,   961,   966,   967,   973,   972,       976,   174,   174,   174,   174,   492,   492,   987,   951,   991,
1450       978,   979,  -750,   980,   982,   983,   969,   974,   975,   977,       988,  1002,   974,   998,  1004,   992,   996,  1011, -1308,  1017,
1451       970,   981,   984,   986,   992,   987,  -750,   993,  -750,   995,     -1308,  1006,  1007,  1022, -1308, -1308, -1308,  1026,  1037,  1032,
1452       985,   989,  -750,   990,   991,  -750,   994,  -750,  -750,  -750      1034,  1039,   209,  1038,  1061,  1064, -1308,  2652,   122, -1308,
1453         122,  2652,   122, -1308, -1308,  1049,  1050,  1055,   503, -1308,
1454       -1308,  1052,  1054,  4630, -1308,  3316, -1308,   122,   122,  1056,
1455        1057, -1308,  1059,  4849,   492,   492,  1086, -1308,  3316, -1308,
1456       -1308, -1308, -1308, -1308,  1058,  1032,  1039,   320,  1071, -1308,
1457         122, -1308,  1067,   397,  1009,  1076, -1308, -1308,   122, -1308,
1458       -1308,  3316, -1308,  1084,  1075, -1308, -1308, -1308, -1308, -1308,
1459       -1308, -1308, -1308, -1308,  3316,   122, -1308, -1308, -1308,  1086,
1460        5068,  1086,  5287, -1308,  1020, -1308,  1089,   122,   122,   122,
1461         122,  1085, -1308, -1308, -1308, -1308, -1308,  1072,  1090,  1024,
1462        1079,  1027,  1091,   420,  1098,  1101,  1092,  1093,  1096,  1088,
1463        1094,  1102,  1095,  1105, -1308,  1097, -1308,  1100,  1099,  1104,
1464        1103,  1106,  3316,  3316,  3316,  3316,   503,  1107,  1111,  1113,
1465         122,  1112,  1115,  2874,  1116,  1114,  1117,  3095,  3095,  1119,
1466        1120,  1122,  1109,   503,  1125,  1127,  1118,  1126,   503,  1121,
1467        1132,   503,  3095,  3095,  1134,  1135,   503,   503,   482,   174,
1468        1136,  1131,  1144,   317,  1133,   321,  1142,  1137,  1139,  1143,
1469        1145,  1152,  1141, -1308,  1157,  1147,  1155,  1162,  1108,  1167,
1470        1161,  1164,  1180, -1308,  1174,   122,  3316,  3316,   122, -1308,
1471        1168,  1171,  1191,  3316,  1175,  1181, -1308,  1184,  1182,  1179,
1472        1086, -1308,  1185,  1189,  1187,  1192, -1308,  1186,  1193,  1194,
1473         435, -1308,  1199,  1209,   122,  1086,  1086,  1195,  1204,   122,
1474       -1308, -1308, -1308,  1200,  1203,  1210,  1206,  1211,  1216,  1208,
1475        1219,  1218,  1214,  1212,  1230,  1217,  1234,  1225,  1236,  1221,
1476        1226,  1222,   173,  1240,  1176,  1227,  1244,  1231,  1245,  1232,
1477        1243,   122,  1235,  1247,  1252,  1237,  1188,  1239,  1190,  1241,
1478       -1308,  1242,  1196,  1246,  1251,  1253, -1308,   405,  1248,  1256,
1479         503,  1255,  1257,  1261,  1259,  1271,  1260,  1266,  1275,  1267,
1480        1220,  1268,  1277,  1276,  1288,  1274,  1282,  1284,  1279,  1280,
1481        1278,  1287,  1293,  1289,   186,  1291,  1238,  1304, -1308,  1294,
1482       -1308,   174,  1297,  1292,  1298,  1295,  1307,  1299,  1310,  1308,
1483        1300,   187,  1301,  1302,  1311, -1308,  1309,  1306, -1308,  1313,
1484        1312, -1308,  1316,  1318,  1317,  1322,  1323, -1308,  1333,  1326,
1485        1319,  1321,  1272, -1308,  1328,  1337,  1340,  1283,  1342,  1344,
1486        1353,  1341,   161,  1345,  1358,  1361,  1360,  1363,   122,  1367,
1487        1362,  1365,  1315,  1368,  1320,  1373,  1375,  1324,  1378,  1350,
1488        1366,  1325,  1372,  1376,  1384,  1374,  1329,  1381, -1308,  1382,
1489        1383, -1308,  1399,  1400,  1387, -1308,  1404,    35,  1394,  1389,
1490         418,  1403,  1405,  1407,    37,  1391,  1408,  1401,  1395,  1406,
1491        1413,  1409,   503,  1411,    40,  1349,  1418,  1410,  1425,  1412,
1492        1416,   449,  1414,  1415,  1419,    77, -1308,  1424,  1423, -1308,
1493        1427, -1308,  1377, -1308,  1428,  1431, -1308,  1434, -1308,  1442,
1494        1432,  1446,  1445,   166,  1439,  1441,  1385,  1453,  1449,  1440,
1495        1443,  1444,  1447, -1308,  1450,   122,  1451,  1457,  1460,  1463,
1496        1464,  1465,  1455,  1468,  1472,  1469,  1459,  1402,  1473,  1467,
1497        1458,  1420,  1474,  1475,   293,  1478,  1470,  1471,  1480,  1422,
1498       -1308,  1483,  1476,  1485,  1429,  1490,  1492,  1493,  1496,  1499,
1499        1435,    41,  1491, -1308,   482,  1489,  1500,  1488,  1510,  1494,
1500        1511,    46,  1514,  1498,  1515,  1435,    87,  1521,  1505,  1508,
1501        1522,  1523,  1504,  1512,  1524,  1516,  1528,  1461,  1525,  1517,
1502        1527,  1529,  1532,  1520,  1530,  1518,  1533,  1531,  1541,  1534,
1503        1535, -1308,  1537,  1536,   122,  1540,  1539,  1548,  1545,  1550,
1504        1546,  1547,  1551,  1557,  1555,  1513,  1552,  1544,  1560,  1549,
1505        1559,  1553,  1554,  1563,  1566,   254,  1561,  1568,  1574,  1565,
1506        1577,  1572,  1562, -1308,  1569,  1579,  1567,  1519,  1581,  1586,
1507        1526,    29,  1583,  1588, -1308,  1589,  1567,  1592,  1575,  1591,
1508        1542,  1594,  1580,  1584, -1308, -1308, -1308,  1596,  1587,  1595,
1509        1590,  1543,  1593,  1597,  1601, -1308,  1600,  1599,  1602,  1607,
1510        1598,  1603,  1585,  1614, -1308,  1604,  1608,  1605,  1606,  1611,
1511        1613,   122, -1308, -1308, -1308, -1308, -1308,  1619,  1622,  1624,
1512        1616,  1625,  1628,  1618,  1621,  1631,  1632,  1633,  1623,  1641,
1513       -1308,   324,  1627,  1639,  1630,  1629, -1308,  1638,  1634,  1609,
1514        1635,  1636,  1637,  1651,  1653,  1640,  1654,  1610,  1642,   174,
1515        1643, -1308,  1634,  1640,  1646,  1615,  1660,  1648, -1308,  1652,
1516        1617, -1308,  1645,  1655,  1658,  1659,  1661,  1620,  1663,  1626,
1517       -1308,  1668,  1647,  1644,  1670,  1649,  1656, -1308,  1665,  1686,
1518        1677, -1308,  1683,  1626,  1684,  1681,  1696, -1308,   326,  1687,
1519        1682,  1698,  1685, -1308,   338,  1688,  1691,  1707,  1689,  1708,
1520        1693,  1712,  1709, -1308,  1711,  1710,  1699,  1717,  1719,  1713,
1521        1706,  1718,  1704,  1720,  1716, -1308,  1721,  1723,  1702,  1722,
1522        1715,  1664,  1724,    75,  1725,  1727,  1735,  1705,  1731,  1732,
1523        1736, -1308,  1730,  1746,  1728,  1734, -1308,  1739,  1749, -1308,
1524        1738,  1756,  1757,  1753,  1758,  1759,  1761,  1766,  1748,  1768,
1525        1765,  1760,  1762,  1700, -1308,  1764,  1767,  1771,  1763,  1755,
1526        1582,  1769,  1770,  1773,  1772,  1774,  1776,  1775,  1777, -1308,
1527         362,  1778, -1308,  1779,  1780,  1784,  1789, -1308,  1791, -1308,
1528        1799,  1790,  1800,  1801, -1308,  1792,  1794, -1308,  1804,  1793,
1529        1788,  1796,  1797,  1740,  1798,  1802,  1803,  1754,  1806,  1805,
1530        1811,  1812,  1807, -1308,  1815, -1308,  1814, -1308,  1810,  1813,
1531        1822,  1816,  1817, -1308,  1821,  1819,  1809, -1308,  1820, -1308,
1532        1826,  1808, -1308, -1308, -1308, -1308,  1827, -1308
1533  };  };
1534    
1535  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1536  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1537  {  {
1538      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1539      -750,  -750,  -750,  -593,  -750,  -750,  -750,  -750,  -626,  -467,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,
1540      -750,  -268,    62,  -750,  -750,  -477,   242,   427,   417,  -749,     -1308, -1308, -1308,  -867, -1308, -1308, -1308, -1308, -1308, -1009,
1541       147,  -563,   317,   260,    11,   -10,   -14,   298,  -304,  -750,     -1307, -1308,   417,    57, -1308,  -547,  -984, -1204,   412, -1164,
1542       -13,   988,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,      -330, -1094, -1077,  -842,   868,   597,  -911,   610,   -11,   461,
1543      -750,  -750,  -750,  -750,  -750,  -750,   -23,   762,   763,   765,     -1128,   489,  -863,   501,  -744,   507,  -609,   -15,   147,     6,
1544      -224,   759,   761,  -258,  -257,  -256,   -49,  -750,  -750,   767,       284,  1213,  -154,   -16,  1818, -1308, -1308, -1308, -1308, -1308,
1545      -750,   771,  -255,  -750,  -750,   773,   569,  -750,   778,  -750,     -1308, -1308, -1308, -1308, -1308, -1308, -1308, -1308,  -484, -1308,
1546       784,   786,  -253,  -750,  -750,   630,  -750,  -750,  -750,  -750,     -1308,  1254, -1308, -1308, -1308, -1308,  -130,  1573,  1612,  1650,
1547      -750,  -750,  -750,  -750,  -750,  -750,   768,  -750,  -750      -263,  1570,  1576,  1578,  1657,  1662,  1666,  1667,  1669,  1671,
1548        1672,  1673,  1674,  1675,  1676,  1678,  1679,  -267,  -266,  -264,
1549         177, -1308,  1680, -1308,  1690, -1308, -1308, -1308, -1308,  1692,
1550        -265, -1308, -1308,  1914,  -237, -1308,  1694, -1308,  2135,  2360,
1551        -248, -1308,   202,   114,  -254,  2361, -1308,  1250, -1308, -1308,
1552       -1308, -1308,    31,  2582,   -61,   -13,  -180,   -12,  1229, -1308,
1553       -1308,  -493,   -63, -1308,  -272, -1308, -1308, -1308, -1308, -1308,
1554       -1308,  2578,  -224, -1308, -1308
1555  };  };
1556    
1557  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1558     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1559     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1560     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1561  #define YYTABLE_NINF -145  #define YYTABLE_NINF -266
1562  static const short int yytable[] =  static const yytype_int16 yytable[] =
1563  {  {
1564       267,   269,   575,   270,   271,   272,   273,   274,   275,   276,       281,  1057,   282,   283,   284,   285,   286,   287,   288,   289,
1565       277,   278,   279,   280,   281,  -144,   684,   361,   364,   362,       290,   291,   292,   293,   294,   295,   296,   297,   298,  1001,
1566       365,   408,   409,   410,   849,    37,   851,   531,   532,   291,      1306,   810,   279,   468,  1224,   423,   427,  1031,  -265,   388,
1567       332,    29,    33,    30,   376,  1097,  1044,   292,    34,   546,       520,   521,   766,   522,  1043,   661,   721,   660,   723,  1146,
1568      1017,    38,   307,   307,   307,   307,   307,   307,   307,   307,       452,   464,   424,   428,  1360,   661,     1,   718,     2,   328,
1569       307,   547,  1098,  1018,     1,   533,     2,   548,    31,   662,       330,   331,   332,   333,   334,   335,   336,   337,   710,  1309,
1570       549,   391,   392,   306,   308,   309,   310,   311,   312,   313,       748,  1311,  1819,  1820,     3,  1244,     4,     5,   764,     6,
1571       314,   315,   393,   663,     3,    32,     4,     5,   394,   395,         7,  1441,  1648,  1280,  1648,     8,     9,  1648,  1741,  1449,
1572         6,   396,   391,  1058,    35,     7,   358,  1053,  1000,   495,        10,    11,    12,  1741,    13,   714,   702,   318,   690,   691,
1573         8,     9,    10,   330,    11,   331,  1059,   332,   359,   394,       692,   693,   694,   695,   696,   697,   698,    49,  1678,  1583,
1574      1054,   366,   396,   367,  1055,   333,   381,   624,   328,   289,      1293,   724,  1954,   396,   350,   351,    36,   411,  1754,  1668,
1575       382,   334,   335,   368,   661,   290,   667,   668,   383,   625,      1294,  1679,   445,    50,   352,  1680,   752,   754,  1949,  1317,
1576        41,    42,   879,   995,   914,   296,   297,   298,   299,   300,      1318,  1319,  1320,   749,  1649,  1755,  1657,   471,   773,  1667,
1577       301,   302,   303,   304,   305,   996,   968,  1004,    39,   832,      1742,   765,    41,   802,   675,  1750,   470,   471,   472,   473,
1578       969,   936,   695,   841,   933,   934,    36,   937,   970,  1005,       774,   474,   475,   793,   477,    45,   775,   479,   476,   366,
1579        40,   703,   704,   705,   706,   707,   708,   709,   710,   711,        40,   823,  1419,   368,   477,   478,  1242,   479,   358,    46,
1580       712,   713,   917,   429,   430,   296,   297,   298,   299,   300,       359,   360,   361,   362,   451,   459,   824,    43,   527,  1292,
1581       301,   302,   303,   304,   305,   455,   430,   264,   497,   498,       363,   994,   883,    44,  1305,   795,   364,   365,   455,   366,
1582       499,   918,   531,   532,   296,   297,   298,   299,   300,   301,       350,   412,   456,   420,  1615,   995,   796,   797,   793,  1692,
1583       302,   303,   304,   305,   842,   843,   296,   516,   517,   518,       457,   361,  1520,  1548,   920,   446,  1521,  1616,   430,   366,
1584       519,   520,   521,   522,   523,   524,  1034,  1035,   847,   848,       431,   408,  1693,   432,  1522,    42,   921,    48,  1572,  1588,
1585       551,   282,   554,   500,   501,   502,   503,   504,   505,   506,       433,   329,   329,   329,   329,   329,   329,   329,   329,   329,
1586       507,   508,   509,   510,   511,  1048,  1049,   614,   615,   403,      1573,  1589,   394,   311,  1451,   654,   655,   414,   417,   312,
1587       411,   283,   284,   286,  -144,  -144,  -144,   296,   516,   517,       654,   655,    47,   453,   466,   654,   655,   654,   655,  1430,
1588       518,   519,   520,   521,   522,   523,   524,   835,   337,   285,       350,   412,    51,  1347,   654,   655,  1348,  -265,  -265,  -265,
1589       287,   288,   293,   380,   385,   294,    41,   328,   416,   417,       352,   654,   655,   955,  1445,  1446,   318,   319,   320,   321,
1590       793,   418,   422,   419,   420,   421,   423,   415,   424,   426,       322,   323,   324,   325,   326,   327,   549,   550,   419,   740,
1591       425,   432,   428,   431,   908,   433,   819,   911,    -4,    -4,        -4,    -4,   743,   420,   410,  1802,   415,   418,   750,   444,
1592       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       421,  1803,   454,   467,   763,  1804,    53,    54,    37,  1257,
1593       434,   435,   449,   450,   456,   458,   427,   457,   427,   427,      1258,    38,   677,   678,    39,   679,    52,   680,   681,   682,
1594       427,   427,   427,   427,   427,   427,   296,   516,   517,   518,       683,   684,   685,   686,   687,   688,   689,   299,   703,   704,
1595       519,   520,   521,   522,   523,   524,   462,   463,   464,   471,       705,   706,   828,   709,  1723,  1724,   715,   716,   603,   550,
1596       472,   474,   473,   475,   436,   476,   480,   482,   484,   481,      1725,   425,   429,  1010,  1097,  1012,   465,   318,   319,   320,
1597       437,   265,   438,   439,   440,   441,   442,   483,   443,   485,       321,   322,   323,   324,   325,   326,   327,   315,  1456,   546,
1598       444,   445,   446,   447,   448,   486,   487,   491,   451,   452,       547,   548,  1459,   316,  1457,  1873,   276,  1920,  1460,   786,
1599       488,   453,   454,   489,   490,   492,   493,   495,   512,   494,       300,  1874,   559,  1921,  1370,   302,   777,  1371,   560,  1926,
1600       513,   527,   528,   529,   543,   459,   460,   461,   530,   545,       561,   562,   563,   564,   565,  1927,   566,   781,   567,   568,
1601       544,   570,   465,   466,   467,   468,   469,   470,   569,   576,       569,   570,   571,   780,   572,   573,   574,   575,   576,   577,
1602       574,   578,   571,   577,   572,   623,   583,   573,   584,   579,       578,   579,   580,  1995,   778,   301,   582,   303,   583,  1996,
1603       589,   580,   582,   586,   581,   585,   587,   590,   646,   606,       798,   585,   657,  1084,   587,   588,   654,   655,   590,   591,
1604       607,   478,   588,   479,   610,   612,   611,   925,   613,   616,       407,   592,   593,   801,   804,   806,   441,   597,   598,   599,
1605       620,   622,   621,   626,   627,   643,   645,   644,   647,   648,       304,   600,   601,   602,   318,   690,   691,   692,   693,   694,
1606       650,   651,   652,   930,   655,   649,   654,   653,   658,   656,       695,   696,   697,   698,   699,   607,   305,   608,   609,   610,
1607       660,   659,   721,   698,   699,   680,   685,   696,   724,   525,       306,  1375,   612,   613,  1340,   614,   615,   616,   617,  1652,
1608       526,   686,   691,   688,   701,   702,   700,   718,   719,   720,      1653,  1307,  1308,   621,   622,   623,   624,   625,   626,   627,
1609       722,   723,   562,   563,   564,   565,   568,   657,   725,   726,       628,   629,   630,   631,  1397,   307,  1098,  1398,   758,   318,
1610       728,   729,   730,   732,   731,   734,   735,   736,   749,   745,       319,   320,   321,   322,   323,   324,   325,   326,   327,  1494,
1611       750,   777,   751,   756,   759,   681,   687,   697,   727,   757,      1673,  1674,  1340,   500,   523,   542,   308,   542,   542,   542,
1612       758,   778,   760,   591,   592,   593,   594,   595,   596,   597,       542,   542,   542,   542,   542,  1415,   402,   404,  1418,   807,
1613       598,   599,   600,   601,   602,   603,   604,   605,   761,   779,       808,   318,   690,   691,   692,   693,   694,   695,   696,   697,
1614       783,   608,   609,   780,   785,   784,   307,   307,   307,   307,       698,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1615       307,   307,   307,   307,   307,   786,   787,   788,   415,   415,       327,   642,   318,   690,   691,   692,   693,   694,   695,   696,
1616       733,   789,   617,   744,   618,   790,   619,   306,   308,   309,       697,   698,   310,   277,   727,   729,   309,   993,  1665,   999,
1617       310,   311,   312,   313,   314,   315,   748,   752,   628,   629,      1000,   313,   314,    53,   350,   400,   405,   408,   412,   528,
1618       630,   631,   632,   633,   634,   635,   636,   637,   638,   639,      1744,   529,   530,   532,   531,  1015,   533,   534,   536,   535,
1619       640,   641,   642,   755,   781,   782,   791,   792,   800,   801,       537,   538,   540,   541,   544,   539,   543,   552,   545,   553,
1620       815,   814,   817,   327,   816,   818,   821,   822,   824,   823,       643,   349,   551,   556,   554,   555,   586,   589,   557,   581,
1621       825,   854,   853,   855,   858,   856,   859,   857,   861,   860,       584,   594,   558,   611,   604,   810,   701,   596,   606,   619,
1622       863,   862,   670,   864,   865,   673,   674,   675,   676,   866,       620,  1481,   634,  1058,   635,   637,   595,   605,   618,   701,
1623       871,   679,   872,   878,   880,   882,   881,   413,   883,   885,       638,   701,   639,  1067,  1068,  1069,  1070,  1071,  1072,  1073,
1624       886,   478,   478,   693,   887,   888,   889,   891,   895,   896,      1074,  1075,  1076,  1077,  1078,   632,   741,   742,   633,   636,
1625       897,   901,   899,   898,   900,   904,   903,   931,   902,   906,       640,   641,   644,   701,  1088,  1089,  1090,  1091,   645,   646,
1626       907,   905,   924,   912,   932,   913,   715,   921,   717,   935,      1578,   701,   647,   648,   649,   650,   651,   666,   789,   790,
1627       923,   940,   945,   929,   922,   927,   928,   926,   938,   954,       791,   792,  1295,   653,   665,   667,   813,   816,   839,   839,
1628       939,   943,   942,   971,   941,   946,   947,   944,   948,   951,       669,   652,   671,   674,   673,   672,   843,   844,   845,   668,
1629       963,   737,   952,   955,   953,   956,   958,   957,   738,   960,       670,   675,   717,   718,   722,   735,   737,   725,   744,   730,
1630       739,   740,   741,   961,   742,   962,   743,   964,   965,   966,       857,   858,   859,   860,   861,   862,   863,   864,   865,   866,
1631       967,   972,   973,   978,   974,   976,   984,   979,   981,   753,       867,   868,   869,   870,   736,   328,   330,   331,   332,   333,
1632       982,   754,   986,   985,   987,   988,   989,   990,   991,   993,       334,   335,   336,   337,   745,   746,   747,   872,   873,   874,
1633       762,   763,   764,   765,   766,   767,   768,   769,   770,   771,       875,   755,   770,   876,   771,   772,   878,   817,   879,   880,
1634       772,   992,   774,   994,   776,   998,   999,  1000,  1001,  1002,       818,   793,   819,   820,   884,   885,   821,   822,   825,   826,
1635       975,   327,   977,   980,   997,  1003,  1006,  1007,  1014,  1010,       888,   889,   890,   891,   827,   893,   894,   895,   896,   829,
1636      1008,  1011,  1009,  1015,  1016,   795,   796,   797,  1012,   799,       831,   830,   900,   901,   902,   701,   832,   903,   833,   835,
1637      1019,   477,  1020,   813,  1013,  1021,  1023,   812,  1025,  1027,       834,   836,   842,   841,   846,   847,   908,   848,   909,   849,
1638       693,  1022,  1028,  1024,  1026,  1029,  1031,  1033,   827,   829,       850,   911,   852,   912,   854,   913,   851,   871,   856,   877,
1639      1030,   827,   834,   837,  1032,   827,   846,   568,   568,   813,       853,   881,   915,   855,   882,   886,   887,   892,   758,   897,
1640       812,   813,  1036,   812,  1037,   812,  1038,  1039,   514,   515,       898,   923,   924,   925,   926,   927,   928,   929,   930,   931,
1641      1040,  1042,  1041,  1043,  1044,   327,  1046,   540,  1051,  1052,       932,   933,   934,   935,   936,   937,   938,   812,   940,   810,
1642      1045,   867,   868,  1057,   869,   870,  1047,   567,  1050,  1056,       899,   904,   944,   945,   946,   947,   906,   949,   950,   951,
1643      1062,  1060,  1061,  1063,  1066,   307,   307,  1067,  1068,  1064,       952,   905,   953,   954,   907,   910,   914,   916,   917,   918,
1644      1065,   427,  1069,  1070,  1071,  1072,  1074,   884,  1073,  1075,       919,   922,   939,   941,  1236,   942,   943,   948,   956,   957,
1645      1076,  1079,   327,   327,  1080,   890,   876,   877,  1077,  1082,       958,   960,   961,   959,   962,   963,   964,   965,   966,   967,
1646      1078,  1083,  1084,  1081,  1085,  1086,  1087,  1090,   892,  1091,       969,   970,   975,   968,   975,   972,   977,   971,   987,   988,
1647      1089,  1092,   307,   307,  1088,  1093,  1094,  1096,   327,  1099,       992,   989,   978,   983,   982,   991,  1279,   329,   329,   329,
1648      1095,  1100,  1102,  1101,  1103,  1104,  1105,  1108,   413,   413,       329,   329,   329,   329,   329,   329,   984,   985,   986,   990,
1649      1107,  1109,  1106,   876,   877,  1114,  1111,  1110,  1113,   813,      1011,  1017,  1039,  1022,  1027,  1021,  1033,  1049,  1026,  1038,
1650      1115,  1112,  1116,   812,   813,   327,   427,   427,   812,   307,      1040,  1048,  1050,  1054,  1051,  1061,  1062,  1023,  1002,  1059,
1651      1117,  1118,  1119,  1120,  1122,  1123,   829,  1121,   834,   813,      1063,  1005,  1006,  1007,  1008,  1064,   701,  1066,   701,  1065,
1652       813,  1124,  1126,   812,   812,  1127,  1125,  1130,  1128,  1133,      1014,  1083,  1085,  1086,  1087,  1100,  1092,  1101,  1102,  1103,
1653       920,  1129,  1131,  1135,  1136,  1137,  1132,  1138,  1140,  1146,      1104,  1025,  1105,  1107,  1108,  1109,  1111,  1110,  1106,  1112,
1654      1134,  1141,  1145,  1142,  1143,  1144,  1151,   307,   307,  1148,      1113,  1117,  1121,  1114,  1122,  1115,  1123,  1116,  1045,  1047,
1655       427,  1150,   540,  1139,   671,   672,  1147,  1152,  1153,   959,      1125,  1127,  1126,  1130,  1131,  1132,  1124,  1056,  1128,  1133,
1656       677,   678,  1149,  1154,  1155,   683,   683,  1157,   949,   950,      1129,  1144,  1148,  1145,  1155,  1143,  1149,  1157,  1154,  1156,
1657      1156,   477,   477,  1158,  1160,  1159,  1162,  1163,  1164,   427,      1162,  1161,  1164,  1163,  1168,  1169,  1170,  1165,  1171,  1172,
1658       427,  1165,  1166,  1161,  1167,   837,  1168,  1169,  1170,  1172,      1099,  1173,  1080,  1174,  1082,  1191,   701,  1193,  1194,  1200,
1659      1171,  1173,  1174,  1178,  1176,  1177,   714,  1175,   716,  1179,      1195,  1208,  1209,  1210,   329,   329,  1211,  1212,   542,  1213,
1660      1181,  1182,  1180,  1183,  1185,  1186,  1187,  1184,  1188,   327,      1207,  1214,  1218,  1118,  1119,  1120,  1215,  1219,  1220,  1222,
1661       327,  1189,  1191,  1193,  1192,   327,   327,  1190,  1196,  1200,      1223,  1221,  1228,  1229,  1227,  1231,  1233,  1216,  1232,  1246,
1662      1201,   327,  1195,  1202,  1194,  1198,  1197,  1203,  1204,  1205,      1134,  1217,  1230,  1234,  1235,  1245,  1247,  1135,  1251,  1136,
1663      1206,  1199,  1207,  1208,  1213,  1209,   820,  1210,  1216,  1211,      1137,  1138,  1252,  1139,  1140,  1259,  1260,  1256,  1141,  1142,
1664      1215,  1217,  1212,  1218,  1219,  1220,  1214,  1221,  1222,  1223,      1261,  1262,  1275,  1274,  1276,  1271,  1273,  1277,  1147,  1281,
1665      1227,  1230,   327,  1225,   327,  1226,  1224,  1231,  1233,  1228,      1278,  1315,  1321,  1282,  1152,  1283,  1153,  1284,  1314,  1285,
1666      1234,   983,   669,  1235,  1229,   919,  1232,  1236,  1237,  1238,      1327,  1329,   349,   349,  1331,  1158,  1330,  1158,  1160,  1025,
1667       845,     0,   295,  1239,   552,   694,   370,   371,   406,   372,      1333,  1316,  1337,  1271,  1334,  1271,  1336,  1338,   657,  1166,
1668       407,     0,   379,     0,     0,   373,     0,   412,     0,     0,      1328,  1167,  1339,  1436,  1340,  1341,   349,  1322,  1324,  1325,
1669       387,     0,   374,     0,     0,   794,     0,     0,     0,   798,      1324,  1175,  1176,  1177,  1178,  1179,  1180,  1181,  1182,  1183,
1670       375,   389,     0,   802,     0,     0,     0,     0,     0,     0,      1184,  1185,  1186,  1332,  1188,  1342,  1190,  1343,  1192,  1344,
1671         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1345,  1349,  1196,  1197,  1198,  1199,  1346,  1201,  1202,  1203,
1672         0,   831,     0,     0,     0,   840,     0,     0,   567,   567,      1204,  1335,  1205,  1206,  1350,  1351,  1357,  1358,  1359,  1361,
1673         0,   850,   327,   852,     0,   555,   327,     0,     0,     0,      1362,  1368,  1364,  1366,  1372,   810,  1365,  1369,  1376,   349,
1674       327,     0,     0,     0,     0,     0,     0,   327,     0,     0,       542,   542,   329,  1377,   738,   739,  1374,  1379,  1380,  1384,
1675         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1385,  1391,  1390,  1393,  1392,  1394,  1395,  1399,  1396,  1403,
1676       874,   875,     0,     0,     0,     0,     0,     0,     0,   327,       762,   349,  1400,  1406,  1056,  1401,  1402,  1404,  1408,  1414,
1677         0,     0,     0,     0,     0,     0,     0,     0,   327,     0,      1248,  1412,  1405,  1407,  1420,  1422,  1409,  1411,   815,  1410,
1678         0,     0,     0,     0,     0,     0,     0,     0,   327,     0,      1413,  1435,  1238,  1239,  1240,  1442,  1025,  1243,  1047,  1421,
1679       327,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1424,  1439,  1428,  1250,  1425,  1427,  1429,  1432,  1440,  1433,
1680         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1434,   837,   837,  1437,  1443,  1270,  1438,  1447,  1448,  1454,
1681         0,     0,   327,   327,     0,     0,     0,     0,     0,     0,      1453,  1455,  1458,  1056,  1461,  1464,  1462,  1463,  1465,  1466,
1682         0,     0,     0,     0,   683,   909,   910,   683,     0,     0,      1467,  1287,  1289,  1469,  1287,   701,  1299,  1301,  1468,  1287,
1683         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       813,   816,   816,  1270,  1470,  1270,  1471,  1472,  1473,  1474,
1684         0,     0,     0,     0,     0,     0,     0,   327,   327,   316,      1475,  1476,  1047,  1047,  1047,  1047,  1477,  1479,  1478,  1256,
1685        46,    47,   689,     0,    48,    49,    50,   317,   318,   319,      1480,  1482,  1483,  1271,  1271,  1484,  1485,  1486,  1495,  1487,
1686       320,   321,   322,   323,   324,   325,   326,    61,    62,    63,      1491,  1352,  1353,  1489,  1354,  1355,  1356,  1488,  1271,  1271,
1687        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,      1490,  1492,  1496,  1493,  1498,  1273,  1499,  1502,  1501,  1504,
1688        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,      1503,  1507,  1509,  1505,   329,   329,   542,  1506,  1511,   953,
1689        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,       954,  1508,  1510,  1512,  1250,  1514,  1513,  1515,   349,  1516,
1690        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,      1517,  1519,  1518,  1523,  1373,  1524,  1525,  1526,  1528,  1527,
1691       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,      1533,  1529,  1378,  1530,  1532,  1534,  1535,  1536,  1537,  1538,
1692       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,      1539,  1540,  1549,  1554,  1542,  1541,  1546,   349,   349,  1381,
1693       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,      1543,  1551,  1544,   349,  1547,  1553,  1550,   349,  1552,  1556,
1694       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,      1557,  1386,  1387,  1388,  1389,  1555,   812,  1559,  1561,  1558,
1695       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,      1560,  1562,  1563,   349,  1564,  1565,  1566,  1568,  1567,  1569,
1696       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,      1570,  1571,  1574,  1576,  1580,  1577,   349,  1575,  1579,  1583,
1697       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,      1581,   812,  1585,  1582,   812,  1590,   812,  1584,  1587,  1586,
1698       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,      1591,  1592,  1594,  1593,  1423,   974,  1595,   974,  1597,  1599,
1699       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,      1596,  1598,   542,   542,  1600,  1602,  1601,  1603,  1604,  1605,
1700       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,      1608,  1606,  1250,   349,  1611,   349,  1607,  1609,   762,  1612,
1701       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,      1003,  1004,  1610,  1270,  1270,  1613,  1009,   758,  1617,  1614,
1702       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,      1013,  1618,  1619,  1633,  1289,  1620,  1621,  1299,  1270,  1270,
1703       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,      1623,  1627,  1289,  1045,   813,  1029,  1629,  1029,  1630,  1158,
1704       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,      1624,  1632,  1158,  1625,  1626,  1634,  1639,  1042,  1042,  1628,
1705       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,      1636,   329,   329,  1631,  1635,  1637,   662,  1638,  1640,  1641,
1706       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,      1642,  1643,  1644,  1645,  1646,  1647,  1650,  1661,  1497,  1651,
1707       264,   316,    46,    47,     0,   690,    48,    49,    50,   317,      1654,  1658,  1655,  1500,  1656,  1659,  1663,  1660,  1649,  1662,
1708       318,   319,   320,   321,   322,   323,   324,   325,   326,    61,      1668,  1664,  1079,  1666,  1081,   711,   713,  1670,  1672,  1683,
1709        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,      1669,  1676,  1671,  1682,  1675,   726,   728,  1677,   731,   732,
1710        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,       733,   734,  1681,  1686,  1688,  1531,  1684,  1687,  1685,  1690,
1711        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,      1689,  1691,  1694,  1695,  1696,  1697,  1698,   751,   753,  1706,
1712        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,      1699,  1700,  1701,  1707,   767,   769,  1702,  1709,  1703,  1705,
1713       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,      1708,  1716,  1710,  1711,  1712,  1713,  1714,  1715,  1722,  1717,
1714       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,      1718,  1719,  1731,  1301,  1721,  1726,  1289,  1729,  1727,  1720,
1715       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,      1728,  1730,  1733,  1735,   812,   812,  1732,  1738,  1734,  1736,
1716       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,      1737,   349,  1739,  1743,  1740,   349,  1741,  1745,  1746,   812,
1717       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       812,  1747,  1749,  1751,  1748,   812,  1753,   349,  1752,   349,
1718       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,      1756,  1757,  1758,  1754,  1760,  1761,  1759,   349,  1763,  1764,
1719       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,      1765,  1762,   349,  1767,  1545,  1773,  1792,  1766,  1768,  1770,
1720       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,      1771,  1769,  1622,  1772,  1776,  1774,  1783,  1775,  1779,  1778,
1721       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,      1777,  1784,  1785,  1786,  1780,   349,  1782,  1787,  1789,  1788,
1722       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,      1790,  1791,  1794,  1795,  1793,  1796,  1797,  1800,   349,  1801,
1723       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,      1799,  1806,  1798,  1807,   349,  1810,   349,  1808,  1809,  1805,
1724       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,      1816,  1811,  1813,  1812,  1814,  1817,  1827,  1831,  1815,  1828,
1725       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,      1829,  1830,  1832,  1834,  1835,  1818,  1836,  1837,  1839,  1838,
1726       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,      1844,  1845,  1986,  1840,  1851,  1847,  1842,  1823,  1056,  1843,
1727       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,      1848,  1833,  1841,  1846,  1849,  1852,  1858,  1856,  1853,  1855,
1728       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,      1860,  1850,  1237,  1857,  1854,  1861,  1241,  1862,  1864,  1704,
1729       262,   263,   264,    45,    46,    47,     0,     0,    48,    49,      1863,  1865,  1866,  1867,  1868,  1869,  1870,  1253,  1255,  1029,
1730        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,      1029,  1871,  1872,  1876,  1877,  1263,  1875,  1878,  1879,  1882,
1731        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,      1885,  1880,  1886,  1888,  1883,  1884,  1893,  1887,  1890,  1895,
1732        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,      1896,  1892,  1897,  1899,  1291,  1911,  1908,  1912,  1900,  1304,
1733        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,      1901,  1902,   815,   815,  1903,  1310,  1905,  1312,  1881,  1889,
1734        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,       349,   349,  1907,  1910,  1894,  1823,  1898,  1913,  1914,  1904,
1735       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       813,   979,   980,   981,  1915,  1906,  1916,  1918,  1917,  1919,
1736       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,      1922,  1923,  1924,  1925,  1928,  1929,  1930,  1931,  1781,  1933,
1737       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,      1932,  1934,  1935,  1909,  1936,  1938,  1939,  1937,  1940,  1942,
1738       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,      1944,  1950,  1958,  1941,  1016,  1949,  1018,  1019,  1020,  1946,
1739       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,      1943,  1951,  1945,  1952,  1947,  1948,  1955,  1030,  1954,  1032,
1740       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,      1953,  1034,  1035,  1036,  1037,  1956,  1957,  1960,  1959,  1961,
1741       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,      1962,  1963,  1964,  1966,  1967,  1968,  1052,  1053,  1965,  1969,
1742       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,      1970,  1971,  1972,  1060,  1973,  1974,  1975,  1976,  1977,  1980,
1743       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,      1983,  1985,  1978,  2018,  1984,  1979,  1981,  1991,  1444,  1450,
1744       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,      1982,  1326,  1313,  1999,  1990,  1859,  1987,  1992,  1988,  1989,
1745       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,      1998,  2000,  2001,  1993,  2002,  1994,  1997,  1093,  1094,  1095,
1746       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,      1096,  2003,  2004,  2005,  2006,  2007,  2008,  2009,  2011,  2014,
1747       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,      2019,  2010,  2012,  2013,  2021,  2022,  2015,  2025,  2036,  2017,
1748       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,      2016,  2024,  2026,  2020,  2023,  2028,  2027,  2033,  1891,  2037,
1749       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,      1452,   812,  2029,  2030,  2031,  2032,  2034,  1431,   805,  1042,
1750       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,      1416,  1417,  1042,  2035,  1426,   435,   759,   504,   840,     0,
1751       260,   261,   262,   263,   264,   316,    46,    47,     0,     0,      1255,   782,     0,   505,   317,   506,     0,     0,     0,     0,
1752        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1754        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,         0,     0,     0,     0,   436,     0,     0,     0,     0,     0,
1755           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1756           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1757         762,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1758           0,     0,   437,     0,     0,     0,     0,     0,     0,     0,
1759           0,     0,     0,     0,   507,     0,     0,     0,     0,   508,
1760           0,     0,     0,   509,   510,     0,   511,     0,   512,   513,
1761         514,   515,   516,   517,     0,   518,   519,   524,     0,     0,
1762           0,     0,     0,   449,   438,     0,   439,  1225,  1226,   338,
1763          58,    59,    60,    61,    62,   339,   340,   341,   342,   343,
1764         344,   345,   346,   347,   348,    73,    74,    75,    76,    77,
1765        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1766        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1767        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
# Line 1252  static const short int yytable[] = Line 1780  static const short int yytable[] =
1780       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1781       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1782       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1783       258,   259,   260,   261,   262,   263,   264,   316,    46,    47,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1784       803,   804,    48,   805,   806,    51,    52,    53,    54,    55,       268,   269,   270,   271,   272,   273,   274,   275,   973,   461,
1785        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,       276,   338,    58,    59,    60,    61,    62,   339,   340,   341,
1786        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       342,   343,   344,   345,   346,   347,   348,    73,    74,    75,
1787        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1788        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1789        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1274  static const short int yytable[] = Line 1802  static const short int yytable[] =
1802       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1803       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1804       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1805       256,   257,   258,   259,   260,   261,   262,   263,   316,    46,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1806        47,   915,     0,    48,    49,    50,   317,   318,   319,   320,       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
1807       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,       463,   976,   276,    57,    58,    59,    60,    61,    62,    63,
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,  
      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,  
      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,  
      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,  
      255,   256,   257,   258,   259,   260,   261,   262,   263,   316,  
       46,    47,     0,   916,    48,    49,    50,   317,   318,   319,  
      320,   321,   322,   323,   324,   325,   326,    61,    62,    63,  
1808        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1809        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1810        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1319  static const short int yytable[] = Line 1825  static const short int yytable[] =
1825       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1826       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1827       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1828       316,    46,    47,     0,     0,    48,    49,    50,   317,   318,       264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
1829       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,       274,   275,   440,   442,   276,   338,    58,    59,    60,    61,
1830        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        62,   339,   340,   341,   342,   343,   344,   345,   346,   347,
1831        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,       348,    73,    74,    75,    76,    77,    78,    79,    80,    81,
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,  
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,  
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,  
      263,   316,    46,    47,     0,     0,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
1832        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1833        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1834       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
# Line 1363  static const short int yytable[] = Line 1847  static const short int yytable[] =
1847       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1848       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1849       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1850       262,   263,   316,   747,    47,     0,     0,    48,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
1851       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       272,   273,   274,   275,   443,   525,   276,   338,    58,    59,
1852        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,   339,   340,   341,   342,   343,   344,   345,
1853        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,       346,   347,   348,    73,    74,    75,    76,    77,    78,    79,
       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,  
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,  
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,  
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,  
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,  
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,  
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,  
      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,  
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,  
      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,  
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,  
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,  
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,  
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,  
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,  
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,  
      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,  
      261,   262,   263,   316,   773,    47,     0,     0,    48,    49,  
       50,   317,   318,   319,   320,   321,   322,   323,   324,   325,  
      326,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
1854        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1855        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1856       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
# Line 1407  static const short int yytable[] = Line 1869  static const short int yytable[] =
1869       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1870       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1871       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1872       260,   261,   262,   263,   316,   775,    47,     0,     0,    48,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1873        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       270,   271,   272,   273,   274,   275,   654,   655,   338,    58,
1874       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,        59,    60,  1264,  1265,    63,    64,    65,    66,    67,    68,
1875        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1876        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1877        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1429  static const short int yytable[] = Line 1891  static const short int yytable[] =
1891       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1892       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1893       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1894       259,   260,   261,   262,   263,   316,   873,    47,     0,     0,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1895        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,       269,   270,   271,   272,   273,   274,   275,   654,   655,   338,
1896       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,        58,    59,    60,    61,    62,   339,   340,   341,   342,   343,
1897        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,       344,   345,   346,   347,   348,    73,    74,    75,    76,    77,
1898        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1899        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1900        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
# Line 1451  static const short int yytable[] = Line 1913  static const short int yytable[] =
1913       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1914       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1915       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1916       258,   259,   260,   261,   262,   263,   316,   893,    47,     0,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1917         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,       268,   269,   270,   271,   272,   273,   274,   275,   338,    58,
1918       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1919        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1920        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1921        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1922        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1923       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1924       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1925       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1926       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1927       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1928       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1929       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1930       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1931       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1932       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1933       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1934       217,   218,   219,   220,   221,   222,   223,   224,   225,   226,       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1935       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1936       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1937       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1938       257,   258,   259,   260,   261,   262,   263,   316,   894,    47,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1939         0,     0,    48,    49,    50,   317,   318,   319,   320,   321,       269,   270,   271,   272,   273,   274,   275,   338,  1151,    59,
1940       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,        60,    61,    62,   339,   340,   341,   342,   343,   344,   345,
1941        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       346,   347,   348,    73,    74,    75,    76,    77,    78,    79,
1942          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1943          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1944         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1945         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1946         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1947         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1948         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1949         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1950         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1951         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1952         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1953         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1954         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1955         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1956         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1957         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1958         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1959         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1960         260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1961         270,   271,   272,   273,   274,   275,   338,  1159,    59,    60,
1962          61,    62,   339,   340,   341,   342,   343,   344,   345,   346,
1963         347,   348,    73,    74,    75,    76,    77,    78,    79,    80,
1964          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1965          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1966         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1967         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1968         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1969         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1970         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1971         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1972         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1973         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1974         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1975         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1976         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1977         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1978         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1979         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1980         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1981         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1982         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1983         271,   272,   273,   274,   275,   338,  1187,    59,    60,    61,
1984          62,   339,   340,   341,   342,   343,   344,   345,   346,   347,
1985         348,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1986          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1987          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1988         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1989         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1990         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1991         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1992         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1993         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1994         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1995         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1996         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1997         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1998         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1999         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2000         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
2001         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
2002         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
2003         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2004         262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2005         272,   273,   274,   275,   338,  1189,    59,    60,    61,    62,
2006         339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
2007          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2008          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2009          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2010         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2011         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2012         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2013         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2014         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2015         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2016         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2017         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2018         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2019         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2020         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2021         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
2022         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
2023         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
2024         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
2025         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
2026         263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
2027         273,   274,   275,   338,  1363,    59,    60,    61,    62,   339,
2028         340,   341,   342,   343,   344,   345,   346,   347,   348,    73,
2029          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2030          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2031          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2032         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2033         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2034         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2035         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2036         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2037         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2038         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2039         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2040         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2041         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2042         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2043         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
2044         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
2045         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
2046         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
2047         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
2048         264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
2049         274,   275,   338,  1367,    59,    60,    61,    62,   339,   340,
2050         341,   342,   343,   344,   345,   346,   347,   348,    73,    74,
2051          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2052          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2053          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2054         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2055         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2056         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2057         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2058         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2059         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2060         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2061         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2062         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2063         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2064         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2065         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
2066         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
2067         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
2068         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
2069         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2070         265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2071         275,   338,  1382,    59,    60,    61,    62,   339,   340,   341,
2072         342,   343,   344,   345,   346,   347,   348,    73,    74,    75,
2073        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2074        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2075        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1495  static const short int yytable[] = Line 2088  static const short int yytable[] =
2088       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
2089       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
2090       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2091       256,   257,   258,   259,   260,   261,   262,   263       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2092         266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2093         338,  1383,    59,    60,    61,    62,   339,   340,   341,   342,
2094         343,   344,   345,   346,   347,   348,    73,    74,    75,    76,
2095          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2096          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2097          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2098         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2099         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2100         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2101         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2102         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2103         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2104         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2105         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2106         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2107         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2108         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2109         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
2110         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
2111         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
2112         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2113         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2114         267,   268,   269,   270,   271,   272,   273,   274,   275
2115  };  };
2116    
2117  static const short int yycheck[] =  static const yytype_int16 yycheck[] =
2118  {  {
2119        14,    14,   479,    16,    17,    18,    19,    20,    21,    22,        16,   912,    18,    19,    20,    21,    22,    23,    24,    25,
2120        23,    24,    25,    26,    27,     5,   609,   272,   273,   272,        26,    27,    28,    29,    30,    31,    32,    33,    34,   861,
2121       273,   279,   279,   279,   773,    25,   775,     6,     7,    32,      1184,   630,    16,   295,  1118,   290,   291,   890,     5,   283,
2122        25,    24,    29,    38,    29,    23,    24,    40,    35,    21,       297,   297,    24,   297,   901,    32,   583,    24,   585,  1023,
2123        25,    41,    52,    53,    54,    55,    56,    57,    58,    59,       294,   295,   290,   291,  1248,    32,     1,    32,     3,    64,
2124        60,    33,    40,    38,     1,    34,     3,    39,    25,    22,        65,    66,    67,    68,    69,    70,    71,    72,    36,  1187,
2125        42,    22,    23,    52,    53,    54,    55,    56,    57,    58,       607,  1189,    33,    34,    19,  1142,    21,    22,   615,    24,
2126        59,    60,    33,    36,    21,    25,    23,    24,    39,    40,        25,  1378,    37,  1167,    37,    30,    31,    37,    37,  1386,
2127        27,    42,    22,    25,    41,    32,    21,    23,    24,    29,        35,    36,    37,    37,    39,   578,   570,     9,    10,    11,
2128        37,    38,    39,    21,    41,    23,    38,    25,    33,    39,        12,    13,    14,    15,    16,    17,    18,    23,    21,    22,
2129        36,    21,    42,    23,    40,    33,    21,    29,    23,    33,        22,   585,    27,   283,    21,    22,    22,   287,    21,    22,
2130        25,    39,    40,    33,   591,    39,   593,   594,    33,    41,        32,    34,   292,    39,    31,    38,   609,   610,    43,  1196,
2131       225,   226,     8,    24,   873,    11,    12,    13,    14,    15,      1197,  1198,  1199,   607,    89,    38,    89,    20,    19,    89,
2132        16,    17,    18,    19,    20,    36,    21,    24,    34,   765,        89,   615,    27,    22,    27,    89,    19,    20,    21,    22,
2133        25,    23,   619,   769,   893,   894,    25,    29,    33,    36,        31,    24,    25,    32,    37,    19,    37,    40,    31,    40,
2134         0,   628,   629,   630,   631,   632,   633,   634,   635,   636,        23,    22,  1356,   283,    37,    38,  1140,    40,    19,    33,
2135       637,   638,     8,    41,    42,    11,    12,    13,    14,    15,        21,    22,    23,    24,   294,   295,    37,    27,   298,  1178,
2136        16,    17,    18,    19,    20,    41,    42,   224,   436,   436,        31,    20,   719,    33,  1183,    19,    37,    38,    19,    40,
2137       436,     8,     6,     7,    11,    12,    13,    14,    15,    16,        21,    22,    23,    24,    23,    34,    30,    31,    32,    23,
2138        17,    18,    19,    20,     9,    10,    11,    12,    13,    14,        31,    23,    19,  1500,    27,    27,    23,    36,    19,    40,
2139        15,    16,    17,    18,    19,    20,    23,    24,   771,   772,        21,    22,    36,    24,    31,    23,    39,    23,    22,    22,
2140       465,    24,   465,   437,   438,   439,   440,   441,   442,   443,        31,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2141       444,   445,   446,   447,   448,    23,    24,   531,   532,   278,        34,    34,   283,    31,  1388,   222,   223,   288,   289,    37,
2142       279,    25,    39,    39,   224,   225,   226,    11,    12,    13,       222,   223,    39,   294,   295,   222,   223,   222,   223,  1367,
2143        14,    15,    16,    17,    18,    19,    20,    21,   271,    40,        21,    22,    32,    34,   222,   223,    37,   224,   225,   226,
2144        21,    29,    22,   276,   277,    39,   225,    23,   281,    21,        31,   222,   223,     6,  1382,  1383,     9,    10,    11,    12,
2145       737,    40,    35,    40,    24,    40,    25,   280,    25,    41,        13,    14,    15,    16,    17,    18,    39,    40,    19,   599,
2146        39,    34,    28,    28,   867,    29,   753,   870,   225,   226,       225,   226,   602,    24,   287,    21,   288,   289,   608,   292,
2147        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        31,    27,   294,   295,   614,    31,   225,   226,    30,  1152,
2148        25,    35,    41,    29,    28,    34,   306,    29,   308,   309,      1153,    33,   559,   559,    36,   559,     0,   560,   561,   562,
2149       310,   311,   312,   313,   314,   315,    11,    12,    13,    14,       563,   564,   565,   566,   567,   568,   569,    22,   571,   572,
2150        15,    16,    17,    18,    19,    20,    41,    23,    29,    41,       573,   574,   642,   576,    21,    22,   579,   580,    39,    40,
2151        28,    40,    29,    35,   337,    35,    40,    42,    23,    38,        27,   290,   291,   870,     6,   872,   295,     9,    10,    11,
2152       343,    14,   345,   346,   347,   348,   349,    40,   351,    23,        12,    13,    14,    15,    16,    17,    18,    31,    21,   355,
2153       353,   354,   355,   356,   357,    22,    21,    27,   361,   362,       356,   357,    21,    37,    27,    21,   224,    21,    27,   621,
2154        24,   364,   365,    21,    21,    24,    38,    29,    24,    40,        23,    27,   368,    27,    34,    23,   621,    37,   374,    21,
2155        24,    24,    21,    24,    24,   378,   379,   380,    39,    24,       376,   377,   378,   379,   380,    27,   382,   621,   384,   385,
2156        28,    21,   385,   386,   387,   388,   389,   390,    26,    25,       386,   387,   388,   621,   390,   391,   392,   393,   394,   395,
2157        29,    25,    39,    35,    38,    41,    29,    40,    29,    40,       396,   397,   398,    21,   621,    34,   402,    37,   404,    27,
2158        21,    38,    34,    29,    39,    34,    29,    34,    25,    29,       627,   407,   546,   940,   410,   411,   222,   223,   414,   415,
2159        29,   414,    42,   416,    29,    29,    34,   884,    40,    35,       286,   417,   418,   627,   628,   629,   292,   423,   424,   425,
2160        29,    29,    35,    35,    35,    26,    23,    34,    21,    23,        32,   427,   428,   429,     9,    10,    11,    12,    13,    14,
2161        29,    23,    34,   890,    34,    45,    32,    35,    25,    34,        15,    16,    17,    18,    19,   441,    38,   443,   444,   445,
2162        26,    32,    21,    24,    24,    35,    35,    35,    22,   453,        37,    34,   448,   449,    37,   451,   452,   453,   454,    21,
2163       454,    34,    34,    38,    32,    32,    40,    25,    34,    25,        22,  1185,  1186,   459,   460,   461,   462,   463,   464,   465,
2164        32,    25,   466,   467,   468,   469,   470,    91,    38,    25,       466,   467,   468,   469,    34,    19,     6,    37,   612,     9,
2165        21,    25,    25,    38,    29,    35,    45,    25,    25,    29,        10,    11,    12,    13,    14,    15,    16,    17,    18,    34,
2166        29,    38,    41,    29,    25,    91,    91,    91,    91,    29,        21,    22,    37,   296,   297,   328,    34,   330,   331,   332,
2167        29,    25,    35,   496,   497,   498,   499,   500,   501,   502,       333,   334,   335,   336,   337,  1352,   284,   285,  1355,     7,
2168       503,   504,   505,   506,   507,   508,   509,   510,    41,    32,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2169        25,   514,   515,    33,    32,    29,   516,   517,   518,   519,        18,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2170       520,   521,   522,   523,   524,    35,    22,    32,   531,   532,        18,   527,     9,    10,    11,    12,    13,    14,    15,    16,
2171        91,    34,   535,    91,   537,    42,   539,   516,   517,   518,        17,    18,    27,    16,   587,   588,    40,   857,  1622,   859,
2172       519,   520,   521,   522,   523,   524,    91,    91,   551,   552,       860,    38,    20,   225,    21,    31,    31,    22,    22,    19,
2173       553,   554,   555,   556,   557,   558,   559,   560,   561,   562,      1704,    43,    19,    22,    38,   875,    38,    22,    38,    23,
2174       563,   564,   565,    91,    91,    91,    40,    38,    35,    34,        33,    23,    19,    39,    20,    37,    26,    20,    27,    32,
2175        32,    35,    33,   265,    34,    33,    35,    34,    91,    35,        36,   277,    26,    23,    42,    27,    20,    20,    33,    27,
2176        33,    32,    91,    32,    23,    91,    22,    42,    32,    41,        27,    39,    33,    32,    26,  1184,   570,    27,    27,    21,
2177        36,    39,   596,    35,    25,   599,   600,   601,   602,    23,        27,  1423,    26,   913,    20,    30,    42,    42,    39,   583,
2178        41,   605,    36,     5,    41,    25,    36,   280,    35,    41,        27,   585,    38,   923,   924,   925,   926,   927,   928,   929,
2179        36,   614,   615,   617,    91,    29,    25,    32,    26,    91,       930,   931,   932,   933,   934,    39,   600,   601,    39,    42,
2180        21,    25,    35,    23,    35,    41,    25,    32,    40,    39,        33,    33,    38,   607,   944,   945,   946,   947,    36,    40,
2181        25,    29,    24,    40,   892,    41,   640,    40,   642,    29,      1531,   615,    38,    21,    34,    20,    19,    19,   622,   623,
2182        34,    29,    23,    34,    41,    41,    35,    40,    34,    21,       624,   625,  1179,    22,    22,    19,   630,   631,   654,   655,
2183        35,    91,    36,    91,    41,    34,    36,    40,    40,    36,        25,    89,    22,    30,    38,    36,   662,   663,   664,    89,
2184        25,   664,    40,    36,    40,    40,    36,    41,   671,    32,        89,    27,    22,    32,    22,    22,    22,    89,    22,    89,
2185       673,   674,   675,    35,   677,    34,   679,    41,    23,    34,       676,   677,   678,   679,   680,   681,   682,   683,   684,   685,
2186        41,    25,    40,    32,    41,    41,    32,    41,    40,   692,       686,   687,   688,   689,    89,   690,   691,   692,   693,   694,
2187        41,   694,    26,    41,    35,    34,    25,    40,    40,    34,       695,   696,   697,   698,    19,    89,    22,   703,   704,   705,
2188       703,   704,   705,   706,   707,   708,   709,   710,   711,   712,       706,    37,    22,   709,    26,    22,   712,    22,   714,   715,
2189       713,    41,   715,    29,   717,    21,    40,    24,    40,    24,        24,    32,    19,    89,   720,   721,    89,    33,    36,    38,
2190        91,   413,    91,    91,    91,    40,    36,    40,    24,    41,       726,   727,   728,   729,    27,   731,   732,   733,   734,    23,
2191        34,    40,    35,    27,    24,   739,   740,   741,    91,   743,        23,    33,   738,   739,   740,   719,    36,   743,    37,    27,
2192        35,   414,    23,   747,    91,    27,    25,   747,    25,    25,        32,    27,    33,    30,    27,    27,   752,    32,   754,    27,
2193       754,    91,    35,    91,    91,    41,    40,    23,   762,   763,        27,   757,    27,   759,    19,   761,    37,    30,    32,    23,
2194        91,   765,   766,   767,    39,   769,   770,   771,   772,   773,        40,    27,   768,    39,    33,    27,    27,    27,   912,    27,
2195       770,   775,    29,   773,    29,   775,    29,    42,   451,   452,        37,   777,   778,   779,   780,   781,   782,   783,   784,   785,
2196        29,    35,    38,    25,    24,   477,    24,   460,    38,    40,       786,   787,   788,   789,   790,   791,   792,   630,   794,  1388,
2197        42,   794,   795,    28,   797,   798,    42,   470,    42,    35,        27,    27,   798,   799,   800,   801,    37,   803,   804,   805,
2198        91,    35,    34,    29,    41,   805,   806,    25,    29,    42,       806,    32,   807,   808,    27,    38,    33,    27,    33,    27,
2199        40,   811,    25,    29,    28,    25,    40,   820,    29,    91,        39,    33,    19,    39,  1134,    23,    27,    23,    27,    24,
2200        28,    41,   514,   515,    21,   828,   805,   806,    35,    29,        32,    37,    20,    27,    27,    21,    23,    19,    21,    43,
2201        45,    91,    25,    42,    29,    23,    25,    42,   841,    23,        21,    32,   838,    27,   840,    89,    19,    32,    23,    89,
2202        34,    42,   842,   843,    91,    23,    21,    23,   540,    21,        24,    23,    32,    30,    33,    31,  1166,   690,   691,   692,
2203        42,    38,    34,    36,    34,    29,    42,    34,   531,   532,       693,   694,   695,   696,   697,   698,    32,    32,    32,    30,
2204        39,    25,    35,   842,   843,    25,    36,    38,    29,   873,        30,    21,    23,    32,    32,    89,    32,    32,    89,    33,
2205        29,    40,    25,   873,   878,   567,   876,   877,   878,   879,        89,    33,    23,    36,    89,    33,    89,   883,   862,    36,
2206        34,    29,    25,    28,    34,    40,   890,    45,   892,   893,        22,   865,   866,   867,   868,    22,   870,    30,   872,    38,
2207       894,    25,    34,   893,   894,    23,    40,    36,    25,    21,       874,    31,    22,    40,    22,    33,    37,    23,    32,    32,
2208       879,    41,    39,    23,    23,    34,    91,    23,    21,    40,        23,   885,    19,    23,    19,    30,    20,    23,    89,    36,
2209        91,    36,    38,    34,    25,    25,    25,   917,   918,    36,        23,    89,    89,    37,    19,    27,    23,    38,   902,   903,
2210       920,    33,   595,    91,   597,   598,    41,    25,    25,   932,        23,    27,    32,    23,    33,    43,    37,   911,    36,    23,
2211       603,   604,    38,    25,    36,   608,   609,    25,   917,   918,        89,    27,    27,    89,    89,    39,    37,    27,    37,    32,
2212        34,   614,   615,    25,    39,    32,    36,    40,    21,   949,        23,    89,    27,    32,    21,    89,    27,    39,    27,    27,
2213       950,    21,    21,    91,    32,   959,    91,    21,    34,    91,       955,    23,   936,    33,   938,    23,   940,    27,    23,    21,
2214        32,    36,    41,    44,    38,    33,   639,    91,   641,    36,        27,    36,    23,    37,   807,   808,    32,    30,   811,    27,
2215        25,    36,    38,    21,    24,    21,    25,    40,    21,   671,        89,    30,    23,   979,   980,   981,    31,    27,    30,    32,
2216       672,    21,    21,    91,    38,   677,   678,    32,    40,    21,        36,    38,    20,    30,    33,    22,    40,    89,    32,    32,
2217        24,   683,    33,    29,    38,    33,    38,    25,    25,    21,       996,    89,    38,    38,    36,    36,    31,  1003,    32,  1005,
2218        25,    38,    21,    33,    33,    38,   754,    42,    25,    40,      1006,  1007,    38,  1009,  1010,    38,    33,  1151,  1014,  1015,
2219        33,    29,    38,    25,    25,    25,    40,    25,    25,    40,        22,    32,    30,    33,    22,  1159,  1160,    32,  1024,    23,
2220        40,    25,   714,    38,   716,    38,    42,    25,    25,    38,        31,    30,    36,    33,  1030,    32,  1032,    33,    33,    89,
2221        25,   959,   595,    38,    40,   878,    39,    38,    38,    38,        33,    30,   738,   739,    22,  1041,    38,  1043,  1044,  1023,
2222       770,    -1,    44,    39,   465,   618,   274,   274,   279,   274,        32,    89,    21,  1187,    30,  1189,    40,    20,  1192,  1055,
2223       279,    -1,   275,    -1,    -1,   274,    -1,   279,    -1,    -1,        89,  1057,    36,  1373,    37,    23,   762,  1201,  1202,  1203,
2224       277,    -1,   274,    -1,    -1,   738,    -1,    -1,    -1,   742,      1204,  1067,  1068,  1069,  1070,  1071,  1072,  1073,  1074,  1075,
2225       274,   277,    -1,   746,    -1,    -1,    -1,    -1,    -1,    -1,      1076,  1077,  1078,    89,  1080,    39,  1082,    30,  1084,    37,
2226          36,    33,  1088,  1089,  1090,  1091,    37,  1093,  1094,  1095,
2227        1096,    89,  1097,  1098,    23,    21,    37,    37,    33,    37,
2228          36,     5,    36,    34,    23,  1704,    39,    39,    89,   815,
2229         953,   954,   955,    27,   597,   598,    39,    23,    33,    89,
2230          21,    39,    27,    89,    24,    36,    89,    19,    27,    23,
2231         613,   837,    21,    21,  1118,    33,    33,    39,    23,    23,
2232        1146,    27,    38,    38,    27,    22,    39,    38,   631,    39,
2233          37,    32,  1136,  1137,  1138,    24,  1140,  1141,  1142,    38,
2234          38,    33,    38,  1147,    39,    39,    39,    38,    32,    39,
2235          38,   654,   655,    38,    32,  1159,    39,    33,    33,    38,
2236          34,    27,    39,  1167,    32,    32,    39,    38,    33,    27,
2237          39,  1175,  1176,    36,  1178,  1179,  1180,  1181,    31,  1183,
2238        1184,  1185,  1186,  1187,    39,  1189,    34,    89,    31,    38,
2239          36,    21,  1196,  1197,  1198,  1199,    32,    36,    40,  1363,
2240          19,    36,    31,  1367,  1368,    31,    34,    38,    19,    34,
2241          34,  1237,  1238,    36,  1240,  1241,  1242,    38,  1382,  1383,
2242          38,    38,    23,    39,    39,  1389,    32,    34,    38,    33,
2243          30,    33,    24,    32,  1097,  1098,  1099,    31,    36,  1264,
2244        1265,    32,    38,    23,  1248,    21,    39,    32,   974,    23,
2245          39,    39,    36,    23,  1280,    89,    39,    23,    23,    38,
2246          23,    39,  1288,    30,    39,    23,    39,    89,    39,    89,
2247          39,    39,    27,    23,    38,    89,    38,  1003,  1004,  1305,
2248          39,    30,    39,  1009,    38,    24,    39,  1013,    39,    24,
2249          33,  1317,  1318,  1319,  1320,    39,  1159,    39,    32,    89,
2250          33,    23,    38,  1029,    32,    31,    37,    39,    38,    32,
2251          27,    32,    31,    19,    32,    31,  1042,    89,    31,    22,
2252          32,  1184,    22,    38,  1187,    34,  1189,    38,    38,    31,
2253          38,    30,    36,    34,  1360,   838,    33,   840,    32,    32,
2254          38,    33,  1205,  1206,    32,    22,    33,    31,    39,    38,
2255          23,    89,  1356,  1079,    22,  1081,    38,    27,   861,    25,
2256         863,   864,    89,  1367,  1368,    22,   869,  1531,    33,    38,
2257         873,    23,    21,    33,  1378,    25,    23,  1381,  1382,  1383,
2258          23,    23,  1386,  1387,  1388,   888,    23,   890,    23,  1415,
2259          38,    23,  1418,    38,    89,    39,    32,   900,   901,    89,
2260          38,  1264,  1265,    89,    89,    39,   548,    33,    89,    38,
2261          38,    38,    23,    23,    37,    21,    32,    32,  1444,    40,
2262          27,    40,    27,  1449,    27,    27,    23,    36,    89,    33,
2263          22,    32,   935,    32,   937,   577,   578,    22,    32,    22,
2264          40,    36,    40,    30,    40,   587,   588,    38,   590,   591,
2265         592,   593,    38,    32,    22,  1481,    89,    33,    40,    23,
2266          38,    26,    33,    32,    89,    22,    27,   609,   610,    22,
2267          40,    38,    38,    23,   616,   617,    39,    23,    38,    38,
2268          27,    89,    27,    38,    26,    23,    27,    38,    23,    26,
2269          33,    43,    19,  1497,    30,    27,  1500,    27,    38,    89,
2270          39,    89,    27,    23,  1367,  1368,    40,    21,    89,    27,
2271          27,  1237,    23,    32,    89,  1241,    37,    27,    40,  1382,
2272        1383,    21,    21,    19,    40,  1388,    21,  1253,    40,  1255,
2273          19,    36,    34,    21,    40,    33,    23,  1263,    32,    21,
2274          89,    27,  1268,    36,  1497,    37,    43,    32,    31,    27,
2275          40,    32,  1578,    33,    23,    32,    27,    36,    31,    34,
2276          36,    23,    27,    23,    38,  1291,    36,    31,    27,    32,
2277          23,    26,    38,    23,    32,    36,    27,    24,  1304,    23,
2278          36,    23,    39,    19,  1310,    23,  1312,    32,    21,    38,
2279          19,    39,    23,    34,    37,    19,    23,    32,    89,    21,
2280          21,    19,    21,    19,    34,    89,    32,    21,    23,    32,
2281          19,    21,    40,    33,    39,    23,    33,  1781,  1622,    32,
2282          23,    89,    89,    34,    36,    21,    23,    31,    34,    34,
2283          21,    38,  1135,    32,    36,    23,  1139,    23,    23,  1665,
2284          34,    23,    34,    32,    23,    23,    23,  1150,  1151,  1152,
2285        1153,    38,    21,    24,    34,  1158,    39,    38,    30,    34,
2286          19,    37,    19,    19,    38,    38,    30,    37,    36,    19,
2287          32,    38,    30,    38,  1177,    36,    39,    31,    33,  1182,
2288          32,    32,  1185,  1186,    33,  1188,    33,  1190,    89,    89,
2289        1416,  1417,    34,    33,    89,  1859,    89,    42,    22,    89,
2290        1704,   843,   844,   845,    37,    89,    33,    36,    34,    23,
2291          33,    39,    24,    38,    36,    34,    19,    38,  1744,    36,
2292          22,    19,    23,    89,    23,    36,    19,    27,    19,    33,
2293          36,    19,    37,    30,   876,    43,   878,   879,   880,    33,
2294          32,    36,    32,    89,    33,    32,    31,   889,    27,   891,
2295          36,   893,   894,   895,   896,    38,    31,    31,    36,    39,
2296          24,    43,    38,    24,    36,    19,   908,   909,    39,    22,
2297          27,    23,    23,   915,    23,    19,    38,    19,    23,    89,
2298          19,    36,    32,    39,    31,    33,    32,    23,  1381,  1387,
2299          33,  1204,  1192,    23,    32,  1821,    37,    31,    38,    36,
2300          31,    27,    23,    38,    23,    38,    38,   949,   950,   951,
2301         952,    22,    32,    23,    23,    33,    32,    23,    40,    89,
2302          24,    38,    36,    36,    23,    23,    38,    23,    30,    36,
2303          38,    26,    32,    38,    37,    23,    33,    38,  1859,    22,
2304        1389,  1704,    36,    36,    33,    36,    36,  1368,   629,  1352,
2305        1353,  1354,  1355,    37,  1363,   292,   612,   297,   655,    -1,
2306        1363,   621,    -1,   297,    56,   297,    -1,    -1,    -1,    -1,
2307        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   764,    -1,    -1,    -1,   768,    -1,    -1,   771,   772,  
       -1,   774,   794,   776,    -1,   465,   798,    -1,    -1,    -1,  
      802,    -1,    -1,    -1,    -1,    -1,    -1,   809,    -1,    -1,  
2308        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2309       803,   804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   831,        -1,    -1,    -1,    -1,   292,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   840,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,  
      852,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2310        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,   874,   875,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,   867,   868,   869,   870,    -1,    -1,  
2311        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2312        -1,    -1,    -1,    -1,    -1,    -1,    -1,   909,   910,     3,      1423,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2313         4,     5,     6,    -1,     8,     9,    10,    11,    12,    13,        -1,    -1,   292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2314          -1,    -1,    -1,    -1,   297,    -1,    -1,    -1,    -1,   297,
2315          -1,    -1,    -1,   297,   297,    -1,   297,    -1,   297,   297,
2316         297,   297,   297,   297,    -1,   297,   297,   297,    -1,    -1,
2317          -1,    -1,    -1,   293,   292,    -1,   292,  1119,  1120,     3,
2318           4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2319        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2320        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2321        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
# Line 1642  static const short int yycheck[] = Line 2336  static const short int yycheck[] =
2336       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2337       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2338       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2339       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       214,   215,   216,   217,   218,   219,   220,   221,   222,   295,
2340       224,     3,     4,     5,    -1,     7,     8,     9,    10,    11,       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2341        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2342        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2343        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1665  static const short int yycheck[] = Line 2359  static const short int yycheck[] =
2359       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2360       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2361       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2362       222,   223,   224,     3,     4,     5,    -1,    -1,     8,     9,       295,   223,   224,     3,     4,     5,     6,     7,     8,     9,
2363        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2364        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2365        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1687  static const short int yycheck[] = Line 2381  static const short int yycheck[] =
2381       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2382       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2383       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2384       220,   221,   222,   223,   224,     3,     4,     5,    -1,    -1,       220,   221,   292,   292,   224,     3,     4,     5,     6,     7,
2385         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2386        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2387        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1709  static const short int yycheck[] = Line 2403  static const short int yycheck[] =
2403       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2404       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2405       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2406       218,   219,   220,   221,   222,   223,   224,     3,     4,     5,       218,   219,   220,   221,   292,   297,   224,     3,     4,     5,
2407         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2408        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2409        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
# Line 1732  static const short int yycheck[] = Line 2426  static const short int yycheck[] =
2426       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2427       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2428       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,
2429         5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2430        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2431        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2432        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
# Line 1754  static const short int yycheck[] = Line 2448  static const short int yycheck[] =
2448       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2449       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2450       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,
2451         4,     5,    -1,     7,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2452        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2453        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2454        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
# Line 1775  static const short int yycheck[] = Line 2469  static const short int yycheck[] =
2469       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2470       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2471       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2472       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2473         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2474        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2475        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2476        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2477        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2478        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,        55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2479        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2480        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2481        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2482        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2483       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2484       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2485       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2486       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2487       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2488       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2489       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2490       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2491       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2492       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2493       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2494       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2495       223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2496        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2497        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2498        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2499        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2500        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2501        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2502        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2503        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2504        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2505       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2506       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2507       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2508       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2509       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2510       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2511       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2512       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2513       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2514       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2515       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2516       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2517       222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2518        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2519        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2520        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2521        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2522        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2523        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2524        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2525        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2526        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2527       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2528       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2529       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2530       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2531       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2532       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2533       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2534       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2535       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2536       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2537       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2538       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
      221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,  
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,  
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,  
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,  
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,  
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,  
        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,  
       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,  
       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,  
       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,  
       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,  
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,  
       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,  
       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,  
       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,  
       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,  
      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,  
      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,  
      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,  
      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,  
      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,  
      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,  
      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,  
      179,   180,   181,   182,   183,   184,   185,   186,   187,   188,  
      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,  
      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,  
      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,  
      219,   220,   221,   222,   223,     3,     4,     5,    -1,    -1,  
2539         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2540        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2541        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1908  static const short int yycheck[] = Line 2557  static const short int yycheck[] =
2557       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2558       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2559       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2560       218,   219,   220,   221,   222,   223,     3,     4,     5,    -1,       218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
2561        -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2562        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2563        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2564        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2565        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2566        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2567        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2568        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2569        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2570        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2571       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2572       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2573       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2574       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2575       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2576       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2577       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2578       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2579       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2580       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2581       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2582       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,       219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
       -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,  
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,  
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,  
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,  
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,  
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223  
 };  
   
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  
    symbol of state STATE-NUM.  */  
 static const unsigned short int yystos[] =  
 {  
        0,     1,     3,    21,    23,    24,    27,    32,    37,    38,  
       39,    41,   228,   229,   230,   231,   270,   271,   272,   273,  
      274,   275,   278,   279,   280,   281,   282,   322,   325,    24,  
       38,    25,    25,    29,    35,    41,    25,    25,    41,    34,  
        0,   225,   226,   268,   269,     3,     4,     5,     8,     9,  
2583        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2584        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2585        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1985  static const unsigned short int yystos[] Line 2601  static const unsigned short int yystos[]
2601       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2602       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2603       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2604       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
2605       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2606       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2607        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2608        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2609       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2610        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2611        21,    23,    25,    33,    39,    40,   234,   283,   284,   285,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2612       286,   293,   294,   296,   298,   299,   300,   301,   302,   303,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2613       305,   307,   308,   309,   310,   311,   312,   316,    21,    33,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2614       236,   299,   309,   237,   299,   309,    21,    23,    33,   242,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2615       284,   285,   286,   298,   305,   308,    29,   238,   295,   296,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2616       283,    21,    25,    33,   235,   283,   297,   302,   306,   307,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2617       324,    22,    23,    33,    39,    40,    42,   232,   288,   289,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2618       290,   291,   292,   293,   323,   233,   288,   289,   290,   291,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2619       292,   293,   323,   259,   265,   267,   283,    21,    40,    40,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2620        24,    40,    35,    25,    25,    39,    41,   262,    28,    41,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2621        42,    28,    34,    29,    25,    35,   267,   267,   267,   267,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2622       267,   267,   267,   267,   267,   267,   267,   267,   267,    41,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2623        29,   267,   267,   267,   267,    41,    28,    29,    34,   267,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2624       267,   267,    41,    23,    29,   267,   267,   267,   267,   267,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2625       267,    41,    28,    29,    40,    35,    35,   259,   267,   267,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2626        40,    38,    42,    40,    23,    23,    22,    21,    24,    21,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2627        21,    27,    24,    38,    40,    29,   287,   290,   291,   292,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2628       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2629       287,   287,    24,    24,   259,   259,    12,    13,    14,    15,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2630        16,    17,    18,    19,    20,   263,   263,    24,    21,    24,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2631        39,     6,     7,    34,   243,   255,   266,   277,   244,   254,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2632       259,   252,   263,    24,    28,    24,    21,    33,    39,    42,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2633       239,   299,   303,   304,   309,   312,   313,   314,   315,   317,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2634       318,   319,   263,   263,   263,   263,   258,   259,   263,    26,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2635        21,    39,    38,    40,    29,   252,    25,    35,    25,    40,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2636        38,    39,    34,    29,    29,    34,    29,    29,    42,    21,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2637        34,   267,   267,   267,   267,   267,   267,   267,   267,   267,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2638       267,   267,   267,   267,   267,   267,    29,    29,   267,   267,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2639        29,    34,    29,    40,   265,   265,    35,   267,   267,   267,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2640        29,    35,    29,    41,    29,    41,    35,    35,   267,   267,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2641       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2642       267,   267,   267,    26,    34,    23,    25,    21,    23,    45,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2643        29,    23,    34,    35,    32,    34,    34,    91,    25,    32,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2644        26,   252,    22,    36,   241,   320,   321,   252,   252,   254,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2645       263,   259,   259,   263,   263,   263,   263,   259,   259,   263,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2646        35,    91,   240,   259,   240,    35,    34,    91,    38,     6,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2647         7,    34,   253,   263,   255,   252,    35,    91,    24,    24,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2648        40,    32,    32,   252,   252,   252,   252,   252,   252,   252,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2649       252,   252,   252,   252,   259,   263,   259,   263,    25,    34,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2650        25,    21,    32,    25,    22,    38,    25,    91,    21,    25,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2651        25,    29,    38,    91,    35,    45,    25,   267,   267,   267,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2652       267,   267,   267,   267,    91,    29,   267,     4,    91,    25,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2653        29,    41,    91,   267,   267,    91,    29,    29,    29,    25,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2654        35,    41,   267,   267,   267,   267,   267,   267,   267,   267,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2655       267,   267,   267,     4,   267,     4,   267,    38,    25,    32,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2656        33,    91,    91,    25,    29,    32,    35,    22,    32,    34,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2657        42,    40,    38,   252,   259,   263,   263,   263,   259,   263,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2658        35,    34,   259,     6,     7,     9,    10,   256,   257,   259,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2659       260,   261,   262,   263,    35,    32,    34,    33,    33,   252,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2660       253,    35,    34,    35,    91,    33,   245,   263,   246,   263,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2661       247,   259,   245,   248,   263,    21,   249,   263,   276,   250,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2662       259,   245,     9,    10,   251,   260,   263,   258,   258,   256,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2663       259,   256,   259,    91,    32,    32,    91,    42,    23,    22,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2664        41,    32,    39,    36,    35,    25,    23,   267,   267,   267,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2665       267,    41,    36,     4,   259,   259,   261,   261,     5,     8,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2666        41,    36,    25,    35,   267,    41,    36,    91,    29,    25,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2667       267,    32,   267,     4,     4,    26,    91,    21,    23,    35,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2668        35,    25,    40,    25,    41,    29,    39,    25,   240,   259,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2669       259,   240,    40,    41,   256,     6,     7,     8,     8,   257,       213,   214,   215,   216,   217,   218,   219,   220,   221
      261,    40,    41,    34,    24,   252,    40,    41,    35,    34,  
      246,    32,   248,   256,   256,    29,    23,    29,    34,    35,  
       29,    41,    36,    91,    40,    23,    34,    36,    40,   261,  
      261,    36,    40,    40,    21,    36,    40,    41,    36,   267,  
       32,    35,    34,    25,    41,    23,    34,    41,    21,    25,  
       33,    91,    25,    40,    41,    91,    41,    91,    32,    41,  
       91,    40,    41,   249,    32,    41,    26,    35,    34,    25,  
       40,    40,    41,    34,    29,    24,    36,    91,    21,    40,  
       24,    40,    24,    40,    24,    36,    36,    40,    34,    35,  
       41,    40,    91,    91,    24,    27,    24,    25,    38,    35,  
       23,    27,    91,    25,    91,    25,    91,    25,    35,    41,  
       91,    40,    39,    23,    23,    24,    29,    29,    29,    42,  
       29,    38,    35,    25,    24,    42,    24,    42,    23,    24,  
       42,    38,    40,    23,    36,    40,    35,    28,    25,    38,  
       35,    34,    91,    29,    42,    40,    41,    25,    29,    25,  
       29,    28,    25,    29,    40,    91,    28,    35,    45,    41,  
       21,    42,    29,    91,    25,    29,    23,    25,    91,    34,  
       42,    23,    42,    23,    21,    42,    23,    23,    40,    21,  
       38,    36,    34,    34,    29,    42,    35,    39,    34,    25,  
       38,    36,    40,    29,    25,    29,    25,    34,    29,    25,  
       28,    45,    34,    40,    25,    40,    34,    23,    25,    41,  
       36,    39,    91,    21,    91,    23,    23,    34,    23,    91,  
       21,    36,    34,    25,    25,    38,    40,    41,    36,    38,  
       33,    25,    25,    25,    25,    36,    34,    25,    25,    32,  
       39,    91,    36,    40,    21,    21,    21,    32,    91,    21,  
       34,    32,    91,    36,    41,    91,    38,    33,    44,    36,  
       38,    25,    36,    21,    40,    24,    21,    25,    21,    21,  
       32,    21,    38,    91,    38,    33,    40,    38,    33,    38,  
       21,    24,    29,    25,    25,    21,    25,    21,    33,    38,  
       42,    40,    38,    33,    40,    33,    25,    29,    25,    25,  
       25,    25,    25,    40,    42,    38,    38,    40,    38,    40,  
       25,    25,    39,    25,    25,    38,    38,    38,    38,    39  
2670  };  };
2671    
2672  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2673  # define YYSIZE_T __SIZE_TYPE__     symbol of state STATE-NUM.  */
2674  #endif  static const yytype_uint16 yystos[] =
2675  #if ! defined (YYSIZE_T) && defined (size_t)  {
2676  # define YYSIZE_T size_t         0,     1,     3,    19,    21,    22,    24,    25,    30,    31,
2677  #endif        35,    36,    37,    39,   228,   229,   230,   231,   293,   294,
2678  #if ! defined (YYSIZE_T)       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
2679  # if defined (__STDC__) || defined (__cplusplus)       309,   310,   311,   312,   387,   391,    22,    30,    33,    36,
2680  #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */        23,    27,    23,    27,    33,    19,    33,    39,    23,    23,
2681  #  define YYSIZE_T size_t        39,    32,     0,   225,   226,   291,   292,     3,     4,     5,
2682  # endif         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2683  #endif        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2684  #if ! defined (YYSIZE_T)        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2685  # define YYSIZE_T unsigned int        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2686  #endif        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2687          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2688          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2689          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2690          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2691          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2692         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2693         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2694         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2695         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2696         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2697         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2698         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2699         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2700         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2701         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2702         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2703         216,   217,   218,   219,   220,   221,   224,   282,   285,   286,
2704         287,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2705         290,   290,   290,   290,   290,   290,   290,   290,   290,    22,
2706          23,    34,    23,    37,    32,    38,    37,    19,    34,    40,
2707          27,    31,    37,    38,    20,    31,    37,   291,     9,    10,
2708          11,    12,    13,    14,    15,    16,    17,    18,   284,   285,
2709         284,   284,   284,   284,   284,   284,   284,   284,     3,     9,
2710          10,    11,    12,    13,    14,    15,    16,    17,    18,   287,
2711          21,    22,    31,   232,   313,   361,   371,   373,    19,    21,
2712          22,    23,    24,    31,    37,    38,    40,   238,   313,   314,
2713         315,   316,   337,   338,   341,   346,   347,   348,   349,   350,
2714         351,   353,   355,   356,   357,   358,   359,   360,   361,   362,
2715         363,   364,   369,   370,   371,   372,   373,   374,   380,   381,
2716          31,   235,   359,   236,   359,    31,   242,   360,    22,   243,
2717         372,   373,    22,   244,   371,   374,   245,   371,   374,    19,
2718          24,    31,   240,   347,   357,   369,   246,   347,   357,   369,
2719          19,    21,    24,    31,   252,   314,   315,   316,   346,   353,
2720         356,   360,   362,   370,   372,   373,    27,   247,   340,   341,
2721         237,   313,   361,   371,   374,    19,    23,    31,   239,   313,
2722         345,   350,   354,   355,   361,   369,   371,   374,   381,   390,
2723          19,    20,    21,    22,    24,    25,    31,    37,    38,    40,
2724         233,   318,   319,   320,   321,   322,   323,   324,   325,   326,
2725         327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2726         337,   339,   388,   234,   318,   319,   320,   321,   322,   323,
2727         324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
2728         334,   335,   336,   337,   339,   388,   241,   313,    19,    43,
2729          19,    38,    22,    38,    22,    23,    38,    33,    23,    37,
2730          19,    39,   285,    26,    20,    27,   290,   290,   290,    39,
2731          40,    26,    20,    32,    42,    27,    23,    33,    33,   290,
2732         290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2733         290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2734         290,    27,   290,   290,    27,   290,    20,   290,   290,    20,
2735         290,   290,   290,   290,    39,    42,    27,   290,   290,   290,
2736         290,   290,   290,    39,    26,    42,    27,   290,   290,   290,
2737         290,    32,   290,   290,   290,   290,   290,   290,    39,    21,
2738          27,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2739         290,   290,    39,    39,    26,    20,    42,    30,    27,    38,
2740          33,    33,   290,    36,    38,    36,    40,    38,    21,    34,
2741          20,    19,    89,    22,   222,   223,   274,   289,   271,   289,
2742          24,    32,   271,   377,   379,    22,    19,    19,    89,    25,
2743          89,    22,    36,    38,    30,    27,   317,   334,   335,   336,
2744         317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
2745          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2746         262,   286,   305,   317,   317,   317,   317,   267,   286,   317,
2747          36,   271,   378,   271,   378,   317,   317,    22,    32,   249,
2748         308,   262,    22,   262,   305,    89,   271,   379,   271,   379,
2749          89,   271,   271,   271,   271,    22,    89,    22,   282,   282,
2750         267,   286,   286,   267,    22,    19,    89,    22,   262,   305,
2751         267,   271,   378,   271,   378,    37,   253,   273,   289,   308,
2752         254,   270,   282,   267,   262,   305,    24,   271,   376,   271,
2753          22,    26,    22,    19,    31,    37,   248,   347,   351,   352,
2754         357,   361,   364,   365,   366,   367,   381,   383,   384,   286,
2755         286,   286,   286,    32,   389,    19,    30,    31,   351,   368,
2756         382,   389,    22,   375,   389,   375,   389,     7,     8,   266,
2757         283,   284,   285,   286,   281,   282,   286,    22,    24,    19,
2758          89,    89,    33,    22,    37,    36,    38,    27,   267,    23,
2759          33,    23,    36,    37,    32,    27,    27,   282,   288,   290,
2760         288,    30,    33,   290,   290,   290,    27,    27,    32,    27,
2761          27,    37,    27,    40,    19,    39,    32,   290,   290,   290,
2762         290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
2763         290,    30,   290,   290,   290,   290,   290,    23,   290,   290,
2764         290,    27,    33,   262,   290,   290,    27,    27,   290,   290,
2765         290,   290,    27,   290,   290,   290,   290,    27,    37,    27,
2766         290,   290,   290,   290,    27,    32,    37,    27,   290,   290,
2767          38,   290,   290,   290,    33,   290,    27,    33,    27,    39,
2768          27,    39,    33,   290,   290,   290,   290,   290,   290,   290,
2769         290,   290,   290,   290,   290,   290,   290,   290,   290,    19,
2770         290,    39,    23,    27,   290,   290,   290,   290,    23,   290,
2771         290,   290,   290,   284,   284,     6,    27,    24,    32,    27,
2772          37,    20,    27,    21,    23,    19,    21,    43,    27,    21,
2773          32,    32,    89,   222,   282,   290,   223,    19,    32,   271,
2774         271,   271,    33,    30,    32,    32,    32,    23,    89,    23,
2775          30,    31,    24,   267,    20,    34,   251,   385,   386,   267,
2776         267,   270,   286,   282,   282,   286,   286,   286,   286,   282,
2777         262,    30,   262,   282,   286,   267,   271,    21,   271,   271,
2778         271,    89,    32,   290,   263,   286,    89,    32,   279,   282,
2779         271,   279,   271,    32,   271,   271,   271,   271,    33,    23,
2780          89,   250,   282,   250,   265,   286,   269,   286,    33,    32,
2781          23,    89,   271,   271,    36,   268,   286,   273,   267,    36,
2782         271,    33,    89,    22,    22,    38,    30,   267,   267,   267,
2783         267,   267,   267,   267,   267,   267,   267,   267,   267,   282,
2784         286,   282,   286,    31,   262,    22,    40,    22,   267,   267,
2785         267,   267,    37,   271,   271,   271,   271,     6,     6,   284,
2786          33,    23,    32,    32,    23,    19,    89,    23,    19,    30,
2787          23,    20,    36,    23,    37,    27,    38,    89,   290,   290,
2788         290,    89,    19,    23,    37,    23,    32,    27,    36,    89,
2789          23,    33,    43,    23,   290,   290,   290,   290,   290,   290,
2790         290,   290,   290,    39,    27,    89,   263,   290,    27,    37,
2791         290,     4,   290,   290,    37,    89,    32,    27,   290,     4,
2792         290,    89,    23,    32,    27,    39,   290,   290,    21,    89,
2793          27,    27,    27,    23,    33,   290,   290,   290,   290,   290,
2794         290,   290,   290,   290,   290,   290,   290,     4,   290,     4,
2795         290,    23,   290,    27,    23,    27,   290,   290,   290,   290,
2796          21,   290,   290,   290,   290,   284,   284,    89,    36,    23,
2797          37,    32,    30,    27,    30,    31,    89,    89,    23,    27,
2798          30,    38,    32,    36,   268,   271,   271,    33,    20,    30,
2799          38,    22,    32,    40,    38,    36,   267,   282,   286,   286,
2800         286,   282,   263,   286,   269,    36,    32,    31,   290,   264,
2801         286,    32,    38,   282,   280,   282,   289,   279,   279,    38,
2802          33,    22,    32,   282,     7,     8,   277,   278,   282,   283,
2803         286,   289,   276,   289,    33,    30,    22,    32,    31,   267,
2804         268,    23,    33,    32,    33,    89,   256,   286,   257,   286,
2805         258,   282,   256,    22,    32,   262,   306,   307,   259,   286,
2806         260,   286,   305,   261,   282,   256,   266,   281,   281,   277,
2807         282,   277,   282,   274,    33,    30,    89,   269,   269,   269,
2808         269,    36,   289,   272,   289,   289,   272,    33,    89,    30,
2809          38,    22,    89,    32,    30,    89,    40,    21,    20,    36,
2810          37,    23,    39,    30,    37,    36,    37,    34,    37,    33,
2811          23,    21,   290,   290,   290,   290,   290,    37,    37,    33,
2812         264,    37,    36,     4,    36,    39,    34,     4,     5,    39,
2813          34,    37,    23,   290,    39,    34,    89,    27,   290,    23,
2814          33,   290,     4,     4,    89,    21,   290,   290,   290,   290,
2815          27,    39,    24,    89,    36,    89,    27,    34,    37,    19,
2816          21,    33,    33,    23,    39,    38,    21,    38,    23,    39,
2817          39,    38,    27,    37,    23,   250,   282,   282,   250,   264,
2818          27,    38,    22,   290,    38,    39,   280,    39,    38,    39,
2819         277,   278,    38,    39,    38,    32,   267,    38,    39,    33,
2820          32,   257,    24,    32,   259,   277,   277,    33,    33,   257,
2821         265,   266,   276,    34,    38,    27,    21,    27,    39,    21,
2822          27,    32,    39,    38,    32,    33,    27,    39,    31,    36,
2823          39,    34,    89,    31,    38,    36,    21,    32,    40,    36,
2824          19,   270,    36,    31,    31,    34,    38,    34,    38,    36,
2825          38,    34,    38,    39,    34,    19,    23,   290,    39,    32,
2826         290,    38,    34,    30,    33,    32,    31,    33,    32,    24,
2827          38,    36,    23,    39,    21,    32,    23,    39,    36,    39,
2828          19,    23,    31,    23,    89,    39,    23,    38,    23,    39,
2829          30,   290,    39,    23,    23,    39,    89,    39,    89,    39,
2830          39,    89,    38,    39,    39,   260,    38,    38,   257,    27,
2831          39,    30,    39,    24,    23,    39,    24,    33,    89,    39,
2832          33,    32,    23,    38,    32,    31,    37,    38,    39,    32,
2833          27,    32,    22,    34,    31,    89,    19,    31,   273,    31,
2834          32,    32,    38,    22,    38,    22,    31,    38,    22,    34,
2835          34,    38,    30,    34,    36,    33,    38,    32,    33,    32,
2836          32,    33,    22,    31,    39,    38,    89,    38,    23,    27,
2837          89,    22,    25,    22,    38,    23,    36,    33,    23,    21,
2838          25,    23,   290,    23,    38,    38,    89,    23,    89,    23,
2839          23,    89,    23,    33,    39,    89,    38,    39,    33,    32,
2840          89,    38,    38,    38,    23,    23,    37,    21,    37,    89,
2841          32,    40,    21,    22,    27,    27,    27,    89,    40,    27,
2842          36,    32,    33,    23,    32,   268,    32,    89,    22,    40,
2843          22,    40,    32,    21,    22,    40,    36,    38,    21,    34,
2844          38,    38,    30,    22,    89,    40,    32,    33,    22,    38,
2845          23,    26,    23,    36,    33,    32,    89,    22,    27,    40,
2846          38,    38,    39,    38,   290,    38,    22,    23,    27,    23,
2847          27,    38,    26,    23,    27,    38,    89,    26,    33,    43,
2848          89,    30,    23,    21,    22,    27,    27,    38,    39,    27,
2849          89,    19,    40,    27,    89,    23,    27,    27,    21,    23,
2850          89,    37,    89,    32,   266,    27,    40,    21,    40,    21,
2851          89,    19,    40,    21,    21,    38,    19,    36,    34,    23,
2852          40,    33,    27,    32,    21,    89,    32,    36,    31,    32,
2853          27,    40,    33,    37,    32,    36,    23,    36,    34,    31,
2854          38,   290,    36,    27,    23,    27,    23,    31,    32,    27,
2855          23,    26,    43,    32,    38,    23,    36,    27,    39,    36,
2856          24,    23,    21,    27,    31,    38,    23,    19,    32,    21,
2857          23,    39,    34,    23,    37,    89,    19,    19,    89,    33,
2858          34,   255,   275,   289,   342,   343,   344,    23,    21,    21,
2859          19,    32,    21,    89,    19,    34,    32,    21,    32,    23,
2860          33,    89,    33,    32,    19,    21,    34,    23,    23,    36,
2861          38,    39,    21,    34,    36,    34,    31,    32,    23,   290,
2862          21,    23,    23,    34,    23,    23,    34,    32,    23,    23,
2863          23,    38,    21,    21,    27,    39,    24,    34,    38,    30,
2864          37,    89,    34,    38,    38,    19,    19,    37,    19,    89,
2865          36,   275,    38,    30,    89,    19,    32,    30,    89,    38,
2866          33,    32,    32,    33,    89,    33,    89,    34,    39,    89,
2867          33,    36,    31,    42,    22,    37,    33,    34,    36,    23,
2868          21,    27,    33,    39,    24,    38,    21,    27,    36,    34,
2869          19,    38,    22,    36,    19,    23,    23,    27,    36,    19,
2870          19,    30,    33,    32,    36,    32,    33,    33,    32,    43,
2871          19,    36,    89,    36,    27,    31,    38,    31,    37,    36,
2872          31,    39,    24,    43,    38,    39,    24,    36,    19,    22,
2873          27,    23,    23,    23,    19,    38,    19,    23,    32,    33,
2874          89,    32,    33,    19,    31,    36,    40,    37,    38,    36,
2875          32,    23,    31,    38,    38,    21,    27,    38,    31,    23,
2876          27,    23,    23,    22,    32,    23,    23,    33,    32,    23,
2877          38,    40,    36,    36,    89,    38,    38,    36,    39,    24,
2878          38,    23,    23,    37,    26,    23,    32,    33,    23,    36,
2879          36,    33,    36,    38,    36,    37,    30,    22
2880    };
2881    
2882  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2883  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
# Line 2126  do                                                             \ Line 2904  do                                                             \
2904        yychar = (Token);                                         \        yychar = (Token);                                         \
2905        yylval = (Value);                                         \        yylval = (Value);                                         \
2906        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2907        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2908        goto yybackup;                                            \        goto yybackup;                                            \
2909      }                                                           \      }                                                           \
2910    else                                                          \    else                                                          \
2911      {                                                           \      {                                                           \
2912        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2913        YYERROR;                                                  \        YYERROR;                                                  \
2914      }                                                           \      }                                                           \
2915  while (0)  while (YYID (0))
2916    
2917    
2918  #define YYTERROR        1  #define YYTERROR        1
# Line 2149  while (0) Line 2927  while (0)
2927  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2928  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2929      do                                                                  \      do                                                                  \
2930        if (N)                                                            \        if (YYID (N))                                                    \
2931          {                                                               \          {                                                               \
2932            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2933            (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \            (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
# Line 2163  while (0) Line 2941  while (0)
2941            (Current).first_column = (Current).last_column =              \            (Current).first_column = (Current).last_column =              \
2942              YYRHSLOC (Rhs, 0).last_column;                              \              YYRHSLOC (Rhs, 0).last_column;                              \
2943          }                                                               \          }                                                               \
2944      while (0)      while (YYID (0))
2945  #endif  #endif
2946    
2947    
# Line 2175  while (0) Line 2953  while (0)
2953  # if YYLTYPE_IS_TRIVIAL  # if YYLTYPE_IS_TRIVIAL
2954  #  define YY_LOCATION_PRINT(File, Loc)                  \  #  define YY_LOCATION_PRINT(File, Loc)                  \
2955       fprintf (File, "%d.%d-%d.%d",                      \       fprintf (File, "%d.%d-%d.%d",                      \
2956                (Loc).first_line, (Loc).first_column,     \                (Loc).first_line, (Loc).first_column,     \
2957                (Loc).last_line,  (Loc).last_column)                (Loc).last_line,  (Loc).last_column)
2958  # else  # else
2959  #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)  #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2960  # endif  # endif
# Line 2203  while (0) Line 2981  while (0)
2981  do {                                            \  do {                                            \
2982    if (yydebug)                                  \    if (yydebug)                                  \
2983      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2984  } while (0)  } while (YYID (0))
2985    
2986  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)          \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2987  do {                                                            \  do {                                                                      \
2988    if (yydebug)                                                  \    if (yydebug)                                                            \
2989      {                                                           \      {                                                                     \
2990        YYFPRINTF (stderr, "%s ", Title);                         \        YYFPRINTF (stderr, "%s ", Title);                                   \
2991        yysymprint (stderr,                                       \        yy_symbol_print (stderr,                                            \
2992                    Type, Value); \                    Type, Value); \
2993        YYFPRINTF (stderr, "\n");                                 \        YYFPRINTF (stderr, "\n");                                           \
2994      }                                                           \      }                                                                     \
2995  } while (0)  } while (YYID (0))
2996    
2997    
2998    /*--------------------------------.
2999    | Print this symbol on YYOUTPUT.  |
3000    `--------------------------------*/
3001    
3002    /*ARGSUSED*/
3003    #if (defined __STDC__ || defined __C99__FUNC__ \
3004         || defined __cplusplus || defined _MSC_VER)
3005    static void
3006    yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3007    #else
3008    static void
3009    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3010        FILE *yyoutput;
3011        int yytype;
3012        YYSTYPE const * const yyvaluep;
3013    #endif
3014    {
3015      if (!yyvaluep)
3016        return;
3017    # ifdef YYPRINT
3018      if (yytype < YYNTOKENS)
3019        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3020    # else
3021      YYUSE (yyoutput);
3022    # endif
3023      switch (yytype)
3024        {
3025          default:
3026            break;
3027        }
3028    }
3029    
3030    
3031    /*--------------------------------.
3032    | Print this symbol on YYOUTPUT.  |
3033    `--------------------------------*/
3034    
3035    #if (defined __STDC__ || defined __C99__FUNC__ \
3036         || defined __cplusplus || defined _MSC_VER)
3037    static void
3038    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3039    #else
3040    static void
3041    yy_symbol_print (yyoutput, yytype, yyvaluep)
3042        FILE *yyoutput;
3043        int yytype;
3044        YYSTYPE const * const yyvaluep;
3045    #endif
3046    {
3047      if (yytype < YYNTOKENS)
3048        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3049      else
3050        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3051    
3052      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3053      YYFPRINTF (yyoutput, ")");
3054    }
3055    
3056  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
3057  | yy_stack_print -- Print the state stack from its BOTTOM up to its |  | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3058  | TOP (included).                                                   |  | TOP (included).                                                   |
3059  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
3060    
3061  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3062         || defined __cplusplus || defined _MSC_VER)
3063  static void  static void
3064  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3065  #else  #else
3066  static void  static void
3067  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
3068      short int *bottom;      yytype_int16 *bottom;
3069      short int *top;      yytype_int16 *top;
3070  #endif  #endif
3071  {  {
3072    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
3073    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
3074      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
3075    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
3076  }  }
# Line 2241  yy_stack_print (bottom, top) Line 3079  yy_stack_print (bottom, top)
3079  do {                                                            \  do {                                                            \
3080    if (yydebug)                                                  \    if (yydebug)                                                  \
3081      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
3082  } while (0)  } while (YYID (0))
3083    
3084    
3085  /*------------------------------------------------.  /*------------------------------------------------.
3086  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
3087  `------------------------------------------------*/  `------------------------------------------------*/
3088    
3089  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3090         || defined __cplusplus || defined _MSC_VER)
3091  static void  static void
3092  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
3093  #else  #else
3094  static void  static void
3095  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
3096        YYSTYPE *yyvsp;
3097      int yyrule;      int yyrule;
3098  #endif  #endif
3099  {  {
3100      int yynrhs = yyr2[yyrule];
3101    int yyi;    int yyi;
3102    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
3103    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3104               yyrule - 1, yylno);               yyrule - 1, yylno);
3105    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
3106    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
3107      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
3108    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
3109          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3110                           &(yyvsp[(yyi + 1) - (yynrhs)])
3111                                           );
3112          fprintf (stderr, "\n");
3113        }
3114  }  }
3115    
3116  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
3117  do {                                    \  do {                                    \
3118    if (yydebug)                          \    if (yydebug)                          \
3119      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
3120  } while (0)  } while (YYID (0))
3121    
3122  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
3123     multiple parsers can coexist.  */     multiple parsers can coexist.  */
# Line 2293  int yydebug; Line 3139  int yydebug;
3139     if the built-in stack extension method is used).     if the built-in stack extension method is used).
3140    
3141     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
3142     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3143     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
3144    
3145  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
# Line 2305  int yydebug; Line 3151  int yydebug;
3151  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
3152    
3153  # ifndef yystrlen  # ifndef yystrlen
3154  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
3155  #   define yystrlen strlen  #   define yystrlen strlen
3156  #  else  #  else
3157  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
3158    #if (defined __STDC__ || defined __C99__FUNC__ \
3159         || defined __cplusplus || defined _MSC_VER)
3160  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
3161  yystrlen (const char *yystr)  yystrlen (const char *yystr)
3162  #   else  #else
3163    static YYSIZE_T
3164  yystrlen (yystr)  yystrlen (yystr)
3165       const char *yystr;      const char *yystr;
3166  #   endif  #endif
3167  {  {
3168    register const char *yys = yystr;    YYSIZE_T yylen;
3169      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
3170      continue;      continue;
3171      return yylen;
   return yys - yystr - 1;  
3172  }  }
3173  #  endif  #  endif
3174  # endif  # endif
3175    
3176  # ifndef yystpcpy  # ifndef yystpcpy
3177  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3178  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
3179  #  else  #  else
3180  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3181     YYDEST.  */     YYDEST.  */
3182    #if (defined __STDC__ || defined __C99__FUNC__ \
3183         || defined __cplusplus || defined _MSC_VER)
3184  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
3185  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
3186  #   else  #else
3187    static char *
3188  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
3189       char *yydest;      char *yydest;
3190       const char *yysrc;      const char *yysrc;
3191  #   endif  #endif
3192  {  {
3193    register char *yyd = yydest;    char *yyd = yydest;
3194    register const char *yys = yysrc;    const char *yys = yysrc;
3195    
3196    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
3197      continue;      continue;
# Line 2353  yystpcpy (yydest, yysrc) Line 3201  yystpcpy (yydest, yysrc)
3201  #  endif  #  endif
3202  # endif  # endif
3203    
3204  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
3205    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3206       quotes and backslashes, so that it's suitable for yyerror.  The
3207       heuristic is that double-quoting is unnecessary unless the string
3208       contains an apostrophe, a comma, or backslash (other than
3209       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3210       null, do not copy; instead, return the length of what the result
3211       would have been.  */
3212    static YYSIZE_T
3213    yytnamerr (char *yyres, const char *yystr)
3214    {
3215      if (*yystr == '"')
3216        {
3217          YYSIZE_T yyn = 0;
3218          char const *yyp = yystr;
3219    
3220          for (;;)
3221            switch (*++yyp)
3222              {
3223              case '\'':
3224              case ',':
3225                goto do_not_strip_quotes;
3226    
3227              case '\\':
3228                if (*++yyp != '\\')
3229                  goto do_not_strip_quotes;
3230                /* Fall through.  */
3231              default:
3232                if (yyres)
3233                  yyres[yyn] = *yyp;
3234                yyn++;
3235                break;
3236    
3237              case '"':
3238                if (yyres)
3239                  yyres[yyn] = '\0';
3240                return yyn;
3241              }
3242        do_not_strip_quotes: ;
3243        }
3244    
3245  #if YYDEBUG    if (! yyres)
3246  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
3247    
3248  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
3249  static void  }
3250  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
3251  #else  
3252  static void  /* Copy into YYRESULT an error message about the unexpected token
3253  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
3254      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
3255      int yytype;     copy anything; just return the number of bytes that would be
3256      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
3257  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
3258       size calculation.  */
3259    static YYSIZE_T
3260    yysyntax_error (char *yyresult, int yystate, int yychar)
3261  {  {
3262    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
3263    
3264    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3265      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);      return 0;
3266    else    else
3267      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);      {
3268          int yytype = YYTRANSLATE (yychar);
3269          YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3270          YYSIZE_T yysize = yysize0;
3271          YYSIZE_T yysize1;
3272          int yysize_overflow = 0;
3273          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3274          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3275          int yyx;
3276    
3277    # if 0
3278          /* This is so xgettext sees the translatable formats that are
3279             constructed on the fly.  */
3280          YY_("syntax error, unexpected %s");
3281          YY_("syntax error, unexpected %s, expecting %s");
3282          YY_("syntax error, unexpected %s, expecting %s or %s");
3283          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3284          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3285    # endif
3286          char *yyfmt;
3287          char const *yyf;
3288          static char const yyunexpected[] = "syntax error, unexpected %s";
3289          static char const yyexpecting[] = ", expecting %s";
3290          static char const yyor[] = " or %s";
3291          char yyformat[sizeof yyunexpected
3292                        + sizeof yyexpecting - 1
3293                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3294                           * (sizeof yyor - 1))];
3295          char const *yyprefix = yyexpecting;
3296    
3297          /* Start YYX at -YYN if negative to avoid negative indexes in
3298             YYCHECK.  */
3299          int yyxbegin = yyn < 0 ? -yyn : 0;
3300    
3301          /* Stay within bounds of both yycheck and yytname.  */
3302          int yychecklim = YYLAST - yyn + 1;
3303          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3304          int yycount = 1;
3305    
3306          yyarg[0] = yytname[yytype];
3307          yyfmt = yystpcpy (yyformat, yyunexpected);
3308    
3309          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3310            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3311              {
3312                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3313                  {
3314                    yycount = 1;
3315                    yysize = yysize0;
3316                    yyformat[sizeof yyunexpected - 1] = '\0';
3317                    break;
3318                  }
3319                yyarg[yycount++] = yytname[yyx];
3320                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3321                yysize_overflow |= (yysize1 < yysize);
3322                yysize = yysize1;
3323                yyfmt = yystpcpy (yyfmt, yyprefix);
3324                yyprefix = yyor;
3325              }
3326    
3327          yyf = YY_(yyformat);
3328          yysize1 = yysize + yystrlen (yyf);
3329          yysize_overflow |= (yysize1 < yysize);
3330          yysize = yysize1;
3331    
3332          if (yysize_overflow)
3333            return YYSIZE_MAXIMUM;
3334    
3335  # ifdef YYPRINT        if (yyresult)
3336    if (yytype < YYNTOKENS)          {
3337      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);            /* Avoid sprintf, as that infringes on the user's name space.
3338  # endif               Don't have undefined behavior even if the translation
3339    switch (yytype)               produced a string with the wrong number of "%s"s.  */
3340      {            char *yyp = yyresult;
3341        default:            int yyi = 0;
3342          break;            while ((*yyp = *yyf) != '\0')
3343                {
3344                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3345                    {
3346                      yyp += yytnamerr (yyp, yyarg[yyi++]);
3347                      yyf += 2;
3348                    }
3349                  else
3350                    {
3351                      yyp++;
3352                      yyf++;
3353                    }
3354                }
3355            }
3356          return yysize;
3357      }      }
   YYFPRINTF (yyoutput, ")");  
3358  }  }
3359    #endif /* YYERROR_VERBOSE */
3360    
3361    
 #endif /* ! YYDEBUG */  
3362  /*-----------------------------------------------.  /*-----------------------------------------------.
3363  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
3364  `-----------------------------------------------*/  `-----------------------------------------------*/
3365    
3366  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
3367    #if (defined __STDC__ || defined __C99__FUNC__ \
3368         || defined __cplusplus || defined _MSC_VER)
3369  static void  static void
3370  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3371  #else  #else
# Line 2410  yydestruct (yymsg, yytype, yyvaluep) Line 3376  yydestruct (yymsg, yytype, yyvaluep)
3376      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3377  #endif  #endif
3378  {  {
3379    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
   (void) yyvaluep;  
3380    
3381    if (!yymsg)    if (!yymsg)
3382      yymsg = "Deleting";      yymsg = "Deleting";
# Line 2421  yydestruct (yymsg, yytype, yyvaluep) Line 3386  yydestruct (yymsg, yytype, yyvaluep)
3386      {      {
3387    
3388        default:        default:
3389          break;          break;
3390      }      }
3391  }  }
3392    
# Line 2429  yydestruct (yymsg, yytype, yyvaluep) Line 3394  yydestruct (yymsg, yytype, yyvaluep)
3394  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3395    
3396  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3397  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3398  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3399  # else  #else
3400  int yyparse ();  int yyparse ();
3401  # endif  #endif
3402  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3403  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3404  int yyparse (void);  int yyparse (void);
3405  #else  #else
3406  int yyparse ();  int yyparse ();
# Line 2452  int yyparse (); Line 3417  int yyparse ();
3417  `----------*/  `----------*/
3418    
3419  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3420  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3421  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3422  # else  int
3423  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3424    void *YYPARSE_PARAM;  #else
3425  # endif  int
3426    yyparse (YYPARSE_PARAM)
3427        void *YYPARSE_PARAM;
3428    #endif
3429  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3430  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3431         || defined __cplusplus || defined _MSC_VER)
3432  int  int
3433  yyparse (void)  yyparse (void)
3434  #else  #else
# Line 2478  YYSTYPE yylval; Line 3447  YYSTYPE yylval;
3447  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3448  int yynerrs;  int yynerrs;
3449    
3450    register int yystate;    int yystate;
3451    register int yyn;    int yyn;
3452    int yyresult;    int yyresult;
3453    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3454    int yyerrstatus;    int yyerrstatus;
3455    /* Look-ahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3456    int yytoken = 0;    int yytoken = 0;
3457    #if YYERROR_VERBOSE
3458      /* Buffer for error messages, and its allocated size.  */
3459      char yymsgbuf[128];
3460      char *yymsg = yymsgbuf;
3461      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3462    #endif
3463    
3464    /* Three stacks and their tools:    /* Three stacks and their tools:
3465       `yyss': related to states,       `yyss': related to states,
# Line 2495  int yynerrs; Line 3470  int yynerrs;
3470       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3471    
3472    /* The state stack.  */    /* The state stack.  */
3473    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3474    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3475    register short int *yyssp;    yytype_int16 *yyssp;
3476    
3477    /* The semantic value stack.  */    /* The semantic value stack.  */
3478    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3479    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3480    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3481    
3482    
3483    
3484  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3485    
3486    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3487    
# Line 2515  int yynerrs; Line 3490  int yynerrs;
3490    YYSTYPE yyval;    YYSTYPE yyval;
3491    
3492    
3493    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3494       rule.  */       Keep to zero when no symbol should be popped.  */
3495    int yylen;    int yylen = 0;
3496    
3497    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3498    
# Line 2534  int yynerrs; Line 3509  int yynerrs;
3509    yyssp = yyss;    yyssp = yyss;
3510    yyvsp = yyvs;    yyvsp = yyvs;
3511    
   
   yyvsp[0] = yylval;  
   
3512    goto yysetstate;    goto yysetstate;
3513    
3514  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2544  int yynerrs; Line 3516  int yynerrs;
3516  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3517   yynewstate:   yynewstate:
3518    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3519       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3520    yyssp++;    yyssp++;
3521    
3522   yysetstate:   yysetstate:
# Line 2558  int yynerrs; Line 3529  int yynerrs;
3529    
3530  #ifdef yyoverflow  #ifdef yyoverflow
3531        {        {
3532          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3533             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3534             memory.  */             memory.  */
3535          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3536          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3537    
3538    
3539          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3540             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
3541             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3542             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3543          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3544                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3545                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3546    
# Line 2580  int yynerrs; Line 3551  int yynerrs;
3551        }        }
3552  #else /* no yyoverflow */  #else /* no yyoverflow */
3553  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3554        goto yyoverflowlab;        goto yyexhaustedlab;
3555  # else  # else
3556        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3557        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3558          goto yyoverflowlab;          goto yyexhaustedlab;
3559        yystacksize *= 2;        yystacksize *= 2;
3560        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3561          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3562    
3563        {        {
3564          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3565          union yyalloc *yyptr =          union yyalloc *yyptr =
3566            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3567          if (! yyptr)          if (! yyptr)
3568            goto yyoverflowlab;            goto yyexhaustedlab;
3569          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3570          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3571    
# Line 2625  int yynerrs; Line 3596  int yynerrs;
3596  `-----------*/  `-----------*/
3597  yybackup:  yybackup:
3598    
3599  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3600  /* Read a look-ahead token if we need one and don't already have one.  */       look-ahead token if we need one and don't already have one.  */
 /* yyresume: */  
3601    
3602    /* First try to decide what to do without reference to look-ahead token.  */    /* First try to decide what to do without reference to look-ahead token.  */
   
3603    yyn = yypact[yystate];    yyn = yypact[yystate];
3604    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3605      goto yydefault;      goto yydefault;
# Line 2672  yybackup: Line 3641  yybackup:
3641    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3642      YYACCEPT;      YYACCEPT;
3643    
3644      /* Count tokens shifted since error; after three, turn off error
3645         status.  */
3646      if (yyerrstatus)
3647        yyerrstatus--;
3648    
3649    /* Shift the look-ahead token.  */    /* Shift the look-ahead token.  */
3650    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3651    
3652    /* Discard the token being shifted unless it is eof.  */    /* Discard the shifted token unless it is eof.  */
3653    if (yychar != YYEOF)    if (yychar != YYEOF)
3654      yychar = YYEMPTY;      yychar = YYEMPTY;
3655    
3656      yystate = yyn;
3657    *++yyvsp = yylval;    *++yyvsp = yylval;
3658    
   
   /* Count tokens shifted since error; after three, turn off error  
      status.  */  
   if (yyerrstatus)  
     yyerrstatus--;  
   
   yystate = yyn;  
3659    goto yynewstate;    goto yynewstate;
3660    
3661    
# Line 2723  yyreduce: Line 3691  yyreduce:
3691    switch (yyn)    switch (yyn)
3692      {      {
3693          case 4:          case 4:
3694  #line 94 "lscp.y"  #line 101 "lscp.y"
3695      { return LSCP_DONE; }      { return LSCP_DONE; }
3696      break;      break;
3697    
3698    case 5:    case 5:
3699  #line 95 "lscp.y"  #line 102 "lscp.y"
3700      { return LSCP_DONE; }      { return LSCP_DONE; }
3701      break;      break;
3702    
3703    case 6:    case 6:
3704  #line 96 "lscp.y"  #line 103 "lscp.y"
3705      { LSCPSERVER->AnswerClient((yyvsp[0].String)); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3706      break;      break;
3707    
3708    case 7:    case 7:
3709  #line 97 "lscp.y"  #line 104 "lscp.y"
3710      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3711      break;      break;
3712    
3713    case 13:    case 13:
3714  #line 107 "lscp.y"  #line 114 "lscp.y"
3715      { (yyval.String) = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3716      break;      break;
3717    
3718    case 14:    case 14:
3719  #line 108 "lscp.y"  #line 115 "lscp.y"
3720      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3721      break;      break;
3722    
3723    case 15:    case 15:
3724  #line 109 "lscp.y"  #line 116 "lscp.y"
3725      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3726      break;      break;
3727    
3728    case 16:    case 16:
3729  #line 110 "lscp.y"  #line 117 "lscp.y"
3730      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3731      break;      break;
3732    
3733    case 17:    case 17:
3734  #line 111 "lscp.y"  #line 118 "lscp.y"
3735      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3736      break;      break;
3737    
3738    case 18:    case 18:
3739  #line 112 "lscp.y"  #line 119 "lscp.y"
3740      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3741      break;      break;
3742    
3743    case 19:    case 19:
3744  #line 113 "lscp.y"  #line 120 "lscp.y"
3745      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[0].Number));                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3746      break;      break;
3747    
3748    case 20:    case 20:
3749  #line 114 "lscp.y"  #line 121 "lscp.y"
3750      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3751      break;      break;
3752    
3753    case 21:    case 21:
3754  #line 115 "lscp.y"  #line 122 "lscp.y"
3755      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3756      break;      break;
3757    
3758    case 22:    case 22:
3759  #line 116 "lscp.y"  #line 123 "lscp.y"
3760      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3761      break;      break;
3762    
3763    case 23:    case 23:
3764  #line 117 "lscp.y"  #line 124 "lscp.y"
3765      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[0].String));                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3766      break;      break;
3767    
3768    case 24:    case 24:
3769  #line 118 "lscp.y"  #line 125 "lscp.y"
3770      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[0].Number));                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3771      break;      break;
3772    
3773    case 25:    case 25:
3774  #line 119 "lscp.y"  #line 126 "lscp.y"
3775      { (yyval.String) = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3776      break;      break;
3777    
3778    case 26:    case 26:
3779  #line 120 "lscp.y"  #line 127 "lscp.y"
3780      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3781      break;      break;
3782    
3783    case 27:    case 27:
3784  #line 123 "lscp.y"  #line 128 "lscp.y"
3785      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3786      break;      break;
3787    
3788    case 28:    case 28:
3789  #line 124 "lscp.y"  #line 129 "lscp.y"
3790      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3791      break;      break;
3792    
3793    case 29:    case 29:
3794  #line 125 "lscp.y"  #line 130 "lscp.y"
3795      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3796      break;      break;
3797    
3798    case 30:    case 30:
3799  #line 126 "lscp.y"  #line 131 "lscp.y"
3800      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3801      break;      break;
3802    
3803    case 31:    case 31:
3804  #line 127 "lscp.y"  #line 132 "lscp.y"
3805      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3806      break;      break;
3807    
3808    case 32:    case 32:
3809  #line 128 "lscp.y"  #line 135 "lscp.y"
3810      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3811      break;      break;
3812    
3813    case 33:    case 33:
3814  #line 129 "lscp.y"  #line 136 "lscp.y"
3815      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String));          }
3816      break;      break;
3817    
3818    case 34:    case 34:
3819  #line 132 "lscp.y"  #line 137 "lscp.y"
3820      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsFlat((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));         }
3821      break;      break;
3822    
3823    case 35:    case 35:
3824  #line 133 "lscp.y"  #line 138 "lscp.y"
3825      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = LSCPSERVER->AddDbInstrumentsNonrecursive((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
3826      break;      break;
3827    
3828    case 36:    case 36:
3829  #line 134 "lscp.y"  #line 139 "lscp.y"
3830      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));             }
3831      break;      break;
3832    
3833    case 37:    case 37:
3834  #line 135 "lscp.y"  #line 140 "lscp.y"
3835      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number));          }
3836      break;      break;
3837    
3838    case 38:    case 38:
3839  #line 136 "lscp.y"  #line 141 "lscp.y"
3840      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3841      break;      break;
3842    
3843    case 39:    case 39:
3844  #line 137 "lscp.y"  #line 142 "lscp.y"
3845      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3846      break;      break;
3847    
3848    case 40:    case 40:
3849  #line 138 "lscp.y"  #line 145 "lscp.y"
3850      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3851      break;      break;
3852    
3853    case 41:    case 41:
3854  #line 141 "lscp.y"  #line 146 "lscp.y"
3855      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3856      break;      break;
3857    
3858    case 42:    case 42:
3859  #line 142 "lscp.y"  #line 147 "lscp.y"
3860      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3861      break;      break;
3862    
3863    case 43:    case 43:
3864  #line 143 "lscp.y"  #line 148 "lscp.y"
3865      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[0].String));                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3866      break;      break;
3867    
3868    case 44:    case 44:
3869  #line 144 "lscp.y"  #line 149 "lscp.y"
3870      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3871      break;      break;
3872    
3873    case 45:    case 45:
3874  #line 145 "lscp.y"  #line 150 "lscp.y"
3875      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3876      break;      break;
3877    
3878    case 46:    case 46:
3879  #line 146 "lscp.y"  #line 151 "lscp.y"
3880      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3881      break;      break;
3882    
3883    case 47:    case 47:
3884  #line 147 "lscp.y"  #line 152 "lscp.y"
3885      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[0].String));                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3886      break;      break;
3887    
3888    case 48:    case 48:
3889  #line 148 "lscp.y"  #line 153 "lscp.y"
3890      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3891      break;      break;
3892    
3893    case 49:    case 49:
3894  #line 149 "lscp.y"  #line 154 "lscp.y"
3895      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3896      break;      break;
3897    
3898    case 50:    case 50:
3899  #line 150 "lscp.y"  #line 155 "lscp.y"
3900      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3901      break;      break;
3902    
3903    case 51:    case 51:
3904  #line 151 "lscp.y"  #line 156 "lscp.y"
3905      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3906      break;      break;
3907    
3908    case 52:    case 52:
3909  #line 152 "lscp.y"  #line 157 "lscp.y"
3910      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[0].Number));                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3911      break;      break;
3912    
3913    case 53:    case 53:
3914  #line 153 "lscp.y"  #line 158 "lscp.y"
3915      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[0].Number));                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3916      break;      break;
3917    
3918    case 54:    case 54:
3919  #line 154 "lscp.y"  #line 159 "lscp.y"
3920      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[-2].Number), (yyvsp[0].Number));                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3921      break;      break;
3922    
3923    case 55:    case 55:
3924  #line 155 "lscp.y"  #line 160 "lscp.y"
3925      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3926      break;      break;
3927    
3928    case 56:    case 56:
3929  #line 156 "lscp.y"  #line 161 "lscp.y"
3930      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[-2].Number), (yyvsp[0].Number));              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3931      break;      break;
3932    
3933    case 57:    case 57:
3934  #line 157 "lscp.y"  #line 162 "lscp.y"
3935      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String)); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count);       }
3936      break;      break;
3937    
3938    case 58:    case 58:
3939  #line 158 "lscp.y"  #line 163 "lscp.y"
3940      { (yyval.String) = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info);        }
3941      break;      break;
3942    
3943    case 59:    case 59:
3944  #line 159 "lscp.y"  #line 164 "lscp.y"
3945      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[0].Number));                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3946      break;      break;
3947    
3948    case 60:    case 60:
3949  #line 160 "lscp.y"  #line 165 "lscp.y"
3950      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[-2].FillResponse), (yyvsp[0].Number));                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3951      break;      break;
3952    
3953    case 61:    case 61:
3954  #line 161 "lscp.y"  #line 166 "lscp.y"
3955      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[0].Number));                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3956      break;      break;
3957    
3958    case 62:    case 62:
3959  #line 162 "lscp.y"  #line 169 "lscp.y"
3960      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[0].Number));                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3961      break;      break;
3962    
3963    case 63:    case 63:
3964  #line 163 "lscp.y"  #line 170 "lscp.y"
3965      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[0].String));                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3966      break;      break;
3967    
3968    case 64:    case 64:
3969  #line 164 "lscp.y"  #line 171 "lscp.y"
3970      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3971      break;      break;
3972    
3973    case 65:    case 65:
3974  #line 165 "lscp.y"  #line 172 "lscp.y"
3975      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3976      break;      break;
3977    
3978    case 66:    case 66:
3979  #line 166 "lscp.y"  #line 173 "lscp.y"
3980      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3981      break;      break;
3982    
3983    case 67:    case 67:
3984  #line 169 "lscp.y"  #line 174 "lscp.y"
3985      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3986      break;      break;
3987    
3988    case 68:    case 68:
3989  #line 170 "lscp.y"  #line 175 "lscp.y"
3990      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3991      break;      break;
3992    
3993    case 69:    case 69:
3994  #line 171 "lscp.y"  #line 176 "lscp.y"
3995      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3996      break;      break;
3997    
3998    case 70:    case 70:
3999  #line 172 "lscp.y"  #line 177 "lscp.y"
4000      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
4001      break;      break;
4002    
4003    case 71:    case 71:
4004  #line 173 "lscp.y"  #line 178 "lscp.y"
4005      { (yyval.String) = (yyvsp[0].String);                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
4006      break;      break;
4007    
4008    case 72:    case 72:
4009  #line 174 "lscp.y"  #line 179 "lscp.y"
4010      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[0].Dotnum));  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
4011      break;      break;
4012    
4013    case 73:    case 73:
4014  #line 177 "lscp.y"  #line 180 "lscp.y"
4015      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
4016      break;      break;
4017    
4018    case 74:    case 74:
4019  #line 178 "lscp.y"  #line 181 "lscp.y"
4020      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[0].String));    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
4021      break;      break;
4022    
4023    case 75:    case 75:
4024  #line 179 "lscp.y"  #line 182 "lscp.y"
4025      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList));   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
4026      break;      break;
4027    
4028    case 76:    case 76:
4029  #line 180 "lscp.y"  #line 183 "lscp.y"
4030      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
4031      break;      break;
4032    
4033    case 77:    case 77:
4034  #line 183 "lscp.y"  #line 184 "lscp.y"
4035      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[0].Number)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
4036      break;      break;
4037    
4038    case 78:    case 78:
4039  #line 184 "lscp.y"  #line 185 "lscp.y"
4040      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[0].Number));   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
4041      break;      break;
4042    
4043    case 79:    case 79:
4044  #line 187 "lscp.y"  #line 186 "lscp.y"
4045      { (yyval.String) = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count);       }
4046      break;      break;
4047    
4048    case 80:    case 80:
4049  #line 188 "lscp.y"  #line 187 "lscp.y"
4050      { (yyval.String) = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info);        }
4051      break;      break;
4052    
4053    case 81:    case 81:
4054  #line 191 "lscp.y"  #line 188 "lscp.y"
4055      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[0].Number), (yyvsp[-2].Number));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
4056      break;      break;
4057    
4058    case 82:    case 82:
4059  #line 192 "lscp.y"  #line 189 "lscp.y"
4060      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-4].Number)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
4061      break;      break;
4062    
4063    case 83:    case 83:
4064  #line 193 "lscp.y"  #line 190 "lscp.y"
4065      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[0].String), (yyvsp[-2].Number));        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
4066      break;      break;
4067    
4068    case 84:    case 84:
4069  #line 194 "lscp.y"  #line 193 "lscp.y"
4070      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-6].Number));      }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
4071      break;      break;
4072    
4073    case 85:    case 85:
4074  #line 195 "lscp.y"  #line 194 "lscp.y"
4075      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[0].Number), (yyvsp[-2].Number));        }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
4076      break;      break;
4077    
4078    case 86:    case 86:
4079  #line 196 "lscp.y"  #line 195 "lscp.y"
4080      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[0].Number), (yyvsp[-2].Number));          }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
4081      break;      break;
4082    
4083    case 87:    case 87:
4084  #line 197 "lscp.y"  #line 196 "lscp.y"
4085      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[0].Number), (yyvsp[-2].Number));       }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
4086      break;      break;
4087    
4088    case 88:    case 88:
4089  #line 198 "lscp.y"  #line 199 "lscp.y"
4090      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[0].String), (yyvsp[-2].Number));          }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
4091      break;      break;
4092    
4093    case 89:    case 89:
4094  #line 199 "lscp.y"  #line 202 "lscp.y"
4095      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[0].Dotnum), (yyvsp[-2].Number));                 }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));                     }
4096      break;      break;
4097    
4098    case 90:    case 90:
4099  #line 200 "lscp.y"  #line 203 "lscp.y"
4100      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));           }
4101      break;      break;
4102    
4103    case 91:    case 91:
4104  #line 201 "lscp.y"  #line 204 "lscp.y"
4105      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps();         }
4106      break;      break;
4107    
4108    case 92:    case 92:
4109  #line 204 "lscp.y"  #line 205 "lscp.y"
4110      { (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String);          }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
4111      break;      break;
4112    
4113    case 93:    case 93:
4114  #line 205 "lscp.y"  #line 206 "lscp.y"
4115      { (yyval.KeyValList) = (yyvsp[-4].KeyValList); (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String));       }
4116      break;      break;
4117    
4118    case 94:    case 94:
4119  #line 208 "lscp.y"  #line 207 "lscp.y"
4120      { (yyval.FillResponse) = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String));                }
4121      break;      break;
4122    
4123    case 95:    case 95:
4124  #line 209 "lscp.y"  #line 210 "lscp.y"
4125      { (yyval.FillResponse) = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
4126      break;      break;
4127    
4128    case 96:    case 96:
4129  #line 212 "lscp.y"  #line 211 "lscp.y"
4130      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
4131      break;      break;
4132    
4133    case 97:    case 97:
4134  #line 213 "lscp.y"  #line 212 "lscp.y"
4135      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
4136      break;      break;
4137    
4138    case 98:    case 98:
4139  #line 214 "lscp.y"  #line 213 "lscp.y"
4140      { (yyval.String) = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4141      break;      break;
4142    
4143    case 99:    case 99:
4144  #line 215 "lscp.y"  #line 214 "lscp.y"
4145      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
4146      break;      break;
4147    
4148    case 100:    case 100:
4149  #line 216 "lscp.y"  #line 215 "lscp.y"
4150      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
4151      break;      break;
4152    
4153    case 101:    case 101:
4154  #line 217 "lscp.y"  #line 216 "lscp.y"
4155      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
4156      break;      break;
4157    
4158    case 102:    case 102:
4159  #line 220 "lscp.y"  #line 217 "lscp.y"
4160      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number));       }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4161      break;      break;
4162    
4163    case 103:    case 103:
4164  #line 221 "lscp.y"  #line 218 "lscp.y"
4165      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number), true); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
4166      break;      break;
4167    
4168    case 104:    case 104:
4169    #line 219 "lscp.y"
4170        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
4171        break;
4172    
4173      case 105:
4174    #line 220 "lscp.y"
4175        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
4176        break;
4177    
4178      case 106:
4179    #line 221 "lscp.y"
4180        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
4181        break;
4182    
4183      case 107:
4184    #line 222 "lscp.y"
4185        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
4186        break;
4187    
4188      case 108:
4189    #line 223 "lscp.y"
4190        { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
4191        break;
4192    
4193      case 109:
4194  #line 224 "lscp.y"  #line 224 "lscp.y"
4195      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[-2].String), (yyvsp[0].Number)); }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
4196      break;      break;
4197    
4198    case 110:    case 110:
4199  #line 240 "lscp.y"  #line 225 "lscp.y"
4200      { (yyval.Number) = 16; }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
4201        break;
4202    
4203      case 111:
4204    #line 226 "lscp.y"
4205        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4206        break;
4207    
4208      case 112:
4209    #line 227 "lscp.y"
4210        { (yyval.String) = LSCPSERVER->GetChannels();                                  }
4211      break;      break;
4212    
4213    case 113:    case 113:
4214  #line 247 "lscp.y"  #line 228 "lscp.y"
4215      { (yyval.Dotnum) = (yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
4216        break;
4217    
4218      case 114:
4219    #line 229 "lscp.y"
4220        { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
4221        break;
4222    
4223      case 115:
4224    #line 230 "lscp.y"
4225        { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
4226        break;
4227    
4228      case 116:
4229    #line 231 "lscp.y"
4230        { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
4231        break;
4232    
4233      case 117:
4234    #line 232 "lscp.y"
4235        { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
4236        break;
4237    
4238      case 118:
4239    #line 233 "lscp.y"
4240        { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
4241      break;      break;
4242    
4243    case 119:    case 119:
4244  #line 263 "lscp.y"  #line 234 "lscp.y"
4245      { (yyval.String) = (yyvsp[-2].String) + "," + (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                           }
4246        break;
4247    
4248      case 120:
4249    #line 235 "lscp.y"
4250        { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
4251      break;      break;
4252    
4253    case 121:    case 121:
4254  #line 267 "lscp.y"  #line 236 "lscp.y"
4255      { (yyval.String) = "\'" + (yyvsp[-1].String) + "\'"; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
4256      break;      break;
4257    
4258    case 122:    case 122:
4259  #line 268 "lscp.y"  #line 237 "lscp.y"
4260      { (yyval.String) = "\"" + (yyvsp[-1].String) + "\""; }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
4261      break;      break;
4262    
4263    case 123:    case 123:
4264  #line 269 "lscp.y"  #line 238 "lscp.y"
4265      { std::stringstream ss; ss << "\'" << (yyvsp[0].Number) << "\'"; (yyval.String) = ss.str(); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
4266      break;      break;
4267    
4268    case 124:    case 124:
4269  #line 270 "lscp.y"  #line 239 "lscp.y"
4270      { std::stringstream ss; ss << "\'" << (yyvsp[0].Dotnum) << "\'"; (yyval.String) = ss.str(); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
4271      break;      break;
4272    
4273    case 125:    case 125:
4274  #line 278 "lscp.y"  #line 240 "lscp.y"
4275      { (yyval.Dotnum) = (yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
4276      break;      break;
4277    
4278    case 126:    case 126:
4279  #line 279 "lscp.y"  #line 241 "lscp.y"
4280      { (yyval.Dotnum) = -1; }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
4281      break;      break;
4282    
4283    case 127:    case 127:
4284  #line 282 "lscp.y"  #line 242 "lscp.y"
4285      { std::string s; s = (yyvsp[0].Char); (yyval.String) = s; }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
4286      break;      break;
4287    
4288    case 128:    case 128:
4289  #line 283 "lscp.y"  #line 243 "lscp.y"
4290      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char);                  }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(5) - (5)].String), true);        }
4291      break;      break;
4292    
4293    case 129:    case 129:
4294  #line 286 "lscp.y"  #line 244 "lscp.y"
4295      { (yyval.Dotnum) = atof(String((yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                         }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String), false);       }
4296      break;      break;
4297    
4298    case 130:    case 130:
4299  #line 287 "lscp.y"  #line 245 "lscp.y"
4300      { String s = "+"; s += (yyvsp[-2].String); s += "."; s += (yyvsp[0].String); (yyval.Dotnum) = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String));               }
4301      break;      break;
4302    
4303    case 131:    case 131:
4304  #line 288 "lscp.y"  #line 246 "lscp.y"
4305      { (yyval.Dotnum) = atof(String("-" + (yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                   }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(5) - (5)].String), true);                 }
4306      break;      break;
4307    
4308    case 132:    case 132:
4309  #line 292 "lscp.y"  #line 247 "lscp.y"
4310      { (yyval.String) = (yyvsp[0].Char);      }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String), false);                }
4311      break;      break;
4312    
4313    case 133:    case 133:
4314  #line 293 "lscp.y"  #line 248 "lscp.y"
4315      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char); }      { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String));                        }
4316      break;      break;
4317    
4318    case 134:    case 134:
4319  #line 296 "lscp.y"  #line 249 "lscp.y"
4320      { (yyval.Char) = '0'; }      { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
4321      break;      break;
4322    
4323    case 135:    case 135:
4324  #line 297 "lscp.y"  #line 252 "lscp.y"
4325      { (yyval.Char) = '1'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4326      break;      break;
4327    
4328    case 136:    case 136:
4329  #line 298 "lscp.y"  #line 253 "lscp.y"
4330      { (yyval.Char) = '2'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4331      break;      break;
4332    
4333    case 137:    case 137:
4334  #line 299 "lscp.y"  #line 254 "lscp.y"
4335      { (yyval.Char) = '3'; }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4336      break;      break;
4337    
4338    case 138:    case 138:
4339  #line 300 "lscp.y"  #line 255 "lscp.y"
4340      { (yyval.Char) = '4'; }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
4341      break;      break;
4342    
4343    case 139:    case 139:
4344  #line 301 "lscp.y"  #line 256 "lscp.y"
4345      { (yyval.Char) = '5'; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
4346      break;      break;
4347    
4348    case 140:    case 140:
4349  #line 302 "lscp.y"  #line 257 "lscp.y"
4350      { (yyval.Char) = '6'; }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
4351      break;      break;
4352    
4353    case 141:    case 141:
4354  #line 303 "lscp.y"  #line 258 "lscp.y"
4355      { (yyval.Char) = '7'; }      { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String));                        }
4356      break;      break;
4357    
4358    case 142:    case 142:
4359  #line 304 "lscp.y"  #line 259 "lscp.y"
4360      { (yyval.Char) = '8'; }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4361      break;      break;
4362    
4363    case 143:    case 143:
4364  #line 305 "lscp.y"  #line 260 "lscp.y"
4365      { (yyval.Char) = '9'; }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
4366      break;      break;
4367    
4368    case 144:    case 144:
4369  #line 308 "lscp.y"  #line 261 "lscp.y"
4370      { (yyval.Number) = atoi(String(1, (yyvsp[0].Char)).c_str());      }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
4371      break;      break;
4372    
4373    case 145:    case 145:
4374  #line 309 "lscp.y"  #line 262 "lscp.y"
4375      { (yyval.Number) = atoi(String(String("1") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));            }
4376      break;      break;
4377    
4378    case 146:    case 146:
4379  #line 310 "lscp.y"  #line 263 "lscp.y"
4380      { (yyval.Number) = atoi(String(String("2") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));     }
4381      break;      break;
4382    
4383    case 147:    case 147:
4384  #line 311 "lscp.y"  #line 264 "lscp.y"
4385      { (yyval.Number) = atoi(String(String("3") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));                     }
4386      break;      break;
4387    
4388    case 148:    case 148:
4389  #line 312 "lscp.y"  #line 265 "lscp.y"
4390      { (yyval.Number) = atoi(String(String("4") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));              }
4391      break;      break;
4392    
4393    case 149:    case 149:
4394  #line 313 "lscp.y"  #line 266 "lscp.y"
4395      { (yyval.Number) = atoi(String(String("5") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
4396      break;      break;
4397    
4398    case 150:    case 150:
4399  #line 314 "lscp.y"  #line 267 "lscp.y"
4400      { (yyval.Number) = atoi(String(String("6") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
4401      break;      break;
4402    
4403    case 151:    case 151:
4404  #line 315 "lscp.y"  #line 270 "lscp.y"
4405      { (yyval.Number) = atoi(String(String("7") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4406      break;      break;
4407    
4408    case 152:    case 152:
4409  #line 316 "lscp.y"  #line 271 "lscp.y"
4410      { (yyval.Number) = atoi(String(String("8") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
4411      break;      break;
4412    
4413    case 153:    case 153:
4414  #line 317 "lscp.y"  #line 272 "lscp.y"
4415      { (yyval.Number) = atoi(String(String("9") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
4416      break;      break;
4417    
4418    case 154:    case 154:
4419  #line 319 "lscp.y"  #line 273 "lscp.y"
4420      { (yyval.Char) = 'A'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
4421      break;      break;
4422    
4423    case 155:    case 155:
4424  #line 319 "lscp.y"  #line 274 "lscp.y"
4425      { (yyval.Char) = 'B'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
4426      break;      break;
4427    
4428    case 156:    case 156:
4429  #line 319 "lscp.y"  #line 275 "lscp.y"
4430      { (yyval.Char) = 'C'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4431      break;      break;
4432    
4433    case 157:    case 157:
4434  #line 319 "lscp.y"  #line 278 "lscp.y"
4435      { (yyval.Char) = 'D'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4436      break;      break;
4437    
4438    case 158:    case 158:
4439  #line 319 "lscp.y"  #line 281 "lscp.y"
4440      { (yyval.Char) = 'E'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
4441      break;      break;
4442    
4443    case 159:    case 159:
4444  #line 319 "lscp.y"  #line 282 "lscp.y"
4445      { (yyval.Char) = 'F'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4446      break;      break;
4447    
4448    case 160:    case 160:
4449  #line 319 "lscp.y"  #line 285 "lscp.y"
4450      { (yyval.Char) = 'G'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false);           }
4451      break;      break;
4452    
4453    case 161:    case 161:
4454  #line 319 "lscp.y"  #line 286 "lscp.y"
4455      { (yyval.Char) = 'H'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);            }
4456      break;      break;
4457    
4458    case 162:    case 162:
4459  #line 319 "lscp.y"  #line 287 "lscp.y"
4460      { (yyval.Char) = 'I'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false); }
4461      break;      break;
4462    
4463    case 163:    case 163:
4464  #line 319 "lscp.y"  #line 288 "lscp.y"
4465      { (yyval.Char) = 'J'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);  }
4466      break;      break;
4467    
4468    case 164:    case 164:
4469  #line 319 "lscp.y"  #line 291 "lscp.y"
4470      { (yyval.Char) = 'K'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4471      break;      break;
4472    
4473    case 165:    case 165:
4474  #line 319 "lscp.y"  #line 292 "lscp.y"
4475      { (yyval.Char) = 'L'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4476      break;      break;
4477    
4478    case 166:    case 166:
4479  #line 319 "lscp.y"  #line 295 "lscp.y"
4480      { (yyval.Char) = 'M'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4481      break;      break;
4482    
4483    case 167:    case 167:
4484  #line 319 "lscp.y"  #line 296 "lscp.y"
4485      { (yyval.Char) = 'N'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4486      break;      break;
4487    
4488    case 168:    case 168:
4489  #line 319 "lscp.y"  #line 299 "lscp.y"
4490      { (yyval.Char) = 'O'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4491      break;      break;
4492    
4493    case 169:    case 169:
4494  #line 319 "lscp.y"  #line 300 "lscp.y"
4495      { (yyval.Char) = 'P'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
4496      break;      break;
4497    
4498    case 170:    case 170:
4499  #line 319 "lscp.y"  #line 301 "lscp.y"
4500      { (yyval.Char) = 'Q'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4501      break;      break;
4502    
4503    case 171:    case 171:
4504  #line 319 "lscp.y"  #line 304 "lscp.y"
4505      { (yyval.Char) = 'R'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4506      break;      break;
4507    
4508    case 172:    case 172:
4509  #line 319 "lscp.y"  #line 305 "lscp.y"
4510      { (yyval.Char) = 'S'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4511      break;      break;
4512    
4513    case 173:    case 173:
4514  #line 319 "lscp.y"  #line 308 "lscp.y"
4515      { (yyval.Char) = 'T'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
4516      break;      break;
4517    
4518    case 174:    case 174:
4519  #line 319 "lscp.y"  #line 309 "lscp.y"
4520      { (yyval.Char) = 'U'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4521      break;      break;
4522    
4523    case 175:    case 175:
4524  #line 319 "lscp.y"  #line 310 "lscp.y"
4525      { (yyval.Char) = 'V'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
4526      break;      break;
4527    
4528    case 176:    case 176:
4529  #line 319 "lscp.y"  #line 311 "lscp.y"
4530      { (yyval.Char) = 'W'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
4531      break;      break;
4532    
4533    case 177:    case 177:
4534  #line 319 "lscp.y"  #line 312 "lscp.y"
4535      { (yyval.Char) = 'X'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
4536      break;      break;
4537    
4538    case 178:    case 178:
4539  #line 319 "lscp.y"  #line 313 "lscp.y"
4540      { (yyval.Char) = 'Y'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
4541      break;      break;
4542    
4543    case 179:    case 179:
4544  #line 319 "lscp.y"  #line 314 "lscp.y"
4545      { (yyval.Char) = 'Z'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
4546      break;      break;
4547    
4548    case 180:    case 180:
4549  #line 320 "lscp.y"  #line 315 "lscp.y"
4550      { (yyval.Char) = 'a'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
4551      break;      break;
4552    
4553    case 181:    case 181:
4554  #line 320 "lscp.y"  #line 316 "lscp.y"
4555      { (yyval.Char) = 'b'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
4556      break;      break;
4557    
4558    case 182:    case 182:
4559  #line 320 "lscp.y"  #line 317 "lscp.y"
4560      { (yyval.Char) = 'c'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4561      break;      break;
4562    
4563    case 183:    case 183:
4564  #line 320 "lscp.y"  #line 318 "lscp.y"
4565      { (yyval.Char) = 'd'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4566      break;      break;
4567    
4568    case 184:    case 184:
4569  #line 320 "lscp.y"  #line 319 "lscp.y"
4570      { (yyval.Char) = 'e'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4571      break;      break;
4572    
4573    case 185:    case 185:
4574  #line 320 "lscp.y"  #line 320 "lscp.y"
4575      { (yyval.Char) = 'f'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4576      break;      break;
4577    
4578    case 186:    case 186:
4579  #line 320 "lscp.y"  #line 321 "lscp.y"
4580      { (yyval.Char) = 'g'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4581      break;      break;
4582    
4583    case 187:    case 187:
4584  #line 320 "lscp.y"  #line 324 "lscp.y"
4585      { (yyval.Char) = 'h'; }      { (yyval.Bool) = true;  }
4586      break;      break;
4587    
4588    case 188:    case 188:
4589  #line 320 "lscp.y"  #line 325 "lscp.y"
4590      { (yyval.Char) = 'i'; }      { (yyval.Bool) = false; }
4591      break;      break;
4592    
4593    case 189:    case 189:
4594  #line 320 "lscp.y"  #line 328 "lscp.y"
4595      { (yyval.Char) = 'j'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4596      break;      break;
4597    
4598    case 190:    case 190:
4599  #line 320 "lscp.y"  #line 329 "lscp.y"
4600      { (yyval.Char) = 'k'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4601      break;      break;
4602    
4603    case 191:    case 191:
4604  #line 320 "lscp.y"  #line 332 "lscp.y"
4605      { (yyval.Char) = 'l'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4606      break;      break;
4607    
4608    case 192:    case 192:
4609  #line 320 "lscp.y"  #line 333 "lscp.y"
4610      { (yyval.Char) = 'm'; }      { (yyval.FillResponse) = fill_response_percentage; }
4611      break;      break;
4612    
4613    case 193:    case 193:
4614  #line 320 "lscp.y"  #line 336 "lscp.y"
4615      { (yyval.Char) = 'n'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();              }
4616      break;      break;
4617    
4618    case 194:    case 194:
4619  #line 320 "lscp.y"  #line 337 "lscp.y"
4620      { (yyval.Char) = 'o'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();                }
4621      break;      break;
4622    
4623    case 195:    case 195:
4624  #line 320 "lscp.y"  #line 338 "lscp.y"
4625      { (yyval.Char) = 'p'; }      { (yyval.String) = LSCPSERVER->ListChannels();                       }
4626      break;      break;
4627    
4628    case 196:    case 196:
4629  #line 320 "lscp.y"  #line 339 "lscp.y"
4630      { (yyval.Char) = 'q'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();               }
4631      break;      break;
4632    
4633    case 197:    case 197:
4634  #line 320 "lscp.y"  #line 340 "lscp.y"
4635      { (yyval.Char) = 'r'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();      }
4636      break;      break;
4637    
4638    case 198:    case 198:
4639  #line 320 "lscp.y"  #line 341 "lscp.y"
4640      { (yyval.Char) = 's'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers();    }
4641      break;      break;
4642    
4643    case 199:    case 199:
4644  #line 320 "lscp.y"  #line 342 "lscp.y"
4645      { (yyval.Char) = 't'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));       }
4646      break;      break;
4647    
4648    case 200:    case 200:
4649  #line 320 "lscp.y"  #line 343 "lscp.y"
4650      { (yyval.Char) = 'u'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();      }
4651      break;      break;
4652    
4653    case 201:    case 201:
4654  #line 320 "lscp.y"  #line 344 "lscp.y"
4655      { (yyval.Char) = 'v'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();             }
4656      break;      break;
4657    
4658    case 202:    case 202:
4659  #line 320 "lscp.y"  #line 345 "lscp.y"
4660      { (yyval.Char) = 'w'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                      }
4661      break;      break;
4662    
4663    case 203:    case 203:
4664  #line 320 "lscp.y"  #line 346 "lscp.y"
4665      { (yyval.Char) = 'x'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(5) - (5)].String), true); }
4666      break;      break;
4667    
4668    case 204:    case 204:
4669  #line 320 "lscp.y"  #line 347 "lscp.y"
4670      { (yyval.Char) = 'y'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String));       }
4671      break;      break;
4672    
4673    case 205:    case 205:
4674  #line 320 "lscp.y"  #line 348 "lscp.y"
4675      { (yyval.Char) = 'z'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(5) - (5)].String), true);           }
4676      break;      break;
4677    
4678    case 206:    case 206:
4679  #line 321 "lscp.y"  #line 349 "lscp.y"
4680      { (yyval.Char) = '0'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String));                 }
4681      break;      break;
4682    
4683    case 207:    case 207:
4684  #line 321 "lscp.y"  #line 352 "lscp.y"
4685      { (yyval.Char) = '1'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4686      break;      break;
4687    
4688    case 208:    case 208:
4689  #line 321 "lscp.y"  #line 353 "lscp.y"
4690      { (yyval.Char) = '2'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4691      break;      break;
4692    
4693    case 209:    case 209:
4694  #line 321 "lscp.y"  #line 356 "lscp.y"
4695      { (yyval.Char) = '3'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4696      break;      break;
4697    
4698    case 210:    case 210:
4699  #line 321 "lscp.y"  #line 359 "lscp.y"
4700      { (yyval.Char) = '4'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4701      break;      break;
4702    
4703    case 211:    case 211:
4704  #line 321 "lscp.y"  #line 360 "lscp.y"
4705      { (yyval.Char) = '5'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4706      break;      break;
4707    
4708    case 212:    case 212:
4709  #line 321 "lscp.y"  #line 361 "lscp.y"
4710        { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
4711        break;
4712    
4713      case 218:
4714    #line 377 "lscp.y"
4715        { (yyval.Number) = 16; }
4716        break;
4717    
4718      case 225:
4719    #line 396 "lscp.y"
4720        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4721        break;
4722    
4723      case 237:
4724    #line 430 "lscp.y"
4725        { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
4726        break;
4727    
4728      case 240:
4729    #line 435 "lscp.y"
4730        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4731        break;
4732    
4733      case 241:
4734    #line 436 "lscp.y"
4735        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4736        break;
4737    
4738      case 242:
4739    #line 439 "lscp.y"
4740        { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4741        break;
4742    
4743      case 243:
4744    #line 440 "lscp.y"
4745        { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4746        break;
4747    
4748      case 246:
4749    #line 452 "lscp.y"
4750        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4751        break;
4752    
4753      case 247:
4754    #line 453 "lscp.y"
4755        { (yyval.Dotnum) = -1; }
4756        break;
4757    
4758      case 248:
4759    #line 456 "lscp.y"
4760        { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4761        break;
4762    
4763      case 249:
4764    #line 457 "lscp.y"
4765        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4766        break;
4767    
4768      case 250:
4769    #line 460 "lscp.y"
4770        { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4771        break;
4772    
4773      case 251:
4774    #line 461 "lscp.y"
4775        { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4776        break;
4777    
4778      case 252:
4779    #line 462 "lscp.y"
4780        { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4781        break;
4782    
4783      case 253:
4784    #line 466 "lscp.y"
4785        { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4786        break;
4787    
4788      case 254:
4789    #line 467 "lscp.y"
4790        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4791        break;
4792    
4793      case 255:
4794    #line 470 "lscp.y"
4795        { (yyval.Char) = '0'; }
4796        break;
4797    
4798      case 256:
4799    #line 471 "lscp.y"
4800        { (yyval.Char) = '1'; }
4801        break;
4802    
4803      case 257:
4804    #line 472 "lscp.y"
4805        { (yyval.Char) = '2'; }
4806        break;
4807    
4808      case 258:
4809    #line 473 "lscp.y"
4810        { (yyval.Char) = '3'; }
4811        break;
4812    
4813      case 259:
4814    #line 474 "lscp.y"
4815        { (yyval.Char) = '4'; }
4816        break;
4817    
4818      case 260:
4819    #line 475 "lscp.y"
4820        { (yyval.Char) = '5'; }
4821        break;
4822    
4823      case 261:
4824    #line 476 "lscp.y"
4825      { (yyval.Char) = '6'; }      { (yyval.Char) = '6'; }
4826      break;      break;
4827    
4828    case 213:    case 262:
4829  #line 321 "lscp.y"  #line 477 "lscp.y"
4830      { (yyval.Char) = '7'; }      { (yyval.Char) = '7'; }
4831      break;      break;
4832    
4833    case 214:    case 263:
4834  #line 321 "lscp.y"  #line 478 "lscp.y"
4835      { (yyval.Char) = '8'; }      { (yyval.Char) = '8'; }
4836      break;      break;
4837    
4838    case 215:    case 264:
4839  #line 321 "lscp.y"  #line 479 "lscp.y"
4840      { (yyval.Char) = '9'; }      { (yyval.Char) = '9'; }
4841      break;      break;
4842    
4843    case 216:    case 265:
4844  #line 322 "lscp.y"  #line 482 "lscp.y"
4845        { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4846        break;
4847    
4848      case 266:
4849    #line 483 "lscp.y"
4850        { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4851        break;
4852    
4853      case 267:
4854    #line 484 "lscp.y"
4855        { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4856        break;
4857    
4858      case 268:
4859    #line 485 "lscp.y"
4860        { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4861        break;
4862    
4863      case 269:
4864    #line 486 "lscp.y"
4865        { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4866        break;
4867    
4868      case 270:
4869    #line 487 "lscp.y"
4870        { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4871        break;
4872    
4873      case 271:
4874    #line 488 "lscp.y"
4875        { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4876        break;
4877    
4878      case 272:
4879    #line 489 "lscp.y"
4880        { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4881        break;
4882    
4883      case 273:
4884    #line 490 "lscp.y"
4885        { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4886        break;
4887    
4888      case 274:
4889    #line 491 "lscp.y"
4890        { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4891        break;
4892    
4893      case 275:
4894    #line 493 "lscp.y"
4895        { (yyval.Char) = 'A'; }
4896        break;
4897    
4898      case 276:
4899    #line 493 "lscp.y"
4900        { (yyval.Char) = 'B'; }
4901        break;
4902    
4903      case 277:
4904    #line 493 "lscp.y"
4905        { (yyval.Char) = 'C'; }
4906        break;
4907    
4908      case 278:
4909    #line 493 "lscp.y"
4910        { (yyval.Char) = 'D'; }
4911        break;
4912    
4913      case 279:
4914    #line 493 "lscp.y"
4915        { (yyval.Char) = 'E'; }
4916        break;
4917    
4918      case 280:
4919    #line 493 "lscp.y"
4920        { (yyval.Char) = 'F'; }
4921        break;
4922    
4923      case 281:
4924    #line 493 "lscp.y"
4925        { (yyval.Char) = 'G'; }
4926        break;
4927    
4928      case 282:
4929    #line 493 "lscp.y"
4930        { (yyval.Char) = 'H'; }
4931        break;
4932    
4933      case 283:
4934    #line 493 "lscp.y"
4935        { (yyval.Char) = 'I'; }
4936        break;
4937    
4938      case 284:
4939    #line 493 "lscp.y"
4940        { (yyval.Char) = 'J'; }
4941        break;
4942    
4943      case 285:
4944    #line 493 "lscp.y"
4945        { (yyval.Char) = 'K'; }
4946        break;
4947    
4948      case 286:
4949    #line 493 "lscp.y"
4950        { (yyval.Char) = 'L'; }
4951        break;
4952    
4953      case 287:
4954    #line 493 "lscp.y"
4955        { (yyval.Char) = 'M'; }
4956        break;
4957    
4958      case 288:
4959    #line 493 "lscp.y"
4960        { (yyval.Char) = 'N'; }
4961        break;
4962    
4963      case 289:
4964    #line 493 "lscp.y"
4965        { (yyval.Char) = 'O'; }
4966        break;
4967    
4968      case 290:
4969    #line 493 "lscp.y"
4970        { (yyval.Char) = 'P'; }
4971        break;
4972    
4973      case 291:
4974    #line 493 "lscp.y"
4975        { (yyval.Char) = 'Q'; }
4976        break;
4977    
4978      case 292:
4979    #line 493 "lscp.y"
4980        { (yyval.Char) = 'R'; }
4981        break;
4982    
4983      case 293:
4984    #line 493 "lscp.y"
4985        { (yyval.Char) = 'S'; }
4986        break;
4987    
4988      case 294:
4989    #line 493 "lscp.y"
4990        { (yyval.Char) = 'T'; }
4991        break;
4992    
4993      case 295:
4994    #line 493 "lscp.y"
4995        { (yyval.Char) = 'U'; }
4996        break;
4997    
4998      case 296:
4999    #line 493 "lscp.y"
5000        { (yyval.Char) = 'V'; }
5001        break;
5002    
5003      case 297:
5004    #line 493 "lscp.y"
5005        { (yyval.Char) = 'W'; }
5006        break;
5007    
5008      case 298:
5009    #line 493 "lscp.y"
5010        { (yyval.Char) = 'X'; }
5011        break;
5012    
5013      case 299:
5014    #line 493 "lscp.y"
5015        { (yyval.Char) = 'Y'; }
5016        break;
5017    
5018      case 300:
5019    #line 493 "lscp.y"
5020        { (yyval.Char) = 'Z'; }
5021        break;
5022    
5023      case 301:
5024    #line 494 "lscp.y"
5025        { (yyval.Char) = 'a'; }
5026        break;
5027    
5028      case 302:
5029    #line 494 "lscp.y"
5030        { (yyval.Char) = 'b'; }
5031        break;
5032    
5033      case 303:
5034    #line 494 "lscp.y"
5035        { (yyval.Char) = 'c'; }
5036        break;
5037    
5038      case 304:
5039    #line 494 "lscp.y"
5040        { (yyval.Char) = 'd'; }
5041        break;
5042    
5043      case 305:
5044    #line 494 "lscp.y"
5045        { (yyval.Char) = 'e'; }
5046        break;
5047    
5048      case 306:
5049    #line 494 "lscp.y"
5050        { (yyval.Char) = 'f'; }
5051        break;
5052    
5053      case 307:
5054    #line 494 "lscp.y"
5055        { (yyval.Char) = 'g'; }
5056        break;
5057    
5058      case 308:
5059    #line 494 "lscp.y"
5060        { (yyval.Char) = 'h'; }
5061        break;
5062    
5063      case 309:
5064    #line 494 "lscp.y"
5065        { (yyval.Char) = 'i'; }
5066        break;
5067    
5068      case 310:
5069    #line 494 "lscp.y"
5070        { (yyval.Char) = 'j'; }
5071        break;
5072    
5073      case 311:
5074    #line 494 "lscp.y"
5075        { (yyval.Char) = 'k'; }
5076        break;
5077    
5078      case 312:
5079    #line 494 "lscp.y"
5080        { (yyval.Char) = 'l'; }
5081        break;
5082    
5083      case 313:
5084    #line 494 "lscp.y"
5085        { (yyval.Char) = 'm'; }
5086        break;
5087    
5088      case 314:
5089    #line 494 "lscp.y"
5090        { (yyval.Char) = 'n'; }
5091        break;
5092    
5093      case 315:
5094    #line 494 "lscp.y"
5095        { (yyval.Char) = 'o'; }
5096        break;
5097    
5098      case 316:
5099    #line 494 "lscp.y"
5100        { (yyval.Char) = 'p'; }
5101        break;
5102    
5103      case 317:
5104    #line 494 "lscp.y"
5105        { (yyval.Char) = 'q'; }
5106        break;
5107    
5108      case 318:
5109    #line 494 "lscp.y"
5110        { (yyval.Char) = 'r'; }
5111        break;
5112    
5113      case 319:
5114    #line 494 "lscp.y"
5115        { (yyval.Char) = 's'; }
5116        break;
5117    
5118      case 320:
5119    #line 494 "lscp.y"
5120        { (yyval.Char) = 't'; }
5121        break;
5122    
5123      case 321:
5124    #line 494 "lscp.y"
5125        { (yyval.Char) = 'u'; }
5126        break;
5127    
5128      case 322:
5129    #line 494 "lscp.y"
5130        { (yyval.Char) = 'v'; }
5131        break;
5132    
5133      case 323:
5134    #line 494 "lscp.y"
5135        { (yyval.Char) = 'w'; }
5136        break;
5137    
5138      case 324:
5139    #line 494 "lscp.y"
5140        { (yyval.Char) = 'x'; }
5141        break;
5142    
5143      case 325:
5144    #line 494 "lscp.y"
5145        { (yyval.Char) = 'y'; }
5146        break;
5147    
5148      case 326:
5149    #line 494 "lscp.y"
5150        { (yyval.Char) = 'z'; }
5151        break;
5152    
5153      case 327:
5154    #line 495 "lscp.y"
5155        { (yyval.Char) = '0'; }
5156        break;
5157    
5158      case 328:
5159    #line 495 "lscp.y"
5160        { (yyval.Char) = '1'; }
5161        break;
5162    
5163      case 329:
5164    #line 495 "lscp.y"
5165        { (yyval.Char) = '2'; }
5166        break;
5167    
5168      case 330:
5169    #line 495 "lscp.y"
5170        { (yyval.Char) = '3'; }
5171        break;
5172    
5173      case 331:
5174    #line 495 "lscp.y"
5175        { (yyval.Char) = '4'; }
5176        break;
5177    
5178      case 332:
5179    #line 495 "lscp.y"
5180        { (yyval.Char) = '5'; }
5181        break;
5182    
5183      case 333:
5184    #line 495 "lscp.y"
5185        { (yyval.Char) = '6'; }
5186        break;
5187    
5188      case 334:
5189    #line 495 "lscp.y"
5190        { (yyval.Char) = '7'; }
5191        break;
5192    
5193      case 335:
5194    #line 495 "lscp.y"
5195        { (yyval.Char) = '8'; }
5196        break;
5197    
5198      case 336:
5199    #line 495 "lscp.y"
5200        { (yyval.Char) = '9'; }
5201        break;
5202    
5203      case 337:
5204    #line 496 "lscp.y"
5205      { (yyval.Char) = '!'; }      { (yyval.Char) = '!'; }
5206      break;      break;
5207    
5208    case 217:    case 338:
5209  #line 322 "lscp.y"  #line 496 "lscp.y"
5210      { (yyval.Char) = '#'; }      { (yyval.Char) = '#'; }
5211      break;      break;
5212    
5213    case 218:    case 339:
5214  #line 322 "lscp.y"  #line 496 "lscp.y"
5215      { (yyval.Char) = '$'; }      { (yyval.Char) = '$'; }
5216      break;      break;
5217    
5218    case 219:    case 340:
5219  #line 322 "lscp.y"  #line 496 "lscp.y"
5220      { (yyval.Char) = '%'; }      { (yyval.Char) = '%'; }
5221      break;      break;
5222    
5223    case 220:    case 341:
5224  #line 322 "lscp.y"  #line 496 "lscp.y"
5225      { (yyval.Char) = '&'; }      { (yyval.Char) = '&'; }
5226      break;      break;
5227    
5228    case 221:    case 342:
5229  #line 322 "lscp.y"  #line 496 "lscp.y"
5230      { (yyval.Char) = '('; }      { (yyval.Char) = '('; }
5231      break;      break;
5232    
5233    case 222:    case 343:
5234  #line 322 "lscp.y"  #line 496 "lscp.y"
5235      { (yyval.Char) = ')'; }      { (yyval.Char) = ')'; }
5236      break;      break;
5237    
5238    case 223:    case 344:
5239  #line 322 "lscp.y"  #line 496 "lscp.y"
5240      { (yyval.Char) = '*'; }      { (yyval.Char) = '*'; }
5241      break;      break;
5242    
5243    case 224:    case 345:
5244  #line 322 "lscp.y"  #line 496 "lscp.y"
5245      { (yyval.Char) = '+'; }      { (yyval.Char) = '+'; }
5246      break;      break;
5247    
5248    case 225:    case 346:
5249  #line 322 "lscp.y"  #line 496 "lscp.y"
5250      { (yyval.Char) = '-'; }      { (yyval.Char) = '-'; }
5251      break;      break;
5252    
5253    case 226:    case 347:
5254  #line 322 "lscp.y"  #line 496 "lscp.y"
5255      { (yyval.Char) = '.'; }      { (yyval.Char) = '.'; }
5256      break;      break;
5257    
5258    case 227:    case 348:
5259  #line 322 "lscp.y"  #line 496 "lscp.y"
5260      { (yyval.Char) = ','; }      { (yyval.Char) = ','; }
5261      break;      break;
5262    
5263    case 228:    case 349:
5264  #line 322 "lscp.y"  #line 496 "lscp.y"
5265      { (yyval.Char) = '/'; }      { (yyval.Char) = '/'; }
5266      break;      break;
5267    
5268    case 229:    case 350:
5269  #line 323 "lscp.y"  #line 497 "lscp.y"
5270      { (yyval.Char) = ':'; }      { (yyval.Char) = ':'; }
5271      break;      break;
5272    
5273    case 230:    case 351:
5274  #line 323 "lscp.y"  #line 497 "lscp.y"
5275      { (yyval.Char) = ';'; }      { (yyval.Char) = ';'; }
5276      break;      break;
5277    
5278    case 231:    case 352:
5279  #line 323 "lscp.y"  #line 497 "lscp.y"
5280      { (yyval.Char) = '<'; }      { (yyval.Char) = '<'; }
5281      break;      break;
5282    
5283    case 232:    case 353:
5284  #line 323 "lscp.y"  #line 497 "lscp.y"
5285      { (yyval.Char) = '='; }      { (yyval.Char) = '='; }
5286      break;      break;
5287    
5288    case 233:    case 354:
5289  #line 323 "lscp.y"  #line 497 "lscp.y"
5290      { (yyval.Char) = '>'; }      { (yyval.Char) = '>'; }
5291      break;      break;
5292    
5293    case 234:    case 355:
5294  #line 323 "lscp.y"  #line 497 "lscp.y"
5295      { (yyval.Char) = '?'; }      { (yyval.Char) = '?'; }
5296      break;      break;
5297    
5298    case 235:    case 356:
5299  #line 323 "lscp.y"  #line 497 "lscp.y"
5300      { (yyval.Char) = '@'; }      { (yyval.Char) = '@'; }
5301      break;      break;
5302    
5303    case 236:    case 357:
5304  #line 324 "lscp.y"  #line 498 "lscp.y"
5305      { (yyval.Char) = '['; }      { (yyval.Char) = '['; }
5306      break;      break;
5307    
5308    case 237:    case 358:
5309  #line 324 "lscp.y"  #line 498 "lscp.y"
5310      { (yyval.Char) = '\\'; }      { (yyval.Char) = '\\'; }
5311      break;      break;
5312    
5313    case 238:    case 359:
5314  #line 324 "lscp.y"  #line 498 "lscp.y"
5315      { (yyval.Char) = ']'; }      { (yyval.Char) = ']'; }
5316      break;      break;
5317    
5318    case 239:    case 360:
5319  #line 324 "lscp.y"  #line 498 "lscp.y"
5320      { (yyval.Char) = '^'; }      { (yyval.Char) = '^'; }
5321      break;      break;
5322    
5323    case 240:    case 361:
5324  #line 324 "lscp.y"  #line 498 "lscp.y"
5325      { (yyval.Char) = '_'; }      { (yyval.Char) = '_'; }
5326      break;      break;
5327    
5328    case 241:    case 362:
5329  #line 325 "lscp.y"  #line 499 "lscp.y"
5330      { (yyval.Char) = '{'; }      { (yyval.Char) = '{'; }
5331      break;      break;
5332    
5333    case 242:    case 363:
5334  #line 325 "lscp.y"  #line 499 "lscp.y"
5335      { (yyval.Char) = '|'; }      { (yyval.Char) = '|'; }
5336      break;      break;
5337    
5338    case 243:    case 364:
5339  #line 325 "lscp.y"  #line 499 "lscp.y"
5340      { (yyval.Char) = '}'; }      { (yyval.Char) = '}'; }
5341      break;      break;
5342    
5343    case 244:    case 365:
5344  #line 325 "lscp.y"  #line 499 "lscp.y"
5345      { (yyval.Char) = '~'; }      { (yyval.Char) = '~'; }
5346      break;      break;
5347    
5348    case 245:    case 366:
5349  #line 326 "lscp.y"  #line 500 "lscp.y"
5350      { (yyval.Char) = '\200'; }      { (yyval.Char) = '\200'; }
5351      break;      break;
5352    
5353    case 246:    case 367:
5354  #line 326 "lscp.y"  #line 500 "lscp.y"
5355      { (yyval.Char) = '\201'; }      { (yyval.Char) = '\201'; }
5356      break;      break;
5357    
5358    case 247:    case 368:
5359  #line 326 "lscp.y"  #line 500 "lscp.y"
5360      { (yyval.Char) = '\202'; }      { (yyval.Char) = '\202'; }
5361      break;      break;
5362    
5363    case 248:    case 369:
5364  #line 327 "lscp.y"  #line 501 "lscp.y"
5365      { (yyval.Char) = '\203'; }      { (yyval.Char) = '\203'; }
5366      break;      break;
5367    
5368    case 249:    case 370:
5369  #line 327 "lscp.y"  #line 501 "lscp.y"
5370      { (yyval.Char) = '\204'; }      { (yyval.Char) = '\204'; }
5371      break;      break;
5372    
5373    case 250:    case 371:
5374  #line 327 "lscp.y"  #line 501 "lscp.y"
5375      { (yyval.Char) = '\205'; }      { (yyval.Char) = '\205'; }
5376      break;      break;
5377    
5378    case 251:    case 372:
5379  #line 328 "lscp.y"  #line 502 "lscp.y"
5380      { (yyval.Char) = '\206'; }      { (yyval.Char) = '\206'; }
5381      break;      break;
5382    
5383    case 252:    case 373:
5384  #line 328 "lscp.y"  #line 502 "lscp.y"
5385      { (yyval.Char) = '\207'; }      { (yyval.Char) = '\207'; }
5386      break;      break;
5387    
5388    case 253:    case 374:
5389  #line 328 "lscp.y"  #line 502 "lscp.y"
5390      { (yyval.Char) = '\210'; }      { (yyval.Char) = '\210'; }
5391      break;      break;
5392    
5393    case 254:    case 375:
5394  #line 329 "lscp.y"  #line 503 "lscp.y"
5395      { (yyval.Char) = '\211'; }      { (yyval.Char) = '\211'; }
5396      break;      break;
5397    
5398    case 255:    case 376:
5399  #line 329 "lscp.y"  #line 503 "lscp.y"
5400      { (yyval.Char) = '\212'; }      { (yyval.Char) = '\212'; }
5401      break;      break;
5402    
5403    case 256:    case 377:
5404  #line 329 "lscp.y"  #line 503 "lscp.y"
5405      { (yyval.Char) = '\213'; }      { (yyval.Char) = '\213'; }
5406      break;      break;
5407    
5408    case 257:    case 378:
5409  #line 330 "lscp.y"  #line 504 "lscp.y"
5410      { (yyval.Char) = '\214'; }      { (yyval.Char) = '\214'; }
5411      break;      break;
5412    
5413    case 258:    case 379:
5414  #line 330 "lscp.y"  #line 504 "lscp.y"
5415      { (yyval.Char) = '\215'; }      { (yyval.Char) = '\215'; }
5416      break;      break;
5417    
5418    case 259:    case 380:
5419  #line 330 "lscp.y"  #line 504 "lscp.y"
5420      { (yyval.Char) = '\216'; }      { (yyval.Char) = '\216'; }
5421      break;      break;
5422    
5423    case 260:    case 381:
5424  #line 331 "lscp.y"  #line 505 "lscp.y"
5425      { (yyval.Char) = '\217'; }      { (yyval.Char) = '\217'; }
5426      break;      break;
5427    
5428    case 261:    case 382:
5429  #line 331 "lscp.y"  #line 505 "lscp.y"
5430      { (yyval.Char) = '\220'; }      { (yyval.Char) = '\220'; }
5431      break;      break;
5432    
5433    case 262:    case 383:
5434  #line 331 "lscp.y"  #line 505 "lscp.y"
5435      { (yyval.Char) = '\221'; }      { (yyval.Char) = '\221'; }
5436      break;      break;
5437    
5438    case 263:    case 384:
5439  #line 332 "lscp.y"  #line 506 "lscp.y"
5440      { (yyval.Char) = '\222'; }      { (yyval.Char) = '\222'; }
5441      break;      break;
5442    
5443    case 264:    case 385:
5444  #line 332 "lscp.y"  #line 506 "lscp.y"
5445      { (yyval.Char) = '\223'; }      { (yyval.Char) = '\223'; }
5446      break;      break;
5447    
5448    case 265:    case 386:
5449  #line 332 "lscp.y"  #line 506 "lscp.y"
5450      { (yyval.Char) = '\224'; }      { (yyval.Char) = '\224'; }
5451      break;      break;
5452    
5453    case 266:    case 387:
5454  #line 333 "lscp.y"  #line 507 "lscp.y"
5455      { (yyval.Char) = '\225'; }      { (yyval.Char) = '\225'; }
5456      break;      break;
5457    
5458    case 267:    case 388:
5459  #line 333 "lscp.y"  #line 507 "lscp.y"
5460      { (yyval.Char) = '\226'; }      { (yyval.Char) = '\226'; }
5461      break;      break;
5462    
5463    case 268:    case 389:
5464  #line 333 "lscp.y"  #line 507 "lscp.y"
5465      { (yyval.Char) = '\227'; }      { (yyval.Char) = '\227'; }
5466      break;      break;
5467    
5468    case 269:    case 390:
5469  #line 334 "lscp.y"  #line 508 "lscp.y"
5470      { (yyval.Char) = '\230'; }      { (yyval.Char) = '\230'; }
5471      break;      break;
5472    
5473    case 270:    case 391:
5474  #line 334 "lscp.y"  #line 508 "lscp.y"
5475      { (yyval.Char) = '\231'; }      { (yyval.Char) = '\231'; }
5476      break;      break;
5477    
5478    case 271:    case 392:
5479  #line 334 "lscp.y"  #line 508 "lscp.y"
5480      { (yyval.Char) = '\232'; }      { (yyval.Char) = '\232'; }
5481      break;      break;
5482    
5483    case 272:    case 393:
5484  #line 335 "lscp.y"  #line 509 "lscp.y"
5485      { (yyval.Char) = '\233'; }      { (yyval.Char) = '\233'; }
5486      break;      break;
5487    
5488    case 273:    case 394:
5489  #line 335 "lscp.y"  #line 509 "lscp.y"
5490      { (yyval.Char) = '\234'; }      { (yyval.Char) = '\234'; }
5491      break;      break;
5492    
5493    case 274:    case 395:
5494  #line 335 "lscp.y"  #line 509 "lscp.y"
5495      { (yyval.Char) = '\235'; }      { (yyval.Char) = '\235'; }
5496      break;      break;
5497    
5498    case 275:    case 396:
5499  #line 336 "lscp.y"  #line 510 "lscp.y"
5500      { (yyval.Char) = '\236'; }      { (yyval.Char) = '\236'; }
5501      break;      break;
5502    
5503    case 276:    case 397:
5504  #line 336 "lscp.y"  #line 510 "lscp.y"
5505      { (yyval.Char) = '\237'; }      { (yyval.Char) = '\237'; }
5506      break;      break;
5507    
5508    case 277:    case 398:
5509  #line 336 "lscp.y"  #line 510 "lscp.y"
5510      { (yyval.Char) = '\240'; }      { (yyval.Char) = '\240'; }
5511      break;      break;
5512    
5513    case 278:    case 399:
5514  #line 337 "lscp.y"  #line 511 "lscp.y"
5515      { (yyval.Char) = '\241'; }      { (yyval.Char) = '\241'; }
5516      break;      break;
5517    
5518    case 279:    case 400:
5519  #line 337 "lscp.y"  #line 511 "lscp.y"
5520      { (yyval.Char) = '\242'; }      { (yyval.Char) = '\242'; }
5521      break;      break;
5522    
5523    case 280:    case 401:
5524  #line 337 "lscp.y"  #line 511 "lscp.y"
5525      { (yyval.Char) = '\243'; }      { (yyval.Char) = '\243'; }
5526      break;      break;
5527    
5528    case 281:    case 402:
5529  #line 338 "lscp.y"  #line 512 "lscp.y"
5530      { (yyval.Char) = '\244'; }      { (yyval.Char) = '\244'; }
5531      break;      break;
5532    
5533    case 282:    case 403:
5534  #line 338 "lscp.y"  #line 512 "lscp.y"
5535      { (yyval.Char) = '\245'; }      { (yyval.Char) = '\245'; }
5536      break;      break;
5537    
5538    case 283:    case 404:
5539  #line 338 "lscp.y"  #line 512 "lscp.y"
5540      { (yyval.Char) = '\246'; }      { (yyval.Char) = '\246'; }
5541      break;      break;
5542    
5543    case 284:    case 405:
5544  #line 339 "lscp.y"  #line 513 "lscp.y"
5545      { (yyval.Char) = '\247'; }      { (yyval.Char) = '\247'; }
5546      break;      break;
5547    
5548    case 285:    case 406:
5549  #line 339 "lscp.y"  #line 513 "lscp.y"
5550      { (yyval.Char) = '\250'; }      { (yyval.Char) = '\250'; }
5551      break;      break;
5552    
5553    case 286:    case 407:
5554  #line 339 "lscp.y"  #line 513 "lscp.y"
5555      { (yyval.Char) = '\251'; }      { (yyval.Char) = '\251'; }
5556      break;      break;
5557    
5558    case 287:    case 408:
5559  #line 340 "lscp.y"  #line 514 "lscp.y"
5560      { (yyval.Char) = '\252'; }      { (yyval.Char) = '\252'; }
5561      break;      break;
5562    
5563    case 288:    case 409:
5564  #line 340 "lscp.y"  #line 514 "lscp.y"
5565      { (yyval.Char) = '\253'; }      { (yyval.Char) = '\253'; }
5566      break;      break;
5567    
5568    case 289:    case 410:
5569  #line 340 "lscp.y"  #line 514 "lscp.y"
5570      { (yyval.Char) = '\254'; }      { (yyval.Char) = '\254'; }
5571      break;      break;
5572    
5573    case 290:    case 411:
5574  #line 341 "lscp.y"  #line 515 "lscp.y"
5575      { (yyval.Char) = '\255'; }      { (yyval.Char) = '\255'; }
5576      break;      break;
5577    
5578    case 291:    case 412:
5579  #line 341 "lscp.y"  #line 515 "lscp.y"
5580      { (yyval.Char) = '\256'; }      { (yyval.Char) = '\256'; }
5581      break;      break;
5582    
5583    case 292:    case 413:
5584  #line 341 "lscp.y"  #line 515 "lscp.y"
5585      { (yyval.Char) = '\257'; }      { (yyval.Char) = '\257'; }
5586      break;      break;
5587    
5588    case 293:    case 414:
5589  #line 342 "lscp.y"  #line 516 "lscp.y"
5590      { (yyval.Char) = '\260'; }      { (yyval.Char) = '\260'; }
5591      break;      break;
5592    
5593    case 294:    case 415:
5594  #line 342 "lscp.y"  #line 516 "lscp.y"
5595      { (yyval.Char) = '\261'; }      { (yyval.Char) = '\261'; }
5596      break;      break;
5597    
5598    case 295:    case 416:
5599  #line 342 "lscp.y"  #line 516 "lscp.y"
5600      { (yyval.Char) = '\262'; }      { (yyval.Char) = '\262'; }
5601      break;      break;
5602    
5603    case 296:    case 417:
5604  #line 343 "lscp.y"  #line 517 "lscp.y"
5605      { (yyval.Char) = '\263'; }      { (yyval.Char) = '\263'; }
5606      break;      break;
5607    
5608    case 297:    case 418:
5609  #line 343 "lscp.y"  #line 517 "lscp.y"
5610      { (yyval.Char) = '\264'; }      { (yyval.Char) = '\264'; }
5611      break;      break;
5612    
5613    case 298:    case 419:
5614  #line 343 "lscp.y"  #line 517 "lscp.y"
5615      { (yyval.Char) = '\265'; }      { (yyval.Char) = '\265'; }
5616      break;      break;
5617    
5618    case 299:    case 420:
5619  #line 344 "lscp.y"  #line 518 "lscp.y"
5620      { (yyval.Char) = '\266'; }      { (yyval.Char) = '\266'; }
5621      break;      break;
5622    
5623    case 300:    case 421:
5624  #line 344 "lscp.y"  #line 518 "lscp.y"
5625      { (yyval.Char) = '\267'; }      { (yyval.Char) = '\267'; }
5626      break;      break;
5627    
5628    case 301:    case 422:
5629  #line 344 "lscp.y"  #line 518 "lscp.y"
5630      { (yyval.Char) = '\270'; }      { (yyval.Char) = '\270'; }
5631      break;      break;
5632    
5633    case 302:    case 423:
5634  #line 345 "lscp.y"  #line 519 "lscp.y"
5635      { (yyval.Char) = '\271'; }      { (yyval.Char) = '\271'; }
5636      break;      break;
5637    
5638    case 303:    case 424:
5639  #line 345 "lscp.y"  #line 519 "lscp.y"
5640      { (yyval.Char) = '\272'; }      { (yyval.Char) = '\272'; }
5641      break;      break;
5642    
5643    case 304:    case 425:
5644  #line 345 "lscp.y"  #line 519 "lscp.y"
5645      { (yyval.Char) = '\273'; }      { (yyval.Char) = '\273'; }
5646      break;      break;
5647    
5648    case 305:    case 426:
5649  #line 346 "lscp.y"  #line 520 "lscp.y"
5650      { (yyval.Char) = '\274'; }      { (yyval.Char) = '\274'; }
5651      break;      break;
5652    
5653    case 306:    case 427:
5654  #line 346 "lscp.y"  #line 520 "lscp.y"
5655      { (yyval.Char) = '\275'; }      { (yyval.Char) = '\275'; }
5656      break;      break;
5657    
5658    case 307:    case 428:
5659  #line 346 "lscp.y"  #line 520 "lscp.y"
5660      { (yyval.Char) = '\276'; }      { (yyval.Char) = '\276'; }
5661      break;      break;
5662    
5663    case 308:    case 429:
5664  #line 347 "lscp.y"  #line 521 "lscp.y"
5665      { (yyval.Char) = '\277'; }      { (yyval.Char) = '\277'; }
5666      break;      break;
5667    
5668    case 309:    case 430:
5669  #line 347 "lscp.y"  #line 521 "lscp.y"
5670      { (yyval.Char) = '\300'; }      { (yyval.Char) = '\300'; }
5671      break;      break;
5672    
5673    case 310:    case 431:
5674  #line 347 "lscp.y"  #line 521 "lscp.y"
5675      { (yyval.Char) = '\301'; }      { (yyval.Char) = '\301'; }
5676      break;      break;
5677    
5678    case 311:    case 432:
5679  #line 348 "lscp.y"  #line 522 "lscp.y"
5680      { (yyval.Char) = '\302'; }      { (yyval.Char) = '\302'; }
5681      break;      break;
5682    
5683    case 312:    case 433:
5684  #line 348 "lscp.y"  #line 522 "lscp.y"
5685      { (yyval.Char) = '\303'; }      { (yyval.Char) = '\303'; }
5686      break;      break;
5687    
5688    case 313:    case 434:
5689  #line 348 "lscp.y"  #line 522 "lscp.y"
5690      { (yyval.Char) = '\304'; }      { (yyval.Char) = '\304'; }
5691      break;      break;
5692    
5693    case 314:    case 435:
5694  #line 349 "lscp.y"  #line 523 "lscp.y"
5695      { (yyval.Char) = '\305'; }      { (yyval.Char) = '\305'; }
5696      break;      break;
5697    
5698    case 315:    case 436:
5699  #line 349 "lscp.y"  #line 523 "lscp.y"
5700      { (yyval.Char) = '\306'; }      { (yyval.Char) = '\306'; }
5701      break;      break;
5702    
5703    case 316:    case 437:
5704  #line 349 "lscp.y"  #line 523 "lscp.y"
5705      { (yyval.Char) = '\307'; }      { (yyval.Char) = '\307'; }
5706      break;      break;
5707    
5708    case 317:    case 438:
5709  #line 350 "lscp.y"  #line 524 "lscp.y"
5710      { (yyval.Char) = '\310'; }      { (yyval.Char) = '\310'; }
5711      break;      break;
5712    
5713    case 318:    case 439:
5714  #line 350 "lscp.y"  #line 524 "lscp.y"
5715      { (yyval.Char) = '\311'; }      { (yyval.Char) = '\311'; }
5716      break;      break;
5717    
5718    case 319:    case 440:
5719  #line 350 "lscp.y"  #line 524 "lscp.y"
5720      { (yyval.Char) = '\312'; }      { (yyval.Char) = '\312'; }
5721      break;      break;
5722    
5723    case 320:    case 441:
5724  #line 351 "lscp.y"  #line 525 "lscp.y"
5725      { (yyval.Char) = '\313'; }      { (yyval.Char) = '\313'; }
5726      break;      break;
5727    
5728    case 321:    case 442:
5729  #line 351 "lscp.y"  #line 525 "lscp.y"
5730      { (yyval.Char) = '\314'; }      { (yyval.Char) = '\314'; }
5731      break;      break;
5732    
5733    case 322:    case 443:
5734  #line 351 "lscp.y"  #line 525 "lscp.y"
5735      { (yyval.Char) = '\315'; }      { (yyval.Char) = '\315'; }
5736      break;      break;
5737    
5738    case 323:    case 444:
5739  #line 352 "lscp.y"  #line 526 "lscp.y"
5740      { (yyval.Char) = '\316'; }      { (yyval.Char) = '\316'; }
5741      break;      break;
5742    
5743    case 324:    case 445:
5744  #line 352 "lscp.y"  #line 526 "lscp.y"
5745      { (yyval.Char) = '\317'; }      { (yyval.Char) = '\317'; }
5746      break;      break;
5747    
5748    case 325:    case 446:
5749  #line 352 "lscp.y"  #line 526 "lscp.y"
5750      { (yyval.Char) = '\320'; }      { (yyval.Char) = '\320'; }
5751      break;      break;
5752    
5753    case 326:    case 447:
5754  #line 353 "lscp.y"  #line 527 "lscp.y"
5755      { (yyval.Char) = '\321'; }      { (yyval.Char) = '\321'; }
5756      break;      break;
5757    
5758    case 327:    case 448:
5759  #line 353 "lscp.y"  #line 527 "lscp.y"
5760      { (yyval.Char) = '\322'; }      { (yyval.Char) = '\322'; }
5761      break;      break;
5762    
5763    case 328:    case 449:
5764  #line 353 "lscp.y"  #line 527 "lscp.y"
5765      { (yyval.Char) = '\323'; }      { (yyval.Char) = '\323'; }
5766      break;      break;
5767    
5768    case 329:    case 450:
5769  #line 354 "lscp.y"  #line 528 "lscp.y"
5770      { (yyval.Char) = '\324'; }      { (yyval.Char) = '\324'; }
5771      break;      break;
5772    
5773    case 330:    case 451:
5774  #line 354 "lscp.y"  #line 528 "lscp.y"
5775      { (yyval.Char) = '\325'; }      { (yyval.Char) = '\325'; }
5776      break;      break;
5777    
5778    case 331:    case 452:
5779  #line 354 "lscp.y"  #line 528 "lscp.y"
5780      { (yyval.Char) = '\326'; }      { (yyval.Char) = '\326'; }
5781      break;      break;
5782    
5783    case 332:    case 453:
5784  #line 355 "lscp.y"  #line 529 "lscp.y"
5785      { (yyval.Char) = '\327'; }      { (yyval.Char) = '\327'; }
5786      break;      break;
5787    
5788    case 333:    case 454:
5789  #line 355 "lscp.y"  #line 529 "lscp.y"
5790      { (yyval.Char) = '\330'; }      { (yyval.Char) = '\330'; }
5791      break;      break;
5792    
5793    case 334:    case 455:
5794  #line 355 "lscp.y"  #line 529 "lscp.y"
5795      { (yyval.Char) = '\331'; }      { (yyval.Char) = '\331'; }
5796      break;      break;
5797    
5798    case 335:    case 456:
5799  #line 356 "lscp.y"  #line 530 "lscp.y"
5800      { (yyval.Char) = '\332'; }      { (yyval.Char) = '\332'; }
5801      break;      break;
5802    
5803    case 336:    case 457:
5804  #line 356 "lscp.y"  #line 530 "lscp.y"
5805      { (yyval.Char) = '\333'; }      { (yyval.Char) = '\333'; }
5806      break;      break;
5807    
5808    case 337:    case 458:
5809  #line 356 "lscp.y"  #line 530 "lscp.y"
5810      { (yyval.Char) = '\334'; }      { (yyval.Char) = '\334'; }
5811      break;      break;
5812    
5813    case 338:    case 459:
5814  #line 357 "lscp.y"  #line 531 "lscp.y"
5815      { (yyval.Char) = '\335'; }      { (yyval.Char) = '\335'; }
5816      break;      break;
5817    
5818    case 339:    case 460:
5819  #line 357 "lscp.y"  #line 531 "lscp.y"
5820      { (yyval.Char) = '\336'; }      { (yyval.Char) = '\336'; }
5821      break;      break;
5822    
5823    case 340:    case 461:
5824  #line 357 "lscp.y"  #line 531 "lscp.y"
5825      { (yyval.Char) = '\337'; }      { (yyval.Char) = '\337'; }
5826      break;      break;
5827    
5828    case 341:    case 462:
5829  #line 358 "lscp.y"  #line 532 "lscp.y"
5830      { (yyval.Char) = '\340'; }      { (yyval.Char) = '\340'; }
5831      break;      break;
5832    
5833    case 342:    case 463:
5834  #line 358 "lscp.y"  #line 532 "lscp.y"
5835      { (yyval.Char) = '\341'; }      { (yyval.Char) = '\341'; }
5836      break;      break;
5837    
5838    case 343:    case 464:
5839  #line 358 "lscp.y"  #line 532 "lscp.y"
5840      { (yyval.Char) = '\342'; }      { (yyval.Char) = '\342'; }
5841      break;      break;
5842    
5843    case 344:    case 465:
5844  #line 359 "lscp.y"  #line 533 "lscp.y"
5845      { (yyval.Char) = '\343'; }      { (yyval.Char) = '\343'; }
5846      break;      break;
5847    
5848    case 345:    case 466:
5849  #line 359 "lscp.y"  #line 533 "lscp.y"
5850      { (yyval.Char) = '\344'; }      { (yyval.Char) = '\344'; }
5851      break;      break;
5852    
5853    case 346:    case 467:
5854  #line 359 "lscp.y"  #line 533 "lscp.y"
5855      { (yyval.Char) = '\345'; }      { (yyval.Char) = '\345'; }
5856      break;      break;
5857    
5858    case 347:    case 468:
5859  #line 360 "lscp.y"  #line 534 "lscp.y"
5860      { (yyval.Char) = '\346'; }      { (yyval.Char) = '\346'; }
5861      break;      break;
5862    
5863    case 348:    case 469:
5864  #line 360 "lscp.y"  #line 534 "lscp.y"
5865      { (yyval.Char) = '\347'; }      { (yyval.Char) = '\347'; }
5866      break;      break;
5867    
5868    case 349:    case 470:
5869  #line 360 "lscp.y"  #line 534 "lscp.y"
5870      { (yyval.Char) = '\350'; }      { (yyval.Char) = '\350'; }
5871      break;      break;
5872    
5873    case 350:    case 471:
5874  #line 361 "lscp.y"  #line 535 "lscp.y"
5875      { (yyval.Char) = '\351'; }      { (yyval.Char) = '\351'; }
5876      break;      break;
5877    
5878    case 351:    case 472:
5879  #line 361 "lscp.y"  #line 535 "lscp.y"
5880      { (yyval.Char) = '\352'; }      { (yyval.Char) = '\352'; }
5881      break;      break;
5882    
5883    case 352:    case 473:
5884  #line 361 "lscp.y"  #line 535 "lscp.y"
5885      { (yyval.Char) = '\353'; }      { (yyval.Char) = '\353'; }
5886      break;      break;
5887    
5888    case 353:    case 474:
5889  #line 362 "lscp.y"  #line 536 "lscp.y"
5890      { (yyval.Char) = '\354'; }      { (yyval.Char) = '\354'; }
5891      break;      break;
5892    
5893    case 354:    case 475:
5894  #line 362 "lscp.y"  #line 536 "lscp.y"
5895      { (yyval.Char) = '\355'; }      { (yyval.Char) = '\355'; }
5896      break;      break;
5897    
5898    case 355:    case 476:
5899  #line 362 "lscp.y"  #line 536 "lscp.y"
5900      { (yyval.Char) = '\356'; }      { (yyval.Char) = '\356'; }
5901      break;      break;
5902    
5903    case 356:    case 477:
5904  #line 363 "lscp.y"  #line 537 "lscp.y"
5905      { (yyval.Char) = '\357'; }      { (yyval.Char) = '\357'; }
5906      break;      break;
5907    
5908    case 357:    case 478:
5909  #line 363 "lscp.y"  #line 537 "lscp.y"
5910      { (yyval.Char) = '\360'; }      { (yyval.Char) = '\360'; }
5911      break;      break;
5912    
5913    case 358:    case 479:
5914  #line 363 "lscp.y"  #line 537 "lscp.y"
5915      { (yyval.Char) = '\361'; }      { (yyval.Char) = '\361'; }
5916      break;      break;
5917    
5918    case 359:    case 480:
5919  #line 364 "lscp.y"  #line 538 "lscp.y"
5920      { (yyval.Char) = '\362'; }      { (yyval.Char) = '\362'; }
5921      break;      break;
5922    
5923    case 360:    case 481:
5924  #line 364 "lscp.y"  #line 538 "lscp.y"
5925      { (yyval.Char) = '\363'; }      { (yyval.Char) = '\363'; }
5926      break;      break;
5927    
5928    case 361:    case 482:
5929  #line 364 "lscp.y"  #line 538 "lscp.y"
5930      { (yyval.Char) = '\364'; }      { (yyval.Char) = '\364'; }
5931      break;      break;
5932    
5933    case 362:    case 483:
5934  #line 365 "lscp.y"  #line 539 "lscp.y"
5935      { (yyval.Char) = '\365'; }      { (yyval.Char) = '\365'; }
5936      break;      break;
5937    
5938    case 363:    case 484:
5939  #line 365 "lscp.y"  #line 539 "lscp.y"
5940      { (yyval.Char) = '\366'; }      { (yyval.Char) = '\366'; }
5941      break;      break;
5942    
5943    case 364:    case 485:
5944  #line 365 "lscp.y"  #line 539 "lscp.y"
5945      { (yyval.Char) = '\367'; }      { (yyval.Char) = '\367'; }
5946      break;      break;
5947    
5948    case 365:    case 486:
5949  #line 366 "lscp.y"  #line 540 "lscp.y"
5950      { (yyval.Char) = '\370'; }      { (yyval.Char) = '\370'; }
5951      break;      break;
5952    
5953    case 366:    case 487:
5954  #line 366 "lscp.y"  #line 540 "lscp.y"
5955      { (yyval.Char) = '\371'; }      { (yyval.Char) = '\371'; }
5956      break;      break;
5957    
5958    case 367:    case 488:
5959  #line 366 "lscp.y"  #line 540 "lscp.y"
5960      { (yyval.Char) = '\372'; }      { (yyval.Char) = '\372'; }
5961      break;      break;
5962    
5963    case 368:    case 489:
5964  #line 367 "lscp.y"  #line 541 "lscp.y"
5965      { (yyval.Char) = '\373'; }      { (yyval.Char) = '\373'; }
5966      break;      break;
5967    
5968    case 369:    case 490:
5969  #line 367 "lscp.y"  #line 541 "lscp.y"
5970      { (yyval.Char) = '\374'; }      { (yyval.Char) = '\374'; }
5971      break;      break;
5972    
5973    case 370:    case 491:
5974  #line 367 "lscp.y"  #line 541 "lscp.y"
5975      { (yyval.Char) = '\375'; }      { (yyval.Char) = '\375'; }
5976      break;      break;
5977    
5978    case 371:    case 492:
5979  #line 368 "lscp.y"  #line 542 "lscp.y"
5980      { (yyval.Char) = '\376'; }      { (yyval.Char) = '\376'; }
5981      break;      break;
5982    
5983    case 372:    case 493:
5984  #line 368 "lscp.y"  #line 542 "lscp.y"
5985      { (yyval.Char) = '\377'; }      { (yyval.Char) = '\377'; }
5986      break;      break;
5987    
5988    case 373:    case 494:
5989  #line 371 "lscp.y"  #line 545 "lscp.y"
5990      { (yyval.String) = " ";      }      { (yyval.String) = " ";      }
5991      break;      break;
5992    
5993    case 375:    case 496:
5994  #line 373 "lscp.y"  #line 547 "lscp.y"
5995      { (yyval.String) = (yyvsp[-1].String) + " "; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5996      break;      break;
5997    
5998    case 376:    case 497:
5999  #line 374 "lscp.y"  #line 548 "lscp.y"
6000      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].String);  }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
6001      break;      break;
6002    
6003    case 377:    case 498:
6004  #line 377 "lscp.y"  #line 551 "lscp.y"
6005      { (yyval.String) = (yyvsp[-1].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
6006      break;      break;
6007    
6008    case 378:    case 499:
6009  #line 378 "lscp.y"  #line 552 "lscp.y"
6010      { (yyval.String) = (yyvsp[-1].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
6011      break;      break;
6012    
6013    
6014    /* Line 1267 of yacc.c.  */
6015    #line 6016 "y.tab.c"
6016          default: break;
6017      }      }
6018      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6019    
6020  /* Line 1037 of yacc.c.  */    YYPOPSTACK (yylen);
6021  #line 4510 "y.tab.c"    yylen = 0;
   
   yyvsp -= yylen;  
   yyssp -= yylen;  
   
   
6022    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
6023    
6024    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4540  yyerrlab: Line 6047  yyerrlab:
6047    if (!yyerrstatus)    if (!yyerrstatus)
6048      {      {
6049        ++yynerrs;        ++yynerrs;
6050  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
6051        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
6052    #else
6053        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
6054          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6055            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6056            int yytype = YYTRANSLATE (yychar);            {
6057            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
6058            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6059            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
6060                if (yymsg != yymsgbuf)
6061            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
6062               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6063            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
6064                  yymsg_alloc = yyalloc;
6065            /* Stay within bounds of both yycheck and yytname.  */              else
           int yychecklim = YYLAST - yyn;  
           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;  
           int yycount = 0;  
   
           yyprefix = ", expecting ";  
           for (yyx = yyxbegin; yyx < yyxend; ++yyx)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
6066                {                {
6067                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
6068                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
6069                }                }
6070            yysize += (sizeof ("syntax error, unexpected ")            }
                      + yystrlen (yytname[yytype]));  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
6071    
6072                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
6073                  {            {
6074                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
6075                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
6076                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
6077                        {          else
6078                          yyp = yystpcpy (yyp, yyprefix);            {
6079                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
6080                          yyprefix = " or ";              if (yysize != 0)
6081                        }                goto yyexhaustedlab;
6082                  }            }
6083                yyerror (yymsg);        }
6084                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
6085      }      }
6086    
6087    
# Line 4610  yyerrlab: Line 6092  yyerrlab:
6092           error, discard it.  */           error, discard it.  */
6093    
6094        if (yychar <= YYEOF)        if (yychar <= YYEOF)
6095          {          {
6096            /* If at end of input, pop the error token,            /* Return failure if at end of input.  */
              then the rest of the stack, then return failure.  */  
6097            if (yychar == YYEOF)            if (yychar == YYEOF)
6098               for (;;)              YYABORT;
6099                 {          }
   
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  yydestruct ("Error: popping",  
                              yystos[*yyssp], yyvsp);  
                }  
         }  
6100        else        else
6101          {          {
6102            yydestruct ("Error: discarding", yytoken, &yylval);            yydestruct ("Error: discarding",
6103                          yytoken, &yylval);
6104            yychar = YYEMPTY;            yychar = YYEMPTY;
6105          }          }
6106      }      }
# Line 4641  yyerrlab: Line 6115  yyerrlab:
6115  `---------------------------------------------------*/  `---------------------------------------------------*/
6116  yyerrorlab:  yyerrorlab:
6117    
6118  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
6119    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
6120       yyerrorlab therefore never appears in user code.  */       code.  */
6121    if (0)    if (/*CONSTCOND*/ 0)
6122       goto yyerrorlab;       goto yyerrorlab;
 #endif  
6123    
6124  yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
6125    yyssp -= yylen;       this YYERROR.  */
6126      YYPOPSTACK (yylen);
6127      yylen = 0;
6128      YY_STACK_PRINT (yyss, yyssp);
6129    yystate = *yyssp;    yystate = *yyssp;
6130    goto yyerrlab1;    goto yyerrlab1;
6131    
# Line 4679  yyerrlab1: Line 6155  yyerrlab1:
6155          YYABORT;          YYABORT;
6156    
6157    
6158        yydestruct ("Error: popping", yystos[yystate], yyvsp);        yydestruct ("Error: popping",
6159        YYPOPSTACK;                    yystos[yystate], yyvsp);
6160          YYPOPSTACK (1);
6161        yystate = *yyssp;        yystate = *yyssp;
6162        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
6163      }      }
# Line 4691  yyerrlab1: Line 6168  yyerrlab1:
6168    *++yyvsp = yylval;    *++yyvsp = yylval;
6169    
6170    
6171    /* Shift the error token. */    /* Shift the error token.  */
6172    YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);    YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6173    
6174    yystate = yyn;    yystate = yyn;
# Line 4709  yyacceptlab: Line 6186  yyacceptlab:
6186  | yyabortlab -- YYABORT comes here.  |  | yyabortlab -- YYABORT comes here.  |
6187  `-----------------------------------*/  `-----------------------------------*/
6188  yyabortlab:  yyabortlab:
   yydestruct ("Error: discarding lookahead",  
               yytoken, &yylval);  
   yychar = YYEMPTY;  
6189    yyresult = 1;    yyresult = 1;
6190    goto yyreturn;    goto yyreturn;
6191    
6192  #ifndef yyoverflow  #ifndef yyoverflow
6193  /*----------------------------------------------.  /*-------------------------------------------------.
6194  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
6195  `----------------------------------------------*/  `-------------------------------------------------*/
6196  yyoverflowlab:  yyexhaustedlab:
6197    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
6198    yyresult = 2;    yyresult = 2;
6199    /* Fall through.  */    /* Fall through.  */
6200  #endif  #endif
6201    
6202  yyreturn:  yyreturn:
6203      if (yychar != YYEOF && yychar != YYEMPTY)
6204         yydestruct ("Cleanup: discarding lookahead",
6205                     yytoken, &yylval);
6206      /* Do not reclaim the symbols of the rule which action triggered
6207         this YYABORT or YYACCEPT.  */
6208      YYPOPSTACK (yylen);
6209      YY_STACK_PRINT (yyss, yyssp);
6210      while (yyssp != yyss)
6211        {
6212          yydestruct ("Cleanup: popping",
6213                      yystos[*yyssp], yyvsp);
6214          YYPOPSTACK (1);
6215        }
6216  #ifndef yyoverflow  #ifndef yyoverflow
6217    if (yyss != yyssa)    if (yyss != yyssa)
6218      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
6219  #endif  #endif
6220    return yyresult;  #if YYERROR_VERBOSE
6221      if (yymsg != yymsgbuf)
6222        YYSTACK_FREE (yymsg);
6223    #endif
6224      /* Make sure YYID is used.  */
6225      return YYID (yyresult);
6226  }  }
6227    
6228    
6229  #line 561 "lscp.y"  #line 864 "lscp.y"
6230    
6231    
6232  /**  /**
# Line 4752  void restart(yyparse_param_t* pparam, in Line 6244  void restart(yyparse_param_t* pparam, in
6244      ptr   = 0;      ptr   = 0;
6245  }  }
6246    
   

Legend:
Removed from v.778  
changed lines
  Added in v.1187

  ViewVC Help
Powered by ViewVC