/[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 274 by schoenebeck, Sat Oct 9 00:46:18 2004 UTC revision 1047 by schoenebeck, Mon Feb 19 19:38:04 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* 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 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 26 "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 214 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 121 "y.tab.c"  #line 140 "y.tab.c"
140    
141  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #ifdef short
142    # undef short
143    #endif
144    
145  /* The parser invokes alloca or malloc; define the necessary symbols.  */  #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  # if YYSTACK_USE_ALLOCA  #ifndef YYSIZE_T
173  #  define YYSTACK_ALLOC alloca  # 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  # else
182  #  ifndef YYSTACK_USE_ALLOCA  #  define YYSIZE_T unsigned int
183  #   if defined (alloca) || defined (_ALLOCA_H)  # endif
184  #    define YYSTACK_ALLOC alloca  #endif
185    
186    #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188    #ifndef YY_
189    # 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
195    # ifndef YY_
196    #  define YY_(msgid) msgid
197    # 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.  */
228    
229    # ifdef YYSTACK_USE_ALLOCA
230    #  if YYSTACK_USE_ALLOCA
231    #   ifdef __GNUC__
232    #    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  #    ifdef __GNUC__  #    define YYSTACK_ALLOC alloca
242  #     define YYSTACK_ALLOC __builtin_alloca  #    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  #    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    #  ifndef YYSTACK_ALLOC_MAXIMUM
257        /* The OS might guarantee only one guard page at the bottom of the stack,
258           and a page size can be as small as 4096 bytes.  So we cannot safely
259           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
263  # else  # else
264  #  if defined (__STDC__) || defined (__cplusplus)  #  define YYSTACK_ALLOC YYMALLOC
265    #  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 */  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273  #   define YYSIZE_T size_t  #   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  #  endif
 #  define YYSTACK_ALLOC malloc  
 #  define YYSTACK_FREE free  
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           || (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 yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 168  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) + 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 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 203  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 yysigned_char;  
349  #endif  #endif
350    
351  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state.  */
352  #define YYFINAL  39  #define YYFINAL  46
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   3994  #define YYLAST   4512
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  90  #define YYNNTS  140
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  415  #define YYNRULES  530
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1137  #define YYNSTATES  1671
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,    70,   223,     3,    71,    72,    73,   222,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        74,    75,    76,     6,    77,     7,     5,    78,     8,     9,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        10,    11,    12,    13,    14,    15,    16,    17,    79,    80,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        81,     4,    82,    83,    84,    18,    19,    20,    21,    22,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        43,    85,    86,    87,    88,    89,     2,    44,    45,    46,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        67,    68,    69,    90,    91,    92,    93,     2,    94,    95,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
# Line 268  static const unsigned char yytranslate[] Line 403  static const unsigned char yytranslate[]
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 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,    79,    81,    83,    85,    87,    89,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        91,    93,    95,    97,    99,   101,   103,   105,   107,   109,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       111,   117,   125,   135,   137,   143,   151,   161,   163,   165,       117,   119,   121,   123,   125,   127,   129,   131,   133,   135,
413       171,   177,   185,   195,   203,   213,   215,   221,   229,   235,       137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
414       241,   247,   255,   265,   273,   283,   287,   291,   297,   301,       157,   159,   161,   163,   180,   199,   218,   239,   247,   251,
415       307,   311,   315,   319,   323,   327,   333,   341,   347,   357,       255,   259,   261,   263,   269,   277,   287,   289,   295,   303,
416       363,   369,   375,   381,   387,   391,   397,   399,   401,   403,       313,   315,   317,   323,   329,   337,   347,   355,   365,   367,
417       405,   407,   413,   421,   425,   427,   429,   431,   433,   435,       373,   381,   387,   393,   399,   403,   405,   407,   411,   415,
418       437,   439,   441,   443,   445,   447,   449,   451,   453,   455,       425,   427,   433,   437,   445,   447,   455,   465,   473,   483,
419       457,   459,   461,   463,   465,   468,   472,   477,   482,   484,       487,   495,   507,   517,   527,   531,   535,   541,   545,   551,
420       487,   489,   491,   493,   495,   497,   499,   501,   503,   505,       555,   561,   569,   573,   577,   581,   585,   589,   595,   599,
421       507,   509,   512,   515,   518,   521,   524,   527,   530,   533,       603,   609,   617,   623,   633,   639,   645,   651,   657,   663,
422       536,   538,   540,   542,   544,   546,   548,   550,   552,   554,       669,   675,   681,   687,   693,   694,   697,   701,   707,   709,
423       556,   558,   560,   562,   564,   566,   568,   570,   572,   574,       711,   713,   715,   717,   719,   721,   723,   727,   731,   733,
424       576,   578,   580,   582,   584,   586,   588,   590,   592,   594,       737,   743,   751,   755,   757,   759,   761,   763,   765,   767,
425       596,   598,   600,   602,   604,   606,   608,   610,   612,   614,       769,   771,   773,   775,   777,   779,   781,   783,   785,   787,
426       616,   618,   620,   622,   624,   626,   628,   630,   632,   634,       789,   791,   793,   795,   797,   799,   801,   803,   805,   809,
427       636,   638,   640,   642,   644,   646,   648,   650,   652,   654,       811,   813,   815,   817,   819,   821,   823,   826,   830,   835,
428       656,   658,   660,   662,   664,   666,   668,   670,   672,   674,       840,   842,   845,   847,   849,   851,   853,   855,   857,   859,
429       676,   678,   680,   682,   684,   686,   688,   690,   692,   694,       861,   863,   865,   867,   870,   873,   876,   879,   882,   885,
430       696,   698,   700,   702,   704,   706,   708,   710,   712,   714,       888,   891,   894,   896,   898,   900,   902,   904,   906,   908,
431       716,   718,   720,   722,   724,   726,   728,   730,   732,   734,       910,   912,   914,   916,   918,   920,   922,   924,   926,   928,
432       736,   738,   740,   742,   744,   746,   748,   750,   752,   754,       930,   932,   934,   936,   938,   940,   942,   944,   946,   948,
433       756,   758,   760,   762,   764,   766,   768,   770,   772,   774,       950,   952,   954,   956,   958,   960,   962,   964,   966,   968,
434       776,   778,   780,   782,   784,   786,   788,   790,   792,   794,       970,   972,   974,   976,   978,   980,   982,   984,   986,   988,
435       796,   798,   800,   802,   804,   806,   808,   810,   812,   814,       990,   992,   994,   996,   998,  1000,  1002,  1004,  1006,  1008,
436       816,   818,   820,   822,   824,   826,   828,   830,   832,   834,      1010,  1012,  1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,
437       836,   838,   840,   842,   844,   846,   848,   850,   852,   854,      1030,  1032,  1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,
438       856,   858,   860,   862,   864,   866,   868,   870,   872,   874,      1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,  1066,  1068,
439       876,   878,   880,   882,   884,   886,   888,   890,   892,   894,      1070,  1072,  1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,
440       896,   898,   900,   902,   904,   906,   908,   910,   912,   914,      1090,  1092,  1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,
441       916,   918,   920,   922,   924,   926,   928,   930,   932,   934,      1110,  1112,  1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,
442       936,   938,   940,   942,   944,   946,   948,   950,   952,   954,      1130,  1132,  1134,  1136,  1138,  1140,  1142,  1144,  1146,  1148,
443       956,   958,   960,   962,   964,   966,   968,   970,   972,   974,      1150,  1152,  1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,
444       976,   978,   981,   984,   988,   992,   994,   996,   998,  1002,      1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,
445      1006,  1013,  1021,  1026,  1031,  1035,  1045,  1052,  1056,  1066,      1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,
446      1078,  1086,  1104,  1135,  1144,  1149,  1161,  1174,  1186,  1197,      1210,  1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,
447      1204,  1234,  1255,  1275,  1305,  1325,  1356,  1377,  1395,  1424,      1230,  1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,
448      1452,  1478,  1497,  1515,  1543,  1561,  1577,  1596,  1612,  1623,      1250,  1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,
449      1630,  1636,  1647,  1653,  1667,  1672      1270,  1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,
450        1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,
451        1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,
452        1330,  1332,  1334,  1336,  1339,  1342,  1346,  1350,  1352,  1354,
453        1356,  1360,  1364,  1368,  1374,  1380,  1387,  1395,  1400,  1405,
454        1409,  1414,  1422,  1432,  1439,  1443,  1453,  1465,  1472,  1480,
455        1498,  1529,  1538,  1543,  1569,  1594,  1618,  1641,  1667,  1692,
456        1714,  1735,  1749,  1762,  1774,  1787,  1799,  1817,  1839,  1850,
457        1857,  1867,  1882,  1893,  1923,  1944,  1964,  1994,  2014,  2045,
458        2066,  2084,  2113,  2141,  2167,  2186,  2204,  2232,  2248,  2265,
459        2285,  2306,  2324,  2340,  2359,  2375,  2386,  2402,  2410,  2419,
460        2426,  2433,  2439,  2444,  2449,  2455,  2466,  2472,  2486,  2491,
461        2496
462  };  };
463    
464  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
465  static const short yyrhs[] =  static const yytype_int16 yyrhs[] =
466  {  {
467       228,     0,    -1,   229,   267,    -1,   229,   268,   267,    -1,       228,     0,    -1,   229,   284,    -1,   229,   285,   284,    -1,
468        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
469         3,    -1,   230,   266,    -1,   230,   262,    -1,   230,   258,         3,    -1,   230,   283,    -1,   230,   279,    -1,   230,   275,
470        -1,   269,   266,   281,    -1,   270,   266,   234,    -1,   271,        -1,   286,   283,   232,    -1,   288,   283,   235,    -1,   289,
471       266,   236,    -1,   272,   266,   237,    -1,   273,   266,   242,       283,   236,    -1,   287,   283,   238,    -1,   291,   283,   240,
472        -1,   274,   266,   238,    -1,   277,   266,   281,   266,   252,        -1,   292,   283,   243,    -1,   293,   283,   249,    -1,   294,
473        -1,   278,   266,   235,    -1,   279,   266,   232,    -1,   280,       283,   244,    -1,   299,   283,   237,    -1,   300,   283,   239,
474       266,   233,    -1,   313,   266,   281,   266,   252,    -1,   313,        -1,   301,   283,   233,    -1,   302,   283,   234,    -1,   303,
475        -1,   316,    -1,   284,    -1,   288,    -1,   287,    -1,   286,       283,   281,    -1,   362,   283,   241,    -1,   290,   283,   242,
476        -1,   285,    -1,   314,    -1,   284,    -1,   288,    -1,   287,        -1,   362,    -1,   366,    -1,   304,    -1,   345,    -1,   345,
477        -1,   286,    -1,   285,    -1,   314,    -1,   282,    -1,   299,       283,   269,    -1,   309,    -1,   310,    -1,   311,    -1,   312,
478        -1,   305,   266,   285,   266,   258,    -1,   304,   266,   285,        -1,   317,    -1,   321,    -1,   320,    -1,   319,    -1,   318,
479       266,   258,   266,   258,    -1,   304,   266,   285,   266,   258,        -1,   313,    -1,   314,    -1,   315,    -1,   316,    -1,   363,
480       266,   258,   266,   240,    -1,   283,    -1,   295,   266,   285,        -1,   322,    -1,   309,    -1,   310,    -1,   311,    -1,   312,
481       266,   258,    -1,   294,   266,   285,   266,   258,   266,   258,        -1,   317,    -1,   321,    -1,   320,    -1,   319,    -1,   318,
482        -1,   294,   266,   285,   266,   258,   266,   258,   266,   240,        -1,   313,    -1,   314,    -1,   315,    -1,   316,    -1,   363,
483        -1,   292,    -1,   302,    -1,   293,   266,   285,   266,   262,        -1,   322,    -1,   343,   283,   246,   259,   283,   260,   283,
484        -1,   303,   266,   285,   266,   262,    -1,   306,   266,   285,       261,   283,   267,   283,   268,   283,   265,   283,   263,    -1,
485       266,   262,   266,   262,    -1,   301,   266,   285,   266,   262,       343,   283,   246,   259,   283,   260,   283,   261,   283,   267,
486       266,   262,   266,   258,    -1,   297,   266,   285,   266,   262,       283,   268,   283,   265,   283,   263,   283,   252,    -1,   343,
487       266,   262,    -1,   296,   266,   285,   266,   262,   266,   262,       283,   246,   259,   283,   260,   283,   261,   283,   267,   283,
488       266,   258,    -1,   284,    -1,   281,   266,   285,   266,   252,       268,   283,   265,   283,   263,   283,   270,    -1,   343,   283,
489        -1,   281,   266,   286,   266,   241,   266,   252,    -1,   281,       246,   259,   283,   260,   283,   261,   283,   267,   283,   268,
490       266,   287,   266,   252,    -1,   281,   266,   288,   266,   252,       283,   265,   283,   263,   283,   252,   283,   270,    -1,   343,
491        -1,   290,   266,   285,   266,   254,    -1,   291,   266,   262,       283,   259,   283,   260,   283,   261,    -1,   304,   283,   264,
492       266,   258,     4,   256,    -1,   296,   266,   262,   266,   262,        -1,   345,   283,   259,    -1,   345,   283,   295,    -1,   305,
493       266,   258,     4,   256,    -1,   300,   266,   262,   266,   258,        -1,   337,    -1,   347,   283,   308,   283,   275,    -1,   342,
494         4,   256,    -1,   301,   266,   262,   266,   262,   266,   258,       283,   308,   283,   275,   283,   275,    -1,   342,   283,   308,
495         4,   256,    -1,   281,   266,   239,    -1,   315,   266,   257,       283,   275,   283,   275,   283,   247,    -1,   306,    -1,   333,
496        -1,   293,   266,   258,   266,   240,    -1,   293,   266,   258,       283,   308,   283,   275,    -1,   332,   283,   308,   283,   275,
497        -1,   303,   266,   258,   266,   240,    -1,   303,   266,   258,       283,   275,    -1,   332,   283,   308,   283,   275,   283,   275,
498        -1,   293,   266,   262,    -1,   303,   266,   262,    -1,   289,       283,   247,    -1,   330,    -1,   340,    -1,   331,   283,   308,
499       266,   243,    -1,   290,   266,   244,    -1,   293,   266,   252,       283,   279,    -1,   341,   283,   308,   283,   279,    -1,   348,
500       266,   245,    -1,   297,   266,   252,   266,   246,   266,   246,       283,   308,   283,   279,   283,   279,    -1,   339,   283,   308,
501        -1,   298,   266,   252,   266,   247,    -1,   309,   266,   252,       283,   279,   283,   279,   283,   275,    -1,   335,   283,   308,
502       266,   245,   266,   248,   266,   249,    -1,   303,   266,   252,       283,   279,   283,   279,    -1,   334,   283,   308,   283,   279,
503       266,   245,    -1,   306,   266,   252,   266,   248,    -1,   307,       283,   279,   283,   275,    -1,   307,    -1,   304,   283,   308,
504       266,   252,   266,   249,    -1,   308,   266,   252,   266,   250,       283,   264,    -1,   304,   283,   319,   283,   248,   283,   264,
505        -1,   310,   266,   252,   266,   251,    -1,   258,     4,   256,        -1,   304,   283,   320,   283,   264,    -1,   304,   283,   321,
506        -1,   240,   266,   258,     4,   256,    -1,   311,    -1,   312,       283,   264,    -1,   325,   283,   308,   283,   267,    -1,   355,
507        -1,   292,    -1,   302,    -1,   284,    -1,   255,   266,   253,       283,   308,    -1,   322,    -1,   323,    -1,   344,   283,   259,
508       266,   252,    -1,   276,   266,   255,   266,   253,   266,   252,        -1,   344,   283,   295,    -1,   343,   283,   308,   283,   259,
509        -1,   254,   266,   252,    -1,   262,    -1,   262,    -1,   258,       283,   260,   283,   261,    -1,   346,    -1,   345,   283,   308,
510        -1,   262,    -1,   262,    -1,   275,    -1,   258,    -1,   259,       283,   259,    -1,   354,   283,   264,    -1,   353,   283,   308,
511        -1,   262,    -1,   262,    -1,   262,    -1,   258,    -1,   265,       283,   264,   283,   266,    -1,   356,    -1,   329,   283,   279,
512        -1,   258,    -1,   265,    -1,   262,    -1,   259,    -1,   262,       283,   275,     4,   272,    -1,   334,   283,   279,   283,   279,
513        -1,   258,    -1,   263,    -1,   258,   263,    -1,   260,     5,       283,   275,     4,   272,    -1,   338,   283,   279,   283,   275,
514       260,    -1,     6,   260,     5,   260,    -1,     7,   260,     5,         4,   272,    -1,   339,   283,   279,   283,   279,   283,   275,
515       260,    -1,   261,    -1,   260,   261,    -1,     8,    -1,     9,         4,   272,    -1,   304,   283,   245,    -1,   345,   283,   364,
516        -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,       283,   259,   283,   269,    -1,   353,   283,   335,   283,   264,
517        -1,    15,    -1,    16,    -1,    17,    -1,   261,    -1,     9,       283,   266,   283,   254,   283,   254,    -1,   353,   283,   352,
518       260,    -1,    10,   260,    -1,    11,   260,    -1,    12,   260,       283,   264,   283,   266,   283,   262,    -1,   353,   283,   357,
519        -1,    13,   260,    -1,    14,   260,    -1,    15,   260,    -1,       283,   264,   283,   266,   283,   263,    -1,   365,   283,   274,
520        16,   260,    -1,    17,   260,    -1,    18,    -1,    19,    -1,        -1,   356,   283,   263,    -1,   331,   283,   275,   283,   247,
521        20,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,        -1,   331,   283,   275,    -1,   341,   283,   275,   283,   247,
522        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,        -1,   341,   283,   275,    -1,   353,   283,   264,   283,   262,
523        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,        -1,   353,   283,   264,   283,   262,   283,   271,    -1,   304,
524        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,       283,   264,    -1,   344,   283,   259,    -1,   344,   283,   295,
525        40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,        -1,   331,   283,   279,    -1,   341,   283,   279,    -1,   353,
526        45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,       283,   264,   283,   266,    -1,   324,   283,   250,    -1,   325,
527        50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,       283,   251,    -1,   331,   283,   264,   283,   253,    -1,   335,
528        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,       283,   264,   283,   254,   283,   254,    -1,   336,   283,   264,
529        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,       283,   255,    -1,   351,   283,   264,   283,   253,   283,   256,
530        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,       283,   257,    -1,   341,   283,   264,   283,   253,    -1,   348,
531         8,    -1,     9,    -1,    10,    -1,    11,    -1,    12,    -1,       283,   264,   283,   256,    -1,   349,   283,   264,   283,   257,
532        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,        -1,   350,   283,   264,   283,   258,    -1,   356,   283,   264,
533        70,    -1,     3,    -1,    71,    -1,    72,    -1,    73,    -1,       283,   263,    -1,   358,   283,   264,   283,   274,    -1,   359,
534        74,    -1,    75,    -1,    76,    -1,     6,    -1,     7,    -1,       283,   264,   283,   274,    -1,   345,   283,   264,   283,   259,
535         5,    -1,    77,    -1,    78,    -1,    79,    -1,    80,    -1,        -1,   345,   283,   264,   283,   296,    -1,   345,   283,   264,
536        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,       283,   297,    -1,    -1,   298,   283,    -1,   275,     4,   272,
537        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,        -1,   247,   283,   275,     4,   272,    -1,   360,    -1,   361,
538        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,        -1,   330,    -1,   340,    -1,   307,    -1,   305,    -1,   337,
539        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,        -1,   306,    -1,   344,   283,   259,    -1,   344,   283,   295,
540       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,        -1,   346,    -1,   354,   283,   264,    -1,   268,   283,   265,
541       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,       283,   264,    -1,   298,   283,   268,   283,   265,   283,   264,
542       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,        -1,   267,   283,   264,    -1,   326,    -1,   327,    -1,   328,
543       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,        -1,   279,    -1,   279,    -1,   275,    -1,   279,    -1,   279,
544       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,        -1,   295,    -1,   275,    -1,   279,    -1,   279,    -1,   279,
545       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,        -1,   279,    -1,   276,    -1,   279,    -1,   279,    -1,   279,
546       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,        -1,   279,    -1,   275,    -1,   282,    -1,   282,    -1,   282,
547       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,        -1,   282,    -1,   273,    -1,   272,     5,   273,    -1,   275,
548       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,        -1,   282,    -1,   279,    -1,   276,    -1,   279,    -1,   275,
549       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,        -1,   280,    -1,   275,   280,    -1,   277,     6,   277,    -1,
550       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,         7,   277,     6,   277,    -1,     8,   277,     6,   277,    -1,
551       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,       278,    -1,   277,   278,    -1,     9,    -1,    10,    -1,    11,
552       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,        -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,
553       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,        -1,    17,    -1,    18,    -1,   278,    -1,    10,   277,    -1,
554       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,        11,   277,    -1,    12,   277,    -1,    13,   277,    -1,    14,
555       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,       277,    -1,    15,   277,    -1,    16,   277,    -1,    17,   277,
556       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,        -1,    18,   277,    -1,    19,    -1,    20,    -1,    21,    -1,
557       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,        22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,
558       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,        27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,    -1,
559       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,        32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,
560       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,        37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,
561       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,        42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,
562       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,        47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,
563       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,        52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,    -1,
564       220,    -1,   221,    -1,   266,    -1,   258,    -1,   264,   266,        57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,
565        -1,   264,   258,    -1,   222,   264,   222,    -1,   223,   264,        62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,    -1,
566       223,    -1,   224,    -1,   225,    -1,   226,    -1,    18,    21,        67,    -1,    68,    -1,    69,    -1,    70,    -1,     9,    -1,
567        21,    -1,    24,    22,    37,    -1,    20,    35,    22,    18,        10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,
568        37,    22,    -1,    21,    22,    36,    37,    35,    32,    42,        15,    -1,    16,    -1,    17,    -1,    18,    -1,    71,    -1,
569        -1,    29,    26,    36,    37,    -1,    29,    32,    18,    21,         3,    -1,    72,    -1,    73,    -1,    74,    -1,    75,    -1,
570        -1,    18,    29,    29,    -1,    31,    32,    31,    89,    30,        76,    -1,    77,    -1,     7,    -1,     8,    -1,     6,    -1,
571        32,    21,    18,    29,    -1,    35,    22,    30,    32,    39,         5,    -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,
572        22,    -1,    36,    22,    37,    -1,    36,    38,    19,    36,         4,    -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,
573        20,    35,    26,    19,    22,    -1,    38,    31,    36,    38,        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,
574        19,    36,    20,    35,    26,    19,    22,    -1,    20,    25,        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,
575        18,    31,    31,    22,    29,    -1,    18,    39,    18,    26,        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,
576        29,    18,    19,    29,    22,    89,    22,    31,    24,    26,       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,
577        31,    22,    36,    -1,    18,    39,    18,    26,    29,    18,       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,
578        19,    29,    22,    89,    18,    38,    21,    26,    32,    89,       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,
579        32,    38,    37,    33,    38,    37,    89,    21,    35,    26,       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,
580        39,    22,    35,    36,    -1,    20,    25,    18,    31,    31,       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,
581        22,    29,    36,    -1,    26,    31,    23,    32,    -1,    19,       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,
582        38,    23,    23,    22,    35,    89,    23,    26,    29,    29,       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,
583        -1,    36,    37,    35,    22,    18,    30,    89,    20,    32,       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,
584        38,    31,    37,    -1,    39,    32,    26,    20,    22,    89,       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,
585        20,    32,    38,    31,    37,    -1,    26,    31,    36,    37,       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,
586        35,    38,    30,    22,    31,    37,    -1,    22,    31,    24,       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,
587        26,    31,    22,    -1,    18,    38,    21,    26,    32,    89,       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,
588        32,    38,    37,    33,    38,    37,    89,    21,    22,    39,       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,
589        26,    20,    22,    89,    33,    18,    35,    18,    30,    22,       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,
590        37,    22,    35,    -1,    18,    38,    21,    26,    32,    89,       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,
591        32,    38,    37,    33,    38,    37,    89,    21,    22,    39,       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,
592        26,    20,    22,    36,    -1,    18,    38,    21,    26,    32,       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,
593        89,    32,    38,    37,    33,    38,    37,    89,    21,    22,       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,
594        39,    26,    20,    22,    -1,    18,    38,    21,    26,    32,       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,
595        89,    32,    38,    37,    33,    38,    37,    89,    21,    35,       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,
596        26,    39,    22,    35,    89,    33,    18,    35,    18,    30,       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,
597        22,    37,    22,    35,    -1,    18,    38,    21,    26,    32,       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,
598        89,    32,    38,    37,    33,    38,    37,    89,    21,    35,       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,
599        26,    39,    22,    35,    -1,    18,    38,    21,    26,    32,       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,
600        89,    32,    38,    37,    33,    38,    37,    89,    20,    25,       221,    -1,   283,    -1,   275,    -1,   281,   283,    -1,   281,
601        18,    31,    31,    22,    29,    89,    33,    18,    35,    18,       275,    -1,   222,   281,   222,    -1,   223,   281,   223,    -1,
602        30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,       224,    -1,   225,    -1,   226,    -1,    19,    22,    22,    -1,
603        32,    89,    32,    38,    37,    33,    38,    37,    89,    20,        25,    23,    38,    -1,    31,    19,    34,    -1,    39,    32,
604        25,    18,    31,    31,    22,    29,    -1,    18,    38,    21,        31,    19,    34,    -1,    21,    30,    23,    19,    36,    -1,
605        26,    32,    89,    32,    38,    37,    33,    38,    37,    89,        21,    36,    23,    19,    38,    23,    -1,    22,    23,    37,
606        37,    42,    33,    22,    -1,    18,    39,    18,    26,    29,        38,    36,    33,    43,    -1,    30,    27,    37,    38,    -1,
607        18,    19,    29,    22,    89,    30,    26,    21,    26,    89,        30,    33,    19,    22,    -1,    19,    30,    30,    -1,    32,
608        26,    31,    33,    38,    37,    89,    21,    35,    26,    39,        33,    32,    23,    -1,    22,    23,    24,    19,    39,    30,
609        22,    35,    36,    -1,    30,    26,    21,    26,    89,    26,        38,    -1,    32,    33,    32,    89,    31,    33,    22,    19,
610        31,    33,    38,    37,    89,    21,    22,    39,    26,    20,        30,    -1,    36,    23,    31,    33,    40,    23,    -1,    37,
611        22,    89,    33,    18,    35,    18,    30,    22,    37,    22,        23,    38,    -1,    37,    39,    20,    37,    21,    36,    27,
612        35,    -1,    30,    26,    21,    26,    89,    26,    31,    33,        20,    23,    -1,    39,    32,    37,    39,    20,    37,    21,
613        38,    37,    89,    33,    32,    35,    37,    89,    33,    18,        36,    27,    20,    23,    -1,    37,    23,    30,    23,    21,
614        35,    18,    30,    22,    37,    22,    35,    -1,    30,    26,        38,    -1,    21,    26,    19,    32,    32,    23,    30,    -1,
615        21,    26,    89,    26,    31,    33,    38,    37,    89,    21,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
616        22,    39,    26,    20,    22,    36,    -1,    30,    26,    21,        23,    32,    25,    27,    32,    23,    37,    -1,    19,    40,
617        26,    89,    26,    31,    33,    38,    37,    89,    21,    22,        19,    27,    30,    19,    20,    30,    23,    89,    19,    39,
618        39,    26,    20,    22,    -1,    30,    26,    21,    26,    89,        22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
619        26,    31,    33,    38,    37,    89,    21,    35,    26,    39,        89,    22,    36,    27,    40,    23,    36,    37,    -1,    21,
620        22,    35,    89,    33,    18,    35,    18,    30,    22,    37,        26,    19,    32,    32,    23,    30,    37,    -1,    27,    32,
621        22,    35,    -1,    30,    26,    21,    26,    89,    26,    31,        24,    33,    -1,    19,    39,    22,    27,    33,    89,    33,
622        33,    38,    37,    89,    21,    35,    26,    39,    22,    35,        39,    38,    34,    39,    38,    89,    22,    23,    40,    27,
623        -1,    30,    26,    21,    26,    89,    26,    31,    33,    38,        21,    23,    89,    21,    33,    39,    32,    38,    -1,    19,
624        37,    89,    33,    32,    35,    37,    -1,    30,    26,    21,        39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
625        26,    89,    26,    31,    33,    38,    37,    89,    20,    25,        38,    89,    22,    23,    40,    27,    21,    23,    89,    27,
626        18,    31,    31,    22,    29,    -1,    30,    26,    21,    26,        32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
627        89,    26,    31,    33,    38,    37,    89,    37,    42,    33,        32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
628        22,    -1,    30,    26,    21,    26,    89,    26,    31,    33,        23,    89,    21,    33,    39,    32,    38,    -1,    31,    27,
629        38,    37,    -1,    39,    32,    29,    38,    30,    22,    -1,        22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
630        19,    42,    37,    22,    36,    -1,    33,    22,    35,    20,        23,    40,    27,    21,    23,    89,    27,    32,    24,    33,
631        22,    31,    37,    18,    24,    22,    -1,    35,    22,    36,        -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
632        22,    37,    -1,    30,    26,    36,    20,    22,    29,    29,        36,    39,    31,    23,    32,    38,    89,    31,    19,    34,
633        18,    31,    22,    32,    38,    36,    -1,    22,    20,    25,        89,    21,    33,    39,    32,    38,    -1,    31,    27,    22,
634        32,    -1,    34,    38,    26,    37,    -1        27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
635          32,    38,    89,    31,    19,    34,    89,    27,    32,    24,
636          33,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
637          38,    36,    39,    31,    23,    32,    38,    89,    21,    33,
638          39,    32,    38,    -1,    31,    27,    22,    27,    89,    27,
639          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
640          27,    32,    24,    33,    -1,    21,    26,    19,    32,    32,
641          23,    30,    89,    21,    33,    39,    32,    38,    -1,    21,
642          26,    19,    32,    32,    23,    30,    89,    27,    32,    24,
643          33,    -1,    20,    39,    24,    24,    23,    36,    89,    24,
644          27,    30,    30,    -1,    37,    38,    36,    23,    19,    31,
645          89,    21,    33,    39,    32,    38,    -1,    40,    33,    27,
646          21,    23,    89,    21,    33,    39,    32,    38,    -1,    38,
647          33,    38,    19,    30,    89,    40,    33,    27,    21,    23,
648          89,    21,    33,    39,    32,    38,    -1,    38,    33,    38,
649          19,    30,    89,    40,    33,    27,    21,    23,    89,    21,
650          33,    39,    32,    38,    89,    31,    19,    42,    -1,    27,
651          32,    37,    38,    36,    39,    31,    23,    32,    38,    -1,
652          23,    32,    25,    27,    32,    23,    -1,    33,    32,    89,
653          22,    23,    31,    19,    32,    22,    -1,    33,    32,    89,
654          22,    23,    31,    19,    32,    22,    89,    26,    33,    30,
655          22,    -1,    34,    23,    36,    37,    27,    37,    38,    23,
656          32,    38,    -1,    19,    39,    22,    27,    33,    89,    33,
657          39,    38,    34,    39,    38,    89,    22,    23,    40,    27,
658          21,    23,    89,    34,    19,    36,    19,    31,    23,    38,
659          23,    36,    -1,    19,    39,    22,    27,    33,    89,    33,
660          39,    38,    34,    39,    38,    89,    22,    23,    40,    27,
661          21,    23,    37,    -1,    19,    39,    22,    27,    33,    89,
662          33,    39,    38,    34,    39,    38,    89,    22,    23,    40,
663          27,    21,    23,    -1,    19,    39,    22,    27,    33,    89,
664          33,    39,    38,    34,    39,    38,    89,    22,    36,    27,
665          40,    23,    36,    89,    34,    19,    36,    19,    31,    23,
666          38,    23,    36,    -1,    19,    39,    22,    27,    33,    89,
667          33,    39,    38,    34,    39,    38,    89,    22,    36,    27,
668          40,    23,    36,    -1,    19,    39,    22,    27,    33,    89,
669          33,    39,    38,    34,    39,    38,    89,    21,    26,    19,
670          32,    32,    23,    30,    89,    34,    19,    36,    19,    31,
671          23,    38,    23,    36,    -1,    19,    39,    22,    27,    33,
672          89,    33,    39,    38,    34,    39,    38,    89,    21,    26,
673          19,    32,    32,    23,    30,    -1,    19,    39,    22,    27,
674          33,    89,    33,    39,    38,    34,    39,    38,    89,    38,
675          43,    34,    23,    -1,    19,    40,    19,    27,    30,    19,
676          20,    30,    23,    89,    31,    27,    22,    27,    89,    27,
677          32,    34,    39,    38,    89,    22,    36,    27,    40,    23,
678          36,    37,    -1,    31,    27,    22,    27,    89,    27,    32,
679          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
680          89,    34,    19,    36,    19,    31,    23,    38,    23,    36,
681          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
682          38,    89,    34,    33,    36,    38,    89,    34,    19,    36,
683          19,    31,    23,    38,    23,    36,    -1,    31,    27,    22,
684          27,    89,    27,    32,    34,    39,    38,    89,    22,    23,
685          40,    27,    21,    23,    37,    -1,    31,    27,    22,    27,
686          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
687          27,    21,    23,    -1,    31,    27,    22,    27,    89,    27,
688          32,    34,    39,    38,    89,    22,    36,    27,    40,    23,
689          36,    89,    34,    19,    36,    19,    31,    23,    38,    23,
690          36,    -1,    31,    27,    22,    27,    89,    27,    32,    37,
691          38,    36,    39,    31,    23,    32,    38,    -1,    31,    27,
692          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
693          23,    32,    38,    37,    -1,    31,    27,    22,    27,    89,
694          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
695          89,    31,    19,    34,    -1,    31,    27,    22,    27,    89,
696          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
697          89,    31,    19,    34,    37,    -1,    31,    27,    22,    27,
698          89,    27,    32,    34,    39,    38,    89,    22,    36,    27,
699          40,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
700          32,    34,    39,    38,    89,    34,    33,    36,    38,    -1,
701          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
702          89,    21,    26,    19,    32,    32,    23,    30,    -1,    31,
703          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
704          38,    43,    34,    23,    -1,    31,    27,    22,    27,    89,
705          27,    32,    34,    39,    38,    -1,    31,    27,    22,    27,
706          89,    21,    33,    32,    38,    36,    33,    30,    30,    23,
707          36,    -1,    24,    42,    89,    37,    23,    32,    22,    -1,
708          24,    42,    89,    37,    23,    32,    22,    37,    -1,    37,
709          23,    36,    40,    23,    36,    -1,    40,    33,    30,    39,
710          31,    23,    -1,    30,    23,    40,    23,    30,    -1,    31,
711          39,    38,    23,    -1,    37,    33,    30,    33,    -1,    20,
712          43,    38,    23,    37,    -1,    34,    23,    36,    21,    23,
713          32,    38,    19,    25,    23,    -1,    36,    23,    37,    23,
714          38,    -1,    31,    27,    37,    21,    23,    30,    30,    19,
715          32,    23,    33,    39,    37,    -1,    32,    19,    31,    23,
716          -1,    23,    21,    26,    33,    -1,    35,    39,    27,    38,
717          -1
718  };  };
719    
720  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
721  static const unsigned short yyrline[] =  static const yytype_uint16 yyrline[] =
722  {  {
723         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
724        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
725       105,   106,   107,   108,   109,   110,   113,   114,   115,   116,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
726       117,   118,   121,   122,   123,   124,   125,   126,   129,   130,       133,   134,   135,   138,   139,   140,   141,   142,   143,   144,
727       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       145,   146,   147,   148,   149,   150,   151,   152,   155,   156,
728       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
729       151,   154,   155,   156,   157,   158,   159,   162,   163,   164,       167,   168,   169,   172,   173,   174,   175,   178,   181,   182,
730       165,   168,   169,   172,   173,   176,   177,   178,   179,   180,       183,   186,   187,   188,   189,   190,   191,   192,   193,   194,
731       181,   182,   183,   184,   187,   188,   191,   192,   195,   196,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
732       197,   200,   201,   204,   207,   210,   213,   216,   219,   220,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
733       223,   226,   227,   230,   233,   236,   239,   242,   243,   244,       215,   216,   217,   218,   219,   222,   223,   224,   225,   226,
734       245,   251,   252,   255,   256,   259,   260,   261,   265,   266,       227,   228,   229,   230,   231,   232,   235,   236,   237,   238,
735       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,       239,   240,   243,   246,   247,   250,   251,   252,   255,   256,
736       281,   282,   283,   284,   285,   286,   287,   288,   289,   290,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
737       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       269,   270,   271,   272,   275,   276,   279,   280,   283,   284,
738       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
739       292,   292,   292,   292,   292,   292,   293,   293,   293,   293,       299,   300,   303,   306,   307,   308,   311,   314,   317,   320,
740       293,   293,   293,   293,   293,   293,   293,   293,   293,   293,       323,   324,   327,   330,   333,   336,   339,   342,   343,   346,
741       293,   293,   293,   293,   293,   293,   293,   293,   293,   293,       349,   352,   355,   358,   361,   364,   367,   370,   371,   374,
742       293,   293,   294,   294,   294,   294,   294,   294,   294,   294,       375,   376,   377,   385,   386,   389,   390,   393,   394,   395,
743       294,   294,   295,   295,   295,   295,   295,   295,   295,   295,       399,   400,   403,   404,   405,   406,   407,   408,   409,   410,
744       295,   295,   295,   295,   295,   296,   296,   296,   296,   296,       411,   412,   415,   416,   417,   418,   419,   420,   421,   422,
745       296,   296,   297,   297,   297,   297,   297,   298,   298,   298,       423,   424,   426,   426,   426,   426,   426,   426,   426,   426,
746       298,   299,   299,   299,   300,   300,   300,   301,   301,   301,       426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
747       302,   302,   302,   303,   303,   303,   304,   304,   304,   305,       426,   426,   426,   426,   426,   426,   426,   426,   427,   427,
748       305,   305,   306,   306,   306,   307,   307,   307,   308,   308,       427,   427,   427,   427,   427,   427,   427,   427,   427,   427,
749       308,   309,   309,   309,   310,   310,   310,   311,   311,   311,       427,   427,   427,   427,   427,   427,   427,   427,   427,   427,
750       312,   312,   312,   313,   313,   313,   314,   314,   314,   315,       427,   427,   427,   427,   428,   428,   428,   428,   428,   428,
751       315,   315,   316,   316,   316,   317,   317,   317,   318,   318,       428,   428,   428,   428,   429,   429,   429,   429,   429,   429,
752       318,   319,   319,   319,   320,   320,   320,   321,   321,   321,       429,   429,   429,   429,   429,   429,   429,   430,   430,   430,
753       322,   322,   322,   323,   323,   323,   324,   324,   324,   325,       430,   430,   430,   430,   431,   431,   431,   431,   431,   432,
754       325,   325,   326,   326,   326,   327,   327,   327,   328,   328,       432,   432,   432,   433,   433,   433,   434,   434,   434,   435,
755       328,   329,   329,   329,   330,   330,   330,   331,   331,   331,       435,   435,   436,   436,   436,   437,   437,   437,   438,   438,
756       332,   332,   332,   333,   333,   333,   334,   334,   334,   335,       438,   439,   439,   439,   440,   440,   440,   441,   441,   441,
757       335,   335,   336,   336,   336,   337,   337,   337,   338,   338,       442,   442,   442,   443,   443,   443,   444,   444,   444,   445,
758       338,   339,   339,   339,   340,   340,   340,   341,   341,   344,       445,   445,   446,   446,   446,   447,   447,   447,   448,   448,
759       345,   346,   347,   350,   351,   357,   360,   363,   366,   369,       448,   449,   449,   449,   450,   450,   450,   451,   451,   451,
760       372,   375,   378,   381,   384,   387,   390,   393,   396,   399,       452,   452,   452,   453,   453,   453,   454,   454,   454,   455,
761       402,   405,   408,   411,   414,   417,   420,   423,   426,   429,       455,   455,   456,   456,   456,   457,   457,   457,   458,   458,
762       432,   435,   438,   441,   444,   447,   450,   453,   456,   459,       458,   459,   459,   459,   460,   460,   460,   461,   461,   461,
763       462,   465,   468,   471,   474,   477,   480,   483,   486,   489,       462,   462,   462,   463,   463,   463,   464,   464,   464,   465,
764       492,   495,   498,   501,   504,   507       465,   465,   466,   466,   466,   467,   467,   467,   468,   468,
765         468,   469,   469,   469,   470,   470,   470,   471,   471,   471,
766         472,   472,   472,   473,   473,   473,   474,   474,   474,   475,
767         475,   478,   479,   480,   481,   484,   485,   491,   494,   497,
768         500,   503,   506,   509,   512,   515,   518,   521,   524,   527,
769         530,   533,   536,   539,   542,   545,   548,   551,   554,   557,
770         560,   563,   566,   569,   572,   575,   578,   581,   584,   587,
771         590,   593,   596,   599,   602,   605,   608,   611,   614,   617,
772         620,   623,   626,   629,   632,   635,   638,   641,   644,   647,
773         650,   653,   656,   659,   662,   665,   668,   671,   674,   677,
774         680,   683,   686,   689,   692,   695,   698,   701,   704,   707,
775         710,   713,   716,   719,   722,   725,   728,   731,   734,   737,
776         740
777  };  };
778  #endif  #endif
779    
780  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
781  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
782     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
783  static const char *const yytname[] =  static const char *const yytname[] =
784  {  {
785    "$end", "error", "$undefined", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
786    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
787    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
788    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
789    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
790    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
791    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
792    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "','", "'/'",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
793    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
794    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
795    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
796    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
797    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
798    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
799    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'",
800    "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'",    "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'",
801    "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'",    "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'",
802    "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'",    "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'",
803    "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'",    "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'",
804    "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'",    "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'",
805    "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'",    "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'",
806    "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'",    "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'",
807    "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'",    "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'",
808    "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'",    "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'",
809    "'ü'", "'ý'", "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'",    "'ü'", "'ý'", "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'",
810    "$accept", "input", "line", "comment", "command", "subscribe_event",    "$accept", "input", "line", "comment", "command", "add_instruction",
811    "unsubscribe_event", "get_instruction", "set_instruction",    "subscribe_event", "unsubscribe_event", "map_instruction",
812    "create_instruction", "destroy_instruction", "load_instruction",    "unmap_instruction", "remove_instruction", "get_instruction",
813    "set_chan_instruction", "key_val_list", "buffer_size_type",    "set_instruction", "create_instruction", "reset_instruction",
814    "list_instruction", "load_instr_args", "load_engine_args",    "clear_instruction", "destroy_instruction", "load_instruction",
815    "device_index", "audio_channel_index", "audio_output_type_name",    "set_chan_instruction", "modal_arg", "key_val_list", "buffer_size_type",
816    "midi_input_port_index", "midi_input_channel_index",    "list_instruction", "load_instr_args", "load_engine_args",
817    "midi_input_type_name", "volume_value", "sampler_channel",    "instr_load_mode", "device_index", "audio_channel_index",
818    "instrument_index", "engine_name", "filename", "param_val", "boolean",    "audio_output_type_name", "midi_input_port_index",
819    "string", "dotnum", "digits", "digit", "number", "char", "text",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
820    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
821    "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "instrument_index", "fx_send_id", "engine_name", "filename", "map_name",
822    "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",    "entry_name", "fx_send_name", "param_val_list", "param_val", "boolean",
823    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "string", "dotnum", "digits", "digit", "number", "char", "text",
824    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
825    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
826    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "SELECT",
827    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "CHANNEL", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",
828    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "CHANNELS", "INFO", "AUDIO_OUTPUT_DEVICE_COUNT",
829    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "AUDIO_OUTPUT_DEVICE_INFO", "MIDI_INPUT_DEVICE_COUNT",
830    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "MIDI_INPUT_DEVICE_INFO", "MIDI_INSTRUMENT_MAP_COUNT",
831    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "MIDI_INSTRUMENT_MAP_INFO", "MIDI_INSTRUMENT_COUNT",
832    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "MIDI_INSTRUMENT_INFO", "CHANNEL_COUNT", "CHANNEL_INFO", "BUFFER_FILL",
833    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
834      "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE", "ON_DEMAND",
835      "ON_DEMAND_HOLD", "PERSISTENT", "AUDIO_OUTPUT_DEVICE_PARAMETER",
836      "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",
837      "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",
838      "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",
839      "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",
840      "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",
841      "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",
842      "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS", "MIDI_INSTRUMENT_MAP",
843      "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",
844      "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "MIDI_CONTROLLER",
845      "FX_SEND", "FX_SENDS", "SERVER", "VOLUME", "LEVEL", "MUTE", "SOLO",
846      "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
847  };  };
848  #endif  #endif
849    
850  # ifdef YYPRINT  # ifdef YYPRINT
851  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
852     token YYLEX-NUM.  */     token YYLEX-NUM.  */
853  static const unsigned short yytoknum[] =  static const yytype_uint16 yytoknum[] =
854  {  {
855         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
856        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
857        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
858        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
859        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
860       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
861       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
862        33,    36,    37,    38,    40,    41,    42,    44,    47,    58,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
863        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
864       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
865       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
# Line 624  static const unsigned short yytoknum[] = Line 879  static const unsigned short yytoknum[] =
879  # endif  # endif
880    
881  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
882  static const unsigned short yyr1[] =  static const yytype_uint16 yyr1[] =
883  {  {
884         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
885       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
886       231,   231,   231,   231,   231,   231,   232,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
887       232,   232,   233,   233,   233,   233,   233,   233,   234,   234,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
888       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       233,   233,   233,   233,   233,   233,   233,   233,   234,   234,
889       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
890       234,   235,   235,   235,   235,   235,   235,   236,   236,   236,       234,   234,   234,   235,   235,   235,   235,   236,   237,   237,
891       236,   237,   237,   238,   238,   239,   239,   239,   239,   239,       237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
892       239,   239,   239,   239,   240,   240,   241,   241,   242,   242,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
893       242,   243,   243,   244,   245,   246,   247,   248,   249,   249,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
894       250,   251,   251,   252,   253,   254,   255,   256,   256,   256,       238,   238,   238,   238,   238,   239,   239,   239,   239,   239,
895       256,   257,   257,   258,   258,   259,   259,   259,   260,   260,       239,   239,   239,   239,   239,   239,   240,   240,   240,   240,
896       261,   261,   261,   261,   261,   261,   261,   261,   261,   261,       240,   240,   241,   242,   242,   243,   243,   243,   244,   244,
897       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
898       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       245,   245,   245,   245,   246,   246,   247,   247,   248,   248,
899       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
900       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       250,   250,   251,   252,   252,   252,   253,   254,   255,   256,
901       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       257,   257,   258,   259,   260,   261,   262,   263,   263,   264,
902       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       265,   266,   267,   268,   269,   270,   271,   272,   272,   273,
903       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       273,   273,   273,   274,   274,   275,   275,   276,   276,   276,
904       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       277,   277,   278,   278,   278,   278,   278,   278,   278,   278,
905       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       278,   278,   279,   279,   279,   279,   279,   279,   279,   279,
906       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       279,   279,   280,   280,   280,   280,   280,   280,   280,   280,
907       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
908       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
909       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
910       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
911       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
912       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
913       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
914       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
915       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
916       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
917       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
918       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
919       263,   263,   263,   263,   263,   263,   263,   263,   263,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
920       264,   264,   264,   265,   265,   266,   267,   268,   269,   270,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
921       271,   272,   273,   274,   275,   276,   277,   278,   279,   280,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
922       281,   282,   283,   284,   285,   286,   287,   288,   289,   290,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
923       291,   292,   293,   294,   295,   296,   297,   298,   299,   300,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
924       301,   302,   303,   304,   305,   306,   307,   308,   309,   310,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
925       311,   312,   313,   314,   315,   316       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
926         280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
927         280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
928         280,   281,   281,   281,   281,   282,   282,   283,   284,   285,
929         286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
930         296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
931         306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
932         316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
933         326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
934         336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
935         346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
936         356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
937         366
938  };  };
939    
940  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
941  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
942  {  {
943         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
944         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
945         3,     3,     3,     5,     1,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
946         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
        5,     7,     9,     1,     5,     7,     9,     1,     1,     5,  
        5,     7,     9,     7,     9,     1,     5,     7,     5,     5,  
        5,     7,     9,     7,     9,     3,     3,     5,     3,     5,  
        3,     3,     3,     3,     3,     5,     7,     5,     9,     5,  
        5,     5,     5,     5,     3,     5,     1,     1,     1,     1,  
        1,     5,     7,     3,     1,     1,     1,     1,     1,     1,  
947         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     2,     3,     4,     4,     1,     2,  
948         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
949         1,     2,     2,     2,     2,     2,     2,     2,     2,     2,         1,     1,     1,    16,    18,    18,    20,     7,     3,     3,
950           3,     1,     1,     5,     7,     9,     1,     5,     7,     9,
951           1,     1,     5,     5,     7,     9,     7,     9,     1,     5,
952           7,     5,     5,     5,     3,     1,     1,     3,     3,     9,
953           1,     5,     3,     7,     1,     7,     9,     7,     9,     3,
954           7,    11,     9,     9,     3,     3,     5,     3,     5,     3,
955           5,     7,     3,     3,     3,     3,     3,     5,     3,     3,
956           5,     7,     5,     9,     5,     5,     5,     5,     5,     5,
957           5,     5,     5,     5,     0,     2,     3,     5,     1,     1,
958           1,     1,     1,     1,     1,     1,     3,     3,     1,     3,
959           5,     7,     3,     1,     1,     1,     1,     1,     1,     1,
960         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
961           1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
962           1,     1,     1,     1,     1,     1,     2,     3,     4,     4,
963           1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
964           1,     1,     1,     2,     2,     2,     2,     2,     2,     2,
965           2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
966         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
967         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
968         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 709  static const unsigned char yyr2[] = Line 984  static const unsigned char yyr2[] =
984         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
985         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
986         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
987         1,     2,     2,     3,     3,     1,     1,     1,     3,     3,         1,     1,     1,     2,     2,     3,     3,     1,     1,     1,
988         6,     7,     4,     4,     3,     9,     6,     3,     9,    11,         3,     3,     3,     5,     5,     6,     7,     4,     4,     3,
989         7,    17,    30,     8,     4,    11,    12,    11,    10,     6,         4,     7,     9,     6,     3,     9,    11,     6,     7,    17,
990        29,    20,    19,    29,    19,    30,    20,    17,    28,    27,        30,     8,     4,    25,    24,    23,    22,    25,    24,    21,
991        25,    18,    17,    27,    17,    15,    18,    15,    10,     6,        20,    13,    12,    11,    12,    11,    17,    21,    10,     6,
992         5,    10,     5,    13,     4,     4         9,    14,    10,    29,    20,    19,    29,    19,    30,    20,
993          17,    28,    27,    25,    18,    17,    27,    15,    16,    19,
994          20,    17,    15,    18,    15,    10,    15,     7,     8,     6,
995           6,     5,     4,     4,     5,    10,     5,    13,     4,     4,
996           4
997  };  };
998    
999  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1000     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1001     means the default is an error.  */     means the default is an error.  */
1002  static const unsigned short yydefact[] =  static const yytype_uint16 yydefact[] =
1003  {  {
1004         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1005         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
1006         0,     0,     0,     0,     0,     0,    24,    25,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1007         0,     0,     0,     0,     0,     0,     0,     0,     0,     1,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1008       366,   367,     2,     0,     9,   218,   212,   210,   211,   120,         0,     0,     0,     0,     0,     0,     1,   448,   449,     2,
1009       121,   122,   123,   124,   125,   126,   127,   128,   129,   140,         0,     9,   300,   295,   294,   292,   293,   202,   203,   204,
1010       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       205,   206,   207,   208,   209,   210,   211,   222,   223,   224,
1011       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1012       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1013       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1014       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1015       191,   202,   204,   205,   206,   207,   208,   209,   213,   214,       265,   266,   267,   268,   269,   270,   271,   272,   273,   284,
1016       215,   216,   217,   219,   220,   221,   222,   223,   224,   225,       286,   287,   288,   289,   290,   291,   296,   297,   298,   299,
1017       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1018       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
1019       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
1020       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,       331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
1021       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,       341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
1022       276,   277,   278,   279,   280,   281,   282,   283,   284,   285,       351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
1023       286,   287,   288,   289,   290,   291,   292,   293,   294,   295,       361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
1024       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
1025       306,   307,   308,   309,   310,   311,   312,   313,   314,   315,       381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
1026       316,   317,   318,   319,   320,   321,   322,   323,   324,   325,       391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
1027       326,   327,   328,   329,   330,   331,   332,   333,   334,   335,       401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
1028       336,   337,   338,   339,   340,   341,   342,   343,   344,   345,       411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
1029       346,   347,   348,   349,   350,   351,   352,   353,   354,   355,       421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
1030       356,   357,   358,   365,    12,   130,    11,   113,    10,     0,       431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
1031         447,    12,   212,    11,   195,    10,     0,     0,     0,     0,
1032           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1033           0,   450,     0,     0,     0,   451,     0,     0,   452,     0,
1034           0,     0,     0,   464,     0,     0,     0,     3,   202,   203,
1035         204,   205,   206,   207,   208,   209,   210,   211,   213,   200,
1036         214,   215,   216,   217,   218,   219,   220,   221,   285,   274,
1037         275,   276,   277,   278,   279,   280,   281,   282,   283,   196,
1038           0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
1039           0,     0,     0,    16,     0,    71,    76,    88,    95,    96,
1040           0,    80,     0,     0,     0,     0,     0,    72,     0,    81,
1041           0,     0,     0,     0,     0,   100,     0,     0,     0,     0,
1042           0,   104,     0,    14,     0,    15,     0,     0,    27,     0,
1043           0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1044           0,     0,     0,     0,     0,    19,   153,   155,   152,   150,
1045         154,   151,     0,   158,     0,     0,    20,     0,     0,    21,
1046           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
1047         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1048       368,     0,     0,   369,     0,     0,     0,     0,     0,   377,         0,     0,    23,    33,    34,    35,    36,    42,    43,    44,
1049         0,     0,     3,   120,   121,   122,   123,   124,   125,   126,        45,    37,    41,    40,    39,    38,    47,    46,    24,    48,
1050       127,   128,   129,   131,   118,   132,   133,   134,   135,   136,        49,    50,    51,    57,    58,    59,    60,    52,    56,    55,
1051       137,   138,   139,   203,   192,   193,   194,   195,   196,   197,        54,    53,    62,    61,   442,    25,   441,    26,     0,     0,
1052       198,   199,   200,   201,   114,     0,    13,     0,     0,     0,         0,     0,   457,   458,   530,     0,     0,     0,     0,     0,
1053         0,    14,     0,    38,    43,    55,     0,    47,     0,     0,         0,   201,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    39,     0,    48,     0,     0,     0,     0,  
        0,     0,    15,     0,     0,    16,     0,     0,     0,     0,  
        0,    17,    90,    88,    89,     0,    18,     0,     0,     0,  
        0,     0,     0,    20,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,    21,    26,    30,    29,    28,  
       27,    31,    22,    32,    36,    35,    34,    33,    37,     0,  
        0,     0,   372,   373,   415,     0,     0,     0,     0,   119,  
1054         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1055         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1056           0,     0,     0,   144,     0,     0,     0,     0,     0,     0,
1057         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1058         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,   412,  
1059         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060           0,     0,     0,     0,     0,     0,   444,   443,     0,   454,
1061           0,     0,     0,   526,     0,     0,   453,     0,     0,     0,
1062           0,     0,    32,   184,     0,     0,     0,     0,     0,     0,
1063         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1064         0,     0,     0,     0,     0,    68,    70,   121,   122,   123,         0,     0,     0,     0,     0,     0,     0,     0,   203,   204,
1065       124,   125,   126,   127,   128,   129,    71,    72,     0,     0,       205,   206,   207,   208,   209,   210,   211,     0,    97,   173,
1066         0,     0,     0,     0,     0,    73,     0,   106,     0,    74,        98,     0,     0,     0,     0,   102,   179,    94,     0,     0,
1067         0,   105,    19,   103,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,   123,   124,     0,     0,     0,   117,
1068        65,     0,     0,     0,     0,     0,     0,     0,     0,     0,       119,     0,   125,   126,     0,     0,     0,     0,     0,   156,
1069         0,     0,     0,     0,    66,   112,   111,     0,     0,     0,       157,   159,     0,   128,     0,   183,     0,   129,     0,   182,
1070         0,     0,    23,   370,     0,   376,     0,     0,     0,     0,        68,    69,    70,     0,     0,     0,     0,     0,     0,   109,
1071         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1072         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1073         0,     0,     0,     0,     0,     0,     0,     0,   360,     0,         0,     0,     0,     0,     0,     0,   115,   177,     0,   200,
1074       359,     0,     0,     0,     0,     0,   414,     0,     0,     0,       178,   114,   194,   193,     0,     0,     0,     0,     0,     0,
1075           0,     0,   122,   455,     0,   463,   467,     0,     0,     0,
1076         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,   384,     0,     0,     0,   371,  
        0,     0,     0,     0,     0,     0,     0,     0,    56,     0,  
        0,     0,    86,    87,    58,    59,    60,    49,     0,    44,  
        0,     0,     0,    50,     0,    40,     0,     0,     0,    67,  
        0,    69,     0,     0,     0,     0,     0,   363,   362,   361,  
      364,     0,   104,     0,    93,     0,     0,     0,     0,     0,  
1077         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1078         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1079         0,     0,     0,   389,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,   145,     0,     0,     0,     0,
1080         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1081           0,     0,     0,     0,   529,     0,     0,     0,     0,     0,
1082         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1083         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,   378,     0,   380,  
        0,     0,   380,     0,     0,     0,    57,    45,     0,    53,  
        0,    41,    51,     0,     0,     0,   210,   211,    84,   107,  
      110,     0,   118,   109,   108,     0,     0,     0,     0,     0,  
       91,     0,     0,     0,     0,     0,     0,    75,    94,     0,  
       95,    77,    96,    79,    80,    97,     0,    81,    98,    99,  
       82,   100,     0,     0,     0,    83,   101,   102,    61,     0,  
       63,     0,     0,     0,     0,     0,     0,     0,     0,   383,  
1084         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1085           0,     0,     0,     0,     0,   456,     0,     0,     0,     0,
1086         445,   446,     0,     0,     0,     0,     0,     0,     0,     0,
1087           0,     0,    89,     0,     0,     0,   148,   149,    91,    92,
1088          93,    82,     0,    77,     0,     0,     0,    83,     0,     0,
1089         459,   101,    73,     0,     0,     0,     0,     0,     0,   174,
1090           0,     0,     0,     0,   116,     0,   118,   120,   176,   127,
1091         181,     0,     0,     0,     0,     0,     0,   180,     0,   162,
1092         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   409,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,   379,     0,     0,     0,   410,     0,    46,    54,  
       52,    42,     0,     0,    85,     0,     0,   115,     0,     0,  
        0,     0,    92,     0,     0,     0,     0,    76,   374,     0,  
       62,    64,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,   116,   117,     0,     0,   388,     0,     0,     0,  
1093         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,   375,     0,     0,  
        0,     0,    78,   385,     0,     0,   387,     0,     0,     0,  
1094         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1095         0,     0,   408,     0,   386,     0,     0,     0,     0,     0,         0,     0,   197,     0,     0,     0,     0,     0,     0,     0,
1096           0,     0,     0,     0,     0,     0,     0,     0,   489,     0,
1097           0,   519,     0,   520,   472,     0,     0,     0,     0,     0,
1098         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   413,     0,     0,     0,     0,     0,     0,     0,  
        0,   411,     0,     0,     0,     0,     0,     0,     0,     0,  
1099         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1100         0,     0,   405,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   522,   523,
1101         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1102           0,     0,     0,     0,     0,     0,   528,     0,     0,     0,
1103           0,     0,     0,     0,   198,   199,     0,     0,     0,     0,
1104           0,     0,     0,     0,   465,     0,   468,     0,     0,     0,
1105         468,   517,     0,     0,     0,     0,    90,    78,     0,    86,
1106           0,    74,     0,    84,   103,     0,     0,     0,    67,   175,
1107           0,     0,   517,     0,     0,   292,   293,   146,   187,   189,
1108         192,   191,   190,   121,   186,     0,     0,     0,     0,     0,
1109         160,     0,     0,     0,     0,     0,   130,   166,     0,   167,
1110         132,   168,   134,     0,     0,   141,   142,   143,   135,   169,
1111         136,   170,   171,   137,   172,     0,   138,   139,   140,   105,
1112           0,   107,     0,   110,     0,   521,     0,     0,     0,     0,
1113         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114           0,     0,   471,   518,     0,     0,     0,     0,     0,     0,
1115         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      381,     0,   402,   404,     0,     0,   402,     0,     0,     0,  
        0,     0,     0,     0,     0,   405,   407,     0,     0,     0,  
        0,     0,   401,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   392,   394,     0,     0,     0,     0,  
      392,     0,     0,     0,     0,     0,   397,     0,   396,   391,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   406,  
1116         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,   396,     0,     0,  
1117         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,   400,  
1118         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1119         0,     0,     0,   403,     0,   399,     0,     0,     0,   398,         0,   466,     0,     0,     0,     0,     0,     0,   524,     0,
1120         0,     0,   393,     0,   390,   395,   382        79,    87,    85,    75,    99,     0,     0,     0,     0,     0,
1121           0,   147,   188,     0,     0,     0,     0,   161,     0,     0,
1122           0,     0,   131,     0,     0,     0,   106,   108,     0,     0,
1123           0,   112,   113,     0,     0,     0,     0,     0,     0,     0,
1124           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1125           0,     0,     0,     0,     0,     0,     0,     0,     0,   488,
1126           0,     0,     0,     0,     0,   460,     0,     0,     0,     0,
1127           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1128           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1129         462,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1130           0,     0,     0,   133,     0,     0,   111,     0,   483,     0,
1131           0,     0,     0,     0,     0,     0,   485,     0,     0,     0,
1132           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1133           0,     0,     0,     0,     0,     0,     0,     0,     0,   515,
1134           0,     0,     0,     0,     0,   482,     0,     0,     0,   484,
1135           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1136           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1137           0,     0,     0,     0,     0,   461,     0,     0,     0,   481,
1138           0,     0,   527,     0,     0,     0,     0,     0,     0,     0,
1139           0,     0,     0,     0,     0,   525,     0,     0,     0,     0,
1140           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1141           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1142           0,     0,     0,     0,     0,     0,     0,   512,   507,     0,
1143         507,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1144           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1145           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1146           0,     0,   508,     0,     0,    63,     0,     0,     0,     0,
1147           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1148           0,     0,     0,     0,     0,     0,     0,     0,     0,   469,
1149           0,   505,   511,     0,     0,   486,     0,     0,   505,     0,
1150           0,     0,     0,     0,     0,     0,     0,     0,   512,   514,
1151         516,     0,     0,     0,     0,     0,   486,     0,     0,     0,
1152           0,     0,     0,   504,     0,     0,     0,     0,     0,     0,
1153          64,    65,   185,   163,   164,   165,     0,     0,     0,     0,
1154           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1155         509,     0,   495,   497,     0,     0,     0,     0,   509,     0,
1156           0,     0,     0,   495,     0,     0,     0,     0,     0,     0,
1157         500,     0,     0,     0,     0,     0,     0,     0,   499,   494,
1158           0,     0,     0,     0,     0,   510,     0,     0,     0,    66,
1159           0,     0,     0,     0,   513,     0,     0,     0,     0,   480,
1160           0,     0,     0,     0,     0,     0,     0,   487,     0,     0,
1161           0,     0,     0,     0,     0,     0,     0,   479,     0,     0,
1162           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163         499,     0,     0,     0,   476,     0,     0,     0,     0,     0,
1164           0,     0,     0,     0,     0,     0,     0,     0,     0,   475,
1165           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1166           0,     0,     0,   474,     0,   478,     0,     0,     0,     0,
1167           0,   503,     0,     0,     0,     0,   473,   477,     0,     0,
1168           0,     0,     0,   490,     0,     0,     0,     0,     0,     0,
1169           0,   506,     0,   492,     0,   502,     0,     0,     0,   501,
1170           0,     0,     0,   496,     0,     0,   493,   498,   470,     0,
1171         491
1172  };  };
1173    
1174  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1175  static const short yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1176  {  {
1177        -1,    12,    13,    14,    15,   385,   392,   331,   373,   352,        -1,    13,    14,    15,    16,   342,   442,   458,   383,   385,
1178       355,   366,   520,   639,   621,   361,   505,   509,   767,   769,       419,   353,   425,   393,   477,   388,   397,   416,   669,   630,
1179       771,   774,   777,   780,   785,   512,   651,   510,   506,   748,       864,   835,   405,   653,   657,  1490,  1056,  1058,  1060,  1068,
1180       534,   749,   750,   751,   265,   513,   267,   579,   754,   696,      1070,  1073,   618,   858,  1028,   867,   696,   625,   876,   869,
1181        42,    43,    16,    17,    18,    19,    20,    21,   779,   508,       658,   654,   582,  1491,  1043,  1037,  1038,   701,  1039,  1040,
1182        22,    23,    24,    25,   326,   333,   334,   335,   387,   388,       698,   272,   626,   274,   475,  1042,   954,    49,    50,    17,
1183       389,   390,   367,   336,   375,   337,   338,   339,   340,   341,        18,    19,    20,    21,    22,    23,    24,    25,  1072,  1066,
1184       342,   523,   343,   377,   344,   345,   346,   347,   348,   349,      1067,   631,    26,    27,    28,    29,    30,   343,   355,   356,
1185       526,   527,   528,   529,   622,   623,    26,   391,   379,    27       357,   594,   443,   444,   445,   446,   447,   448,   449,   450,
1186         451,   452,   453,   454,   455,   358,   359,   417,   360,  1493,
1187        1494,  1495,   427,   361,   362,   363,   364,   365,   366,   672,
1188         367,   429,   368,   369,   370,   371,   372,   373,   344,   375,
1189         376,   377,   676,   677,   678,   692,   378,   379,   380,   381,
1190         693,   680,   681,   836,   837,    31,   457,   687,   434,    32
1191  };  };
1192    
1193  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1194     STATE-NUM.  */     STATE-NUM.  */
1195  #define YYPACT_NINF -699  #define YYPACT_NINF -1079
1196  static const short yypact[] =  static const yytype_int16 yypact[] =
1197  {  {
1198        54,  -699,  -699,    32,    16,    91,   123,    -2,    24,   124,        64, -1079, -1079,    98,    39,   148,   176,   135,   190,   210,
1199        63,    45,   177,  -197,  1575,  -699,   -32,   -32,   -32,   -32,       240,    45,   239,   302,  -152,  2093, -1079,    86,    86,    86,
1200       -32,   -32,   -32,   -32,   -32,   -32,   -32,  -699,   212,   236,        86,    86,    86,    86,    86,    86,    86,    86,    86,    86,
1201       198,   222,   224,   243,   238,    -5,   225,   246,   230,  -699,        86,    86, -1079,   304,   305,   307,   290,   293,   295,   314,
1202      -699,  -699,  -699,    42,  -699,  -699,  -699,  -699,  -699,  -699,       300,   308,   199,   125,   316,   204, -1079, -1079, -1079, -1079,
1203       214,   214,   214,   214,   214,   214,   214,   214,   214,  -699,       112, -1079, -1079, -1079, -1079, -1079, -1079, -1079,   411,   411,
1204      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       411,   411,   411,   411,   411,   411,   411, -1079, -1079, -1079,
1205      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1206      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1207      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1208      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1209      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1210      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1211      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1212      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1213      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1214      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1215      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1216      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1217      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1218      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1219      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1220      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1221      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1222      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1223      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1224      -699,  -699,  -699,  -699,  2240,  -699,  -699,  -699,  -699,   248,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1225       178,    77,    77,    64,    30,   248,   179,    61,    61,   248,     -1079,  2758, -1079, -1079, -1079, -1079,   116,   119,   309,   309,
1226      -699,   251,   233,  -699,   234,   252,   235,   242,   253,  -699,       310,   167,   167,   166,   234,   116,    57,   163,   163,  2315,
1227       241,   244,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       317, -1079,   323,   324,   306, -1079,   322,   330, -1079,   328,
1228      -699,  -699,  -699,   214,  -699,   214,   214,   214,   214,   214,       313,   331,   344, -1079,   333,   349,   334, -1079, -1079, -1079,
1229       214,   214,   214,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,   411, -1079,
1230      -699,  -699,  -699,  -699,  -699,   256,  -699,    66,   258,   245,       411,   411,   411,   411,   411,   411,   411,   411, -1079, -1079,
1231       259,  -699,   -32,  -699,  -699,  -699,   -32,  -699,   -32,   -32,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1232       -32,   -32,   -32,  -699,   -32,  -699,   -32,   -32,   -32,   -32,       350,   351, -1079, -1079,    86,   130,   372,   345,   358,   374,
1233       249,   260,  -699,   -32,   -32,  -699,   -32,   -32,   250,   264,       381,   375,   376, -1079,    86, -1079, -1079, -1079, -1079, -1079,
1234       265,  -699,  -699,  -699,  -699,   247,  -699,   -32,   -32,   -32,        86, -1079,    86,    86,    86,    86,    86, -1079,    86, -1079,
1235       254,   270,   268,  -699,   -32,   -32,   -32,   -32,   -32,   -32,        86,    86,    86,    86,    86, -1079,    86,    86,    86,    86,
1236       266,   272,   279,   269,   275,  -699,  -699,  -699,  -699,  -699,        86, -1079,   380, -1079,    86, -1079,    86,   383, -1079,    86,
1237      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,   -32,       391,   401,   417, -1079,    86,    86,    86, -1079,    86,    86,
1238       271,   274,  -699,  -699,  -699,   273,   276,   290,   292,  -699,        86,   149,   419,   404,   420, -1079, -1079, -1079, -1079, -1079,
1239       296,   263,   297,   298,   294,   300,    60,   291,   291,   291,     -1079, -1079,    86, -1079,    86,   418, -1079,    86,    86, -1079,
1240       291,   291,   291,   291,   291,   291,   291,   291,   301,   302,        86,    86,   410,   430,   425, -1079,    86,    86,    86,    86,
1241      2240,  2240,   240,   240,   304,   315,   318,   283,   -28,  2240,        86,    86,    86,    86,    86,   414,   415,   429,   432,   424,
1242       240,   319,   313,   322,    20,   240,   240,   240,   240,  2459,       423,   441, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1243       323,   324,   312,   314,   325,   240,   328,   320,   331,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1244       326,   332,   327,   333,   334,   338,   344,   345,   -32,   -32,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1245       -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,     -1079, -1079, -1079, -1079,  2758,  2315, -1079, -1079,    86,   421,
1246       -32,   -32,   -32,   346,   347,  1797,  1797,   214,   214,   214,       437,   442, -1079, -1079, -1079,   439,   444,   456,   459,   449,
1247       214,   214,   214,   214,   214,   214,  -699,  -699,   348,   349,       464, -1079,   468,   490,    16,   491,   495,   496,   494,   431,
1248       350,   341,   343,  1797,  1797,  -699,   -32,  -699,   -32,  -699,       499,   482,   485,   492,    50,   497,   497,   497,   497,   497,
1249       -32,  2240,  -699,  -699,   353,   351,   355,   316,   356,   352,       497,   497,   497,   497,   497,   377,   497,   497,   497,   497,
1250      -699,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,       558,   497,   503,   498,   558,   505,   377,   507,   443,   509,
1251       -32,   -32,   -32,   -32,  -699,  2240,  -699,   362,   354,   368,      2758,  2758,   558,   558,   558,   558,   511,   515,   448,   516,
1252       367,   370,  -699,  -699,   357,  -699,   365,   372,   363,   361,       377,   558,   502,    11,  2758,   558,   377,   518,   517,   519,
1253       366,   369,   371,   307,   240,     1,   240,   240,  2240,   240,       127,   558,   558,   558,   558,   512,    88,   493,  2977,   523,
1254      2240,  2240,   240,   240,   240,   240,  2240,  2240,   240,   373,       522,   528,    87,   513,   514,   524,  2758, -1079,   558, -1079,
1255       308,  2240,  2240,   374,   376,   309,   375,   377,  2240,  1131,       527,   525,   534, -1079,   526,   541, -1079,   556,   529,   535,
1256      -699,  1353,   240,   -91,   240,   379,  -699,   335,   380,   382,      2315,  2315, -1079, -1079,   536,   551,   571,   578,   573,   584,
1257       383,   240,   240,   240,   240,   240,   240,   240,   240,   240,       572,   594,   575,   583,    86,    86,    86,    86,    86,    86,
1258      2240,   240,  2240,   240,   387,  -699,   391,   386,   392,  -699,        86,    86,    86,    86,    86,    86,    86,    86,   411,   411,
1259       396,   381,   395,   336,   402,   399,   400,   397,  -699,   384,       411,   411,   411,   411,   411,   411,   411,   588, -1079, -1079,
1260       405,   -32,  -699,  -699,  -699,  -699,  -699,  -699,  1797,  2240,     -1079,    86,    86,    86,    86, -1079, -1079, -1079,   592,   587,
1261       -32,   -32,   -32,  -699,  1797,  2240,   -32,   339,   403,   -32,       558,    86,    86,   596, -1079, -1079,   600,   591,   603,  2315,
1262      2678,   -32,   358,   408,   410,   401,   359,  -699,  2240,  -699,      2315,    86, -1079, -1079,    86,   604,   589,   597,   606, -1079,
1263      -699,   -32,  -699,   -32,  -699,   360,   411,   412,   414,   404,     -1079, -1079,   598, -1079,    86, -1079,    86, -1079,    86,  2758,
1264       -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,  2897,     -1079, -1079, -1079,   608,   605,   610,   601,   165,   609, -1079,
1265       -32,  3116,   -32,   406,   415,   413,   364,   423,   420,   421,        86,    86,    86,    86,    86,    86,    86,    86,    86,    86,
1266       419,   433,   425,  -699,   424,   434,   437,   240,  2240,   240,        86,    86,    86,    86,    86,    86,   625,    86,   607,   622,
1267       240,   240,  2240,   240,   443,   445,  2240,  2019,   454,   458,       620,    86,    86,    86,   411,   411, -1079, -1079,   303,    29,
1268       457,   459,   460,   240,   240,   461,   464,   465,   435,   469,     -1079, -1079,  2758, -1079,   621,   626,   617,   624,   631,   630,
1269       240,   240,  2240,   240,   240,   228,  2240,   240,   204,  2019,       635,   652, -1079, -1079,   632, -1079, -1079,   647,   661,   651,
1270      2240,  2019,  2240,   436,   493,   438,   503,  -699,   507,  -699,       595,  1649,  1871,   653,   655,   656,   657,   664,   602,   667,
1271       490,   500,   494,   498,   510,   513,  -699,  1797,   -32,  -699,       662,   663,   669,   558,    59,   558,   558,  2758,   558,  2758,
1272       -32,  1797,  -699,   496,   502,  3335,   214,   214,  -699,  2240,      2758,   558,   558,   558,   558,  2758,   558,   665,   558,  2758,
1273      -699,   110,   -22,  -699,  -699,   499,   494,   505,   514,   508,       558,   558,   611,   666,    86, -1079,   558,   612,   670,   673,
1274      -699,   -32,   501,   509,   452,   517,   522,  -699,  -699,   -32,       613,  2758,  2758,   558,   558,   671,   676,   674,   616,   675,
1275      -699,  -699,  2240,  -699,  -699,  -699,   518,  -699,  -699,  -699,       558,    16,   558,   677, -1079,   623,   687,   691,   678,   684,
1276      -699,  2240,   -32,   214,   214,  -699,  -699,  -699,  -699,  3554,       558,   558,   558,   558,   558,   558,   558,   558,   558,   558,
1277      -699,  3773,   523,   534,   533,   524,   536,   525,   537,  -699,       558,   558,  2758,   558,  2758,   558,   668,   558,   693,   679,
1278       526,   519,   538,  2240,  2240,  2240,  2240,   528,   532,  2019,       695,   558,   558,   558,   455,   480,   411,   685,   697,   689,
1279       125,   171,   214,   529,   535,   530,   542,   240,   539,   540,       642,   709,   714,   704,   712, -1079,   716,   701,   715,   720,
1280       543,   541,  -699,   240,   545,   240,  2019,  2019,   551,   548,     -1079, -1079,   660,   722,   719,   728,   721,   727,   723,   672,
1281       549,   544,  -699,   547,   482,   546,  -699,   553,   -32,  2240,       732,   724, -1079,   713,   737,    86, -1079, -1079, -1079, -1079,
1282      2240,   -32,   552,   554,  -699,   214,   214,   214,   555,   556,     -1079, -1079,  2315,  2758,    86,    86,    86, -1079,  2315,    86,
1283       557,   568,  -699,   559,   558,   560,   563,  -699,  -699,   -32,     -1079, -1079,  2758,    86,    86,   735,   680,   558,    86, -1079,
1284      -699,  -699,   561,   575,   562,   570,   564,    80,   515,   566,       736,   681,   742,   740,    86,  3196,    86,    86, -1079, -1079,
1285       567,   521,   214,   214,   569,   572,  -699,   577,   573,   574,     -1079,   686,   741,   744,   750,   729,    86, -1079,    86, -1079,
1286       571,   576,   228,   583,   581,   584,   580,   586,   587,   590,       690,   751,   754,   755,   760,   752,    86,    86,    86,    86,
1287       600,   157,   609,   591,   578,   592,   610,  -699,   593,   172,        86,    86,    86,    86,    86,    86,    86,    86,  3415,    86,
1288       599,   596,  -699,  -699,   597,   601,  -699,   579,   613,   612,      3634,    86,   761,    86,   759,   764,   762,    86,    86,    86,
1289       616,     4,   608,   618,   582,   621,   585,   622,   589,   623,       411,   411,   411,   699,   757,   767,   769,   768,   763,   702,
1290       614,   619,   595,   611,  -699,   129,   633,   636,   638,   626,       711,   778,   775,   773,   772,   774,   785,   776, -1079,   788,
1291       640,   632,   647,   649,   634,   651,   641,   186,   642,   650,       779, -1079,   777, -1079, -1079,   780,   783,   558,  2758,   558,
1292       645,    40,  -699,   661,    71,   656,   658,   602,   666,   654,       558,   558,  2758,   558,   558,   558,   781,   784,    86,   558,
1293       657,  -699,   673,   672,   680,   684,   681,   690,   687,   677,       782,   789,   794,   791,  2758,  2537,    16,   792,   796,   799,
1294       627,   692,   683,   676,   701,   682,   694,   635,   700,   697,       800,   793,   558,   558,   795,   803,   804,   747, -1079, -1079,
1295       707,   708,   643,   695,   711,   696,   713,   720,   703,   719,       558,   558,  2758,   558,   117,   558,   377,  2758,   558,   493,
1296       643,    12,   722,   709,   710,   714,   724,   712,   721,   716,      2977,  2977,  2537,  2758,  2537,  2758, -1079,    16,   807,   811,
1297       715,   732,   723,   728,   729,   740,   737,   742,   734,   741,       753,   558,   558,   558,   411,   411,   813,   758,   818,   817,
1298       746,   744,   730,   745,   738,   749,   750,   757,   758,   747,       820,   766,   816,   830, -1079,   833, -1079,   821,   823,   827,
1299      -699,   751,   752,   693,   765,   766,  -699,   767,   752,   759,       828,   829,   230,   834,   837,   847, -1079,  2315,    86, -1079,
1300       769,   702,   774,   760,   763,  -699,  -699,   776,   781,   770,        86,  2315,    86, -1079, -1079,   832,   850,   558, -1079, -1079,
1301       771,   768,  -699,   777,   772,   792,   793,   796,   797,   789,       848,   831, -1079,   853,  3853,   411,   411,   884, -1079,  2758,
1302       795,   801,   802,   798,   794,   743,   800,   803,   811,   813,     -1079, -1079, -1079, -1079, -1079,   851,   828,   829,   232,   868,
1303      -699,   794,   805,   753,   820,   808,  -699,   812,   754,  -699,     -1079,    86,   856,   236,   809,   872, -1079, -1079,    86, -1079,
1304       815,   806,   756,   814,   816,   754,   817,   818,   829,  -699,     -1079,  2758, -1079,   877,   869, -1079, -1079, -1079, -1079, -1079,
1305       819,   836,   823,   834,   838,   835,   843,   846,   837,   847,     -1079, -1079, -1079, -1079,  2758,    86, -1079, -1079, -1079,   884,
1306       832,   780,   839,   840,   842,   841,   850,  -699,   851,   854,      4072,   884,  4291, -1079,   812, -1079,   882,    86,    86,    86,
1307       852,   855,   860,   863,   869,   868,   873,   862,   858,   856,       865,   881,   819,   238,   887,   888,   878,   879,   890,   876,
1308       857,   864,   867,   865,   870,   879,   877,   882,   883,  -699,       883,   892, -1079, -1079,   871,   885,   889,   880,   899,  2758,
1309       884,   885,   886,   872,   871,   876,   878,   875,   880,   881,      2758,  2758,  2758,   558,   886,   903,    86,   891,   893,   895,
1310       892,   894,   887,  -699,   898,  -699,   902,   890,   891,  -699,      2537,  2537,   894,   896,   898,   905,   558,   900,   901,   897,
1311       895,   896,  -699,   893,  -699,  -699,  -699       907,   558,   902,   912,   558,  2537,  2537,   915,   916,   558,
1312         558,   493,   914,   923,   216,   917,   920,   921,   922,   927,
1313         924, -1079,   925,   926,   838,   928,   931,   941, -1079,   932,
1314          86,  2758,  2758,    86, -1079,   933,   909,  2758,   934,   937,
1315         930,   884, -1079,   940,   949,   943,   950, -1079,   955,   952,
1316         953,   259, -1079,   972,   973,    86,   884,   884,   958,   966,
1317          86, -1079, -1079,   965,   970,   968,   976,   971,   974,   981,
1318         977,   990,   980,   978,   979,   122,   938,   984,   996,   975,
1319         991,  1001,    86,   993,   994,   945,   998,   946,   999, -1079,
1320        1000,   951,   982,  1002,  1005, -1079,   377,  1007,  1008,   558,
1321        1010,  1020,  1013,  1030,   967,  1016,  1025,  1027,  1038,  1024,
1322        1032,  1028,  1029,  1035,  1044,   132,  1045,   986,  1058,  1047,
1323       -1079,    16,  1048,  1042,  1059,  1046,  1060,  1052,  1049,   171,
1324        1051,  1050,  1056, -1079,  1055,  1054, -1079,  1053, -1079,  1062,
1325        1064,  1070,  1068,  1061,  1057,  1015, -1079,  1079,  1017,  1085,
1326        1086,  1088,    75,  1080,  1089,  1093,  1091,  1094,    86,  1095,
1327        1031,  1096,  1036,  1098,  1101,  1037,  1104,  1097,  1090,  1039,
1328        1102,  1092,  1099,  1063,  1106, -1079,  1111,  1112,  1108, -1079,
1329        1118,  1114,   186,  1120,  1121,  1124,  1113,  1127,  1119,  1125,
1330        1123,  1135,  1128,   558,  1129,  1137,  1122,  1141,  1126,  1132,
1331         270,  1131,  1133,  1130,    70, -1079,  1134,  1143,  1145, -1079,
1332        1136,  1142, -1079,  1144,  1140,  1139,   100,  1146,  1148,  1100,
1333        1154,  1147,  1150,  1152,  1153, -1079,  1155,    86,  1156,  1159,
1334        1157,  1160,  1158,  1161,  1165,  1163,  1168,  1162,  1107,  1172,
1335        1169,  1164,  1115,  1171,  1180,  1181,  1173,  1170,  1138,  1191,
1336        1174,  1185,  1149,  1190,  1188,  1195,  1194,  1151,    21,  1186,
1337       -1079,   493,  1182,  1192,  1199,  1196,  1204,    26,  1211,  1197,
1338        1220,  1151,    84,  1223,  1207,  1213,  1227,  1228,  1212,  1232,
1339        1167,  1222,  1226,  1229,  1231,  1219,  1230,  1225,  1233,  1237,
1340        1234,  1235, -1079,  1236,  1239,    86,  1241,  1248,  1245,  1251,
1341        1244,  1249,  1253,  1259,  1238,  1240,  1252,  1250,  1263,  1254,
1342        1262,  1268,   175,  1255,  1273,  1264,  1274,  1271,  1258, -1079,
1343        1265,  1261,  1214,  1281,  1282,  1215,    22,  1284, -1079,  1285,
1344        1261,  1283,  1275,  1287,  1221,  1290,  1277,  1280, -1079, -1079,
1345       -1079,  1292,  1242,  1286,  1288,  1295, -1079,  1289,  1293,  1294,
1346        1279,  1291,  1296, -1079,  1298,  1297,  1300,  1299,  1304,  1301,
1347          86, -1079, -1079, -1079, -1079, -1079,  1303,  1305,  1306,  1314,
1348        1315,  1307,  1311,  1316,  1321,  1322,   219,  1308,  1324,  1312,
1349       -1079,  1319,  1313,  1266,  1317,  1318,  1302,  1333,  1320,  1334,
1350        1269,  1323,    16, -1079,  1313,  1320,  1330,  1272,  1335,  1331,
1351       -1079,  1332,  1276,  1336,  1338,  1339,  1340,  1309,  1310, -1079,
1352        1341,  1325,  1326,  1342,  1337, -1079,  1343,  1350,  1344, -1079,
1353        1310,  1345,  1346,  1351, -1079,   221,  1347,  1352,  1349, -1079,
1354         229,  1354,  1358,  1353,  1361,  1365,  1357, -1079,  1366,  1363,
1355        1373,  1375,  1367,  1362,  1364,  1368,  1369, -1079,  1370,  1372,
1356        1382,  1371,  1327,  1376,  1374,  1379,  1377,  1381,  1378,  1380,
1357       -1079,  1384,  1385,  1383, -1079,  1386,  1389,  1388,  1387,  1397,
1358        1393,  1404,  1405,  1410,  1392,  1412,  1409,  1401,  1402, -1079,
1359        1407,  1403,  1415,  1406,  1408,  1278,  1411,  1414,  1413,  1417,
1360        1416,  1419,  1420, -1079,  1421, -1079,  1422,  1418,  1424,  1423,
1361        1425, -1079,  1430,  1428,  1431,  1432, -1079, -1079,  1439,  1433,
1362        1426,  1427,  1434,  1390,  1435,  1436,  1440,  1442,  1445,  1449,
1363        1441, -1079,  1451, -1079,  1458, -1079,  1459,  1447,  1448, -1079,
1364        1452,  1450,  1453, -1079,  1454,  1457, -1079, -1079, -1079,  1466,
1365       -1079
1366  };  };
1367    
1368  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1369  static const short yypgoto[] =  static const yytype_int16 yypgoto[] =
1370  {  {
1371      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1372      -699,  -699,  -699,  -571,  -699,  -699,  -699,  -699,  -659,   109,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,
1373      -699,   111,    52,  -699,  -699,  -440,   231,   385,   378,  -698,      -737, -1079, -1079, -1079, -1079, -1079,  -751, -1078, -1079,   188,
1374      -699,   317,   219,    13,   -10,   -14,   293,   440,  -411,   -12,       101, -1079,  -486,  -818,  -965,   352,  -960,  -504,  -941,  -879,
1375       897,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -719,  -770,   506,   -80, -1079,  -925,   369,  -676,   484,  -537,
1376      -699,  -699,  -699,  -699,  -167,  -699,  -699,  -130,  -256,  -243,       -14,   114,     2,   205,  -273,  -471,   -15,  1444, -1079, -1079,
1377      -242,  -241,  -699,   664,  -699,   669,  -255,  -699,  -699,   663,     -1079, -1079, -1079, -1079, -1079, -1079, -1079, -1079,  -444, -1079,
1378       504,  -699,  -699,  -699,   670,   674,  -253,  -699,  -699,   506,     -1079,   954, -1079, -1079, -1079, -1079, -1079,  -125,  1216,  1217,
1379      -699,  -699,  -699,  -699,  -699,  -699,  -699,   667,  -699,  -699      1218,  -293,  1208,  1210,  1224,  1243,  1246,  1247,  1256,  1257,
1380        1260,  1267,  -253,  -252,  -246,    35, -1079, -1079,  1270, -1079,
1381       -1079, -1079, -1079,  1328,  -255, -1079, -1079,  1209,  -291, -1079,
1382        1329, -1079,  1348,  1355,  -249, -1079,    46,    23,  -256,  1356,
1383       -1079,   956, -1079, -1079, -1079, -1079,  -165,  1359, -1079,  -262,
1384       -1079, -1079, -1079, -1079, -1079, -1079,  1360, -1079, -1079, -1079
1385  };  };
1386    
1387  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1388     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1389     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1390     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1391  #define YYTABLE_NINF -131  #define YYTABLE_NINF -213
1392  static const short yytable[] =  static const yytype_int16 yytable[] =
1393  {  {
1394       266,   641,   268,   502,   269,   270,   271,   272,   273,   274,       275,   878,   276,   277,   278,   279,   280,   281,   282,   283,
1395       275,   276,   277,   278,   279,   542,   353,   356,   354,   357,       284,   285,   286,   287,   288,   289,   290,   273,   840,  1076,
1396       619,   788,   394,   790,    32,   287,   929,   507,    40,    41,       697,   374,  1051,   583,   433,   866,   394,   398,   641,   421,
1397        33,   288,  1001,   952,   620,   395,   396,   397,   517,   930,       431,   644,   395,   399,  -212,   469,   470,   651,   632,   948,
1398       304,   304,   304,   304,   304,   304,   304,   304,   304,  1002,       634,   660,   471,   629,   318,   320,   321,   322,   323,   324,
1399       518,    29,   329,    28,   773,     1,   365,     2,   782,   519,       325,   326,   327,  1182,   649,  1488,  1489,  1079,  1422,  1081,
1400       961,   915,    34,   303,   305,   306,   307,   308,   309,   310,       661,  1190,  1116,  1422,   712,     1,  1024,     2,    43,    34,
1401       311,   312,     3,   962,     4,     5,    38,   963,     6,   380,       436,   620,   655,    47,    48,    35,   422,   593,   340,   833,
1402       380,   359,   358,     7,   359,    36,   381,   381,     8,     9,       423,   391,   635,     3,    44,     4,     5,   439,   424,     6,
1403        10,   382,    11,   965,   360,   350,   383,   383,   888,   384,       441,  1369,  1291,   834,     7,     8,   650,   352,  1316,     9,
1404       384,    37,   889,   332,   411,   412,   966,   351,   369,   374,        10,    11,   662,    12,  1370,  1434,  1359,   688,  1371,   707,
1405       890,   844,   399,    30,   618,   812,   624,   625,   293,   294,      1423,  1317,  1087,  1088,  1089,  1430,   396,   400,   689,   690,
1406       295,   296,   297,   298,   299,   300,   301,   302,   860,   861,        33,   432,  1435,  1380,   708,  1022,   308,   608,   609,   610,
1407       845,   503,   504,   293,   294,   295,   296,   297,   298,   299,       611,   612,   613,   614,   615,   616,  1381,   340,   345,  1063,
1408       300,   301,   302,   362,   654,    31,    35,   386,   393,   943,       346,  1242,   347,   348,   754,  1243,   666,   341,  1164,  1064,
1409       944,   660,   661,   662,   663,   664,   665,   666,   667,   668,       349,  1266,   354,  1244,  1282,   302,   350,   351,   667,   352,
1410       468,   472,   473,   474,   475,   476,   477,   478,   479,   480,       420,   426,    38,   303,   668,   478,  1283,   352,    39,   495,
1411       481,   482,   507,   469,   470,   471,   846,    39,   911,   293,       496,    36,   319,   319,   319,   319,   319,   319,   319,   319,
1412       294,   295,   296,   297,   298,   299,   300,   301,   302,   521,       319,  1192,   435,   436,   437,   401,   390,   402,   536,   496,
1413       912,   524,   263,   919,   503,   504,   327,   370,   328,   325,       403,   391,   777,  1296,   438,  1171,  1473,   404,   392,    37,
1414       329,   371,  -130,  -130,  -130,   920,   956,   957,   330,   372,       439,   440,  1474,   441,   778,  1297,  1475,  1345,  1346,    40,
1415       783,   784,   293,   487,   488,   489,   490,   491,   492,   493,      1186,  1187,   598,   599,   600,   601,   602,   603,   604,   605,
1416       494,   495,   293,   294,   295,   296,   297,   298,   299,   300,       606,   607,  1062,   621,   622,   623,   624,  1075,   627,   832,
1417       301,   302,   838,   280,   282,   841,   293,   487,   488,   489,       300,   838,   839,   580,   581,   305,   301,  1195,   580,   581,
1418       490,   491,   492,   493,   494,   495,   776,   736,   293,   487,      1533,   306,  1573,  1196,   580,   581,  1534,   854,  1574,    41,
1419       488,   489,   490,   491,   492,   493,   494,   495,   281,   283,      1578,   595,   596,  -212,  -212,  -212,  1579,   347,   597,   671,
1420       284,   285,   289,   760,   286,   290,   291,    40,   325,   400,       849,   415,   851,    42,  1104,   691,  1123,  1105,   879,  1124,
1421       401,   402,   404,   403,   405,   406,   414,   407,   437,    -4,      1128,    45,  1145,  1099,   476,  1146,   886,   887,   888,   889,
1422        -4,   410,   408,   413,   463,   415,   429,   428,   434,   435,       890,   891,   892,   893,   894,   895,   896,   897,   679,    -4,
1423       442,   436,   441,   409,   443,   409,   409,   409,   409,   409,        -4,  1364,  1365,  1223,   674,   670,  1099,   907,   908,   909,
1424       409,   409,   409,   451,   450,   452,   453,   454,   456,   457,       655,   673,    46,   389,  1077,  1078,   412,   721,   722,   806,
1425       460,   461,   458,   459,   462,   464,   465,   381,   466,   501,       270,   903,   308,   309,   310,   311,   312,   313,   314,   315,
1426       416,   467,   483,   484,   417,   498,   418,   419,   420,   421,       316,   317,   456,   472,   384,   386,   291,   294,   292,   494,
1427       422,   264,   423,   499,   424,   425,   426,   427,   515,   500,       293,   295,   296,   297,   298,   299,   304,    47,   340,   504,
1428       514,   430,   431,   516,   432,   433,   537,   538,   539,   540,       382,   387,   479,   480,   481,   505,   485,   506,   507,   508,
1429       543,   541,   544,   545,   588,   438,   439,   440,   548,   549,       509,   510,   483,   511,   486,   512,   513,   514,   515,   516,
1430       550,   546,   444,   445,   446,   447,   448,   449,   547,   551,       482,   517,   518,   519,   520,   521,   484,   487,   489,   523,
1431       552,   553,   569,   570,   573,   577,   575,   852,   576,   585,       488,   524,  1160,   490,   526,  1163,   492,   498,   493,   530,
1432       574,   587,   589,   586,   590,   604,   605,   455,   606,   607,       531,   532,  1357,   533,   534,   535,   308,   608,   609,   610,
1433       608,   610,   611,   613,   612,   614,   617,   638,   644,   609,       611,   612,   613,   614,   615,   616,   617,   540,   497,   541,
1434       615,   657,   616,   658,   675,   637,   642,   643,   646,   673,       499,   500,   543,   544,   501,   545,   546,   522,   502,   503,
1435       645,   655,   659,   674,   676,   677,   678,   679,   496,   497,       525,   550,   551,   552,   553,   554,   555,   556,   557,   558,
1436       681,   682,   683,   684,   656,   680,   685,   686,   694,   695,       308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
1437       699,   530,   531,   532,   533,   536,   700,   706,   707,   701,       527,  1425,   491,  1016,   491,   491,   491,   491,   491,   491,
1438       708,   723,   709,   725,   724,   727,   728,   698,   702,   705,       491,   491,   697,   528,   529,   537,   538,   539,  1212,   547,
1439       729,   730,   731,   726,   732,   733,   554,   555,   556,   557,       542,   548,   549,   559,   560,   561,   564,   569,  1050,   562,
1440       558,   559,   560,   561,   562,   563,   564,   565,   566,   567,       567,   910,   563,   568,   308,   309,   310,   311,   312,   313,
1441       568,   734,   735,   571,   572,   743,   744,   304,   304,   304,       314,   315,   316,   317,   565,   570,   339,   574,   571,   572,
1442       304,   304,   304,   304,   304,   304,   755,   756,   757,   758,       575,  1288,   573,   576,   577,  1044,   911,   578,  1065,   308,
1443       759,   580,   580,   762,   582,   763,   583,   764,   584,   766,       309,   310,   311,   312,   313,   314,   315,   316,   317,   271,
1444       303,   305,   306,   307,   308,   309,   310,   311,   312,   591,       694,   695,   308,   608,   609,   610,   611,   612,   613,   614,
1445       592,   593,   594,   595,   596,   597,   598,   599,   600,   601,       615,   616,   579,   584,   585,   586,   583,   619,   590,   587,
1446       602,   603,   793,   795,   765,   792,   796,   794,   797,   798,       588,   589,   592,   591,   593,   628,   619,   633,   619,   636,
1447       799,   800,   801,   802,   807,   808,   815,   813,   814,   818,       629,   638,   637,   645,   646,   642,   643,   647,   648,   652,
1448       816,   820,   819,   821,   822,   627,   828,   824,   630,   631,       663,   665,   619,   664,   686,   704,   705,   706,   619,   709,
1449       632,   633,   829,   830,   636,   836,   831,   324,   832,   834,       713,   711,   710,   682,   683,   684,   685,   715,   714,   700,
1450       837,   850,   833,   851,   835,   842,   848,   649,   652,   649,       703,   719,   720,   723,   716,   476,   476,   308,   608,   609,
1451       843,   867,   856,   849,   858,   855,   853,   862,   854,   863,       610,   611,   612,   613,   614,   615,   616,   717,   724,   733,
1452       866,   864,   865,   868,   869,   870,   877,   670,   874,   672,       734,   735,   736,   737,   738,   739,   740,   741,   742,   743,
1453       883,   871,   878,   875,   876,   879,   881,   884,   880,   915,       744,   745,   746,   718,   318,   320,   321,   322,   323,   324,
1454       885,   886,   887,   892,   891,   893,   897,   895,   900,   687,       325,   326,   327,   725,   697,   726,   748,   749,   750,   751,
1455       894,   898,   903,   904,   901,   905,   688,   906,   689,   690,       727,   728,   729,   730,   731,   732,   755,   756,   747,   752,
1456       691,   909,   692,   907,   693,   908,   910,   913,   914,   916,       753,   766,  1177,   757,   761,   762,   763,   758,   759,   764,
1457       918,   917,   921,   922,   926,   923,   927,   928,   924,   703,       760,   765,   619,   768,   767,   773,   769,   775,   774,   770,
1458       931,   704,   932,   934,   936,   938,   939,   942,   710,   711,       776,   771,   779,   772,   796,   799,   798,   800,   807,   809,
1459       712,   713,   714,   715,   716,   717,   718,   940,   720,   945,       808,   810,   811,   812,   813,   780,   781,   782,   783,   784,
1460       722,   896,   946,   899,   947,   948,   949,   950,   925,   951,       785,   786,   787,   788,   789,   790,   791,   792,   793,   794,
1461       952,   933,   954,   953,   935,   738,   739,   740,   937,   742,       795,   699,   797,   814,   816,   815,   801,   802,   803,   339,
1462       955,   958,   960,   753,   941,   959,   964,   752,   967,   968,       804,   805,   817,   818,   819,   823,   822,   826,   824,   825,
1463       652,   969,   970,   971,   972,   973,   768,   770,   974,   768,       828,   827,   829,   831,   830,   850,   862,   873,   856,   902,
1464       775,   778,   975,   768,   787,   753,   977,   753,   752,   752,       855,   860,   863,   861,   871,   874,   567,   567,   872,   882,
1465       976,   752,   978,   979,   980,   983,   981,   982,   984,   985,       880,   875,   881,   883,   885,   904,   884,   906,   913,   905,
1466       987,   986,   989,   990,   988,   803,   804,   991,   805,   806,       914,   915,   319,   319,   319,   319,   319,   319,   319,   319,
1467       992,   995,   993,   997,   994,   996,   304,   304,   998,  1000,       319,   916,   917,   918,   919,   920,   921,   922,   923,   857,
1468      1003,   409,   999,  1005,  1004,  1006,  1011,   485,   486,   817,       841,   926,   927,   844,   845,   846,   847,   924,   619,   925,
1469      1007,  1008,  1010,  1009,  1012,  1015,   511,   823,  1013,   810,       619,   928,   853,   929,   930,   933,   935,   934,   859,   931,
1470       811,  1014,  1016,  1017,  1018,  1019,   535,  1020,  1021,  1022,       936,   932,   946,   950,   958,   868,   870,   953,   961,   947,
1471       825,  1026,  1023,   304,   304,  1025,  1024,  1028,   324,   324,       951,   339,   877,   474,   952,   957,   959,   960,   965,   964,
1472      1029,  1027,  1033,  1034,  1031,  1030,  1035,  1036,  1032,  1038,       655,   966,   967,   968,   986,   969,   988,   989,   996,   990,
1473      1037,  1039,  1040,  1041,  1042,   753,   810,   811,  1043,   752,       998,  1002,   912,   997,  1001,   899,   999,   901,  1000,   619,
1474       409,   409,   304,  1044,   324,  1045,  1047,  1049,  1046,   770,      1003,  1004,  1005,  1006,  1007,  1009,  1010,  1008,   319,   319,
1475      1048,   775,   753,   753,  1050,  1051,   752,   752,  1052,  1053,      1011,  1012,   491,  1025,  1030,  1026,  1032,  1013,  1014,  1015,
1476       578,   578,  1054,  1056,  1057,   847,  1055,  1058,   324,  1063,       937,  1047,  1031,  1033,  1049,  1045,  1046,   938,  1052,   939,
1477      1059,  1064,  1060,  1061,  1065,   304,   304,   409,  1067,  1068,       940,   941,  1048,   942,   943,  1053,  1055,  1054,   944,   945,
1478      1062,  1069,  1066,  1070,  1072,  1073,  1075,   882,  1071,  1074,      1084,  1085,  1086,   949,   339,   339,  1090,  1091,  1092,  1093,
1479      1076,  1078,  1079,  1077,  1080,  1082,  1083,  1084,   872,   873,      1094,  1097,   956,  1098,   697,  1095,  1096,  1101,  1099,   859,
1480      1081,  1085,   409,   409,  1086,  1088,  1087,  1089,   778,  1090,      1107,   962,  1100,   963,   339,  1102,  1103,  1106,  1108,  1114,
1481      1092,   324,  1097,  1098,  1091,   511,  1094,   628,   629,  1093,      1118,   970,   971,   972,   973,   974,   975,   976,   977,   978,
1482      1095,  1099,  1100,   634,   635,  1101,  1096,  1102,   640,   640,       979,   980,   981,  1115,   983,  1117,   985,  1119,   987,  1121,
1483      1103,  1104,  1105,  1106,  1108,  1107,   648,  1110,   648,  1109,      1122,  1125,   991,   992,   993,  1127,   994,   995,  1129,  1130,
1484      1112,  1113,  1111,  1114,  1115,  1116,  1117,  1118,  1119,  1120,      1132,  1137,  1133,  1138,  1142,  1143,  1147,   339,  1144,  1148,
1485      1121,  1122,  1124,  1123,  1127,  1125,  1128,   669,  1126,   671,      1155,  1149,  1150,  1151,  1152,  1154,  1157,  1158,   491,   491,
1486      1130,   324,   324,  1129,  1131,  1132,  1133,   324,   324,  1136,       319,  1153,  1159,  1156,  1165,  1166,  1183,  1205,  1211,  1168,
1487      1134,  1135,   857,   324,   902,   761,   859,   786,   368,   376,      1180,  1169,  1173,  1027,  1170,  1174,  1175,  1176,  1178,  1181,
1488       292,   324,   363,   626,   581,   398,   378,   364,   522,     0,      1179,  1018,  1019,  1020,  1184,   859,  1023,   870,  1188,  1189,
1489       525,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1194,  1029,  1193,  1199,  1201,  1200,  1197,  1041,  1198,   566,
1490         0,   653,   324,     0,   324,     0,     0,     0,     0,     0,      1204,  1203,  1208,  1202,  1209,   877,  1206,  1207,  1215,  1210,
1491         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1213,  1214,  1057,  1059,  1216,  1057,   619,  1069,  1071,  1218,
1492         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1057,   700,   703,   703,  1041,  1492,  1041,  1217,  1219,  1220,
1493         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1221,  1224,  1222,   870,   870,   870,  1225,  1227,  1228,  1230,
1494         0,     0,     0,     0,     0,   737,     0,     0,     0,   741,      1231,  1232,  1109,  1110,  1236,  1111,  1112,  1113,  1233,  1234,
1495         0,     0,     0,   745,     0,     0,     0,     0,     0,     0,      1235,  1238,  1239,  1248,   639,   640,  1237,  1240,  1241,  1247,
1496         0,     0,     0,     0,     0,     0,     0,     0,     0,   772,      1260,   804,   805,  1246,   319,   319,   491,  1245,   659,  1029,
1497       324,     0,     0,   781,   324,     0,     0,   789,   324,   791,      1249,  1250,  1252,  1253,  1254,  1256,  1126,  1255,  1257,  1258,
1498         0,     0,   324,     0,     0,     0,     0,     0,     0,     0,      1259,  1261,   702,  1131,  1262,  1264,  1265,   339,   339,  1267,
1499         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1268,  1492,  1269,   339,  1270,  1272,  1271,   339,  1273,  1274,
1500         0,     0,     0,     0,     0,   324,     0,     0,     0,     0,      1134,  1275,  1276,  1277,   474,   474,  1278,  1280,  1279,   699,
1501         0,     0,     0,     0,   324,     0,     0,     0,     0,     0,       339,  1281,  1139,  1140,  1141,  1285,  1284,  1286,  1287,  1289,
1502         0,     0,   324,     0,   324,     0,     0,     0,     0,     0,      1290,  1291,  1293,  1294,  1292,  1298,  1300,  1295,  1299,  1301,
1503         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1302,  1303,  1306,   699,  1304,  1309,   699,  1305,   699,  1307,
1504         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1308,  1167,  1311,   339,  1310,   339,  1312,  1313,   491,   491,
1505         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1315,  1314,  1319,  1318,  1320,  1029,  1321,  1322,  1324,  1326,
1506       640,   839,   840,   640,     0,     0,     0,     0,     0,     0,      1325,  1328,  1041,  1041,  1329,  1327,  1330,  1331,  1334,  1333,
1507         0,     0,   324,   324,   313,    45,    46,    47,    48,   314,      1332,  1336,  1337,  1059,  1340,  1341,  1069,  1041,  1041,  1343,
1508       315,   316,   317,   318,   319,   320,   321,   322,   323,    59,      1335,  1059,   868,   700,  1339,  1342,  1344,  1347,  1348,   319,
1509        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,       319,  1349,  1338,  1350,  1351,  1352,  1354,  1353,  1355,  1359,
1510        1356,  1358,  1360,  1361,  1363,  1379,  1362,  1374,  1368,  1367,
1511        1226,  1366,  1372,  1373,  1376,  1229,  1375,  1377,  1378,  1382,
1512        1383,  1385,  1393,  1395,  1394,  1396,  1399,  1386,  1387,  1384,
1513        1388,  1398,  1389,  1390,  1392,  1400,  1402,  1251,  1403,  1397,
1514        1401,  1407,  1404,  1408,  1406,   566,   566,  1405,  1409,  1411,
1515        1413,  1410,  1415,  1417,  1414,  1418,  1419,  1420,  1424,  1422,
1516        1427,   659,   339,   842,   843,  1429,   339,  1412,  1071,   848,
1517        1431,  1059,  1426,   852,   699,   699,  1428,  1432,  1416,   339,
1518        1421,  1433,  1436,  1437,   339,   865,   865,  1438,  1434,   699,
1519         699,  1439,  1440,  1441,  1443,   699,  1442,  1444,  1446,  1447,
1520        1451,  1445,  1449,  1448,  1465,  1450,   339,  1454,  1457,  1453,
1521        1452,  1458,  1459,  1323,  1460,  1461,   898,  1455,   900,   339,
1522        1463,  1462,  1464,  1466,  1467,   339,  1469,   339,  1468,  1471,
1523        1470,  1472,  1477,  1476,  1480,  1479,  1478,  1481,  1483,  1482,
1524        1485,  1486,  1498,  1484,  1487,  1496,  1497,  1499,  1500,  1502,
1525        1501,  1503,  1504,  1505,  1509,  1513,  1511,  1512,  1629,  1507,
1526        1508,  1543,  1185,  1510,  1521,   877,  1523,  1263,  1524,  1514,
1527        1519,  1506,  1516,  1517,  1518,  1515,  1520,  1526,  1527,  1530,
1528        1525,  1528,  1391,  1529,  1531,  1532,  1537,  1535,  1536,  1538,
1529        1539,  1541,  1544,  1546,  1552,  1540,  1542,  1545,  1547,  1548,
1530        1550,  1551,  1554,  1553,  1563,  1555,   339,   339,  1566,  1556,
1531        1557,  1558,  1568,  1559,  1572,  1562,  1576,  1581,  1565,  1570,
1532        1585,  1569,  1571,  1583,  1584,  1567,  1575,  1577,  1580,  1586,
1533        1587,  1582,  1588,   700,  1589,  1591,  1592,  1590,  1560,  1561,
1534        1593,  1597,  1594,  1595,  1596,  1601,  1613,  1598,  1603,  1608,
1535        1456,  1606,  1600,  1611,  1605,  1564,  1599,  1602,  1604,  1614,
1536        1615,  1609,  1017,  1607,  1612,  1610,  1021,  1616,  1617,  1618,
1537        1619,  1620,  1621,  1622,  1626,  1623,  1625,  1627,  1034,  1624,
1538        1633,  1639,  1549,     0,  1628,  1632,  1641,  1634,  1642,  1630,
1539        1631,  1640,  1643,  1638,  1645,  1646,  1061,  1635,  1636,  1637,
1540        1644,  1074,  1647,  1650,   702,   702,  1649,  1080,  1657,  1082,
1541        1651,  1648,  1658,  1653,  1654,  1522,  1655,  1660,  1659,  1652,
1542        1656,  1661,  1662,  1663,  1664,  1665,  1666,  1669,  1670,  1667,
1543        1172,  1668,  1191,  1083,   307,   428,   459,   656,   460,   406,
1544         407,   408,     0,     0,     0,   699,   675,     0,     0,     0,
1545           0,     0,   461,     0,     0,     0,     0,     0,     0,     0,
1546           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1547           0,   462,     0,     0,   463,   464,     0,     0,     0,     0,
1548           0,     0,     0,     0,   465,   466,     0,     0,   467,     0,
1549           0,     0,     0,     0,   418,   468,     0,     0,     0,     0,
1550           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1551           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1552           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1553           0,     0,     0,   865,  1161,  1162,   865,     0,     0,     0,
1554           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1555           0,   409,   410,     0,     0,     0,     0,     0,     0,     0,
1556           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1557           0,     0,     0,     0,   430,     0,     0,     0,   411,   413,
1558           0,     0,   414,     0,     0,     0,     0,     0,   473,     0,
1559           0,   659,   328,    52,    53,    54,    55,    56,   329,   330,
1560         331,   332,   333,   334,   335,   336,   337,   338,    67,    68,
1561          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1562          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1563          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1564          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1565         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1566         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1567         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1568         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1569         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1570         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1571         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1572         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1573         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1574         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1575         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1576         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1577         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1578         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1579         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1580         259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1581         269,   820,     0,   270,   328,    52,    53,    54,    55,    56,
1582         329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1583          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1584          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1585          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1586          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1587         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1588         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1589         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1590         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1591         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1592         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1593         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1594         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1595         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1596         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1597         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1598         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1599         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1600         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1601         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1602         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1603         267,   268,   269,     0,   821,   270,    51,    52,    53,    54,
1604          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1605          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1606          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1607          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1608          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1609         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1610         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1611         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1612         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1613         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1614         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1615         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1616         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1617         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1618         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1619         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1620         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1621         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1622         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1623         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1624         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1625         265,   266,   267,   268,   269,     0,     0,   270,   328,    52,
1626          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1627         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1628          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1629          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1630          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1631         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1632         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1633         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1634         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1635         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1636         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1637         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1638         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1639         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1640         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1641         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1642         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1643         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1644         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1645         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1646         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1647         263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
1648         328,    52,    53,    54,  1035,  1036,    57,    58,    59,    60,
1649          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1650          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1651          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1652          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1653         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1654         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1655         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1656         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1657         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1658         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1659         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1660         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1661         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1662         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1663         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1664         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1665         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1666         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1667         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1668         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1669         261,   262,   263,   264,   265,   266,   267,   268,   269,   580,
1670         581,   328,    52,    53,    54,    55,    56,   329,   330,   331,
1671         332,   333,   334,   335,   336,   337,   338,    67,    68,    69,
1672        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1673        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1674        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1129  static const short yytable[] = Line 1688  static const short yytable[] =
1688       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1689       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1690       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1691       260,   261,   262,   647,     0,   263,   313,    45,    46,    47,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1692        48,   314,   315,   316,   317,   318,   319,   320,   321,   322,       328,    52,    53,    54,    55,    56,    57,    58,    59,    60,
      323,    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,   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,     0,   650,   263,    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,   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,     0,     0,   263,  
      313,    45,    46,    47,    48,   314,   315,   316,   317,   318,  
      319,   320,   321,   322,   323,    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,  
      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,     0,  
        0,   263,   313,    45,    46,   746,   747,    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,   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,   503,   504,   313,    45,    46,    47,    48,   314,   315,  
      316,   317,   318,   319,   320,   321,   322,   323,    59,    60,  
1693        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1694        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1695        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
# Line 1240  static const short yytable[] = Line 1710  static const short yytable[] =
1710       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1711       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1712       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1713       261,   262,   313,    45,    46,    47,    48,    49,    50,    51,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1714        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,       955,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1715        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1716        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1717        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1718        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
# Line 1262  static const short yytable[] = Line 1732  static const short yytable[] =
1732       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1733       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1734       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1735       262,   313,   697,    46,    47,    48,   314,   315,   316,   317,       262,   263,   264,   265,   266,   267,   268,   269,   328,   982,
1736       318,   319,   320,   321,   322,   323,    59,    60,    61,    62,        53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1737        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1738        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1739        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1740        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1284  static const short yytable[] = Line 1754  static const short yytable[] =
1754       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1755       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1756       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1757       313,   719,    46,    47,    48,   314,   315,   316,   317,   318,       263,   264,   265,   266,   267,   268,   269,   328,   984,    53,
1758       319,   320,   321,   322,   323,    59,    60,    61,    62,    63,        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1759        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1760        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1761        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1762        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
# Line 1305  static const short yytable[] = Line 1775  static const short yytable[] =
1775       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1776       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1777       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1778       254,   255,   256,   257,   258,   259,   260,   261,   262,   313,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1779       721,    46,    47,    48,   314,   315,   316,   317,   318,   319,       264,   265,   266,   267,   268,   269,   328,  1120,    53,    54,
1780       320,   321,   322,   323,    59,    60,    61,    62,    63,    64,        55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1781        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,       337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1782        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1783        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1784        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1327  static const short yytable[] = Line 1797  static const short yytable[] =
1797       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1798       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1799       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1800       255,   256,   257,   258,   259,   260,   261,   262,   313,   809,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1801        46,    47,    48,   314,   315,   316,   317,   318,   319,   320,       265,   266,   267,   268,   269,   328,  1135,    53,    54,    55,
1802       321,   322,   323,    59,    60,    61,    62,    63,    64,    65,        56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1803        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1804        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1805        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1806        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1349  static const short yytable[] = Line 1819  static const short yytable[] =
1819       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1820       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1821       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1822       256,   257,   258,   259,   260,   261,   262,   313,   826,    46,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1823        47,    48,   314,   315,   316,   317,   318,   319,   320,   321,       266,   267,   268,   269,   328,  1136,    53,    54,    55,    56,
1824       322,   323,    59,    60,    61,    62,    63,    64,    65,    66,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1825        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1826        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1827        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
# Line 1371  static const short yytable[] = Line 1841  static const short yytable[] =
1841       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1842       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1843       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1844       257,   258,   259,   260,   261,   262,   313,   827,    46,    47,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1845        48,   314,   315,   316,   317,   318,   319,   320,   321,   322,       267,   268,   269
      323,    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,   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  
1846  };  };
1847    
1848  static const short yycheck[] =  static const yytype_int16 yycheck[] =
1849  {  {
1850        14,   572,    14,    31,    16,    17,    18,    19,    20,    21,        15,   771,    17,    18,    19,    20,    21,    22,    23,    24,
1851        22,    23,    24,    25,    26,   455,   271,   272,   271,   272,        25,    26,    27,    28,    29,    30,    31,    15,   737,   979,
1852        19,   719,   278,   721,    26,    30,    22,   438,   225,   226,       557,   277,   963,   494,   286,   762,   281,   282,   532,   285,
1853        32,    36,    20,    21,    33,   278,   278,   278,    18,    35,       286,   535,   281,   282,     5,   288,   288,   541,   524,   857,
1854        50,    51,    52,    53,    54,    55,    56,    57,    58,    37,       526,   545,   288,    32,    58,    59,    60,    61,    62,    63,
1855        30,    35,    22,    21,   713,     1,    26,     3,   717,    39,        64,    65,    66,  1131,   540,    33,    34,   982,    37,   984,
1856        20,    21,    38,    50,    51,    52,    53,    54,    55,    56,       546,  1139,  1027,    37,   568,     1,   945,     3,    23,    30,
1857        57,    58,    18,    33,    20,    21,    31,    37,    24,    19,        20,   515,   543,   225,   226,    36,    19,    27,    21,    20,
1858        19,    20,    18,    29,    20,    22,    26,    26,    34,    35,        23,    24,   526,    19,    39,    21,    22,    37,    31,    25,
1859        36,    30,    38,    22,    30,    18,    36,    36,    18,    39,        40,    21,    22,    34,    30,    31,   540,    40,    23,    35,
1860        39,    38,    22,   270,    38,    39,    35,    30,   275,   276,        36,    37,   546,    39,    34,    21,    22,    19,    38,    22,
1861        30,   809,   279,    22,   554,     5,   556,   557,     8,     9,        89,    36,   991,   992,   993,    89,   281,   282,    30,    31,
1862        10,    11,    12,    13,    14,    15,    16,    17,   826,   827,        22,   286,    38,    23,    37,   943,     9,    10,    11,    12,
1863         5,   222,   223,     8,     9,    10,    11,    12,    13,    14,        13,    14,    15,    16,    17,    18,    36,    21,    19,    22,
1864        15,    16,    17,   273,   584,    22,    22,   277,   278,    20,        21,    19,    23,    24,   630,    23,    19,    31,  1113,    32,
1865        21,   591,   592,   593,   594,   595,   596,   597,   598,   599,        31,  1229,   277,    31,    22,    30,    37,    38,    31,    40,
1866       416,   417,   418,   419,   420,   421,   422,   423,   424,   425,       285,   286,    27,    38,    37,   290,    34,    40,    33,    39,
1867       426,   427,   583,   416,   416,   416,     5,     0,    21,     8,        40,    23,    58,    59,    60,    61,    62,    63,    64,    65,
1868         9,    10,    11,    12,    13,    14,    15,    16,    17,   444,        66,  1141,    19,    20,    21,    19,    19,    21,    39,    40,
1869        33,   444,   224,    21,   222,   223,    18,    18,    20,    20,        24,    24,    27,    22,    31,  1120,    21,    31,    31,    23,
1870        22,    22,   224,   225,   226,    33,    20,    21,    30,    30,        37,    38,    27,    40,    39,    34,    31,    21,    22,    19,
1871         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,      1135,  1136,   505,   506,   507,   508,   509,   510,   511,   512,
1872        16,    17,     8,     9,    10,    11,    12,    13,    14,    15,       513,   514,   973,   516,   517,   518,   519,   978,   521,   733,
1873        16,    17,   803,    21,    36,   806,     8,     9,    10,    11,        31,   735,   736,   222,   223,    31,    37,    21,   222,   223,
1874        12,    13,    14,    15,    16,    17,    18,   687,     8,     9,        21,    37,    21,    27,   222,   223,    27,   751,    27,    39,
1875        10,    11,    12,    13,    14,    15,    16,    17,    22,    37,        21,   504,   504,   224,   225,   226,    27,    23,   504,   550,
1876        36,    18,    37,   703,    26,    19,    36,   225,    20,    18,       746,    27,   748,    23,    34,   556,    34,    37,   772,    37,
1877        37,    37,    37,    21,    32,    22,    31,    36,    31,   225,        34,    32,    34,    37,   289,    37,   780,   781,   782,   783,
1878       226,    25,    38,    25,    21,    26,    26,    38,    38,    25,       784,   785,   786,   787,   788,   789,   790,   791,   550,   225,
1879        20,    26,    38,   303,    26,   305,   306,   307,   308,   309,       226,    21,    22,    34,   550,   550,    37,   801,   802,   803,
1880       310,   311,   312,    31,    38,    26,    37,    32,    37,    35,       771,   550,     0,   280,   980,   981,   283,   580,   581,     6,
1881        20,    19,    39,    37,    18,    18,    18,    26,    24,    36,       224,   797,     9,    10,    11,    12,    13,    14,    15,    16,
1882       332,    21,    21,    21,   336,    21,   338,   339,   340,   341,        17,    18,   287,   288,   278,   279,    22,    37,    23,   344,
1883       342,    14,   344,    18,   346,   347,   348,   349,    25,    21,        23,    38,    37,    19,    34,    27,    20,   225,    21,   354,
1884        21,   353,   354,    21,   356,   357,    23,    23,    36,    35,        31,    31,    19,    19,    38,   360,    33,   362,   363,   364,
1885        22,    26,    32,    22,    38,   367,   368,   369,    31,    26,       365,   366,    22,   368,    23,   370,   371,   372,   373,   374,
1886        26,    35,   374,   375,   376,   377,   378,   379,    36,    31,        38,   376,   377,   378,   379,   380,    38,    23,    19,   384,
1887        26,    26,    26,    26,    26,    32,    26,   817,    37,    26,        37,   386,  1109,    39,   389,  1112,    26,    32,    27,   394,
1888        31,    26,    26,    32,    32,    23,    32,   399,    20,    22,       395,   396,  1323,   398,   399,   400,     9,    10,    11,    12,
1889        20,    26,    20,    32,    31,    29,    89,    89,    89,    42,        13,    14,    15,    16,    17,    18,    19,   412,    26,   414,
1890        31,    21,    31,    21,    18,    32,    32,    31,    31,    22,        42,    27,   417,   418,    23,   420,   421,    27,    33,    33,
1891        35,    32,    29,    22,    22,    19,    35,    22,   432,   433,        27,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1892        18,    22,    22,    26,    89,    89,    42,    22,    89,    26,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1893        22,   445,   446,   447,   448,   449,    26,    26,    26,    38,        39,  1391,   318,   937,   320,   321,   322,   323,   324,   325,
1894        26,    35,    38,    30,    29,    22,    26,    89,    89,    89,       326,   327,   979,    42,    27,    26,    42,    27,  1167,    39,
1895        29,    32,    19,    89,    29,    31,   468,   469,   470,   471,        32,    21,    27,    39,    39,    26,    33,    36,   962,    27,
1896       472,   473,   474,   475,   476,   477,   478,   479,   480,   481,       475,     6,    38,   478,     9,    10,    11,    12,    13,    14,
1897       482,    37,    35,   485,   486,    32,    31,   487,   488,   489,        15,    16,    17,    18,    33,    38,   271,    21,    36,    40,
1898       490,   491,   492,   493,   494,   495,    32,    29,    31,    30,        21,  1251,    38,    34,    20,   956,     6,    19,   974,     9,
1899        30,   503,   504,    32,   506,    31,   508,    32,   510,    30,        10,    11,    12,    13,    14,    15,    16,    17,    18,    15,
1900       487,   488,   489,   490,   491,   492,   493,   494,   495,   521,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1901       522,   523,   524,   525,   526,   527,   528,   529,   530,   531,        17,    18,    22,    22,    19,    19,   987,   515,    36,    25,
1902       532,   533,    29,    20,    89,    89,    19,    89,    38,    29,        89,    22,    30,    38,    27,    22,   524,    22,   526,    22,
1903        36,    33,    22,    20,    38,    33,    22,    38,    33,    38,        32,    22,    89,    22,    19,   533,   534,    89,    22,    37,
1904        32,    89,    33,    26,    22,   559,    23,    29,   562,   563,        22,    22,   540,    26,    32,    22,    24,    19,   546,    36,
1905       564,   565,    18,    20,   568,    36,    32,   264,    22,    22,        23,    27,    38,   551,   552,   553,   554,    23,    33,   557,
1906        22,    31,    37,    21,    38,    37,    37,   579,   582,   581,       558,    32,    27,    27,    38,   580,   581,     9,    10,    11,
1907        38,    89,    31,    38,    29,    32,    37,    26,    38,    31,        12,    13,    14,    15,    16,    17,    18,    36,    27,   594,
1908        33,    32,    38,    37,    31,    33,    18,   601,    33,   603,       595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1909        29,    37,    33,    37,    37,    37,    33,    22,    38,    21,       605,   606,   607,    37,   608,   609,   610,   611,   612,   613,
1910        38,    31,    38,    37,    89,    38,    29,    38,    37,   621,       614,   615,   616,    32,  1141,    27,   621,   622,   623,   624,
1911        89,    38,    29,    32,    38,    31,   628,    37,   630,   631,        37,    27,    40,    19,    39,    32,   631,   632,    30,    27,
1912       632,    31,   634,    37,   636,    38,    26,    18,    37,    37,        33,    32,  1126,    27,   639,   640,   641,    27,    37,   644,
1913        37,    21,    33,    37,    21,    38,    24,    21,    37,   651,        27,    27,   630,    27,    37,    27,    38,    27,    33,   654,
1914        32,   653,    24,    22,    22,    22,    32,    36,   660,   661,        39,   656,    33,   658,    19,    23,    39,    27,    27,    32,
1915       662,   663,   664,   665,   666,   667,   668,    38,   670,    26,        24,    27,    21,    23,    19,   670,   671,   672,   673,   674,
1916       672,    89,    26,    89,    26,    39,    26,    35,    89,    22,       675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1917        21,    89,    21,    39,    89,   689,   690,   691,    89,   693,       685,   557,   687,    21,    27,    43,   691,   692,   693,   474,
1918        39,    39,    37,   697,    89,    35,    25,   697,    32,    31,       694,   695,    21,    32,    89,    30,    33,    23,    32,    32,
1919       704,    89,    26,    39,    37,    22,   710,   711,    26,   713,        23,    89,    30,    24,    31,    30,    23,    23,    32,    31,
1920       714,   715,    22,   717,   718,   719,    25,   721,   718,   719,        89,    89,    89,    33,    33,    89,   721,   722,    32,    22,
1921        26,   721,    22,    26,    37,    32,    89,    25,    42,    18,        33,    36,    89,    22,    30,    22,    38,    22,    33,    40,
1922        26,    39,    22,    26,    89,   737,   738,    20,   740,   741,        23,    32,   608,   609,   610,   611,   612,   613,   614,   615,
1923        22,    20,    89,    20,    39,    39,   746,   747,    18,    20,       616,    89,    23,    19,    30,    23,    20,    36,    23,   754,
1924        18,   751,    39,    33,    35,    31,    31,   430,   431,   761,       738,    19,    23,   741,   742,   743,   744,    27,   746,    89,
1925        26,    39,    36,    32,    22,    26,   439,   769,    35,   746,       748,    23,   750,    32,    27,    23,    43,    33,   756,    36,
1926       747,    33,    22,    26,    22,    31,   449,    26,    22,    25,        23,    89,    27,    27,    23,   763,   764,    27,    39,    89,
1927       782,    22,    42,   783,   784,    37,    31,    20,   485,   486,        89,   566,   770,   289,    32,    89,    32,    27,    27,    89,
1928        22,    31,    89,    18,    33,    38,    20,    20,    36,    20,      1251,    27,    27,    23,    23,    33,    27,    23,    89,    27,
1929        31,    89,    18,    33,    31,   809,   783,   784,    22,   809,        23,    89,   806,    36,    31,   793,    27,   795,    30,   797,
1930       810,   811,   812,    22,   511,    35,    38,    35,    37,   823,        89,    23,    27,    30,    32,    20,    30,    33,   694,   695,
1931        33,   825,   826,   827,    22,    22,   826,   827,    22,    22,        22,    32,   698,    32,    32,    31,    22,    40,    38,    36,
1932       503,   504,    33,    22,    22,   812,    31,    29,   535,    18,       835,    22,    33,    32,    31,    33,    30,   842,    33,   844,
1933        36,    18,    89,    33,    29,   845,   846,   847,    18,    31,       845,   846,    32,   848,   849,    32,    89,    33,   853,   854,
1934        37,    29,    89,    89,    38,    89,    30,   859,    33,    35,        33,    30,    89,   858,   639,   640,    33,    89,    30,    32,
1935        33,    22,    33,    35,    18,    21,    18,    22,   845,   846,        30,    21,   867,    20,  1391,    89,    40,    30,    37,   857,
1936        37,    18,   872,   873,    18,    18,    29,    35,   882,    89,        23,   876,    39,   878,   659,    37,    37,    33,    21,    37,
1937        30,   578,    18,    21,    35,   558,    35,   560,   561,    37,        39,   886,   887,   888,   889,   890,   891,   892,   893,   894,
1938        30,    26,    22,   566,   567,    22,    35,    18,   571,   572,       895,   896,   897,    33,   899,    37,   901,    34,   903,     5,
1939        22,    18,    30,    35,    37,    39,   579,    30,   581,    35,        39,    23,   907,   908,   909,    39,   910,   911,    89,    27,
1940        30,    22,    37,    26,    22,    22,    22,    22,    22,    37,        23,    89,    33,    21,    39,    24,    19,   702,    89,    21,
1941        39,    35,    37,    35,    22,    35,    22,   600,    37,   602,        39,    33,    33,    23,    38,    23,    27,    37,   804,   805,
1942        22,   628,   629,    36,    22,    35,    35,   634,   635,    36,       806,    38,    23,    38,    38,    22,    24,    89,    19,    38,
1943        35,    35,   823,   640,   882,   704,   825,   718,   274,   276,        33,    38,    38,   948,    39,    39,    38,    32,    38,    32,
1944        43,   648,   273,   558,   504,   278,   276,   273,   444,    -1,        39,   939,   940,   941,    32,   943,   944,   945,    33,    33,
1945       444,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        27,   949,    38,    32,    27,    33,    39,   955,    38,   475,
1946        -1,   583,   669,    -1,   671,    -1,    -1,    -1,    -1,    -1,        34,    36,    21,    39,    32,   963,    38,    36,    38,    36,
1947        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        36,    34,   970,   971,    34,   973,   974,   975,   976,    36,
1948         978,   979,   980,   981,   982,  1456,   984,    38,    38,    34,
1949          38,    19,    39,   991,   992,   993,    23,    39,    32,    34,
1950          30,    33,  1017,  1018,    23,  1020,  1021,  1022,    32,    38,
1951          36,    21,    32,    38,   530,   531,    39,    39,    39,    23,
1952          38,  1035,  1036,    39,   910,   911,   912,    89,   544,  1027,
1953          39,    30,    39,    39,    89,    89,  1051,    39,    39,    39,
1954          89,    39,   558,  1058,    39,    38,    38,   842,   843,    39,
1955          30,  1522,    39,   848,    24,    39,    89,   852,    33,    32,
1956        1075,    23,    38,    31,   580,   581,    38,    32,    39,   955,
1957         865,    27,  1087,  1088,  1089,    89,    31,    19,    31,    31,
1958          38,    22,    22,    31,    38,    34,    30,    38,    38,    34,
1959          36,    38,    22,   979,    32,    38,   982,    33,   984,    31,
1960          39,  1116,    23,   898,    89,   900,    89,    22,   994,   995,
1961          22,    25,    23,    33,    21,  1113,    25,    23,    23,    23,
1962          89,    23,  1120,  1121,    23,    89,    89,    23,    89,    39,
1963          33,    39,    33,  1131,    23,    23,  1134,  1135,  1136,    21,
1964          38,  1139,  1140,  1141,    38,    37,    32,    27,    27,  1035,
1965        1036,    27,    89,    40,    27,    36,    33,    32,    23,    22,
1966          32,    32,    40,    22,    32,    26,    40,    22,    38,    36,
1967        1185,    40,    38,    30,    32,  1190,    40,    33,    38,    33,
1968          32,    27,    23,    23,    27,    27,    23,    40,    38,    89,
1969          38,    26,    39,    38,    38,    27,    89,  1212,    26,    38,
1970          38,    30,    33,    23,    89,   721,   722,    43,    27,    39,
1971          19,    38,    27,    23,    40,    27,    21,    23,    32,    37,
1972          21,   737,  1017,   739,   740,    21,  1021,    89,  1226,   745,
1973          19,  1229,    40,   749,  1120,  1121,    40,    40,    89,  1034,
1974          89,    21,    19,    36,  1039,   761,   762,    34,    21,  1135,
1975        1136,    23,    40,    21,    32,  1141,    89,    31,    27,    40,
1976          23,    32,    37,    33,    26,    32,  1061,    31,    27,    34,
1977          36,    23,    27,  1288,    23,    31,   792,    38,   794,  1074,
1978          27,    32,    23,    43,    32,  1080,    23,  1082,    38,    27,
1979          36,    23,    19,    38,    23,    21,    32,    39,    37,    34,
1980          19,    19,    19,    89,    89,    21,    21,    32,    21,    19,
1981          89,    34,    32,    21,    19,    36,    23,    23,    40,    33,
1982          32,    19,  1134,    34,    23,  1323,    23,  1226,    23,    38,
1983          31,    89,    34,    36,    34,    39,    32,    23,    23,    23,
1984          34,    34,  1357,    32,    23,    23,    34,    39,    24,    30,
1985          37,    34,    19,    19,    19,    89,    38,    37,    89,    36,
1986          30,    89,    30,    32,    39,    89,  1161,  1162,    31,    33,
1987          32,    32,    22,    33,    23,    34,    24,    19,    36,    34,
1988          23,    37,    36,    22,    19,    42,    39,    38,    34,    23,
1989          27,    38,    19,  1391,    19,    33,    32,    30,    89,    89,
1990          32,    19,    33,    33,    32,    31,    19,    36,    31,    24,
1991        1425,    31,    36,    24,    36,    89,    89,    38,    37,    22,
1992          27,    38,   938,    39,    36,    39,   942,    23,    23,    19,
1993          38,    19,    23,    32,    19,    33,    33,    31,   954,    32,
1994          23,    23,  1522,    -1,    36,    32,    23,    31,    23,    38,
1995          36,    27,    22,    31,    23,    23,   972,    38,    38,    38,
1996          32,   977,    23,    36,   980,   981,    40,   983,    23,   985,
1997          36,    38,    23,    38,    38,  1490,    36,    26,    37,    89,
1998          38,    23,    23,    36,    36,    33,    36,    30,    22,    36,
1999        1121,    37,  1140,   987,    50,   286,   288,   543,   288,   283,
2000         283,   283,    -1,    -1,    -1,  1391,   550,    -1,    -1,    -1,
2001          -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2002        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2003          -1,   288,    -1,    -1,   288,   288,    -1,    -1,    -1,    -1,
2004          -1,    -1,    -1,    -1,   288,   288,    -1,    -1,   288,    -1,
2005          -1,    -1,    -1,    -1,   284,   288,    -1,    -1,    -1,    -1,
2006        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,   688,    -1,    -1,    -1,   692,  
       -1,    -1,    -1,   696,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   712,  
      737,    -1,    -1,   716,   741,    -1,    -1,   720,   745,   722,  
       -1,    -1,   749,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2007        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,   772,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,   781,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   789,    -1,   791,    -1,    -1,    -1,    -1,    -1,  
2008        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2009          -1,    -1,    -1,  1109,  1110,  1111,  1112,    -1,    -1,    -1,
2010        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2011          -1,   283,   283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2012        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2013       803,   804,   805,   806,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,   286,    -1,    -1,    -1,   283,   283,
2014        -1,    -1,   839,   840,     3,     4,     5,     6,     7,     8,        -1,    -1,   283,    -1,    -1,    -1,    -1,    -1,   288,    -1,
2015          -1,  1167,     3,     4,     5,     6,     7,     8,     9,    10,
2016          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2017          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2018          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2019          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2020          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2021          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2022          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2023          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2024          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2025         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2026         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2027         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2028         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2029         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2030         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2031         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2032         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2033         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2034         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2035         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2036         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2037         221,   222,    -1,   224,     3,     4,     5,     6,     7,     8,
2038         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2039        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2040        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1533  static const short yycheck[] = Line 2056  static const short yycheck[] =
2056       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2057       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2058       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2059       219,   220,   221,   222,    -1,   224,     3,     4,     5,     6,       219,   220,   221,    -1,   223,   224,     3,     4,     5,     6,
2060         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2061        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2062        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
# Line 1555  static const short yycheck[] = Line 2078  static const short yycheck[] =
2078       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2079       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2080       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2081       217,   218,   219,   220,   221,    -1,   223,   224,     3,     4,       217,   218,   219,   220,   221,    -1,    -1,   224,     3,     4,
2082         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2083        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2084        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
# Line 1599  static const short yycheck[] = Line 2122  static const short yycheck[] =
2122       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2123       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2124       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2125       213,   214,   215,   216,   217,   218,   219,   220,   221,    -1,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
2126        -1,   224,     3,     4,     5,     6,     7,     8,     9,    10,       223,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       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,     6,     7,     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,     3,     4,     5,     6,     7,     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,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
2127        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2128        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2129        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1797  static const short yycheck[] = Line 2254  static const short yycheck[] =
2254       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2255       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2256       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2257       217,   218,   219,   220,   221       217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2258  };         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2259          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2260  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2261     symbol of state STATE-NUM.  */        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2262  static const unsigned short yystos[] =        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2263  {        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2264         0,     1,     3,    18,    20,    21,    24,    29,    34,    35,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2265        36,    38,   228,   229,   230,   231,   269,   270,   271,   272,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2266       273,   274,   277,   278,   279,   280,   313,   316,    21,    35,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2267        22,    22,    26,    32,    38,    22,    22,    38,    31,     0,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2268       225,   226,   267,   268,     3,     4,     5,     6,     7,     8,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2269         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2270         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2271         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2272         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2273         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2274         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2275         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2276         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2277         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2278         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2279         218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
2280         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2281        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2282        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1830  static const unsigned short yystos[] = Line 2298  static const unsigned short yystos[] =
2298       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2299       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2300       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2301       219,   220,   221,   224,   258,   261,   262,   263,   266,   266,       219,   220,   221
      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
       21,    22,    36,    37,    36,    18,    26,    30,    36,    37,  
       19,    36,   267,     8,     9,    10,    11,    12,    13,    14,  
       15,    16,    17,   260,   261,   260,   260,   260,   260,   260,  
      260,   260,   260,     3,     8,     9,    10,    11,    12,    13,  
       14,    15,    16,    17,   263,    20,   281,    18,    20,    22,  
       30,   234,   281,   282,   283,   284,   290,   292,   293,   294,  
      295,   296,   297,   299,   301,   302,   303,   304,   305,   306,  
       18,    30,   236,   293,   303,   237,   293,   303,    18,    20,  
       30,   242,   284,   292,   302,    26,   238,   289,   290,   281,  
       18,    22,    30,   235,   281,   291,   296,   300,   301,   315,  
       19,    26,    30,    36,    39,   232,   284,   285,   286,   287,  
      288,   314,   233,   284,   285,   286,   287,   288,   314,   281,  
       18,    37,    37,    21,    37,    32,    22,    36,    38,   261,  
       25,    38,    39,    25,    31,    26,   266,   266,   266,   266,  
      266,   266,   266,   266,   266,   266,   266,   266,    38,    26,  
      266,   266,   266,   266,    38,    25,    26,    31,   266,   266,  
      266,    38,    20,    26,   266,   266,   266,   266,   266,   266,  
       38,    31,    26,    37,    32,   266,    37,    35,    39,    37,  
       20,    19,    18,    21,    18,    18,    24,    21,   285,   286,  
      287,   288,   285,   285,   285,   285,   285,   285,   285,   285,  
      285,   285,   285,    21,    21,   258,   258,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,   262,   262,    21,    18,  
       21,    36,    31,   222,   223,   243,   255,   265,   276,   244,  
      254,   258,   252,   262,    21,    25,    21,    18,    30,    39,  
      239,   293,   297,   298,   303,   306,   307,   308,   309,   310,  
      262,   262,   262,   262,   257,   258,   262,    23,    23,    36,  
       35,    26,   252,    22,    32,    22,    35,    36,    31,    26,  
       26,    31,    26,    26,   266,   266,   266,   266,   266,   266,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,    26,  
       26,   266,   266,    26,    31,    26,    37,    32,   258,   264,  
      266,   264,   266,   266,   266,    26,    32,    26,    38,    26,  
       32,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
      266,   266,   266,   266,    23,    32,    20,    22,    20,    42,  
       26,    20,    31,    32,    29,    31,    31,    89,   252,    19,  
       33,   241,   311,   312,   252,   252,   254,   262,   258,   258,  
      262,   262,   262,   262,   258,   258,   262,    32,    89,   240,  
      258,   240,    32,    31,    89,    35,    31,   222,   258,   266,  
      223,   253,   262,   255,   252,    32,    89,    21,    21,    29,  
      252,   252,   252,   252,   252,   252,   252,   252,   252,   258,  
      262,   258,   262,    22,    22,    18,    22,    19,    35,    22,  
       89,    18,    22,    22,    26,    42,    22,   266,   266,   266,  
      266,   266,   266,   266,    89,    26,   266,     4,    89,    22,  
       26,    38,    89,   266,   266,    89,    26,    26,    26,    38,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,     4,  
      266,     4,   266,    35,    29,    30,    89,    22,    26,    29,  
       32,    19,    29,    31,    37,    35,   252,   258,   262,   262,  
      262,   258,   262,    32,    31,   258,     6,     7,   256,   258,  
      259,   260,   261,   262,   265,    32,    29,    31,    30,    30,  
      252,   253,    32,    31,    32,    89,    30,   245,   262,   246,  
      262,   247,   258,   245,   248,   262,    18,   249,   262,   275,  
      250,   258,   245,     6,     7,   251,   259,   262,   256,   258,  
      256,   258,    89,    29,    89,    20,    19,    38,    29,    36,  
       33,    22,    20,   266,   266,   266,   266,    38,    33,     4,  
      260,   260,     5,    38,    33,    22,    32,   266,    38,    33,  
       89,    26,    22,   266,    29,   266,     4,     4,    23,    18,  
       20,    32,    22,    37,    22,    38,    36,    22,   240,   258,  
      258,   240,    37,    38,   256,     5,     5,   260,    37,    38,  
       31,    21,   252,    37,    38,    32,    31,   246,    29,   248,  
      256,   256,    26,    31,    32,    38,    33,    89,    37,    31,  
       33,    37,   260,   260,    33,    37,    37,    18,    33,    37,  
       38,    33,   266,    29,    22,    38,    31,    38,    18,    22,  
       30,    89,    37,    38,    89,    38,    89,    29,    38,    89,  
       37,    38,   249,    29,    32,    31,    37,    37,    38,    31,  
       26,    21,    33,    18,    37,    21,    37,    21,    37,    21,  
       33,    33,    37,    38,    37,    89,    21,    24,    21,    22,  
       35,    32,    24,    89,    22,    89,    22,    89,    22,    32,  
       38,    89,    36,    20,    21,    26,    26,    26,    39,    26,  
       35,    22,    21,    39,    21,    39,    20,    21,    39,    35,  
       37,    20,    33,    37,    25,    22,    35,    32,    31,    89,  
       26,    39,    37,    22,    26,    22,    26,    25,    22,    26,  
       37,    89,    25,    32,    42,    18,    39,    26,    89,    22,  
       26,    20,    22,    89,    39,    20,    39,    20,    18,    39,  
       20,    20,    37,    18,    35,    33,    31,    26,    39,    32,  
       36,    31,    22,    35,    33,    26,    22,    26,    22,    31,  
       26,    22,    25,    42,    31,    37,    22,    31,    20,    22,  
       38,    33,    36,    89,    18,    20,    20,    31,    20,    89,  
       18,    33,    31,    22,    22,    35,    37,    38,    33,    35,  
       22,    22,    22,    22,    33,    31,    22,    22,    29,    36,  
       89,    33,    37,    18,    18,    29,    89,    18,    31,    29,  
       89,    33,    38,    89,    35,    30,    33,    35,    22,    33,  
       18,    37,    21,    18,    22,    18,    18,    29,    18,    35,  
       89,    35,    30,    37,    35,    30,    35,    18,    21,    26,  
       22,    22,    18,    22,    18,    30,    35,    39,    37,    35,  
       30,    37,    30,    22,    26,    22,    22,    22,    22,    22,  
       37,    39,    35,    35,    37,    35,    37,    22,    22,    36,  
       22,    22,    35,    35,    35,    35,    36  
2302  };  };
2303    
2304  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2305  # define YYSIZE_T __SIZE_TYPE__     symbol of state STATE-NUM.  */
2306  #endif  static const yytype_uint16 yystos[] =
2307  #if ! defined (YYSIZE_T) && defined (size_t)  {
2308  # define YYSIZE_T size_t         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2309  #endif        36,    37,    39,   228,   229,   230,   231,   286,   287,   288,
2310  #if ! defined (YYSIZE_T)       289,   290,   291,   292,   293,   294,   299,   300,   301,   302,
2311  # if defined (__STDC__) || defined (__cplusplus)       303,   362,   366,    22,    30,    36,    23,    23,    27,    33,
2312  #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */        19,    39,    23,    23,    39,    32,     0,   225,   226,   284,
2313  #  define YYSIZE_T size_t       285,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2314  # endif        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2315  #endif        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2316  #if ! defined (YYSIZE_T)        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2317  # define YYSIZE_T unsigned int        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2318  #endif        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2319          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2320          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2321          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2322          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2323         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2324         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2325         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2326         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2327         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2328         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2329         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2330         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2331         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2332         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2333         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2334         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2335         224,   275,   278,   279,   280,   283,   283,   283,   283,   283,
2336         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2337         283,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2338          31,    37,    30,    38,    20,    31,    37,   284,     9,    10,
2339          11,    12,    13,    14,    15,    16,    17,    18,   277,   278,
2340         277,   277,   277,   277,   277,   277,   277,   277,     3,     9,
2341          10,    11,    12,    13,    14,    15,    16,    17,    18,   280,
2342          21,    31,   232,   304,   345,    19,    21,    23,    24,    31,
2343          37,    38,    40,   238,   304,   305,   306,   307,   322,   323,
2344         325,   330,   331,   332,   333,   334,   335,   337,   339,   340,
2345         341,   342,   343,   344,   345,   346,   347,   348,   353,   354,
2346         355,   356,    31,   235,   343,   236,   343,    31,   242,   344,
2347          19,    24,    31,   240,   331,   341,   353,   243,   331,   341,
2348         353,    19,    21,    24,    31,   249,   305,   306,   307,   330,
2349         337,   340,   344,   346,   354,    27,   244,   324,   325,   237,
2350         304,   345,    19,    23,    31,   239,   304,   329,   334,   338,
2351         339,   345,   353,   356,   365,    19,    20,    21,    31,    37,
2352          38,    40,   233,   309,   310,   311,   312,   313,   314,   315,
2353         316,   317,   318,   319,   320,   321,   322,   363,   234,   309,
2354         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
2355         320,   321,   322,   363,   275,   281,   283,   241,   304,    19,
2356          19,    38,    38,    22,    38,    33,    23,    23,    37,    19,
2357          39,   278,    26,    27,   283,    39,    40,    26,    32,    42,
2358          27,    23,    33,    33,   283,   283,   283,   283,   283,   283,
2359         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2360         283,   283,    27,   283,   283,    27,   283,    39,    42,    27,
2361         283,   283,   283,   283,   283,   283,    39,    26,    42,    27,
2362         283,   283,    32,   283,   283,   283,   283,    39,    21,    27,
2363         283,   283,   283,   283,   283,   283,   283,   283,   283,    39,
2364          39,    26,    27,    38,    33,    33,   275,   283,   283,    36,
2365          38,    36,    40,    38,    21,    21,    34,    20,    19,    22,
2366         222,   223,   269,   282,    22,    19,    19,    25,    89,    22,
2367          36,    38,    30,    27,   308,   319,   320,   321,   308,   308,
2368         308,   308,   308,   308,   308,   308,   308,   308,    10,    11,
2369          12,    13,    14,    15,    16,    17,    18,    19,   259,   279,
2370         295,   308,   308,   308,   308,   264,   279,   308,    22,    32,
2371         246,   298,   259,    22,   259,   295,    22,    89,    22,   275,
2372         275,   264,   279,   279,   264,    22,    19,    89,    22,   259,
2373         295,   264,    37,   250,   268,   282,   298,   251,   267,   275,
2374         264,   259,   295,    22,    26,    22,    19,    31,    37,   245,
2375         331,   335,   336,   341,   345,   348,   349,   350,   351,   356,
2376         358,   359,   279,   279,   279,   279,    32,   364,    19,    30,
2377          31,   335,   352,   357,     7,     8,   263,   276,   277,   278,
2378         279,   274,   275,   279,    22,    24,    19,    22,    37,    36,
2379          38,    27,   264,    23,    33,    23,    38,    36,    37,    32,
2380          27,   281,   281,    27,    27,    32,    27,    37,    27,    40,
2381          19,    39,    32,   283,   283,   283,   283,   283,   283,   283,
2382         283,   283,   283,   283,   283,   283,   283,    30,   283,   283,
2383         283,   283,    27,    33,   259,   283,   283,    27,    27,    37,
2384          27,   283,   283,   283,   283,    27,    32,    37,    27,    38,
2385         283,   283,   283,    27,    33,    27,    39,    27,    39,    33,
2386         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2387         283,   283,   283,   283,   283,   283,    19,   283,    39,    23,
2388          27,   283,   283,   283,   277,   277,     6,    27,    24,    32,
2389          27,    21,    23,    19,    21,    43,    27,    21,    32,    89,
2390         222,   223,    33,    30,    32,    32,    23,    89,    23,    30,
2391          31,    24,   264,    20,    34,   248,   360,   361,   264,   264,
2392         267,   279,   275,   275,   279,   279,   279,   279,   275,   259,
2393          30,   259,   275,   279,   264,    89,    32,   283,   260,   279,
2394          89,    33,    23,    89,   247,   275,   247,   262,   279,   266,
2395         279,    33,    32,    23,    89,    36,   265,   279,   268,   264,
2396          33,    89,    22,    22,    38,    30,   264,   264,   264,   264,
2397         264,   264,   264,   264,   264,   264,   264,   264,   275,   279,
2398         275,   279,    31,   259,    22,    40,    22,   264,   264,   264,
2399           6,     6,   277,    33,    23,    32,    89,    23,    19,    30,
2400          23,    20,    36,    23,    27,    89,    19,    23,    23,    32,
2401          27,    36,    89,    23,    33,    43,    23,   283,   283,   283,
2402         283,   283,   283,   283,   283,   283,    27,    89,   260,   283,
2403          27,    89,    32,    27,   283,     4,   283,    89,    23,    32,
2404          27,    39,   283,   283,    89,    27,    27,    27,    23,    33,
2405         283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2406         283,   283,     4,   283,     4,   283,    23,   283,    27,    23,
2407          27,   283,   283,   283,   277,   277,    89,    36,    23,    27,
2408          30,    31,    89,    89,    23,    27,    30,    32,    33,    20,
2409          30,    22,    32,    40,    38,    36,   264,   275,   279,   279,
2410         279,   275,   260,   279,   266,    32,    31,   283,   261,   279,
2411          32,    33,    22,    32,   275,     7,     8,   272,   273,   275,
2412         276,   279,   282,   271,   282,    33,    30,    22,    32,    31,
2413         264,   265,    33,    32,    33,    89,   253,   279,   254,   279,
2414         255,   275,   253,    22,    32,   259,   296,   297,   256,   279,
2415         257,   279,   295,   258,   275,   253,   263,   274,   274,   272,
2416         275,   272,   275,   269,    33,    30,    89,   266,   266,   266,
2417          33,    89,    30,    32,    30,    89,    40,    21,    20,    37,
2418          39,    30,    37,    37,    34,    37,    33,    23,    21,   283,
2419         283,   283,   283,   283,    37,    33,   261,    37,    39,    34,
2420           4,     5,    39,    34,    37,    23,   283,    39,    34,    89,
2421          27,   283,    23,    33,   283,     4,     4,    89,    21,   283,
2422         283,   283,    39,    24,    89,    34,    37,    19,    21,    33,
2423          33,    23,    38,    38,    23,    39,    38,    27,    37,    23,
2424         247,   275,   275,   247,   261,    38,    22,   283,    38,    38,
2425          39,   272,   273,    38,    39,    38,    32,   264,    38,    39,
2426          33,    32,   254,    24,    32,   256,   272,   272,    33,    33,
2427         254,   262,   263,    38,    27,    21,    27,    39,    38,    32,
2428          33,    27,    39,    36,    34,    89,    38,    36,    21,    32,
2429          36,    19,   267,    36,    34,    38,    34,    38,    36,    38,
2430          34,    38,    39,    34,    19,    23,   283,    39,    32,   283,
2431          34,    30,    33,    32,    38,    36,    23,    39,    21,    32,
2432          39,    39,    19,    23,    31,    89,    39,    23,    38,    39,
2433          30,   283,    39,    39,    89,    39,    89,    39,    39,    89,
2434          38,    39,    39,   257,    38,    38,   254,    39,    30,    39,
2435          24,    89,    39,    33,    32,    23,    38,    31,    38,    39,
2436          32,    27,    22,    34,    31,    89,    19,    31,   268,    31,
2437          38,    22,    38,    22,    31,    38,    22,    34,    34,    38,
2438          30,    34,    36,    38,    32,    33,    22,    31,    39,    38,
2439          89,    23,    89,    22,    25,    22,    23,    36,    33,    23,
2440          21,    25,    23,   283,    23,    89,    23,    89,    23,    23,
2441          89,    23,    33,    39,    89,    38,    39,    33,    89,    38,
2442          23,    23,    37,    21,    32,    21,    22,    27,    27,    27,
2443          40,    27,    36,    32,    33,    23,    32,   265,    32,    22,
2444          40,    22,    40,    32,    21,    22,    40,    36,    38,    21,
2445          34,    38,    38,    30,    22,    40,    32,    33,    38,    26,
2446          23,    36,    33,    32,    89,    27,    40,    38,    38,    39,
2447          38,   283,    38,    23,    27,    23,    27,    38,    26,    23,
2448          27,    38,    89,    26,    33,    43,    89,    30,    23,    27,
2449          38,    39,    89,    19,    40,    27,    89,    23,    27,    21,
2450          23,    89,    37,    89,    32,   263,    40,    21,    40,    21,
2451          89,    19,    40,    21,    21,    38,    19,    36,    34,    23,
2452          40,    21,    89,    32,    31,    32,    27,    40,    33,    37,
2453          32,    23,    36,    34,    31,    38,   283,    27,    23,    27,
2454          23,    31,    32,    27,    23,    26,    43,    32,    38,    23,
2455          36,    27,    23,    21,    27,    31,    38,    19,    32,    21,
2456          23,    39,    34,    37,    89,    19,    19,    89,    33,    34,
2457         252,   270,   282,   326,   327,   328,    21,    21,    19,    32,
2458          21,    89,    19,    34,    32,    21,    89,    33,    32,    19,
2459          34,    23,    23,    36,    38,    39,    34,    36,    34,    31,
2460          32,    23,   283,    23,    23,    34,    23,    23,    34,    32,
2461          23,    23,    23,    21,    27,    39,    24,    34,    30,    37,
2462          89,    34,    38,    19,    19,    37,    19,    89,    36,   270,
2463          30,    89,    19,    32,    30,    89,    33,    32,    32,    33,
2464          89,    89,    34,    39,    89,    36,    31,    42,    22,    37,
2465          34,    36,    23,    21,    27,    39,    24,    38,    21,    27,
2466          34,    19,    38,    22,    19,    23,    23,    27,    19,    19,
2467          30,    33,    32,    32,    33,    33,    32,    19,    36,    89,
2468          36,    31,    38,    31,    37,    36,    31,    39,    24,    38,
2469          39,    24,    36,    19,    22,    27,    23,    23,    19,    38,
2470          19,    23,    32,    33,    32,    33,    19,    31,    36,    40,
2471          38,    36,    32,    23,    31,    38,    38,    38,    31,    23,
2472          27,    23,    23,    22,    32,    23,    23,    23,    38,    40,
2473          36,    36,    89,    38,    38,    36,    38,    23,    23,    37,
2474          26,    23,    23,    36,    36,    33,    36,    36,    37,    30,
2475          22
2476    };
2477    
2478  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2479  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
# Line 1943  static const unsigned short yystos[] = Line 2482  static const unsigned short yystos[] =
2482    
2483  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2484  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2485  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2486    
2487    
2488  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 1961  do                                                             \ Line 2500  do                                                             \
2500        yychar = (Token);                                         \        yychar = (Token);                                         \
2501        yylval = (Value);                                         \        yylval = (Value);                                         \
2502        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2503        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2504        goto yybackup;                                            \        goto yybackup;                                            \
2505      }                                                           \      }                                                           \
2506    else                                                          \    else                                                          \
2507      {                                                           \      {                                                           \
2508        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2509        YYERROR;                                                  \        YYERROR;                                                  \
2510      }                                                           \      }                                                           \
2511  while (0)  while (YYID (0))
2512    
2513    
2514  #define YYTERROR        1  #define YYTERROR        1
2515  #define YYERRCODE       256  #define YYERRCODE       256
2516    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2517    
2518    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2519       If N is 0, then set CURRENT to the empty location which ends
2520       the previous symbol: RHS[0] (always defined).  */
2521    
2522    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2523  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2524  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2525    Current.first_line   = Rhs[1].first_line;      \      do                                                                  \
2526    Current.first_column = Rhs[1].first_column;    \        if (YYID (N))                                                    \
2527    Current.last_line    = Rhs[N].last_line;       \          {                                                               \
2528    Current.last_column  = Rhs[N].last_column;            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2529              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2530              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2531              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2532            }                                                               \
2533          else                                                              \
2534            {                                                               \
2535              (Current).first_line   = (Current).last_line   =              \
2536                YYRHSLOC (Rhs, 0).last_line;                                \
2537              (Current).first_column = (Current).last_column =              \
2538                YYRHSLOC (Rhs, 0).last_column;                              \
2539            }                                                               \
2540        while (YYID (0))
2541    #endif
2542    
2543    
2544    /* YY_LOCATION_PRINT -- Print the location on the stream.
2545       This macro was not mandated originally: define only if we know
2546       we won't break user code: when these are the locations we know.  */
2547    
2548    #ifndef YY_LOCATION_PRINT
2549    # if YYLTYPE_IS_TRIVIAL
2550    #  define YY_LOCATION_PRINT(File, Loc)                  \
2551         fprintf (File, "%d.%d-%d.%d",                      \
2552                  (Loc).first_line, (Loc).first_column,     \
2553                  (Loc).last_line,  (Loc).last_column)
2554    # else
2555    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2556    # endif
2557  #endif  #endif
2558    
2559    
2560  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2561    
2562  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2005  while (0) Line 2577  while (0)
2577  do {                                            \  do {                                            \
2578    if (yydebug)                                  \    if (yydebug)                                  \
2579      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2580  } while (0)  } while (YYID (0))
2581    
2582  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2583  do {                                            \  do {                                                                      \
2584    if (yydebug)                                  \    if (yydebug)                                                            \
2585      yysymprint Args;                            \      {                                                                     \
2586  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2587          yy_symbol_print (stderr,                                            \
2588                      Type, Value); \
2589          YYFPRINTF (stderr, "\n");                                           \
2590        }                                                                     \
2591    } while (YYID (0))
2592    
2593  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2594  do {                                                            \  /*--------------------------------.
2595    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2596      {                                                           \  `--------------------------------*/
2597        YYFPRINTF (stderr, "%s ", Title);                         \  
2598        yysymprint (stderr,                                       \  /*ARGSUSED*/
2599                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2600        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2601      }                                                           \  static void
2602  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2603    #else
2604    static void
2605    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2606        FILE *yyoutput;
2607        int yytype;
2608        YYSTYPE const * const yyvaluep;
2609    #endif
2610    {
2611      if (!yyvaluep)
2612        return;
2613    # ifdef YYPRINT
2614      if (yytype < YYNTOKENS)
2615        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2616    # else
2617      YYUSE (yyoutput);
2618    # endif
2619      switch (yytype)
2620        {
2621          default:
2622            break;
2623        }
2624    }
2625    
2626    
2627    /*--------------------------------.
2628    | Print this symbol on YYOUTPUT.  |
2629    `--------------------------------*/
2630    
2631    #if (defined __STDC__ || defined __C99__FUNC__ \
2632         || defined __cplusplus || defined _MSC_VER)
2633    static void
2634    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2635    #else
2636    static void
2637    yy_symbol_print (yyoutput, yytype, yyvaluep)
2638        FILE *yyoutput;
2639        int yytype;
2640        YYSTYPE const * const yyvaluep;
2641    #endif
2642    {
2643      if (yytype < YYNTOKENS)
2644        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2645      else
2646        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2647    
2648      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2649      YYFPRINTF (yyoutput, ")");
2650    }
2651    
2652  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2653  | 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 |
2654  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2655  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2656    
2657  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2658         || defined __cplusplus || defined _MSC_VER)
2659  static void  static void
2660  yy_stack_print (short *bottom, short *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2661  #else  #else
2662  static void  static void
2663  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2664      short *bottom;      yytype_int16 *bottom;
2665      short *top;      yytype_int16 *top;
2666  #endif  #endif
2667  {  {
2668    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2669    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2670      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2671    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2672  }  }
# Line 2049  yy_stack_print (bottom, top) Line 2675  yy_stack_print (bottom, top)
2675  do {                                                            \  do {                                                            \
2676    if (yydebug)                                                  \    if (yydebug)                                                  \
2677      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2678  } while (0)  } while (YYID (0))
2679    
2680    
2681  /*------------------------------------------------.  /*------------------------------------------------.
2682  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2683  `------------------------------------------------*/  `------------------------------------------------*/
2684    
2685  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2686         || defined __cplusplus || defined _MSC_VER)
2687  static void  static void
2688  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2689  #else  #else
2690  static void  static void
2691  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2692        YYSTYPE *yyvsp;
2693      int yyrule;      int yyrule;
2694  #endif  #endif
2695  {  {
2696      int yynrhs = yyr2[yyrule];
2697    int yyi;    int yyi;
2698    unsigned int yylineno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2699    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2700               yyrule - 1, yylineno);               yyrule - 1, yylno);
2701    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2702    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2703      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2704    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2705          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2706                           &(yyvsp[(yyi + 1) - (yynrhs)])
2707                                           );
2708          fprintf (stderr, "\n");
2709        }
2710  }  }
2711    
2712  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2713  do {                                    \  do {                                    \
2714    if (yydebug)                          \    if (yydebug)                          \
2715      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2716  } while (0)  } while (YYID (0))
2717    
2718  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2719     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2720  int yydebug;  int yydebug;
2721  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2722  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2723  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2724  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2725  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2726  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2102  int yydebug; Line 2735  int yydebug;
2735     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2736    
2737     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2738     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2739     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2740    
 #if YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2741  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2742  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2743  #endif  #endif
# Line 2118  int yydebug; Line 2747  int yydebug;
2747  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2748    
2749  # ifndef yystrlen  # ifndef yystrlen
2750  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2751  #   define yystrlen strlen  #   define yystrlen strlen
2752  #  else  #  else
2753  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2754    #if (defined __STDC__ || defined __C99__FUNC__ \
2755         || defined __cplusplus || defined _MSC_VER)
2756  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2757  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2758  #   else  #else
2759    static YYSIZE_T
2760  yystrlen (yystr)  yystrlen (yystr)
2761       const char *yystr;      const char *yystr;
2762  #   endif  #endif
2763  {  {
2764    register const char *yys = yystr;    YYSIZE_T yylen;
2765      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2766      continue;      continue;
2767      return yylen;
   return yys - yystr - 1;  
2768  }  }
2769  #  endif  #  endif
2770  # endif  # endif
2771    
2772  # ifndef yystpcpy  # ifndef yystpcpy
2773  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2774  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2775  #  else  #  else
2776  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2777     YYDEST.  */     YYDEST.  */
2778    #if (defined __STDC__ || defined __C99__FUNC__ \
2779         || defined __cplusplus || defined _MSC_VER)
2780  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2781  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2782  #   else  #else
2783    static char *
2784  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2785       char *yydest;      char *yydest;
2786       const char *yysrc;      const char *yysrc;
2787  #   endif  #endif
2788  {  {
2789    register char *yyd = yydest;    char *yyd = yydest;
2790    register const char *yys = yysrc;    const char *yys = yysrc;
2791    
2792    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2793      continue;      continue;
# Line 2166  yystpcpy (yydest, yysrc) Line 2797  yystpcpy (yydest, yysrc)
2797  #  endif  #  endif
2798  # endif  # endif
2799    
2800  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2801    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2802       quotes and backslashes, so that it's suitable for yyerror.  The
2803       heuristic is that double-quoting is unnecessary unless the string
2804       contains an apostrophe, a comma, or backslash (other than
2805       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2806       null, do not copy; instead, return the length of what the result
2807       would have been.  */
2808    static YYSIZE_T
2809    yytnamerr (char *yyres, const char *yystr)
2810    {
2811      if (*yystr == '"')
2812        {
2813          YYSIZE_T yyn = 0;
2814          char const *yyp = yystr;
2815    
2816          for (;;)
2817            switch (*++yyp)
2818              {
2819              case '\'':
2820              case ',':
2821                goto do_not_strip_quotes;
2822    
2823              case '\\':
2824                if (*++yyp != '\\')
2825                  goto do_not_strip_quotes;
2826                /* Fall through.  */
2827              default:
2828                if (yyres)
2829                  yyres[yyn] = *yyp;
2830                yyn++;
2831                break;
2832    
2833              case '"':
2834                if (yyres)
2835                  yyres[yyn] = '\0';
2836                return yyn;
2837              }
2838        do_not_strip_quotes: ;
2839        }
2840    
2841  #if YYDEBUG    if (! yyres)
2842  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2843    
2844  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2845  static void  }
2846  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2847  #else  
2848  static void  /* Copy into YYRESULT an error message about the unexpected token
2849  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2850      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2851      int yytype;     copy anything; just return the number of bytes that would be
2852      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2853  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2854       size calculation.  */
2855    static YYSIZE_T
2856    yysyntax_error (char *yyresult, int yystate, int yychar)
2857  {  {
2858    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2859    
2860    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2861        return 0;
2862      else
2863      {      {
2864        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
2865  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2866        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
2867          YYSIZE_T yysize1;
2868          int yysize_overflow = 0;
2869          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2870          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2871          int yyx;
2872    
2873    # if 0
2874          /* This is so xgettext sees the translatable formats that are
2875             constructed on the fly.  */
2876          YY_("syntax error, unexpected %s");
2877          YY_("syntax error, unexpected %s, expecting %s");
2878          YY_("syntax error, unexpected %s, expecting %s or %s");
2879          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2880          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2881  # endif  # endif
2882      }        char *yyfmt;
2883    else        char const *yyf;
2884      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
2885          static char const yyexpecting[] = ", expecting %s";
2886          static char const yyor[] = " or %s";
2887          char yyformat[sizeof yyunexpected
2888                        + sizeof yyexpecting - 1
2889                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2890                           * (sizeof yyor - 1))];
2891          char const *yyprefix = yyexpecting;
2892    
2893          /* Start YYX at -YYN if negative to avoid negative indexes in
2894             YYCHECK.  */
2895          int yyxbegin = yyn < 0 ? -yyn : 0;
2896    
2897          /* Stay within bounds of both yycheck and yytname.  */
2898          int yychecklim = YYLAST - yyn + 1;
2899          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2900          int yycount = 1;
2901    
2902          yyarg[0] = yytname[yytype];
2903          yyfmt = yystpcpy (yyformat, yyunexpected);
2904    
2905          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2906            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2907              {
2908                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2909                  {
2910                    yycount = 1;
2911                    yysize = yysize0;
2912                    yyformat[sizeof yyunexpected - 1] = '\0';
2913                    break;
2914                  }
2915                yyarg[yycount++] = yytname[yyx];
2916                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2917                yysize_overflow |= (yysize1 < yysize);
2918                yysize = yysize1;
2919                yyfmt = yystpcpy (yyfmt, yyprefix);
2920                yyprefix = yyor;
2921              }
2922    
2923          yyf = YY_(yyformat);
2924          yysize1 = yysize + yystrlen (yyf);
2925          yysize_overflow |= (yysize1 < yysize);
2926          yysize = yysize1;
2927    
2928    switch (yytype)        if (yysize_overflow)
2929      {          return YYSIZE_MAXIMUM;
2930        default:  
2931          break;        if (yyresult)
2932            {
2933              /* Avoid sprintf, as that infringes on the user's name space.
2934                 Don't have undefined behavior even if the translation
2935                 produced a string with the wrong number of "%s"s.  */
2936              char *yyp = yyresult;
2937              int yyi = 0;
2938              while ((*yyp = *yyf) != '\0')
2939                {
2940                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2941                    {
2942                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2943                      yyf += 2;
2944                    }
2945                  else
2946                    {
2947                      yyp++;
2948                      yyf++;
2949                    }
2950                }
2951            }
2952          return yysize;
2953      }      }
   YYFPRINTF (yyoutput, ")");  
2954  }  }
2955    #endif /* YYERROR_VERBOSE */
2956    
2957    
 #endif /* ! YYDEBUG */  
2958  /*-----------------------------------------------.  /*-----------------------------------------------.
2959  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
2960  `-----------------------------------------------*/  `-----------------------------------------------*/
2961    
2962  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
2963    #if (defined __STDC__ || defined __C99__FUNC__ \
2964         || defined __cplusplus || defined _MSC_VER)
2965  static void  static void
2966  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2967  #else  #else
2968  static void  static void
2969  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
2970        const char *yymsg;
2971      int yytype;      int yytype;
2972      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
2973  #endif  #endif
2974  {  {
2975    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
2976    (void) yyvaluep;  
2977      if (!yymsg)
2978        yymsg = "Deleting";
2979      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2980    
2981    switch (yytype)    switch (yytype)
2982      {      {
2983    
2984        default:        default:
2985          break;          break;
2986      }      }
2987  }  }
2988    
# Line 2237  yydestruct (yytype, yyvaluep) Line 2990  yydestruct (yytype, yyvaluep)
2990  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
2991    
2992  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
2993  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
2994  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
2995  # else  #else
2996  int yyparse ();  int yyparse ();
2997  # endif  #endif
2998  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
2999  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3000  int yyparse (void);  int yyparse (void);
3001  #else  #else
3002  int yyparse ();  int yyparse ();
# Line 2260  int yyparse (); Line 3013  int yyparse ();
3013  `----------*/  `----------*/
3014    
3015  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3016  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3017  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3018  # else  int
3019  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3020    void *YYPARSE_PARAM;  #else
3021  # endif  int
3022    yyparse (YYPARSE_PARAM)
3023        void *YYPARSE_PARAM;
3024    #endif
3025  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3026  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3027         || defined __cplusplus || defined _MSC_VER)
3028  int  int
3029  yyparse (void)  yyparse (void)
3030  #else  #else
# Line 2277  yyparse () Line 3034  yyparse ()
3034  #endif  #endif
3035  #endif  #endif
3036  {  {
3037    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3038  int yychar;  int yychar;
3039    
3040  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3041  YYSTYPE yylval;  YYSTYPE yylval;
3042    
3043  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3044  int yynerrs;  int yynerrs;
3045    
3046    register int yystate;    int yystate;
3047    register int yyn;    int yyn;
3048    int yyresult;    int yyresult;
3049    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3050    int yyerrstatus;    int yyerrstatus;
3051    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3052    int yytoken = 0;    int yytoken = 0;
3053    #if YYERROR_VERBOSE
3054      /* Buffer for error messages, and its allocated size.  */
3055      char yymsgbuf[128];
3056      char *yymsg = yymsgbuf;
3057      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3058    #endif
3059    
3060    /* Three stacks and their tools:    /* Three stacks and their tools:
3061       `yyss': related to states,       `yyss': related to states,
# Line 2303  int yynerrs; Line 3066  int yynerrs;
3066       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3067    
3068    /* The state stack.  */    /* The state stack.  */
3069    short yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3070    short *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3071    register short *yyssp;    yytype_int16 *yyssp;
3072    
3073    /* The semantic value stack.  */    /* The semantic value stack.  */
3074    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3075    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3076    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3077    
3078    
3079    
3080  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3081    
3082    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3083    
# Line 2323  int yynerrs; Line 3086  int yynerrs;
3086    YYSTYPE yyval;    YYSTYPE yyval;
3087    
3088    
3089    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3090       rule.  */       Keep to zero when no symbol should be popped.  */
3091    int yylen;    int yylen = 0;
3092    
3093    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3094    
# Line 2349  int yynerrs; Line 3112  int yynerrs;
3112  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3113   yynewstate:   yynewstate:
3114    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3115       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3116    yyssp++;    yyssp++;
3117    
3118   yysetstate:   yysetstate:
# Line 2363  int yynerrs; Line 3125  int yynerrs;
3125    
3126  #ifdef yyoverflow  #ifdef yyoverflow
3127        {        {
3128          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3129             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3130             memory.  */             memory.  */
3131          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3132          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3133    
3134    
3135          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3136             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
3137             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3138             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3139          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3140                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3141                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3142    
# Line 2385  int yynerrs; Line 3147  int yynerrs;
3147        }        }
3148  #else /* no yyoverflow */  #else /* no yyoverflow */
3149  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3150        goto yyoverflowlab;        goto yyexhaustedlab;
3151  # else  # else
3152        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3153        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3154          goto yyoverflowlab;          goto yyexhaustedlab;
3155        yystacksize *= 2;        yystacksize *= 2;
3156        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3157          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3158    
3159        {        {
3160          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3161          union yyalloc *yyptr =          union yyalloc *yyptr =
3162            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3163          if (! yyptr)          if (! yyptr)
3164            goto yyoverflowlab;            goto yyexhaustedlab;
3165          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3166          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3167    
# Line 2430  int yynerrs; Line 3192  int yynerrs;
3192  `-----------*/  `-----------*/
3193  yybackup:  yybackup:
3194    
3195  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3196  /* Read a lookahead 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: */  
   
   /* First try to decide what to do without reference to lookahead token.  */  
3197    
3198      /* First try to decide what to do without reference to look-ahead token.  */
3199    yyn = yypact[yystate];    yyn = yypact[yystate];
3200    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3201      goto yydefault;      goto yydefault;
3202    
3203    /* Not known => get a lookahead token if don't already have one.  */    /* Not known => get a look-ahead token if don't already have one.  */
3204    
3205    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3206    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3207      {      {
3208        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2457  yybackup: Line 3217  yybackup:
3217    else    else
3218      {      {
3219        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3220        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3221      }      }
3222    
3223    /* If the proper action on seeing token YYTOKEN is to reduce or to    /* If the proper action on seeing token YYTOKEN is to reduce or to
# Line 2477  yybackup: Line 3237  yybackup:
3237    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3238      YYACCEPT;      YYACCEPT;
3239    
   /* Shift the lookahead token.  */  
   YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));  
   
   /* Discard the token being shifted unless it is eof.  */  
   if (yychar != YYEOF)  
     yychar = YYEMPTY;  
   
   *++yyvsp = yylval;  
   
   
3240    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3241       status.  */       status.  */
3242    if (yyerrstatus)    if (yyerrstatus)
3243      yyerrstatus--;      yyerrstatus--;
3244    
3245      /* Shift the look-ahead token.  */
3246      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3247    
3248      /* Discard the shifted token unless it is eof.  */
3249      if (yychar != YYEOF)
3250        yychar = YYEMPTY;
3251    
3252    yystate = yyn;    yystate = yyn;
3253      *++yyvsp = yylval;
3254    
3255    goto yynewstate;    goto yynewstate;
3256    
3257    
# Line 2528  yyreduce: Line 3287  yyreduce:
3287    switch (yyn)    switch (yyn)
3288      {      {
3289          case 4:          case 4:
3290  #line 85 "lscp.y"  #line 101 "lscp.y"
3291      { return LSCP_DONE; }      { return LSCP_DONE; }
3292      break;      break;
3293    
3294    case 5:    case 5:
3295  #line 86 "lscp.y"  #line 102 "lscp.y"
3296      { return LSCP_DONE; }      { return LSCP_DONE; }
3297      break;      break;
3298    
3299    case 6:    case 6:
3300  #line 87 "lscp.y"  #line 103 "lscp.y"
3301      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3302      break;      break;
3303    
3304    case 7:    case 7:
3305  #line 88 "lscp.y"  #line 104 "lscp.y"
3306      { 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; }
3307      break;      break;
3308    
3309    case 13:    case 13:
3310  #line 98 "lscp.y"  #line 114 "lscp.y"
3311      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3312      break;      break;
3313    
3314    case 14:    case 14:
3315  #line 99 "lscp.y"  #line 115 "lscp.y"
3316      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3317      break;      break;
3318    
3319    case 15:    case 15:
3320  #line 100 "lscp.y"  #line 116 "lscp.y"
3321      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3322      break;      break;
3323    
3324    case 16:    case 16:
3325  #line 101 "lscp.y"  #line 117 "lscp.y"
3326      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3327      break;      break;
3328    
3329    case 17:    case 17:
3330  #line 102 "lscp.y"  #line 118 "lscp.y"
3331      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3332      break;      break;
3333    
3334    case 18:    case 18:
3335  #line 103 "lscp.y"  #line 119 "lscp.y"
3336      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3337      break;      break;
3338    
3339    case 19:    case 19:
3340  #line 104 "lscp.y"  #line 120 "lscp.y"
3341      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3342      break;      break;
3343    
3344    case 20:    case 20:
3345  #line 105 "lscp.y"  #line 121 "lscp.y"
3346      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3347      break;      break;
3348    
3349    case 21:    case 21:
3350  #line 106 "lscp.y"  #line 122 "lscp.y"
3351      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3352      break;      break;
3353    
3354    case 22:    case 22:
3355  #line 107 "lscp.y"  #line 123 "lscp.y"
3356      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3357      break;      break;
3358    
3359    case 23:    case 23:
3360  #line 108 "lscp.y"  #line 124 "lscp.y"
3361      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3362      break;      break;
3363    
3364    case 24:    case 24:
3365  #line 109 "lscp.y"  #line 125 "lscp.y"
3366      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3367      break;      break;
3368    
3369    case 25:    case 25:
3370  #line 110 "lscp.y"  #line 126 "lscp.y"
3371      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3372      break;      break;
3373    
3374    case 26:    case 26:
3375  #line 113 "lscp.y"  #line 127 "lscp.y"
3376      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3377      break;      break;
3378    
3379    case 27:    case 27:
3380  #line 114 "lscp.y"  #line 128 "lscp.y"
3381      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3382      break;      break;
3383    
3384    case 28:    case 28:
3385  #line 115 "lscp.y"  #line 129 "lscp.y"
3386      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3387      break;      break;
3388    
3389    case 29:    case 29:
3390  #line 116 "lscp.y"  #line 130 "lscp.y"
3391      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3392      break;      break;
3393    
3394    case 30:    case 30:
3395  #line 117 "lscp.y"  #line 133 "lscp.y"
3396      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3397      break;      break;
3398    
3399    case 31:    case 31:
3400  #line 118 "lscp.y"  #line 134 "lscp.y"
3401      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3402      break;      break;
3403    
3404    case 32:    case 32:
3405  #line 121 "lscp.y"  #line 135 "lscp.y"
3406      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3407      break;      break;
3408    
3409    case 33:    case 33:
3410  #line 122 "lscp.y"  #line 138 "lscp.y"
3411      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3412      break;      break;
3413    
3414    case 34:    case 34:
3415  #line 123 "lscp.y"  #line 139 "lscp.y"
3416      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3417      break;      break;
3418    
3419    case 35:    case 35:
3420  #line 124 "lscp.y"  #line 140 "lscp.y"
3421      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3422      break;      break;
3423    
3424    case 36:    case 36:
3425  #line 125 "lscp.y"  #line 141 "lscp.y"
3426      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3427      break;      break;
3428    
3429    case 37:    case 37:
3430  #line 126 "lscp.y"  #line 142 "lscp.y"
3431      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3432      break;      break;
3433    
3434    case 38:    case 38:
3435  #line 129 "lscp.y"  #line 143 "lscp.y"
3436      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3437      break;      break;
3438    
3439    case 39:    case 39:
3440  #line 130 "lscp.y"  #line 144 "lscp.y"
3441      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3442      break;      break;
3443    
3444    case 40:    case 40:
3445  #line 131 "lscp.y"  #line 145 "lscp.y"
3446      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3447      break;      break;
3448    
3449    case 41:    case 41:
3450  #line 132 "lscp.y"  #line 146 "lscp.y"
3451      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3452      break;      break;
3453    
3454    case 42:    case 42:
3455  #line 133 "lscp.y"  #line 147 "lscp.y"
3456      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3457      break;      break;
3458    
3459    case 43:    case 43:
3460  #line 134 "lscp.y"  #line 148 "lscp.y"
3461      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3462      break;      break;
3463    
3464    case 44:    case 44:
3465  #line 135 "lscp.y"  #line 149 "lscp.y"
3466      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3467      break;      break;
3468    
3469    case 45:    case 45:
3470  #line 136 "lscp.y"  #line 150 "lscp.y"
3471      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3472      break;      break;
3473    
3474    case 46:    case 46:
3475  #line 137 "lscp.y"  #line 151 "lscp.y"
3476      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3477      break;      break;
3478    
3479    case 47:    case 47:
3480  #line 138 "lscp.y"  #line 152 "lscp.y"
3481      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3482      break;      break;
3483    
3484    case 48:    case 48:
3485  #line 139 "lscp.y"  #line 155 "lscp.y"
3486      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3487      break;      break;
3488    
3489    case 49:    case 49:
3490  #line 140 "lscp.y"  #line 156 "lscp.y"
3491      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3492      break;      break;
3493    
3494    case 50:    case 50:
3495  #line 141 "lscp.y"  #line 157 "lscp.y"
3496      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3497      break;      break;
3498    
3499    case 51:    case 51:
3500  #line 142 "lscp.y"  #line 158 "lscp.y"
3501      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3502      break;      break;
3503    
3504    case 52:    case 52:
3505  #line 143 "lscp.y"  #line 159 "lscp.y"
3506      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3507      break;      break;
3508    
3509    case 53:    case 53:
3510  #line 144 "lscp.y"  #line 160 "lscp.y"
3511      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3512      break;      break;
3513    
3514    case 54:    case 54:
3515  #line 145 "lscp.y"  #line 161 "lscp.y"
3516      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3517      break;      break;
3518    
3519    case 55:    case 55:
3520  #line 146 "lscp.y"  #line 162 "lscp.y"
3521      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3522      break;      break;
3523    
3524    case 56:    case 56:
3525  #line 147 "lscp.y"  #line 163 "lscp.y"
3526      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3527      break;      break;
3528    
3529    case 57:    case 57:
3530  #line 148 "lscp.y"  #line 164 "lscp.y"
3531      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3532      break;      break;
3533    
3534    case 58:    case 58:
3535  #line 149 "lscp.y"  #line 165 "lscp.y"
3536      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3537      break;      break;
3538    
3539    case 59:    case 59:
3540  #line 150 "lscp.y"  #line 166 "lscp.y"
3541      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3542      break;      break;
3543    
3544    case 60:    case 60:
3545  #line 151 "lscp.y"  #line 167 "lscp.y"
3546      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3547      break;      break;
3548    
3549    case 61:    case 61:
3550  #line 154 "lscp.y"  #line 168 "lscp.y"
3551      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3552      break;      break;
3553    
3554    case 62:    case 62:
3555  #line 155 "lscp.y"  #line 169 "lscp.y"
3556      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3557      break;      break;
3558    
3559    case 63:    case 63:
3560  #line 156 "lscp.y"  #line 172 "lscp.y"
3561      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (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)); }
3562      break;      break;
3563    
3564    case 64:    case 64:
3565  #line 157 "lscp.y"  #line 173 "lscp.y"
3566      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (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)); }
3567      break;      break;
3568    
3569    case 65:    case 65:
3570  #line 158 "lscp.y"  #line 174 "lscp.y"
3571      { yyval.String = yyvsp[0].String;                                                         }      { (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)); }
3572      break;      break;
3573    
3574    case 66:    case 66:
3575  #line 159 "lscp.y"  #line 175 "lscp.y"
3576      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (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)); }
3577      break;      break;
3578    
3579    case 67:    case 67:
3580  #line 162 "lscp.y"  #line 178 "lscp.y"
3581      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3582      break;      break;
3583    
3584    case 68:    case 68:
3585  #line 163 "lscp.y"  #line 181 "lscp.y"
3586      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3587      break;      break;
3588    
3589    case 69:    case 69:
3590  #line 164 "lscp.y"  #line 182 "lscp.y"
3591      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3592      break;      break;
3593    
3594    case 70:    case 70:
3595  #line 165 "lscp.y"  #line 183 "lscp.y"
3596      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3597      break;      break;
3598    
3599    case 71:    case 71:
3600  #line 168 "lscp.y"  #line 186 "lscp.y"
3601      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3602      break;      break;
3603    
3604    case 72:    case 72:
3605  #line 169 "lscp.y"  #line 187 "lscp.y"
3606      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3607      break;      break;
3608    
3609    case 73:    case 73:
3610  #line 172 "lscp.y"  #line 188 "lscp.y"
3611      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3612      break;      break;
3613    
3614    case 74:    case 74:
3615  #line 173 "lscp.y"  #line 189 "lscp.y"
3616      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3617      break;      break;
3618    
3619    case 75:    case 75:
3620  #line 176 "lscp.y"  #line 190 "lscp.y"
3621      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3622      break;      break;
3623    
3624    case 76:    case 76:
3625  #line 177 "lscp.y"  #line 191 "lscp.y"
3626      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3627      break;      break;
3628    
3629    case 77:    case 77:
3630  #line 178 "lscp.y"  #line 192 "lscp.y"
3631      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3632      break;      break;
3633    
3634    case 78:    case 78:
3635  #line 179 "lscp.y"  #line 193 "lscp.y"
3636      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3637      break;      break;
3638    
3639    case 79:    case 79:
3640  #line 180 "lscp.y"  #line 194 "lscp.y"
3641      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3642      break;      break;
3643    
3644    case 80:    case 80:
3645  #line 181 "lscp.y"  #line 195 "lscp.y"
3646      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3647      break;      break;
3648    
3649    case 81:    case 81:
3650  #line 182 "lscp.y"  #line 196 "lscp.y"
3651      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3652      break;      break;
3653    
3654    case 82:    case 82:
3655  #line 183 "lscp.y"  #line 197 "lscp.y"
3656      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3657      break;      break;
3658    
3659    case 83:    case 83:
3660  #line 184 "lscp.y"  #line 198 "lscp.y"
3661      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3662      break;      break;
3663    
3664    case 84:    case 84:
3665  #line 187 "lscp.y"  #line 199 "lscp.y"
3666      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3667      break;      break;
3668    
3669    case 85:    case 85:
3670  #line 188 "lscp.y"  #line 200 "lscp.y"
3671      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3672      break;      break;
3673    
3674    case 86:    case 86:
3675  #line 191 "lscp.y"  #line 201 "lscp.y"
3676      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3677      break;      break;
3678    
3679    case 87:    case 87:
3680  #line 192 "lscp.y"  #line 202 "lscp.y"
3681      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3682      break;      break;
3683    
3684    case 88:    case 88:
3685  #line 195 "lscp.y"  #line 203 "lscp.y"
3686      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3687      break;      break;
3688    
3689    case 89:    case 89:
3690  #line 196 "lscp.y"  #line 204 "lscp.y"
3691      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3692      break;      break;
3693    
3694    case 90:    case 90:
3695  #line 197 "lscp.y"  #line 205 "lscp.y"
3696      { yyval.String = LSCPSERVER->ListChannels();          }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3697      break;      break;
3698    
3699    case 91:    case 91:
3700  #line 200 "lscp.y"  #line 206 "lscp.y"
3701      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3702      break;      break;
3703    
3704    case 92:    case 92:
3705  #line 201 "lscp.y"  #line 207 "lscp.y"
3706      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3707      break;      break;
3708    
3709    case 93:    case 93:
3710  #line 204 "lscp.y"  #line 208 "lscp.y"
3711      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3712        break;
3713    
3714      case 94:
3715    #line 209 "lscp.y"
3716        { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3717        break;
3718    
3719      case 95:
3720    #line 210 "lscp.y"
3721        { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3722        break;
3723    
3724      case 96:
3725    #line 211 "lscp.y"
3726        { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3727        break;
3728    
3729      case 97:
3730    #line 212 "lscp.y"
3731        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3732        break;
3733    
3734      case 98:
3735    #line 213 "lscp.y"
3736        { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3737      break;      break;
3738    
3739    case 99:    case 99:
3740  #line 220 "lscp.y"  #line 214 "lscp.y"
3741      { yyval.Number = 16; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3742        break;
3743    
3744      case 100:
3745    #line 215 "lscp.y"
3746        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3747        break;
3748    
3749      case 101:
3750    #line 216 "lscp.y"
3751        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3752      break;      break;
3753    
3754    case 102:    case 102:
3755  #line 227 "lscp.y"  #line 217 "lscp.y"
3756      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
3757        break;
3758    
3759      case 103:
3760    #line 218 "lscp.y"
3761        { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
3762        break;
3763    
3764      case 104:
3765    #line 219 "lscp.y"
3766        { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
3767        break;
3768    
3769      case 105:
3770    #line 222 "lscp.y"
3771        { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3772        break;
3773    
3774      case 106:
3775    #line 223 "lscp.y"
3776        { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3777        break;
3778    
3779      case 107:
3780    #line 224 "lscp.y"
3781        { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3782        break;
3783    
3784      case 108:
3785    #line 225 "lscp.y"
3786        { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3787      break;      break;
3788    
3789    case 109:    case 109:
3790  #line 244 "lscp.y"  #line 226 "lscp.y"
3791      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3792      break;      break;
3793    
3794    case 110:    case 110:
3795  #line 245 "lscp.y"  #line 227 "lscp.y"
3796      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3797      break;      break;
3798    
3799    case 111:    case 111:
3800  #line 251 "lscp.y"  #line 228 "lscp.y"
3801      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
3802      break;      break;
3803    
3804    case 112:    case 112:
3805  #line 252 "lscp.y"  #line 229 "lscp.y"
3806      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
3807      break;      break;
3808    
3809    case 113:    case 113:
3810  #line 255 "lscp.y"  #line 230 "lscp.y"
3811      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
3812      break;      break;
3813    
3814    case 114:    case 114:
3815  #line 256 "lscp.y"  #line 231 "lscp.y"
3816      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3817      break;      break;
3818    
3819    case 115:    case 115:
3820  #line 259 "lscp.y"  #line 232 "lscp.y"
3821      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
3822      break;      break;
3823    
3824    case 116:    case 116:
3825  #line 260 "lscp.y"  #line 235 "lscp.y"
3826      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3827      break;      break;
3828    
3829    case 117:    case 117:
3830  #line 261 "lscp.y"  #line 236 "lscp.y"
3831      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3832      break;      break;
3833    
3834    case 118:    case 118:
3835  #line 265 "lscp.y"  #line 237 "lscp.y"
3836      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3837      break;      break;
3838    
3839    case 119:    case 119:
3840  #line 266 "lscp.y"  #line 238 "lscp.y"
3841      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3842      break;      break;
3843    
3844    case 120:    case 120:
3845  #line 269 "lscp.y"  #line 239 "lscp.y"
3846      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
3847      break;      break;
3848    
3849    case 121:    case 121:
3850  #line 270 "lscp.y"  #line 240 "lscp.y"
3851      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
3852      break;      break;
3853    
3854    case 122:    case 122:
3855  #line 271 "lscp.y"  #line 243 "lscp.y"
3856      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3857      break;      break;
3858    
3859    case 123:    case 123:
3860  #line 272 "lscp.y"  #line 246 "lscp.y"
3861      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3862      break;      break;
3863    
3864    case 124:    case 124:
3865  #line 273 "lscp.y"  #line 247 "lscp.y"
3866      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3867      break;      break;
3868    
3869    case 125:    case 125:
3870  #line 274 "lscp.y"  #line 250 "lscp.y"
3871      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3872      break;      break;
3873    
3874    case 126:    case 126:
3875  #line 275 "lscp.y"  #line 251 "lscp.y"
3876      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3877      break;      break;
3878    
3879    case 127:    case 127:
3880  #line 276 "lscp.y"  #line 252 "lscp.y"
3881      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
3882      break;      break;
3883    
3884    case 128:    case 128:
3885  #line 277 "lscp.y"  #line 255 "lscp.y"
3886      { yyval.Char = '8'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3887      break;      break;
3888    
3889    case 129:    case 129:
3890  #line 278 "lscp.y"  #line 256 "lscp.y"
3891      { yyval.Char = '9'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3892      break;      break;
3893    
3894    case 130:    case 130:
3895  #line 281 "lscp.y"  #line 259 "lscp.y"
3896      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3897      break;      break;
3898    
3899    case 131:    case 131:
3900  #line 282 "lscp.y"  #line 260 "lscp.y"
3901      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3902      break;      break;
3903    
3904    case 132:    case 132:
3905  #line 283 "lscp.y"  #line 261 "lscp.y"
3906      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3907      break;      break;
3908    
3909    case 133:    case 133:
3910  #line 284 "lscp.y"  #line 262 "lscp.y"
3911      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3912      break;      break;
3913    
3914    case 134:    case 134:
3915  #line 285 "lscp.y"  #line 263 "lscp.y"
3916      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3917      break;      break;
3918    
3919    case 135:    case 135:
3920  #line 286 "lscp.y"  #line 264 "lscp.y"
3921      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3922      break;      break;
3923    
3924    case 136:    case 136:
3925  #line 287 "lscp.y"  #line 265 "lscp.y"
3926      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3927      break;      break;
3928    
3929    case 137:    case 137:
3930  #line 288 "lscp.y"  #line 266 "lscp.y"
3931      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3932      break;      break;
3933    
3934    case 138:    case 138:
3935  #line 289 "lscp.y"  #line 267 "lscp.y"
3936      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3937      break;      break;
3938    
3939    case 139:    case 139:
3940  #line 290 "lscp.y"  #line 268 "lscp.y"
3941      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3942      break;      break;
3943    
3944    case 140:    case 140:
3945  #line 292 "lscp.y"  #line 269 "lscp.y"
3946      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3947      break;      break;
3948    
3949    case 141:    case 141:
3950  #line 292 "lscp.y"  #line 270 "lscp.y"
3951      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
3952      break;      break;
3953    
3954    case 142:    case 142:
3955  #line 292 "lscp.y"  #line 271 "lscp.y"
3956      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
3957      break;      break;
3958    
3959    case 143:    case 143:
3960  #line 292 "lscp.y"  #line 272 "lscp.y"
3961      { yyval.Char = 'D'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
3962      break;      break;
3963    
3964    case 144:    case 144:
3965  #line 292 "lscp.y"  #line 275 "lscp.y"
3966      { yyval.Char = 'E'; }      { (yyval.Bool) = true;  }
3967      break;      break;
3968    
3969    case 145:    case 145:
3970  #line 292 "lscp.y"  #line 276 "lscp.y"
3971      { yyval.Char = 'F'; }      { (yyval.Bool) = false; }
3972      break;      break;
3973    
3974    case 146:    case 146:
3975  #line 292 "lscp.y"  #line 279 "lscp.y"
3976      { yyval.Char = 'G'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
3977      break;      break;
3978    
3979    case 147:    case 147:
3980  #line 292 "lscp.y"  #line 280 "lscp.y"
3981      { yyval.Char = 'H'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
3982      break;      break;
3983    
3984    case 148:    case 148:
3985  #line 292 "lscp.y"  #line 283 "lscp.y"
3986      { yyval.Char = 'I'; }      { (yyval.FillResponse) = fill_response_bytes;      }
3987      break;      break;
3988    
3989    case 149:    case 149:
3990  #line 292 "lscp.y"  #line 284 "lscp.y"
3991      { yyval.Char = 'J'; }      { (yyval.FillResponse) = fill_response_percentage; }
3992      break;      break;
3993    
3994    case 150:    case 150:
3995  #line 292 "lscp.y"  #line 287 "lscp.y"
3996      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
3997      break;      break;
3998    
3999    case 151:    case 151:
4000  #line 292 "lscp.y"  #line 288 "lscp.y"
4001      { yyval.Char = 'L'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4002      break;      break;
4003    
4004    case 152:    case 152:
4005  #line 292 "lscp.y"  #line 289 "lscp.y"
4006      { yyval.Char = 'M'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
4007      break;      break;
4008    
4009    case 153:    case 153:
4010  #line 292 "lscp.y"  #line 290 "lscp.y"
4011      { yyval.Char = 'N'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4012      break;      break;
4013    
4014    case 154:    case 154:
4015  #line 292 "lscp.y"  #line 291 "lscp.y"
4016      { yyval.Char = 'O'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4017      break;      break;
4018    
4019    case 155:    case 155:
4020  #line 292 "lscp.y"  #line 292 "lscp.y"
4021      { yyval.Char = 'P'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4022      break;      break;
4023    
4024    case 156:    case 156:
4025  #line 292 "lscp.y"  #line 293 "lscp.y"
4026      { yyval.Char = 'Q'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4027      break;      break;
4028    
4029    case 157:    case 157:
4030  #line 292 "lscp.y"  #line 294 "lscp.y"
4031      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4032      break;      break;
4033    
4034    case 158:    case 158:
4035  #line 292 "lscp.y"  #line 295 "lscp.y"
4036      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4037      break;      break;
4038    
4039    case 159:    case 159:
4040  #line 292 "lscp.y"  #line 296 "lscp.y"
4041      { yyval.Char = 'T'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4042      break;      break;
4043    
4044    case 160:    case 160:
4045  #line 292 "lscp.y"  #line 299 "lscp.y"
4046      { yyval.Char = 'U'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4047      break;      break;
4048    
4049    case 161:    case 161:
4050  #line 292 "lscp.y"  #line 300 "lscp.y"
4051      { yyval.Char = 'V'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4052      break;      break;
4053    
4054    case 162:    case 162:
4055  #line 292 "lscp.y"  #line 303 "lscp.y"
4056      { yyval.Char = 'W'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4057      break;      break;
4058    
4059    case 163:    case 163:
4060  #line 292 "lscp.y"  #line 306 "lscp.y"
4061      { yyval.Char = 'X'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4062      break;      break;
4063    
4064    case 164:    case 164:
4065  #line 292 "lscp.y"  #line 307 "lscp.y"
4066      { yyval.Char = 'Y'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4067      break;      break;
4068    
4069    case 165:    case 165:
4070  #line 292 "lscp.y"  #line 308 "lscp.y"
4071      { yyval.Char = 'Z'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 166:  
 #line 293 "lscp.y"  
     { yyval.Char = 'a'; }  
     break;  
   
   case 167:  
 #line 293 "lscp.y"  
     { yyval.Char = 'b'; }  
     break;  
   
   case 168:  
 #line 293 "lscp.y"  
     { yyval.Char = 'c'; }  
     break;  
   
   case 169:  
 #line 293 "lscp.y"  
     { yyval.Char = 'd'; }  
     break;  
   
   case 170:  
 #line 293 "lscp.y"  
     { yyval.Char = 'e'; }  
4072      break;      break;
4073    
4074    case 171:    case 171:
4075  #line 293 "lscp.y"  #line 324 "lscp.y"
4076      { yyval.Char = 'f'; }      { (yyval.Number) = 16; }
     break;  
   
   case 172:  
 #line 293 "lscp.y"  
     { yyval.Char = 'g'; }  
     break;  
   
   case 173:  
 #line 293 "lscp.y"  
     { yyval.Char = 'h'; }  
     break;  
   
   case 174:  
 #line 293 "lscp.y"  
     { yyval.Char = 'i'; }  
     break;  
   
   case 175:  
 #line 293 "lscp.y"  
     { yyval.Char = 'j'; }  
     break;  
   
   case 176:  
 #line 293 "lscp.y"  
     { yyval.Char = 'k'; }  
     break;  
   
   case 177:  
 #line 293 "lscp.y"  
     { yyval.Char = 'l'; }  
4077      break;      break;
4078    
4079    case 178:    case 178:
4080  #line 293 "lscp.y"  #line 343 "lscp.y"
4081      { yyval.Char = 'm'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 179:  
 #line 293 "lscp.y"  
     { yyval.Char = 'n'; }  
     break;  
   
   case 180:  
 #line 293 "lscp.y"  
     { yyval.Char = 'o'; }  
     break;  
   
   case 181:  
 #line 293 "lscp.y"  
     { yyval.Char = 'p'; }  
     break;  
   
   case 182:  
 #line 293 "lscp.y"  
     { yyval.Char = 'q'; }  
     break;  
   
   case 183:  
 #line 293 "lscp.y"  
     { yyval.Char = 'r'; }  
     break;  
   
   case 184:  
 #line 293 "lscp.y"  
     { yyval.Char = 's'; }  
     break;  
   
   case 185:  
 #line 293 "lscp.y"  
     { yyval.Char = 't'; }  
     break;  
   
   case 186:  
 #line 293 "lscp.y"  
     { yyval.Char = 'u'; }  
     break;  
   
   case 187:  
 #line 293 "lscp.y"  
     { yyval.Char = 'v'; }  
4082      break;      break;
4083    
4084    case 188:    case 188:
4085  #line 293 "lscp.y"  #line 371 "lscp.y"
4086      { yyval.Char = 'w'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 189:  
 #line 293 "lscp.y"  
     { yyval.Char = 'x'; }  
     break;  
   
   case 190:  
 #line 293 "lscp.y"  
     { yyval.Char = 'y'; }  
4087      break;      break;
4088    
4089    case 191:    case 191:
4090  #line 293 "lscp.y"  #line 376 "lscp.y"
4091      { yyval.Char = 'z'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4092      break;      break;
4093    
4094    case 192:    case 192:
4095  #line 294 "lscp.y"  #line 377 "lscp.y"
4096      { yyval.Char = '0'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4097      break;      break;
4098    
4099    case 193:    case 193:
4100  #line 294 "lscp.y"  #line 385 "lscp.y"
4101      { yyval.Char = '1'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4102      break;      break;
4103    
4104    case 194:    case 194:
4105  #line 294 "lscp.y"  #line 386 "lscp.y"
4106      { yyval.Char = '2'; }      { (yyval.Dotnum) = -1; }
4107      break;      break;
4108    
4109    case 195:    case 195:
4110  #line 294 "lscp.y"  #line 389 "lscp.y"
4111      { yyval.Char = '3'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4112      break;      break;
4113    
4114    case 196:    case 196:
4115  #line 294 "lscp.y"  #line 390 "lscp.y"
4116      { yyval.Char = '4'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4117      break;      break;
4118    
4119    case 197:    case 197:
4120  #line 294 "lscp.y"  #line 393 "lscp.y"
4121      { yyval.Char = '5'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4122      break;      break;
4123    
4124    case 198:    case 198:
4125  #line 294 "lscp.y"  #line 394 "lscp.y"
4126      { yyval.Char = '6'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4127      break;      break;
4128    
4129    case 199:    case 199:
4130  #line 294 "lscp.y"  #line 395 "lscp.y"
4131      { yyval.Char = '7'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4132      break;      break;
4133    
4134    case 200:    case 200:
4135  #line 294 "lscp.y"  #line 399 "lscp.y"
4136      { yyval.Char = '8'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4137      break;      break;
4138    
4139    case 201:    case 201:
4140  #line 294 "lscp.y"  #line 400 "lscp.y"
4141      { yyval.Char = '9'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4142      break;      break;
4143    
4144    case 202:    case 202:
4145  #line 295 "lscp.y"  #line 403 "lscp.y"
4146      { yyval.Char = '!'; }      { (yyval.Char) = '0'; }
4147      break;      break;
4148    
4149    case 203:    case 203:
4150  #line 295 "lscp.y"  #line 404 "lscp.y"
4151      { yyval.Char = '#'; }      { (yyval.Char) = '1'; }
4152      break;      break;
4153    
4154    case 204:    case 204:
4155  #line 295 "lscp.y"  #line 405 "lscp.y"
4156      { yyval.Char = '$'; }      { (yyval.Char) = '2'; }
4157      break;      break;
4158    
4159    case 205:    case 205:
4160  #line 295 "lscp.y"  #line 406 "lscp.y"
4161      { yyval.Char = '%'; }      { (yyval.Char) = '3'; }
4162      break;      break;
4163    
4164    case 206:    case 206:
4165  #line 295 "lscp.y"  #line 407 "lscp.y"
4166      { yyval.Char = '&'; }      { (yyval.Char) = '4'; }
4167      break;      break;
4168    
4169    case 207:    case 207:
4170  #line 295 "lscp.y"  #line 408 "lscp.y"
4171      { yyval.Char = '('; }      { (yyval.Char) = '5'; }
4172      break;      break;
4173    
4174    case 208:    case 208:
4175  #line 295 "lscp.y"  #line 409 "lscp.y"
4176      { yyval.Char = ')'; }      { (yyval.Char) = '6'; }
4177      break;      break;
4178    
4179    case 209:    case 209:
4180  #line 295 "lscp.y"  #line 410 "lscp.y"
4181      { yyval.Char = '*'; }      { (yyval.Char) = '7'; }
4182      break;      break;
4183    
4184    case 210:    case 210:
4185  #line 295 "lscp.y"  #line 411 "lscp.y"
4186      { yyval.Char = '+'; }      { (yyval.Char) = '8'; }
4187      break;      break;
4188    
4189    case 211:    case 211:
4190  #line 295 "lscp.y"  #line 412 "lscp.y"
4191      { yyval.Char = '-'; }      { (yyval.Char) = '9'; }
4192      break;      break;
4193    
4194    case 212:    case 212:
4195  #line 295 "lscp.y"  #line 415 "lscp.y"
4196      { yyval.Char = '.'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4197      break;      break;
4198    
4199    case 213:    case 213:
4200  #line 295 "lscp.y"  #line 416 "lscp.y"
4201      { yyval.Char = ','; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4202      break;      break;
4203    
4204    case 214:    case 214:
4205  #line 295 "lscp.y"  #line 417 "lscp.y"
4206      { yyval.Char = '/'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4207      break;      break;
4208    
4209    case 215:    case 215:
4210  #line 296 "lscp.y"  #line 418 "lscp.y"
4211      { yyval.Char = ':'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4212      break;      break;
4213    
4214    case 216:    case 216:
4215  #line 296 "lscp.y"  #line 419 "lscp.y"
4216      { yyval.Char = ';'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4217      break;      break;
4218    
4219    case 217:    case 217:
4220  #line 296 "lscp.y"  #line 420 "lscp.y"
4221      { yyval.Char = '<'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4222      break;      break;
4223    
4224    case 218:    case 218:
4225  #line 296 "lscp.y"  #line 421 "lscp.y"
4226      { yyval.Char = '='; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4227      break;      break;
4228    
4229    case 219:    case 219:
4230  #line 296 "lscp.y"  #line 422 "lscp.y"
4231      { yyval.Char = '>'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4232      break;      break;
4233    
4234    case 220:    case 220:
4235  #line 296 "lscp.y"  #line 423 "lscp.y"
4236      { yyval.Char = '?'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4237      break;      break;
4238    
4239    case 221:    case 221:
4240  #line 296 "lscp.y"  #line 424 "lscp.y"
4241      { yyval.Char = '@'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4242      break;      break;
4243    
4244    case 222:    case 222:
4245  #line 297 "lscp.y"  #line 426 "lscp.y"
4246      { yyval.Char = '['; }      { (yyval.Char) = 'A'; }
4247      break;      break;
4248    
4249    case 223:    case 223:
4250  #line 297 "lscp.y"  #line 426 "lscp.y"
4251      { yyval.Char = '\\'; }      { (yyval.Char) = 'B'; }
4252      break;      break;
4253    
4254    case 224:    case 224:
4255  #line 297 "lscp.y"  #line 426 "lscp.y"
4256      { yyval.Char = ']'; }      { (yyval.Char) = 'C'; }
4257      break;      break;
4258    
4259    case 225:    case 225:
4260  #line 297 "lscp.y"  #line 426 "lscp.y"
4261      { yyval.Char = '^'; }      { (yyval.Char) = 'D'; }
4262      break;      break;
4263    
4264    case 226:    case 226:
4265  #line 297 "lscp.y"  #line 426 "lscp.y"
4266      { yyval.Char = '_'; }      { (yyval.Char) = 'E'; }
4267      break;      break;
4268    
4269    case 227:    case 227:
4270  #line 298 "lscp.y"  #line 426 "lscp.y"
4271      { yyval.Char = '{'; }      { (yyval.Char) = 'F'; }
4272      break;      break;
4273    
4274    case 228:    case 228:
4275  #line 298 "lscp.y"  #line 426 "lscp.y"
4276      { yyval.Char = '|'; }      { (yyval.Char) = 'G'; }
4277      break;      break;
4278    
4279    case 229:    case 229:
4280  #line 298 "lscp.y"  #line 426 "lscp.y"
4281      { yyval.Char = '}'; }      { (yyval.Char) = 'H'; }
4282      break;      break;
4283    
4284    case 230:    case 230:
4285  #line 298 "lscp.y"  #line 426 "lscp.y"
4286      { yyval.Char = '~'; }      { (yyval.Char) = 'I'; }
4287      break;      break;
4288    
4289    case 231:    case 231:
4290  #line 299 "lscp.y"  #line 426 "lscp.y"
4291      { yyval.Char = '\200'; }      { (yyval.Char) = 'J'; }
4292      break;      break;
4293    
4294    case 232:    case 232:
4295  #line 299 "lscp.y"  #line 426 "lscp.y"
4296      { yyval.Char = '\201'; }      { (yyval.Char) = 'K'; }
4297      break;      break;
4298    
4299    case 233:    case 233:
4300  #line 299 "lscp.y"  #line 426 "lscp.y"
4301      { yyval.Char = '\202'; }      { (yyval.Char) = 'L'; }
4302      break;      break;
4303    
4304    case 234:    case 234:
4305  #line 300 "lscp.y"  #line 426 "lscp.y"
4306      { yyval.Char = '\203'; }      { (yyval.Char) = 'M'; }
4307      break;      break;
4308    
4309    case 235:    case 235:
4310  #line 300 "lscp.y"  #line 426 "lscp.y"
4311      { yyval.Char = '\204'; }      { (yyval.Char) = 'N'; }
4312      break;      break;
4313    
4314    case 236:    case 236:
4315  #line 300 "lscp.y"  #line 426 "lscp.y"
4316      { yyval.Char = '\205'; }      { (yyval.Char) = 'O'; }
4317      break;      break;
4318    
4319    case 237:    case 237:
4320  #line 301 "lscp.y"  #line 426 "lscp.y"
4321      { yyval.Char = '\206'; }      { (yyval.Char) = 'P'; }
4322      break;      break;
4323    
4324    case 238:    case 238:
4325  #line 301 "lscp.y"  #line 426 "lscp.y"
4326      { yyval.Char = '\207'; }      { (yyval.Char) = 'Q'; }
4327      break;      break;
4328    
4329    case 239:    case 239:
4330  #line 301 "lscp.y"  #line 426 "lscp.y"
4331      { yyval.Char = '\210'; }      { (yyval.Char) = 'R'; }
4332      break;      break;
4333    
4334    case 240:    case 240:
4335  #line 302 "lscp.y"  #line 426 "lscp.y"
4336      { yyval.Char = '\211'; }      { (yyval.Char) = 'S'; }
4337      break;      break;
4338    
4339    case 241:    case 241:
4340  #line 302 "lscp.y"  #line 426 "lscp.y"
4341      { yyval.Char = '\212'; }      { (yyval.Char) = 'T'; }
4342      break;      break;
4343    
4344    case 242:    case 242:
4345  #line 302 "lscp.y"  #line 426 "lscp.y"
4346      { yyval.Char = '\213'; }      { (yyval.Char) = 'U'; }
4347      break;      break;
4348    
4349    case 243:    case 243:
4350  #line 303 "lscp.y"  #line 426 "lscp.y"
4351      { yyval.Char = '\214'; }      { (yyval.Char) = 'V'; }
4352      break;      break;
4353    
4354    case 244:    case 244:
4355  #line 303 "lscp.y"  #line 426 "lscp.y"
4356      { yyval.Char = '\215'; }      { (yyval.Char) = 'W'; }
4357      break;      break;
4358    
4359    case 245:    case 245:
4360  #line 303 "lscp.y"  #line 426 "lscp.y"
4361      { yyval.Char = '\216'; }      { (yyval.Char) = 'X'; }
4362      break;      break;
4363    
4364    case 246:    case 246:
4365  #line 304 "lscp.y"  #line 426 "lscp.y"
4366      { yyval.Char = '\217'; }      { (yyval.Char) = 'Y'; }
4367      break;      break;
4368    
4369    case 247:    case 247:
4370  #line 304 "lscp.y"  #line 426 "lscp.y"
4371      { yyval.Char = '\220'; }      { (yyval.Char) = 'Z'; }
4372      break;      break;
4373    
4374    case 248:    case 248:
4375  #line 304 "lscp.y"  #line 427 "lscp.y"
4376      { yyval.Char = '\221'; }      { (yyval.Char) = 'a'; }
4377      break;      break;
4378    
4379    case 249:    case 249:
4380  #line 305 "lscp.y"  #line 427 "lscp.y"
4381      { yyval.Char = '\222'; }      { (yyval.Char) = 'b'; }
4382      break;      break;
4383    
4384    case 250:    case 250:
4385  #line 305 "lscp.y"  #line 427 "lscp.y"
4386      { yyval.Char = '\223'; }      { (yyval.Char) = 'c'; }
4387      break;      break;
4388    
4389    case 251:    case 251:
4390  #line 305 "lscp.y"  #line 427 "lscp.y"
4391      { yyval.Char = '\224'; }      { (yyval.Char) = 'd'; }
4392      break;      break;
4393    
4394    case 252:    case 252:
4395  #line 306 "lscp.y"  #line 427 "lscp.y"
4396      { yyval.Char = '\225'; }      { (yyval.Char) = 'e'; }
4397      break;      break;
4398    
4399    case 253:    case 253:
4400  #line 306 "lscp.y"  #line 427 "lscp.y"
4401      { yyval.Char = '\226'; }      { (yyval.Char) = 'f'; }
4402      break;      break;
4403    
4404    case 254:    case 254:
4405  #line 306 "lscp.y"  #line 427 "lscp.y"
4406      { yyval.Char = '\227'; }      { (yyval.Char) = 'g'; }
4407      break;      break;
4408    
4409    case 255:    case 255:
4410  #line 307 "lscp.y"  #line 427 "lscp.y"
4411      { yyval.Char = '\230'; }      { (yyval.Char) = 'h'; }
4412      break;      break;
4413    
4414    case 256:    case 256:
4415  #line 307 "lscp.y"  #line 427 "lscp.y"
4416      { yyval.Char = '\231'; }      { (yyval.Char) = 'i'; }
4417      break;      break;
4418    
4419    case 257:    case 257:
4420  #line 307 "lscp.y"  #line 427 "lscp.y"
4421      { yyval.Char = '\232'; }      { (yyval.Char) = 'j'; }
4422      break;      break;
4423    
4424    case 258:    case 258:
4425  #line 308 "lscp.y"  #line 427 "lscp.y"
4426      { yyval.Char = '\233'; }      { (yyval.Char) = 'k'; }
4427      break;      break;
4428    
4429    case 259:    case 259:
4430  #line 308 "lscp.y"  #line 427 "lscp.y"
4431      { yyval.Char = '\234'; }      { (yyval.Char) = 'l'; }
4432      break;      break;
4433    
4434    case 260:    case 260:
4435  #line 308 "lscp.y"  #line 427 "lscp.y"
4436      { yyval.Char = '\235'; }      { (yyval.Char) = 'm'; }
4437      break;      break;
4438    
4439    case 261:    case 261:
4440  #line 309 "lscp.y"  #line 427 "lscp.y"
4441      { yyval.Char = '\236'; }      { (yyval.Char) = 'n'; }
4442      break;      break;
4443    
4444    case 262:    case 262:
4445  #line 309 "lscp.y"  #line 427 "lscp.y"
4446      { yyval.Char = '\237'; }      { (yyval.Char) = 'o'; }
4447      break;      break;
4448    
4449    case 263:    case 263:
4450  #line 309 "lscp.y"  #line 427 "lscp.y"
4451      { yyval.Char = '\240'; }      { (yyval.Char) = 'p'; }
4452      break;      break;
4453    
4454    case 264:    case 264:
4455  #line 310 "lscp.y"  #line 427 "lscp.y"
4456      { yyval.Char = '\241'; }      { (yyval.Char) = 'q'; }
4457      break;      break;
4458    
4459    case 265:    case 265:
4460  #line 310 "lscp.y"  #line 427 "lscp.y"
4461      { yyval.Char = '\242'; }      { (yyval.Char) = 'r'; }
4462      break;      break;
4463    
4464    case 266:    case 266:
4465  #line 310 "lscp.y"  #line 427 "lscp.y"
4466      { yyval.Char = '\243'; }      { (yyval.Char) = 's'; }
4467      break;      break;
4468    
4469    case 267:    case 267:
4470  #line 311 "lscp.y"  #line 427 "lscp.y"
4471      { yyval.Char = '\244'; }      { (yyval.Char) = 't'; }
4472      break;      break;
4473    
4474    case 268:    case 268:
4475  #line 311 "lscp.y"  #line 427 "lscp.y"
4476      { yyval.Char = '\245'; }      { (yyval.Char) = 'u'; }
4477      break;      break;
4478    
4479    case 269:    case 269:
4480  #line 311 "lscp.y"  #line 427 "lscp.y"
4481      { yyval.Char = '\246'; }      { (yyval.Char) = 'v'; }
4482      break;      break;
4483    
4484    case 270:    case 270:
4485  #line 312 "lscp.y"  #line 427 "lscp.y"
4486      { yyval.Char = '\247'; }      { (yyval.Char) = 'w'; }
4487      break;      break;
4488    
4489    case 271:    case 271:
4490  #line 312 "lscp.y"  #line 427 "lscp.y"
4491      { yyval.Char = '\250'; }      { (yyval.Char) = 'x'; }
4492      break;      break;
4493    
4494    case 272:    case 272:
4495  #line 312 "lscp.y"  #line 427 "lscp.y"
4496      { yyval.Char = '\251'; }      { (yyval.Char) = 'y'; }
4497      break;      break;
4498    
4499    case 273:    case 273:
4500  #line 313 "lscp.y"  #line 427 "lscp.y"
4501      { yyval.Char = '\252'; }      { (yyval.Char) = 'z'; }
4502      break;      break;
4503    
4504    case 274:    case 274:
4505  #line 313 "lscp.y"  #line 428 "lscp.y"
4506      { yyval.Char = '\253'; }      { (yyval.Char) = '0'; }
4507      break;      break;
4508    
4509    case 275:    case 275:
4510  #line 313 "lscp.y"  #line 428 "lscp.y"
4511      { yyval.Char = '\254'; }      { (yyval.Char) = '1'; }
4512      break;      break;
4513    
4514    case 276:    case 276:
4515  #line 314 "lscp.y"  #line 428 "lscp.y"
4516      { yyval.Char = '\255'; }      { (yyval.Char) = '2'; }
4517      break;      break;
4518    
4519    case 277:    case 277:
4520  #line 314 "lscp.y"  #line 428 "lscp.y"
4521      { yyval.Char = '\256'; }      { (yyval.Char) = '3'; }
4522      break;      break;
4523    
4524    case 278:    case 278:
4525  #line 314 "lscp.y"  #line 428 "lscp.y"
4526      { yyval.Char = '\257'; }      { (yyval.Char) = '4'; }
4527      break;      break;
4528    
4529    case 279:    case 279:
4530  #line 315 "lscp.y"  #line 428 "lscp.y"
4531      { yyval.Char = '\260'; }      { (yyval.Char) = '5'; }
4532      break;      break;
4533    
4534    case 280:    case 280:
4535  #line 315 "lscp.y"  #line 428 "lscp.y"
4536      { yyval.Char = '\261'; }      { (yyval.Char) = '6'; }
4537      break;      break;
4538    
4539    case 281:    case 281:
4540  #line 315 "lscp.y"  #line 428 "lscp.y"
4541      { yyval.Char = '\262'; }      { (yyval.Char) = '7'; }
4542      break;      break;
4543    
4544    case 282:    case 282:
4545  #line 316 "lscp.y"  #line 428 "lscp.y"
4546      { yyval.Char = '\263'; }      { (yyval.Char) = '8'; }
4547      break;      break;
4548    
4549    case 283:    case 283:
4550  #line 316 "lscp.y"  #line 428 "lscp.y"
4551      { yyval.Char = '\264'; }      { (yyval.Char) = '9'; }
4552      break;      break;
4553    
4554    case 284:    case 284:
4555  #line 316 "lscp.y"  #line 429 "lscp.y"
4556      { yyval.Char = '\265'; }      { (yyval.Char) = '!'; }
4557      break;      break;
4558    
4559    case 285:    case 285:
4560  #line 317 "lscp.y"  #line 429 "lscp.y"
4561      { yyval.Char = '\266'; }      { (yyval.Char) = '#'; }
4562      break;      break;
4563    
4564    case 286:    case 286:
4565  #line 317 "lscp.y"  #line 429 "lscp.y"
4566      { yyval.Char = '\267'; }      { (yyval.Char) = '$'; }
4567      break;      break;
4568    
4569    case 287:    case 287:
4570  #line 317 "lscp.y"  #line 429 "lscp.y"
4571      { yyval.Char = '\270'; }      { (yyval.Char) = '%'; }
4572      break;      break;
4573    
4574    case 288:    case 288:
4575  #line 318 "lscp.y"  #line 429 "lscp.y"
4576      { yyval.Char = '\271'; }      { (yyval.Char) = '&'; }
4577      break;      break;
4578    
4579    case 289:    case 289:
4580  #line 318 "lscp.y"  #line 429 "lscp.y"
4581      { yyval.Char = '\272'; }      { (yyval.Char) = '('; }
4582      break;      break;
4583    
4584    case 290:    case 290:
4585  #line 318 "lscp.y"  #line 429 "lscp.y"
4586      { yyval.Char = '\273'; }      { (yyval.Char) = ')'; }
4587      break;      break;
4588    
4589    case 291:    case 291:
4590  #line 319 "lscp.y"  #line 429 "lscp.y"
4591      { yyval.Char = '\274'; }      { (yyval.Char) = '*'; }
4592      break;      break;
4593    
4594    case 292:    case 292:
4595  #line 319 "lscp.y"  #line 429 "lscp.y"
4596      { yyval.Char = '\275'; }      { (yyval.Char) = '+'; }
4597      break;      break;
4598    
4599    case 293:    case 293:
4600  #line 319 "lscp.y"  #line 429 "lscp.y"
4601      { yyval.Char = '\276'; }      { (yyval.Char) = '-'; }
4602      break;      break;
4603    
4604    case 294:    case 294:
4605  #line 320 "lscp.y"  #line 429 "lscp.y"
4606      { yyval.Char = '\277'; }      { (yyval.Char) = '.'; }
4607      break;      break;
4608    
4609    case 295:    case 295:
4610  #line 320 "lscp.y"  #line 429 "lscp.y"
4611      { yyval.Char = '\300'; }      { (yyval.Char) = ','; }
4612      break;      break;
4613    
4614    case 296:    case 296:
4615  #line 320 "lscp.y"  #line 429 "lscp.y"
4616      { yyval.Char = '\301'; }      { (yyval.Char) = '/'; }
4617      break;      break;
4618    
4619    case 297:    case 297:
4620  #line 321 "lscp.y"  #line 430 "lscp.y"
4621      { yyval.Char = '\302'; }      { (yyval.Char) = ':'; }
4622      break;      break;
4623    
4624    case 298:    case 298:
4625  #line 321 "lscp.y"  #line 430 "lscp.y"
4626      { yyval.Char = '\303'; }      { (yyval.Char) = ';'; }
4627      break;      break;
4628    
4629    case 299:    case 299:
4630  #line 321 "lscp.y"  #line 430 "lscp.y"
4631      { yyval.Char = '\304'; }      { (yyval.Char) = '<'; }
4632      break;      break;
4633    
4634    case 300:    case 300:
4635  #line 322 "lscp.y"  #line 430 "lscp.y"
4636      { yyval.Char = '\305'; }      { (yyval.Char) = '='; }
4637      break;      break;
4638    
4639    case 301:    case 301:
4640  #line 322 "lscp.y"  #line 430 "lscp.y"
4641      { yyval.Char = '\306'; }      { (yyval.Char) = '>'; }
4642      break;      break;
4643    
4644    case 302:    case 302:
4645  #line 322 "lscp.y"  #line 430 "lscp.y"
4646      { yyval.Char = '\307'; }      { (yyval.Char) = '?'; }
4647      break;      break;
4648    
4649    case 303:    case 303:
4650  #line 323 "lscp.y"  #line 430 "lscp.y"
4651      { yyval.Char = '\310'; }      { (yyval.Char) = '@'; }
4652      break;      break;
4653    
4654    case 304:    case 304:
4655  #line 323 "lscp.y"  #line 431 "lscp.y"
4656      { yyval.Char = '\311'; }      { (yyval.Char) = '['; }
4657      break;      break;
4658    
4659    case 305:    case 305:
4660  #line 323 "lscp.y"  #line 431 "lscp.y"
4661      { yyval.Char = '\312'; }      { (yyval.Char) = '\\'; }
4662      break;      break;
4663    
4664    case 306:    case 306:
4665  #line 324 "lscp.y"  #line 431 "lscp.y"
4666      { yyval.Char = '\313'; }      { (yyval.Char) = ']'; }
4667      break;      break;
4668    
4669    case 307:    case 307:
4670  #line 324 "lscp.y"  #line 431 "lscp.y"
4671      { yyval.Char = '\314'; }      { (yyval.Char) = '^'; }
4672      break;      break;
4673    
4674    case 308:    case 308:
4675  #line 324 "lscp.y"  #line 431 "lscp.y"
4676      { yyval.Char = '\315'; }      { (yyval.Char) = '_'; }
4677      break;      break;
4678    
4679    case 309:    case 309:
4680  #line 325 "lscp.y"  #line 432 "lscp.y"
4681      { yyval.Char = '\316'; }      { (yyval.Char) = '{'; }
4682      break;      break;
4683    
4684    case 310:    case 310:
4685  #line 325 "lscp.y"  #line 432 "lscp.y"
4686      { yyval.Char = '\317'; }      { (yyval.Char) = '|'; }
4687      break;      break;
4688    
4689    case 311:    case 311:
4690  #line 325 "lscp.y"  #line 432 "lscp.y"
4691      { yyval.Char = '\320'; }      { (yyval.Char) = '}'; }
4692      break;      break;
4693    
4694    case 312:    case 312:
4695  #line 326 "lscp.y"  #line 432 "lscp.y"
4696      { yyval.Char = '\321'; }      { (yyval.Char) = '~'; }
4697      break;      break;
4698    
4699    case 313:    case 313:
4700  #line 326 "lscp.y"  #line 433 "lscp.y"
4701      { yyval.Char = '\322'; }      { (yyval.Char) = '\200'; }
4702      break;      break;
4703    
4704    case 314:    case 314:
4705  #line 326 "lscp.y"  #line 433 "lscp.y"
4706      { yyval.Char = '\323'; }      { (yyval.Char) = '\201'; }
4707      break;      break;
4708    
4709    case 315:    case 315:
4710  #line 327 "lscp.y"  #line 433 "lscp.y"
4711      { yyval.Char = '\324'; }      { (yyval.Char) = '\202'; }
4712      break;      break;
4713    
4714    case 316:    case 316:
4715  #line 327 "lscp.y"  #line 434 "lscp.y"
4716      { yyval.Char = '\325'; }      { (yyval.Char) = '\203'; }
4717      break;      break;
4718    
4719    case 317:    case 317:
4720  #line 327 "lscp.y"  #line 434 "lscp.y"
4721      { yyval.Char = '\326'; }      { (yyval.Char) = '\204'; }
4722      break;      break;
4723    
4724    case 318:    case 318:
4725  #line 328 "lscp.y"  #line 434 "lscp.y"
4726      { yyval.Char = '\327'; }      { (yyval.Char) = '\205'; }
4727      break;      break;
4728    
4729    case 319:    case 319:
4730  #line 328 "lscp.y"  #line 435 "lscp.y"
4731      { yyval.Char = '\330'; }      { (yyval.Char) = '\206'; }
4732      break;      break;
4733    
4734    case 320:    case 320:
4735  #line 328 "lscp.y"  #line 435 "lscp.y"
4736      { yyval.Char = '\331'; }      { (yyval.Char) = '\207'; }
4737      break;      break;
4738    
4739    case 321:    case 321:
4740  #line 329 "lscp.y"  #line 435 "lscp.y"
4741      { yyval.Char = '\332'; }      { (yyval.Char) = '\210'; }
4742      break;      break;
4743    
4744    case 322:    case 322:
4745  #line 329 "lscp.y"  #line 436 "lscp.y"
4746      { yyval.Char = '\333'; }      { (yyval.Char) = '\211'; }
4747      break;      break;
4748    
4749    case 323:    case 323:
4750  #line 329 "lscp.y"  #line 436 "lscp.y"
4751      { yyval.Char = '\334'; }      { (yyval.Char) = '\212'; }
4752      break;      break;
4753    
4754    case 324:    case 324:
4755  #line 330 "lscp.y"  #line 436 "lscp.y"
4756      { yyval.Char = '\335'; }      { (yyval.Char) = '\213'; }
4757      break;      break;
4758    
4759    case 325:    case 325:
4760  #line 330 "lscp.y"  #line 437 "lscp.y"
4761      { yyval.Char = '\336'; }      { (yyval.Char) = '\214'; }
4762      break;      break;
4763    
4764    case 326:    case 326:
4765  #line 330 "lscp.y"  #line 437 "lscp.y"
4766      { yyval.Char = '\337'; }      { (yyval.Char) = '\215'; }
4767      break;      break;
4768    
4769    case 327:    case 327:
4770  #line 331 "lscp.y"  #line 437 "lscp.y"
4771      { yyval.Char = '\340'; }      { (yyval.Char) = '\216'; }
4772      break;      break;
4773    
4774    case 328:    case 328:
4775  #line 331 "lscp.y"  #line 438 "lscp.y"
4776      { yyval.Char = '\341'; }      { (yyval.Char) = '\217'; }
4777      break;      break;
4778    
4779    case 329:    case 329:
4780  #line 331 "lscp.y"  #line 438 "lscp.y"
4781      { yyval.Char = '\342'; }      { (yyval.Char) = '\220'; }
4782      break;      break;
4783    
4784    case 330:    case 330:
4785  #line 332 "lscp.y"  #line 438 "lscp.y"
4786      { yyval.Char = '\343'; }      { (yyval.Char) = '\221'; }
4787      break;      break;
4788    
4789    case 331:    case 331:
4790  #line 332 "lscp.y"  #line 439 "lscp.y"
4791      { yyval.Char = '\344'; }      { (yyval.Char) = '\222'; }
4792      break;      break;
4793    
4794    case 332:    case 332:
4795  #line 332 "lscp.y"  #line 439 "lscp.y"
4796      { yyval.Char = '\345'; }      { (yyval.Char) = '\223'; }
4797      break;      break;
4798    
4799    case 333:    case 333:
4800  #line 333 "lscp.y"  #line 439 "lscp.y"
4801      { yyval.Char = '\346'; }      { (yyval.Char) = '\224'; }
4802      break;      break;
4803    
4804    case 334:    case 334:
4805  #line 333 "lscp.y"  #line 440 "lscp.y"
4806      { yyval.Char = '\347'; }      { (yyval.Char) = '\225'; }
4807      break;      break;
4808    
4809    case 335:    case 335:
4810  #line 333 "lscp.y"  #line 440 "lscp.y"
4811      { yyval.Char = '\350'; }      { (yyval.Char) = '\226'; }
4812      break;      break;
4813    
4814    case 336:    case 336:
4815  #line 334 "lscp.y"  #line 440 "lscp.y"
4816      { yyval.Char = '\351'; }      { (yyval.Char) = '\227'; }
4817      break;      break;
4818    
4819    case 337:    case 337:
4820  #line 334 "lscp.y"  #line 441 "lscp.y"
4821      { yyval.Char = '\352'; }      { (yyval.Char) = '\230'; }
4822      break;      break;
4823    
4824    case 338:    case 338:
4825  #line 334 "lscp.y"  #line 441 "lscp.y"
4826      { yyval.Char = '\353'; }      { (yyval.Char) = '\231'; }
4827      break;      break;
4828    
4829    case 339:    case 339:
4830  #line 335 "lscp.y"  #line 441 "lscp.y"
4831      { yyval.Char = '\354'; }      { (yyval.Char) = '\232'; }
4832      break;      break;
4833    
4834    case 340:    case 340:
4835  #line 335 "lscp.y"  #line 442 "lscp.y"
4836      { yyval.Char = '\355'; }      { (yyval.Char) = '\233'; }
4837      break;      break;
4838    
4839    case 341:    case 341:
4840  #line 335 "lscp.y"  #line 442 "lscp.y"
4841      { yyval.Char = '\356'; }      { (yyval.Char) = '\234'; }
4842      break;      break;
4843    
4844    case 342:    case 342:
4845  #line 336 "lscp.y"  #line 442 "lscp.y"
4846      { yyval.Char = '\357'; }      { (yyval.Char) = '\235'; }
4847      break;      break;
4848    
4849    case 343:    case 343:
4850  #line 336 "lscp.y"  #line 443 "lscp.y"
4851      { yyval.Char = '\360'; }      { (yyval.Char) = '\236'; }
4852      break;      break;
4853    
4854    case 344:    case 344:
4855  #line 336 "lscp.y"  #line 443 "lscp.y"
4856      { yyval.Char = '\361'; }      { (yyval.Char) = '\237'; }
4857      break;      break;
4858    
4859    case 345:    case 345:
4860  #line 337 "lscp.y"  #line 443 "lscp.y"
4861      { yyval.Char = '\362'; }      { (yyval.Char) = '\240'; }
4862      break;      break;
4863    
4864    case 346:    case 346:
4865  #line 337 "lscp.y"  #line 444 "lscp.y"
4866      { yyval.Char = '\363'; }      { (yyval.Char) = '\241'; }
4867      break;      break;
4868    
4869    case 347:    case 347:
4870  #line 337 "lscp.y"  #line 444 "lscp.y"
4871      { yyval.Char = '\364'; }      { (yyval.Char) = '\242'; }
4872      break;      break;
4873    
4874    case 348:    case 348:
4875  #line 338 "lscp.y"  #line 444 "lscp.y"
4876      { yyval.Char = '\365'; }      { (yyval.Char) = '\243'; }
4877      break;      break;
4878    
4879    case 349:    case 349:
4880  #line 338 "lscp.y"  #line 445 "lscp.y"
4881      { yyval.Char = '\366'; }      { (yyval.Char) = '\244'; }
4882      break;      break;
4883    
4884    case 350:    case 350:
4885  #line 338 "lscp.y"  #line 445 "lscp.y"
4886      { yyval.Char = '\367'; }      { (yyval.Char) = '\245'; }
4887      break;      break;
4888    
4889    case 351:    case 351:
4890  #line 339 "lscp.y"  #line 445 "lscp.y"
4891      { yyval.Char = '\370'; }      { (yyval.Char) = '\246'; }
4892      break;      break;
4893    
4894    case 352:    case 352:
4895  #line 339 "lscp.y"  #line 446 "lscp.y"
4896      { yyval.Char = '\371'; }      { (yyval.Char) = '\247'; }
4897      break;      break;
4898    
4899    case 353:    case 353:
4900  #line 339 "lscp.y"  #line 446 "lscp.y"
4901      { yyval.Char = '\372'; }      { (yyval.Char) = '\250'; }
4902      break;      break;
4903    
4904    case 354:    case 354:
4905  #line 340 "lscp.y"  #line 446 "lscp.y"
4906      { yyval.Char = '\373'; }      { (yyval.Char) = '\251'; }
4907      break;      break;
4908    
4909    case 355:    case 355:
4910  #line 340 "lscp.y"  #line 447 "lscp.y"
4911      { yyval.Char = '\374'; }      { (yyval.Char) = '\252'; }
4912      break;      break;
4913    
4914    case 356:    case 356:
4915  #line 340 "lscp.y"  #line 447 "lscp.y"
4916      { yyval.Char = '\375'; }      { (yyval.Char) = '\253'; }
4917      break;      break;
4918    
4919    case 357:    case 357:
4920  #line 341 "lscp.y"  #line 447 "lscp.y"
4921      { yyval.Char = '\376'; }      { (yyval.Char) = '\254'; }
4922      break;      break;
4923    
4924    case 358:    case 358:
4925  #line 341 "lscp.y"  #line 448 "lscp.y"
4926      { yyval.Char = '\377'; }      { (yyval.Char) = '\255'; }
4927      break;      break;
4928    
4929    case 359:    case 359:
4930  #line 344 "lscp.y"  #line 448 "lscp.y"
4931      { yyval.String = " ";      }      { (yyval.Char) = '\256'; }
4932        break;
4933    
4934      case 360:
4935    #line 448 "lscp.y"
4936        { (yyval.Char) = '\257'; }
4937      break;      break;
4938    
4939    case 361:    case 361:
4940  #line 346 "lscp.y"  #line 449 "lscp.y"
4941      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\260'; }
4942      break;      break;
4943    
4944    case 362:    case 362:
4945  #line 347 "lscp.y"  #line 449 "lscp.y"
4946      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\261'; }
4947      break;      break;
4948    
4949    case 363:    case 363:
4950  #line 350 "lscp.y"  #line 449 "lscp.y"
4951      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\262'; }
4952      break;      break;
4953    
4954    case 364:    case 364:
4955  #line 351 "lscp.y"  #line 450 "lscp.y"
4956      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\263'; }
4957      break;      break;
4958    
4959      case 365:
4960    #line 450 "lscp.y"
4961        { (yyval.Char) = '\264'; }
4962        break;
4963    
4964      }    case 366:
4965    #line 450 "lscp.y"
4966        { (yyval.Char) = '\265'; }
4967        break;
4968    
4969  /* Line 999 of yacc.c.  */    case 367:
4970  #line 4245 "y.tab.c"  #line 451 "lscp.y"
4971        { (yyval.Char) = '\266'; }
4972    yyvsp -= yylen;      break;
4973    yyssp -= yylen;  
4974      case 368:
4975    #line 451 "lscp.y"
4976        { (yyval.Char) = '\267'; }
4977        break;
4978    
4979      case 369:
4980    #line 451 "lscp.y"
4981        { (yyval.Char) = '\270'; }
4982        break;
4983    
4984      case 370:
4985    #line 452 "lscp.y"
4986        { (yyval.Char) = '\271'; }
4987        break;
4988    
4989      case 371:
4990    #line 452 "lscp.y"
4991        { (yyval.Char) = '\272'; }
4992        break;
4993    
4994      case 372:
4995    #line 452 "lscp.y"
4996        { (yyval.Char) = '\273'; }
4997        break;
4998    
4999      case 373:
5000    #line 453 "lscp.y"
5001        { (yyval.Char) = '\274'; }
5002        break;
5003    
5004      case 374:
5005    #line 453 "lscp.y"
5006        { (yyval.Char) = '\275'; }
5007        break;
5008    
5009      case 375:
5010    #line 453 "lscp.y"
5011        { (yyval.Char) = '\276'; }
5012        break;
5013    
5014      case 376:
5015    #line 454 "lscp.y"
5016        { (yyval.Char) = '\277'; }
5017        break;
5018    
5019      case 377:
5020    #line 454 "lscp.y"
5021        { (yyval.Char) = '\300'; }
5022        break;
5023    
5024      case 378:
5025    #line 454 "lscp.y"
5026        { (yyval.Char) = '\301'; }
5027        break;
5028    
5029      case 379:
5030    #line 455 "lscp.y"
5031        { (yyval.Char) = '\302'; }
5032        break;
5033    
5034      case 380:
5035    #line 455 "lscp.y"
5036        { (yyval.Char) = '\303'; }
5037        break;
5038    
5039      case 381:
5040    #line 455 "lscp.y"
5041        { (yyval.Char) = '\304'; }
5042        break;
5043    
5044      case 382:
5045    #line 456 "lscp.y"
5046        { (yyval.Char) = '\305'; }
5047        break;
5048    
5049      case 383:
5050    #line 456 "lscp.y"
5051        { (yyval.Char) = '\306'; }
5052        break;
5053    
5054      case 384:
5055    #line 456 "lscp.y"
5056        { (yyval.Char) = '\307'; }
5057        break;
5058    
5059      case 385:
5060    #line 457 "lscp.y"
5061        { (yyval.Char) = '\310'; }
5062        break;
5063    
5064      case 386:
5065    #line 457 "lscp.y"
5066        { (yyval.Char) = '\311'; }
5067        break;
5068    
5069      case 387:
5070    #line 457 "lscp.y"
5071        { (yyval.Char) = '\312'; }
5072        break;
5073    
5074      case 388:
5075    #line 458 "lscp.y"
5076        { (yyval.Char) = '\313'; }
5077        break;
5078    
5079      case 389:
5080    #line 458 "lscp.y"
5081        { (yyval.Char) = '\314'; }
5082        break;
5083    
5084      case 390:
5085    #line 458 "lscp.y"
5086        { (yyval.Char) = '\315'; }
5087        break;
5088    
5089      case 391:
5090    #line 459 "lscp.y"
5091        { (yyval.Char) = '\316'; }
5092        break;
5093    
5094      case 392:
5095    #line 459 "lscp.y"
5096        { (yyval.Char) = '\317'; }
5097        break;
5098    
5099      case 393:
5100    #line 459 "lscp.y"
5101        { (yyval.Char) = '\320'; }
5102        break;
5103    
5104      case 394:
5105    #line 460 "lscp.y"
5106        { (yyval.Char) = '\321'; }
5107        break;
5108    
5109      case 395:
5110    #line 460 "lscp.y"
5111        { (yyval.Char) = '\322'; }
5112        break;
5113    
5114      case 396:
5115    #line 460 "lscp.y"
5116        { (yyval.Char) = '\323'; }
5117        break;
5118    
5119      case 397:
5120    #line 461 "lscp.y"
5121        { (yyval.Char) = '\324'; }
5122        break;
5123    
5124      case 398:
5125    #line 461 "lscp.y"
5126        { (yyval.Char) = '\325'; }
5127        break;
5128    
5129      case 399:
5130    #line 461 "lscp.y"
5131        { (yyval.Char) = '\326'; }
5132        break;
5133    
5134      case 400:
5135    #line 462 "lscp.y"
5136        { (yyval.Char) = '\327'; }
5137        break;
5138    
5139      case 401:
5140    #line 462 "lscp.y"
5141        { (yyval.Char) = '\330'; }
5142        break;
5143    
5144      case 402:
5145    #line 462 "lscp.y"
5146        { (yyval.Char) = '\331'; }
5147        break;
5148    
5149      case 403:
5150    #line 463 "lscp.y"
5151        { (yyval.Char) = '\332'; }
5152        break;
5153    
5154      case 404:
5155    #line 463 "lscp.y"
5156        { (yyval.Char) = '\333'; }
5157        break;
5158    
5159      case 405:
5160    #line 463 "lscp.y"
5161        { (yyval.Char) = '\334'; }
5162        break;
5163    
5164      case 406:
5165    #line 464 "lscp.y"
5166        { (yyval.Char) = '\335'; }
5167        break;
5168    
5169      case 407:
5170    #line 464 "lscp.y"
5171        { (yyval.Char) = '\336'; }
5172        break;
5173    
5174      case 408:
5175    #line 464 "lscp.y"
5176        { (yyval.Char) = '\337'; }
5177        break;
5178    
5179      case 409:
5180    #line 465 "lscp.y"
5181        { (yyval.Char) = '\340'; }
5182        break;
5183    
5184      case 410:
5185    #line 465 "lscp.y"
5186        { (yyval.Char) = '\341'; }
5187        break;
5188    
5189      case 411:
5190    #line 465 "lscp.y"
5191        { (yyval.Char) = '\342'; }
5192        break;
5193    
5194      case 412:
5195    #line 466 "lscp.y"
5196        { (yyval.Char) = '\343'; }
5197        break;
5198    
5199      case 413:
5200    #line 466 "lscp.y"
5201        { (yyval.Char) = '\344'; }
5202        break;
5203    
5204      case 414:
5205    #line 466 "lscp.y"
5206        { (yyval.Char) = '\345'; }
5207        break;
5208    
5209      case 415:
5210    #line 467 "lscp.y"
5211        { (yyval.Char) = '\346'; }
5212        break;
5213    
5214      case 416:
5215    #line 467 "lscp.y"
5216        { (yyval.Char) = '\347'; }
5217        break;
5218    
5219      case 417:
5220    #line 467 "lscp.y"
5221        { (yyval.Char) = '\350'; }
5222        break;
5223    
5224      case 418:
5225    #line 468 "lscp.y"
5226        { (yyval.Char) = '\351'; }
5227        break;
5228    
5229      case 419:
5230    #line 468 "lscp.y"
5231        { (yyval.Char) = '\352'; }
5232        break;
5233    
5234      case 420:
5235    #line 468 "lscp.y"
5236        { (yyval.Char) = '\353'; }
5237        break;
5238    
5239      case 421:
5240    #line 469 "lscp.y"
5241        { (yyval.Char) = '\354'; }
5242        break;
5243    
5244      case 422:
5245    #line 469 "lscp.y"
5246        { (yyval.Char) = '\355'; }
5247        break;
5248    
5249      case 423:
5250    #line 469 "lscp.y"
5251        { (yyval.Char) = '\356'; }
5252        break;
5253    
5254      case 424:
5255    #line 470 "lscp.y"
5256        { (yyval.Char) = '\357'; }
5257        break;
5258    
5259      case 425:
5260    #line 470 "lscp.y"
5261        { (yyval.Char) = '\360'; }
5262        break;
5263    
5264      case 426:
5265    #line 470 "lscp.y"
5266        { (yyval.Char) = '\361'; }
5267        break;
5268    
5269      case 427:
5270    #line 471 "lscp.y"
5271        { (yyval.Char) = '\362'; }
5272        break;
5273    
5274      case 428:
5275    #line 471 "lscp.y"
5276        { (yyval.Char) = '\363'; }
5277        break;
5278    
5279      case 429:
5280    #line 471 "lscp.y"
5281        { (yyval.Char) = '\364'; }
5282        break;
5283    
5284      case 430:
5285    #line 472 "lscp.y"
5286        { (yyval.Char) = '\365'; }
5287        break;
5288    
5289      case 431:
5290    #line 472 "lscp.y"
5291        { (yyval.Char) = '\366'; }
5292        break;
5293    
5294      case 432:
5295    #line 472 "lscp.y"
5296        { (yyval.Char) = '\367'; }
5297        break;
5298    
5299      case 433:
5300    #line 473 "lscp.y"
5301        { (yyval.Char) = '\370'; }
5302        break;
5303    
5304      case 434:
5305    #line 473 "lscp.y"
5306        { (yyval.Char) = '\371'; }
5307        break;
5308    
5309      case 435:
5310    #line 473 "lscp.y"
5311        { (yyval.Char) = '\372'; }
5312        break;
5313    
5314      case 436:
5315    #line 474 "lscp.y"
5316        { (yyval.Char) = '\373'; }
5317        break;
5318    
5319      case 437:
5320    #line 474 "lscp.y"
5321        { (yyval.Char) = '\374'; }
5322        break;
5323    
5324      case 438:
5325    #line 474 "lscp.y"
5326        { (yyval.Char) = '\375'; }
5327        break;
5328    
5329      case 439:
5330    #line 475 "lscp.y"
5331        { (yyval.Char) = '\376'; }
5332        break;
5333    
5334      case 440:
5335    #line 475 "lscp.y"
5336        { (yyval.Char) = '\377'; }
5337        break;
5338    
5339      case 441:
5340    #line 478 "lscp.y"
5341        { (yyval.String) = " ";      }
5342        break;
5343    
5344      case 443:
5345    #line 480 "lscp.y"
5346        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5347        break;
5348    
5349      case 444:
5350    #line 481 "lscp.y"
5351        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5352        break;
5353    
5354      case 445:
5355    #line 484 "lscp.y"
5356        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5357        break;
5358    
5359      case 446:
5360    #line 485 "lscp.y"
5361        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5362        break;
5363    
5364    
5365    /* Line 1267 of yacc.c.  */
5366    #line 5367 "y.tab.c"
5367          default: break;
5368        }
5369      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5370    
5371      YYPOPSTACK (yylen);
5372      yylen = 0;
5373    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5374    
5375    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4275  yyerrlab: Line 5398  yyerrlab:
5398    if (!yyerrstatus)    if (!yyerrstatus)
5399      {      {
5400        ++yynerrs;        ++yynerrs;
5401  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5402        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5403    #else
5404        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5405          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5406            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5407            int yytype = YYTRANSLATE (yychar);            {
5408            char *yymsg;              YYSIZE_T yyalloc = 2 * yysize;
5409            int yyx, yycount;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5410                  yyalloc = YYSTACK_ALLOC_MAXIMUM;
5411            yycount = 0;              if (yymsg != yymsgbuf)
           /* Start YYX at -YYN if negative to avoid negative indexes in  
              YYCHECK.  */  
           for (yyx = yyn < 0 ? -yyn : 0;  
                yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
               yysize += yystrlen (yytname[yyx]) + 15, yycount++;  
           yysize += yystrlen ("syntax error, unexpected ") + 1;  
           yysize += yystrlen (yytname[yytype]);  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
   
               if (yycount < 5)  
                 {  
                   yycount = 0;  
                   for (yyx = yyn < 0 ? -yyn : 0;  
                        yyx < (int) (sizeof (yytname) / sizeof (char *));  
                        yyx++)  
                     if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
                       {  
                         const char *yyq = ! yycount ? ", expecting " : " or ";  
                         yyp = yystpcpy (yyp, yyq);  
                         yyp = yystpcpy (yyp, yytname[yyx]);  
                         yycount++;  
                       }  
                 }  
               yyerror (yymsg);  
5412                YYSTACK_FREE (yymsg);                YYSTACK_FREE (yymsg);
5413              }              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5414            else              if (yymsg)
5415              yyerror ("syntax error; also virtual memory exhausted");                yymsg_alloc = yyalloc;
5416          }              else
5417        else                {
5418  #endif /* YYERROR_VERBOSE */                  yymsg = yymsgbuf;
5419          yyerror ("syntax error");                  yymsg_alloc = sizeof yymsgbuf;
5420                  }
5421              }
5422    
5423            if (0 < yysize && yysize <= yymsg_alloc)
5424              {
5425                (void) yysyntax_error (yymsg, yystate, yychar);
5426                yyerror (yymsg);
5427              }
5428            else
5429              {
5430                yyerror (YY_("syntax error"));
5431                if (yysize != 0)
5432                  goto yyexhaustedlab;
5433              }
5434          }
5435    #endif
5436      }      }
5437    
5438    
5439    
5440    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5441      {      {
5442        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5443           error, discard it.  */           error, discard it.  */
5444    
5445        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
5446        if (yychar == YYEOF)          {
5447          {            /* Return failure if at end of input.  */
5448            /* Pop the error token.  */            if (yychar == YYEOF)
5449            YYPOPSTACK;              YYABORT;
5450            /* Pop the rest of the stack.  */          }
5451            while (yyss < yyssp)        else
5452              {          {
5453                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);            yydestruct ("Error: discarding",
5454                yydestruct (yystos[*yyssp], yyvsp);                        yytoken, &yylval);
5455                YYPOPSTACK;            yychar = YYEMPTY;
5456              }          }
           YYABORT;  
         }  
   
       YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);  
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
5457      }      }
5458    
5459    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5460       token.  */       token.  */
5461    goto yyerrlab1;    goto yyerrlab1;
5462    
5463    
5464  /*----------------------------------------------------.  /*---------------------------------------------------.
5465  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
5466  `----------------------------------------------------*/  `---------------------------------------------------*/
5467    yyerrorlab:
5468    
5469      /* Pacify compilers like GCC when the user code never invokes
5470         YYERROR and the label yyerrorlab therefore never appears in user
5471         code.  */
5472      if (/*CONSTCOND*/ 0)
5473         goto yyerrorlab;
5474    
5475      /* Do not reclaim the symbols of the rule which action triggered
5476         this YYERROR.  */
5477      YYPOPSTACK (yylen);
5478      yylen = 0;
5479      YY_STACK_PRINT (yyss, yyssp);
5480      yystate = *yyssp;
5481      goto yyerrlab1;
5482    
5483    
5484    /*-------------------------------------------------------------.
5485    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
5486    `-------------------------------------------------------------*/
5487  yyerrlab1:  yyerrlab1:
5488    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
5489    
# Line 4382  yyerrlab1: Line 5505  yyerrlab1:
5505        if (yyssp == yyss)        if (yyssp == yyss)
5506          YYABORT;          YYABORT;
5507    
       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
       yydestruct (yystos[yystate], yyvsp);  
       yyvsp--;  
       yystate = *--yyssp;  
5508    
5509          yydestruct ("Error: popping",
5510                      yystos[yystate], yyvsp);
5511          YYPOPSTACK (1);
5512          yystate = *yyssp;
5513        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5514      }      }
5515    
5516    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5517      YYACCEPT;      YYACCEPT;
5518    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5519    *++yyvsp = yylval;    *++yyvsp = yylval;
5520    
5521    
5522      /* Shift the error token.  */
5523      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5524    
5525    yystate = yyn;    yystate = yyn;
5526    goto yynewstate;    goto yynewstate;
5527    
# Line 4417  yyabortlab: Line 5541  yyabortlab:
5541    goto yyreturn;    goto yyreturn;
5542    
5543  #ifndef yyoverflow  #ifndef yyoverflow
5544  /*----------------------------------------------.  /*-------------------------------------------------.
5545  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5546  `----------------------------------------------*/  `-------------------------------------------------*/
5547  yyoverflowlab:  yyexhaustedlab:
5548    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5549    yyresult = 2;    yyresult = 2;
5550    /* Fall through.  */    /* Fall through.  */
5551  #endif  #endif
5552    
5553  yyreturn:  yyreturn:
5554      if (yychar != YYEOF && yychar != YYEMPTY)
5555         yydestruct ("Cleanup: discarding lookahead",
5556                     yytoken, &yylval);
5557      /* Do not reclaim the symbols of the rule which action triggered
5558         this YYABORT or YYACCEPT.  */
5559      YYPOPSTACK (yylen);
5560      YY_STACK_PRINT (yyss, yyssp);
5561      while (yyssp != yyss)
5562        {
5563          yydestruct ("Cleanup: popping",
5564                      yystos[*yyssp], yyvsp);
5565          YYPOPSTACK (1);
5566        }
5567  #ifndef yyoverflow  #ifndef yyoverflow
5568    if (yyss != yyssa)    if (yyss != yyssa)
5569      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5570  #endif  #endif
5571    return yyresult;  #if YYERROR_VERBOSE
5572      if (yymsg != yymsgbuf)
5573        YYSTACK_FREE (yymsg);
5574    #endif
5575      /* Make sure YYID is used.  */
5576      return YYID (yyresult);
5577  }  }
5578    
5579    
5580  #line 510 "lscp.y"  #line 743 "lscp.y"
5581    
5582    
5583  /**  /**
# Line 4453  void restart(yyparse_param_t* pparam, in Line 5595  void restart(yyparse_param_t* pparam, in
5595      ptr   = 0;      ptr   = 0;
5596  }  }
5597    
   

Legend:
Removed from v.274  
changed lines
  Added in v.1047

  ViewVC Help
Powered by ViewVC