/[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 556 by schoenebeck, Sat May 21 01:10:12 2005 UTC revision 984 by iliev, Mon Dec 18 10:28:00 2006 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875d.  */  /* A Bison parser, made by GNU Bison 2.3.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton implementation for Bison's Yacc-like parsers in C
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.  
5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6       Free Software Foundation, Inc.
7    
8     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
# Line 15  Line 17 
17    
18     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place - Suite 330,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02111-1307, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23    /* As a special exception, you may create a larger work that contains
24       part or all of the Bison parser skeleton and distribute that work
25       under terms of your choice, so long as that work isn't itself a
26       parser generator using the skeleton or a modified version thereof
27       as a parser skeleton.  Alternatively, if you modify or redistribute
28       the parser skeleton itself, you may (at your option) remove this
29       special exception, which will cause the skeleton and the resulting
30       Bison output files to be licensed under the GNU General Public
31       License without this special exception.
32    
33  /* As a special exception, when this file is copied by Bison into a     This special exception was added by the Free Software Foundation in
34     Bison output file, you may use that output file without restriction.     version 2.2 of Bison.  */
    This special exception was added by the Free Software Foundation  
    in version 1.24 of Bison.  */  
35    
36  /* Written by Richard Stallman by simplifying the original so called  /* C LALR(1) parser skeleton written by Richard Stallman, by
37     ``semantic'' parser.  */     simplifying the original so-called "semantic" parser.  */
38    
39  /* All symbols defined below should begin with yy or YY, to avoid  /* All symbols defined below should begin with yy or YY, to avoid
40     infringing on user name space.  This should be done even for local     infringing on user name space.  This should be done even for local
# Line 36  Line 46 
46  /* Identify Bison output.  */  /* Identify Bison output.  */
47  #define YYBISON 1  #define YYBISON 1
48    
49    /* Bison version.  */
50    #define YYBISON_VERSION "2.3"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
54    
# Line 50  Line 63 
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 27 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 104  int yylex(YYSTYPE* yylval) { Line 118  int yylex(YYSTYPE* yylval) {
118  # define YYERROR_VERBOSE 0  # define YYERROR_VERBOSE 0
119  #endif  #endif
120    
121  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  /* Enabling the token table.  */
122    #ifndef YYTOKEN_TABLE
123    # define YYTOKEN_TABLE 0
124    #endif
125    
126    #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127  typedef int YYSTYPE;  typedef int YYSTYPE;
128  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
# Line 116  typedef int YYSTYPE; Line 135  typedef int YYSTYPE;
135  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
136    
137    
138  /* Line 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    #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151  # ifndef YYFREE  #ifdef YYTYPE_INT8
152  #  define YYFREE free  typedef YYTYPE_INT8 yytype_int8;
153    #elif (defined __STDC__ || defined __C99__FUNC__ \
154         || defined __cplusplus || defined _MSC_VER)
155    typedef signed char yytype_int8;
156    #else
157    typedef short int yytype_int8;
158    #endif
159    
160    #ifdef YYTYPE_UINT16
161    typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164    #endif
165    
166    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #endif
171    
172    #ifndef YYSIZE_T
173    # ifdef __SIZE_TYPE__
174    #  define YYSIZE_T __SIZE_TYPE__
175    # elif defined size_t
176    #  define YYSIZE_T size_t
177    # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178         || defined __cplusplus || defined _MSC_VER)
179    #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180    #  define YYSIZE_T size_t
181    # else
182    #  define YYSIZE_T unsigned int
183  # endif  # endif
184  # ifndef YYMALLOC  #endif
185  #  define YYMALLOC malloc  
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  # endif
198    #endif
199    
200    /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
229  # ifdef YYSTACK_USE_ALLOCA  # ifdef YYSTACK_USE_ALLOCA
230  #  if YYSTACK_USE_ALLOCA  #  if YYSTACK_USE_ALLOCA
 #   define YYSTACK_ALLOC alloca  
 #  endif  
 # else  
 #  if defined (alloca) || defined (_ALLOCA_H)  
 #   define YYSTACK_ALLOC alloca  
 #  else  
231  #   ifdef __GNUC__  #   ifdef __GNUC__
232  #    define YYSTACK_ALLOC __builtin_alloca  #    define YYSTACK_ALLOC __builtin_alloca
233    #   elif defined __BUILTIN_VA_ARG_INCR
234    #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235    #   elif defined _AIX
236    #    define YYSTACK_ALLOC __alloca
237    #   elif defined _MSC_VER
238    #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239    #    define alloca _alloca
240    #   else
241    #    define YYSTACK_ALLOC alloca
242    #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243         || defined __cplusplus || defined _MSC_VER)
244    #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245    #     ifndef _STDLIB_H
246    #      define _STDLIB_H 1
247    #     endif
248    #    endif
249  #   endif  #   endif
250  #  endif  #  endif
251  # endif  # endif
252    
253  # ifdef YYSTACK_ALLOC  # ifdef YYSTACK_ALLOC
254     /* Pacify GCC's `empty if-body' warning. */     /* Pacify GCC's `empty if-body' warning.  */
255  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256  # else  #  ifndef YYSTACK_ALLOC_MAXIMUM
257  #  if defined (__STDC__) || defined (__cplusplus)      /* The OS might guarantee only one guard page at the bottom of the stack,
258  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */         and a page size can be as small as 4096 bytes.  So we cannot safely
259  #   define YYSIZE_T size_t         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260           to allow for a few compiler-allocated temporary stack slots.  */
261    #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262  #  endif  #  endif
263    # else
264  #  define YYSTACK_ALLOC YYMALLOC  #  define YYSTACK_ALLOC YYMALLOC
265  #  define YYSTACK_FREE YYFREE  #  define YYSTACK_FREE YYFREE
266    #  ifndef YYSTACK_ALLOC_MAXIMUM
267    #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268    #  endif
269    #  if (defined __cplusplus && ! defined _STDLIB_H \
270           && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272    #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273    #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276    #  endif
277    #  ifndef YYMALLOC
278    #   define YYMALLOC malloc
279    #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280         || defined __cplusplus || defined _MSC_VER)
281    void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282    #   endif
283    #  endif
284    #  ifndef YYFREE
285    #   define YYFREE free
286    #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287         || defined __cplusplus || defined _MSC_VER)
288    void free (void *); /* INFRINGES ON USER NAME SPACE */
289    #   endif
290    #  endif
291  # endif  # endif
292  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293    
294    
295  #if (! defined (yyoverflow) \  #if (! defined yyoverflow \
296       && (! defined (__cplusplus) \       && (! defined __cplusplus \
297           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))           || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298    
299  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
300  union yyalloc  union yyalloc
301  {  {
302    short int yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 175  union yyalloc Line 309  union yyalloc
309  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
310     N elements.  */     N elements.  */
311  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
312       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
314    
315  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
316     not overlap.  */     not overlap.  */
317  # ifndef YYCOPY  # ifndef YYCOPY
318  #  if defined (__GNUC__) && 1 < __GNUC__  #  if defined __GNUC__ && 1 < __GNUC__
319  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
320        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321  #  else  #  else
322  #   define YYCOPY(To, From, Count)              \  #   define YYCOPY(To, From, Count)              \
323        do                                        \        do                                        \
324          {                                       \          {                                       \
325            register YYSIZE_T yyi;                \            YYSIZE_T yyi;                         \
326            for (yyi = 0; yyi < (Count); yyi++)   \            for (yyi = 0; yyi < (Count); yyi++)   \
327              (To)[yyi] = (From)[yyi];            \              (To)[yyi] = (From)[yyi];            \
328          }                                       \          }                                       \
329        while (0)        while (YYID (0))
330  #  endif  #  endif
331  # endif  # endif
332    
# Line 210  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
   
 #endif  
348    
 #if defined (__STDC__) || defined (__cplusplus)  
    typedef signed char yysigned_char;  
 #else  
    typedef short int yysigned_char;  
349  #endif  #endif
350    
351  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state.  */
352  #define YYFINAL  40  #define YYFINAL  46
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4475  #define YYLAST   4318
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  94  #define YYNNTS  132
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  425  #define YYNRULES  510
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1172  #define YYNSTATES  1556
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       218,   219,   220,   221,   222,   223,     1,     2       216,   217,   218,   219,   220,   221,     1,     2
401  };  };
402    
403  #if YYDEBUG  #if YYDEBUG
404  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405     YYRHS.  */     YYRHS.  */
406  static const unsigned short int yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,       117,   119,   121,   123,   125,   127,   129,   131,   133,   135,
413       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,       137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
414       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,       157,   159,   161,   163,   179,   197,   215,   235,   243,   247,
415       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,       251,   255,   257,   259,   265,   273,   283,   285,   291,   299,
416       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,       309,   311,   313,   319,   325,   333,   343,   351,   361,   363,
417       407,   409,   411,   413,   415,   417,   423,   431,   435,   437,       369,   377,   383,   389,   395,   399,   401,   403,   407,   411,
418       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,       421,   423,   429,   437,   447,   455,   465,   469,   477,   481,
419       459,   461,   463,   467,   469,   473,   477,   479,   481,   483,       487,   491,   497,   501,   505,   509,   513,   517,   521,   525,
420       485,   487,   490,   494,   499,   504,   506,   509,   511,   513,       529,   535,   543,   549,   559,   565,   571,   577,   583,   589,
421       515,   517,   519,   521,   523,   525,   527,   529,   531,   534,       595,   601,   607,   613,   619,   623,   629,   631,   633,   635,
422       537,   540,   543,   546,   549,   552,   555,   558,   560,   562,       637,   639,   641,   643,   645,   649,   653,   655,   661,   669,
423       564,   566,   568,   570,   572,   574,   576,   578,   580,   582,       673,   675,   677,   679,   681,   683,   685,   687,   689,   691,
424       584,   586,   588,   590,   592,   594,   596,   598,   600,   602,       693,   695,   697,   699,   701,   703,   705,   707,   709,   711,
425       604,   606,   608,   610,   612,   614,   616,   618,   620,   622,       713,   715,   717,   721,   723,   725,   727,   729,   731,   733,
426       624,   626,   628,   630,   632,   634,   636,   638,   640,   642,       735,   738,   742,   747,   752,   754,   757,   759,   761,   763,
427       644,   646,   648,   650,   652,   654,   656,   658,   660,   662,       765,   767,   769,   771,   773,   775,   777,   779,   782,   785,
428       664,   666,   668,   670,   672,   674,   676,   678,   680,   682,       788,   791,   794,   797,   800,   803,   806,   808,   810,   812,
429       684,   686,   688,   690,   692,   694,   696,   698,   700,   702,       814,   816,   818,   820,   822,   824,   826,   828,   830,   832,
430       704,   706,   708,   710,   712,   714,   716,   718,   720,   722,       834,   836,   838,   840,   842,   844,   846,   848,   850,   852,
431       724,   726,   728,   730,   732,   734,   736,   738,   740,   742,       854,   856,   858,   860,   862,   864,   866,   868,   870,   872,
432       744,   746,   748,   750,   752,   754,   756,   758,   760,   762,       874,   876,   878,   880,   882,   884,   886,   888,   890,   892,
433       764,   766,   768,   770,   772,   774,   776,   778,   780,   782,       894,   896,   898,   900,   902,   904,   906,   908,   910,   912,
434       784,   786,   788,   790,   792,   794,   796,   798,   800,   802,       914,   916,   918,   920,   922,   924,   926,   928,   930,   932,
435       804,   806,   808,   810,   812,   814,   816,   818,   820,   822,       934,   936,   938,   940,   942,   944,   946,   948,   950,   952,
436       824,   826,   828,   830,   832,   834,   836,   838,   840,   842,       954,   956,   958,   960,   962,   964,   966,   968,   970,   972,
437       844,   846,   848,   850,   852,   854,   856,   858,   860,   862,       974,   976,   978,   980,   982,   984,   986,   988,   990,   992,
438       864,   866,   868,   870,   872,   874,   876,   878,   880,   882,       994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
439       884,   886,   888,   890,   892,   894,   896,   898,   900,   902,      1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1030,  1032,
440       904,   906,   908,   910,   912,   914,   916,   918,   920,   922,      1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,  1050,  1052,
441       924,   926,   928,   930,   932,   934,   936,   938,   940,   942,      1054,  1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,
442       944,   946,   948,   950,   952,   954,   956,   958,   960,   962,      1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,
443       964,   966,   968,   970,   972,   974,   976,   978,   980,   982,      1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,
444       984,   986,   988,   990,   992,   994,   996,   998,  1000,  1003,      1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,  1130,  1132,
445      1006,  1010,  1014,  1016,  1018,  1020,  1024,  1028,  1035,  1043,      1134,  1136,  1138,  1140,  1142,  1144,  1146,  1148,  1150,  1152,
446      1048,  1053,  1057,  1067,  1074,  1078,  1088,  1100,  1107,  1115,      1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,  1170,  1172,
447      1133,  1164,  1173,  1178,  1192,  1205,  1217,  1230,  1242,  1253,      1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,
448      1260,  1290,  1311,  1331,  1361,  1381,  1412,  1433,  1451,  1480,      1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,  1210,  1212,
449      1508,  1534,  1553,  1571,  1599,  1617,  1633,  1652,  1668,  1679,      1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,  1230,  1232,
450      1686,  1692,  1703,  1709,  1723,  1728      1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,  1251,  1254,
451        1258,  1262,  1264,  1266,  1268,  1272,  1276,  1280,  1286,  1292,
452        1299,  1307,  1312,  1317,  1321,  1326,  1334,  1344,  1351,  1355,
453        1365,  1377,  1384,  1392,  1410,  1441,  1450,  1455,  1481,  1506,
454        1530,  1553,  1579,  1604,  1626,  1647,  1661,  1674,  1686,  1699,
455        1711,  1729,  1751,  1762,  1769,  1779,  1794,  1805,  1835,  1856,
456        1876,  1906,  1926,  1957,  1978,  1996,  2025,  2053,  2079,  2098,
457        2116,  2144,  2160,  2177,  2197,  2218,  2236,  2252,  2271,  2287,
458        2298,  2305,  2312,  2317,  2322,  2328,  2339,  2345,  2359,  2364,
459        2369
460  };  };
461    
462  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
463  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
464  {  {
465       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   280,    -1,   229,   281,   280,    -1,
466        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
467         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   279,    -1,   230,   275,    -1,   230,   271,
468        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   282,   279,   232,    -1,   284,   279,   235,    -1,   285,
469       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       279,   236,    -1,   283,   279,   238,    -1,   287,   279,   240,
470        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   288,   279,   243,    -1,   289,   279,   248,    -1,   290,
471        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       279,   244,    -1,   295,   279,   237,    -1,   296,   279,   239,
472       267,   233,    -1,   282,   267,   265,    -1,   317,   267,   283,        -1,   297,   279,   233,    -1,   298,   279,   234,    -1,   299,
473       267,   252,    -1,   317,    -1,   320,    -1,   288,    -1,   292,       279,   277,    -1,   354,   279,   241,    -1,   286,   279,   242,
474        -1,   291,    -1,   290,    -1,   289,    -1,   318,    -1,   288,        -1,   354,    -1,   358,    -1,   300,    -1,   341,    -1,   341,
475        -1,   292,    -1,   291,    -1,   290,    -1,   289,    -1,   318,       279,   266,    -1,   305,    -1,   306,    -1,   307,    -1,   308,
476        -1,   284,    -1,   303,    -1,   309,   267,   287,   267,   259,        -1,   313,    -1,   317,    -1,   316,    -1,   315,    -1,   314,
477        -1,   308,   267,   287,   267,   259,   267,   259,    -1,   308,        -1,   309,    -1,   310,    -1,   311,    -1,   312,    -1,   355,
478       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,        -1,   318,    -1,   305,    -1,   306,    -1,   307,    -1,   308,
479        -1,   299,   267,   287,   267,   259,    -1,   298,   267,   287,        -1,   313,    -1,   317,    -1,   316,    -1,   315,    -1,   314,
480       267,   259,   267,   259,    -1,   298,   267,   287,   267,   259,        -1,   309,    -1,   310,    -1,   311,    -1,   312,    -1,   355,
481       267,   259,   267,   240,    -1,   296,    -1,   306,    -1,   297,        -1,   318,    -1,   339,   279,   258,   279,   259,   279,   260,
482       267,   287,   267,   263,    -1,   307,   267,   287,   267,   263,       279,   264,   279,   265,   279,   263,   279,   261,    -1,   339,
483        -1,   310,   267,   287,   267,   263,   267,   263,    -1,   305,       279,   258,   279,   259,   279,   260,   279,   264,   279,   265,
484       267,   287,   267,   263,   267,   263,   267,   259,    -1,   301,       279,   263,   279,   261,   279,   251,    -1,   339,   279,   258,
485       267,   287,   267,   263,   267,   263,    -1,   300,   267,   287,       279,   259,   279,   260,   279,   264,   279,   265,   279,   263,
486       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,       279,   261,   279,   267,    -1,   339,   279,   258,   279,   259,
487       267,   287,   267,   252,    -1,   283,   267,   290,   267,   241,       279,   260,   279,   264,   279,   265,   279,   263,   279,   261,
488       267,   252,    -1,   283,   267,   291,   267,   252,    -1,   283,       279,   251,   279,   267,    -1,   339,   279,   258,   279,   259,
489       267,   292,   267,   252,    -1,   294,   267,   287,   267,   254,       279,   260,    -1,   300,   279,   262,    -1,   341,   279,   258,
490        -1,   295,   267,   263,   267,   259,     4,   256,    -1,   300,        -1,   341,   279,   291,    -1,   301,    -1,   333,    -1,   343,
491       267,   263,   267,   263,   267,   259,     4,   256,    -1,   304,       279,   304,   279,   271,    -1,   338,   279,   304,   279,   271,
492       267,   263,   267,   259,     4,   256,    -1,   305,   267,   263,       279,   271,    -1,   338,   279,   304,   279,   271,   279,   271,
493       267,   263,   267,   259,     4,   256,    -1,   283,   267,   239,       279,   246,    -1,   302,    -1,   329,   279,   304,   279,   271,
494        -1,   319,   267,   258,    -1,   297,   267,   259,   267,   240,        -1,   328,   279,   304,   279,   271,   279,   271,    -1,   328,
495        -1,   297,   267,   259,    -1,   307,   267,   259,   267,   240,       279,   304,   279,   271,   279,   271,   279,   246,    -1,   326,
496        -1,   307,   267,   259,    -1,   297,   267,   263,    -1,   307,        -1,   336,    -1,   327,   279,   304,   279,   275,    -1,   337,
497       267,   263,    -1,   293,   267,   243,    -1,   294,   267,   244,       279,   304,   279,   275,    -1,   344,   279,   304,   279,   275,
498        -1,   297,   267,   252,   267,   245,    -1,   301,   267,   252,       279,   275,    -1,   335,   279,   304,   279,   275,   279,   275,
499       267,   246,   267,   246,    -1,   302,   267,   252,   267,   247,       279,   271,    -1,   331,   279,   304,   279,   275,   279,   275,
500        -1,   313,   267,   252,   267,   245,   267,   248,   267,   249,        -1,   330,   279,   304,   279,   275,   279,   275,   279,   271,
501        -1,   307,   267,   252,   267,   245,    -1,   310,   267,   252,        -1,   303,    -1,   300,   279,   304,   279,   262,    -1,   300,
502       267,   248,    -1,   311,   267,   252,   267,   249,    -1,   312,       279,   315,   279,   247,   279,   262,    -1,   300,   279,   316,
503       267,   252,   267,   250,    -1,   314,   267,   252,   267,   251,       279,   262,    -1,   300,   279,   317,   279,   262,    -1,   321,
504        -1,   259,     4,   256,    -1,   240,   267,   259,     4,   256,       279,   304,   279,   264,    -1,   348,   279,   304,    -1,   318,
505        -1,   315,    -1,   316,    -1,   296,    -1,   306,    -1,   286,        -1,   319,    -1,   340,   279,   258,    -1,   340,   279,   291,
506        -1,   284,    -1,   303,    -1,   285,    -1,   255,   267,   253,        -1,   339,   279,   304,   279,   258,   279,   259,   279,   260,
507       267,   252,    -1,   277,   267,   255,   267,   253,   267,   252,        -1,   342,    -1,   341,   279,   304,   279,   258,    -1,   325,
508        -1,   254,   267,   252,    -1,   263,    -1,   263,    -1,   259,       279,   275,   279,   271,     4,   268,    -1,   330,   279,   275,
509        -1,   263,    -1,   263,    -1,   276,    -1,   259,    -1,   260,       279,   275,   279,   271,     4,   268,    -1,   334,   279,   275,
510        -1,   263,    -1,   263,    -1,   263,    -1,   259,    -1,   266,       279,   271,     4,   268,    -1,   335,   279,   275,   279,   275,
511        -1,   257,    -1,   256,     5,   257,    -1,   259,    -1,     6,       279,   271,     4,   268,    -1,   300,   279,   245,    -1,   341,
512       259,     6,    -1,     7,   259,     7,    -1,   263,    -1,   260,       279,   356,   279,   258,   279,   266,    -1,   357,   279,   270,
513        -1,   263,    -1,   259,    -1,   264,    -1,   259,   264,    -1,        -1,   327,   279,   271,   279,   246,    -1,   327,   279,   271,
514       261,     8,   261,    -1,     9,   261,     8,   261,    -1,    10,        -1,   337,   279,   271,   279,   246,    -1,   337,   279,   271,
515       261,     8,   261,    -1,   262,    -1,   261,   262,    -1,    11,        -1,   300,   279,   262,    -1,   340,   279,   258,    -1,   340,
516        -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,       279,   291,    -1,   327,   279,   275,    -1,   337,   279,   275,
517        -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,   262,        -1,   320,   279,   249,    -1,   321,   279,   250,    -1,   327,
518        -1,    12,   261,    -1,    13,   261,    -1,    14,   261,    -1,       279,   262,   279,   252,    -1,   331,   279,   262,   279,   253,
519        15,   261,    -1,    16,   261,    -1,    17,   261,    -1,    18,       279,   253,    -1,   332,   279,   262,   279,   254,    -1,   347,
520       261,    -1,    19,   261,    -1,    20,   261,    -1,    21,    -1,       279,   262,   279,   252,   279,   255,   279,   256,    -1,   337,
521        22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,       279,   262,   279,   252,    -1,   344,   279,   262,   279,   255,
522        27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,    -1,        -1,   345,   279,   262,   279,   256,    -1,   346,   279,   262,
523        32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,       279,   257,    -1,   349,   279,   262,   279,   261,    -1,   350,
524        37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,       279,   262,   279,   270,    -1,   351,   279,   262,   279,   270,
525        42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,        -1,   341,   279,   262,   279,   258,    -1,   341,   279,   262,
526        47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,       279,   292,    -1,   341,   279,   262,   279,   293,    -1,   271,
527        52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,    -1,         4,   268,    -1,   246,   279,   271,     4,   268,    -1,   352,
528        57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,        -1,   353,    -1,   326,    -1,   336,    -1,   303,    -1,   301,
529        62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,    -1,        -1,   333,    -1,   302,    -1,   340,   279,   258,    -1,   340,
530        67,    -1,    68,    -1,    69,    -1,    70,    -1,    71,    -1,       279,   291,    -1,   342,    -1,   265,   279,   263,   279,   262,
531        72,    -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,        -1,   294,   279,   265,   279,   263,   279,   262,    -1,   264,
532        15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,    -1,       279,   262,    -1,   322,    -1,   323,    -1,   324,    -1,   275,
533        20,    -1,    73,    -1,     3,    -1,    74,    -1,    75,    -1,        -1,   275,    -1,   271,    -1,   275,    -1,   275,    -1,   291,
534        76,    -1,    77,    -1,    78,    -1,    79,    -1,     9,    -1,        -1,   271,    -1,   275,    -1,   275,    -1,   275,    -1,   272,
535        10,    -1,     8,    -1,     5,    -1,    80,    -1,    81,    -1,        -1,   275,    -1,   275,    -1,   275,    -1,   271,    -1,   278,
536        82,    -1,    83,    -1,     4,    -1,    84,    -1,    85,    -1,        -1,   278,    -1,   278,    -1,   269,    -1,   268,     5,   269,
537        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,        -1,   271,    -1,   278,    -1,   275,    -1,   272,    -1,   275,
538        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,        -1,   271,    -1,   276,    -1,   271,   276,    -1,   273,     6,
539        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,       273,    -1,     7,   273,     6,   273,    -1,     8,   273,     6,
540       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,       273,    -1,   274,    -1,   273,   274,    -1,     9,    -1,    10,
541       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
542       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,        -1,    16,    -1,    17,    -1,    18,    -1,   274,    -1,    10,
543       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,       273,    -1,    11,   273,    -1,    12,   273,    -1,    13,   273,
544       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,        -1,    14,   273,    -1,    15,   273,    -1,    16,   273,    -1,
545       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,        17,   273,    -1,    18,   273,    -1,    19,    -1,    20,    -1,
546       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
547       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
548       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,
549       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,        36,    -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,
550       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,        41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,
551       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,        46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,
552       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,
553       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
554       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
555       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,        66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
556       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
557       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,        14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,
558       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,        71,    -1,     3,    -1,    72,    -1,    73,    -1,    74,    -1,
559       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,        75,    -1,    76,    -1,    77,    -1,     7,    -1,     8,    -1,
560       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,         6,    -1,     5,    -1,    78,    -1,    79,    -1,    80,    -1,
561       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,
562       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,
563       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,
564       221,    -1,   222,    -1,   223,    -1,   267,    -1,   259,    -1,        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,
565       265,   267,    -1,   265,   259,    -1,     6,   265,     6,    -1,       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,
566         7,   265,     7,    -1,   224,    -1,   225,    -1,   226,    -1,       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,
567        21,    24,    24,    -1,    27,    25,    40,    -1,    23,    38,       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,
568        25,    21,    40,    25,    -1,    24,    25,    39,    40,    38,       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,
569        35,    45,    -1,    32,    29,    39,    40,    -1,    32,    35,       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,
570        21,    24,    -1,    21,    32,    32,    -1,    34,    35,    34,       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,
571        91,    33,    35,    24,    21,    32,    -1,    38,    25,    33,       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,
572        35,    42,    25,    -1,    39,    25,    40,    -1,    39,    41,       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,
573        22,    39,    23,    38,    29,    22,    25,    -1,    41,    34,       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,
574        39,    41,    22,    39,    23,    38,    29,    22,    25,    -1,       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,
575        39,    25,    32,    25,    23,    40,    -1,    23,    28,    21,       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,
576        34,    34,    25,    32,    -1,    21,    42,    21,    29,    32,       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,
577        21,    22,    32,    25,    91,    25,    34,    27,    29,    34,       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,
578        25,    39,    -1,    21,    42,    21,    29,    32,    21,    22,       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,
579        32,    25,    91,    21,    41,    24,    29,    35,    91,    35,       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,
580        41,    40,    36,    41,    40,    91,    24,    38,    29,    42,       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
581        25,    38,    39,    -1,    23,    28,    21,    34,    34,    25,       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,
582        32,    39,    -1,    29,    34,    26,    35,    -1,    23,    28,       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,
583        21,    34,    34,    25,    32,    91,    23,    35,    41,    34,       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,
584        40,    -1,    23,    28,    21,    34,    34,    25,    32,    91,       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,
585        29,    34,    26,    35,    -1,    22,    41,    26,    26,    25,       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,
586        38,    91,    26,    29,    32,    32,    -1,    39,    40,    38,       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
587        25,    21,    33,    91,    23,    35,    41,    34,    40,    -1,       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
588        42,    35,    29,    23,    25,    91,    23,    35,    41,    34,       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
589        40,    -1,    29,    34,    39,    40,    38,    41,    33,    25,       220,    -1,   221,    -1,   279,    -1,   271,    -1,   277,   279,
590        34,    40,    -1,    25,    34,    27,    29,    34,    25,    -1,        -1,   277,   271,    -1,   222,   277,   222,    -1,   223,   277,
591        21,    41,    24,    29,    35,    91,    35,    41,    40,    36,       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
592        41,    40,    91,    24,    25,    42,    29,    23,    25,    91,        22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
593        36,    21,    38,    21,    33,    25,    40,    25,    38,    -1,        39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
594        21,    41,    24,    29,    35,    91,    35,    41,    40,    36,        36,    -1,    21,    36,    23,    19,    38,    23,    -1,    22,
595        41,    40,    91,    24,    25,    42,    29,    23,    25,    39,        23,    37,    38,    36,    33,    43,    -1,    30,    27,    37,
596        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        38,    -1,    30,    33,    19,    22,    -1,    19,    30,    30,
597        36,    41,    40,    91,    24,    25,    42,    29,    23,    25,        -1,    32,    33,    32,    23,    -1,    22,    23,    24,    19,
598        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        39,    30,    38,    -1,    32,    33,    32,    89,    31,    33,
599        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        22,    19,    30,    -1,    36,    23,    31,    33,    40,    23,
600        91,    36,    21,    38,    21,    33,    25,    40,    25,    38,        -1,    37,    23,    38,    -1,    37,    39,    20,    37,    21,
601        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        36,    27,    20,    23,    -1,    39,    32,    37,    39,    20,
602        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        37,    21,    36,    27,    20,    23,    -1,    37,    23,    30,
603        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        23,    21,    38,    -1,    21,    26,    19,    32,    32,    23,
604        36,    41,    40,    91,    23,    28,    21,    34,    34,    25,        30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
605        32,    91,    36,    21,    38,    21,    33,    25,    40,    25,        23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
606        38,    -1,    21,    41,    24,    29,    35,    91,    35,    41,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
607        40,    36,    41,    40,    91,    23,    28,    21,    34,    34,        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
608        25,    32,    -1,    21,    41,    24,    29,    35,    91,    35,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
609        41,    40,    36,    41,    40,    91,    40,    45,    36,    25,        -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
610        -1,    21,    42,    21,    29,    32,    21,    22,    32,    25,        27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
611        91,    33,    29,    24,    29,    91,    29,    34,    36,    41,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
612        40,    91,    24,    38,    29,    42,    25,    38,    39,    -1,        40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
613        33,    29,    24,    29,    91,    29,    34,    36,    41,    40,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
614        91,    24,    25,    42,    29,    23,    25,    91,    36,    21,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
615        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,        89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
616        24,    29,    91,    29,    34,    36,    41,    40,    91,    36,        89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
617        35,    38,    40,    91,    36,    21,    38,    21,    33,    25,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
618        40,    25,    38,    -1,    33,    29,    24,    29,    91,    29,        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
619        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,        89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
620        25,    39,    -1,    33,    29,    24,    29,    91,    29,    34,        24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
621        36,    41,    40,    91,    24,    25,    42,    29,    23,    25,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
622        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,        19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
623        40,    91,    24,    38,    29,    42,    25,    38,    91,    36,        27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
624        21,    38,    21,    33,    25,    40,    25,    38,    -1,    33,        31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
625        29,    24,    29,    91,    29,    34,    36,    41,    40,    91,        32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
626        24,    38,    29,    42,    25,    38,    -1,    33,    29,    24,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
627        29,    91,    29,    34,    36,    41,    40,    91,    36,    35,        21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
628        38,    40,    -1,    33,    29,    24,    29,    91,    29,    34,        89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
629        36,    41,    40,    91,    23,    28,    21,    34,    34,    25,        38,    89,    27,    32,    24,    33,    -1,    21,    26,    19,
630        32,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        32,    32,    23,    30,    89,    21,    33,    39,    32,    38,
631        41,    40,    91,    40,    45,    36,    25,    -1,    33,    29,        -1,    21,    26,    19,    32,    32,    23,    30,    89,    27,
632        24,    29,    91,    29,    34,    36,    41,    40,    -1,    42,        32,    24,    33,    -1,    20,    39,    24,    24,    23,    36,
633        35,    32,    41,    33,    25,    -1,    22,    45,    40,    25,        89,    24,    27,    30,    30,    -1,    37,    38,    36,    23,
634        39,    -1,    36,    25,    38,    23,    25,    34,    40,    21,        19,    31,    89,    21,    33,    39,    32,    38,    -1,    40,
635        27,    25,    -1,    38,    25,    39,    25,    40,    -1,    33,        33,    27,    21,    23,    89,    21,    33,    39,    32,    38,
636        29,    39,    23,    25,    32,    32,    21,    34,    25,    35,        -1,    38,    33,    38,    19,    30,    89,    40,    33,    27,
637        41,    39,    -1,    25,    23,    28,    35,    -1,    37,    41,        21,    23,    89,    21,    33,    39,    32,    38,    -1,    38,
638        29,    40,    -1        33,    38,    19,    30,    89,    40,    33,    27,    21,    23,
639          89,    21,    33,    39,    32,    38,    89,    31,    19,    42,
640          -1,    27,    32,    37,    38,    36,    39,    31,    23,    32,
641          38,    -1,    23,    32,    25,    27,    32,    23,    -1,    33,
642          32,    89,    22,    23,    31,    19,    32,    22,    -1,    33,
643          32,    89,    22,    23,    31,    19,    32,    22,    89,    26,
644          33,    30,    22,    -1,    34,    23,    36,    37,    27,    37,
645          38,    23,    32,    38,    -1,    19,    39,    22,    27,    33,
646          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
647          40,    27,    21,    23,    89,    34,    19,    36,    19,    31,
648          23,    38,    23,    36,    -1,    19,    39,    22,    27,    33,
649          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
650          40,    27,    21,    23,    37,    -1,    19,    39,    22,    27,
651          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
652          23,    40,    27,    21,    23,    -1,    19,    39,    22,    27,
653          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
654          36,    27,    40,    23,    36,    89,    34,    19,    36,    19,
655          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
656          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
657          36,    27,    40,    23,    36,    -1,    19,    39,    22,    27,
658          33,    89,    33,    39,    38,    34,    39,    38,    89,    21,
659          26,    19,    32,    32,    23,    30,    89,    34,    19,    36,
660          19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,
661          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
662          21,    26,    19,    32,    32,    23,    30,    -1,    19,    39,
663          22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
664          89,    38,    43,    34,    23,    -1,    19,    40,    19,    27,
665          30,    19,    20,    30,    23,    89,    31,    27,    22,    27,
666          89,    27,    32,    34,    39,    38,    89,    22,    36,    27,
667          40,    23,    36,    37,    -1,    31,    27,    22,    27,    89,
668          27,    32,    34,    39,    38,    89,    22,    23,    40,    27,
669          21,    23,    89,    34,    19,    36,    19,    31,    23,    38,
670          23,    36,    -1,    31,    27,    22,    27,    89,    27,    32,
671          34,    39,    38,    89,    34,    33,    36,    38,    89,    34,
672          19,    36,    19,    31,    23,    38,    23,    36,    -1,    31,
673          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
674          22,    23,    40,    27,    21,    23,    37,    -1,    31,    27,
675          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
676          23,    40,    27,    21,    23,    -1,    31,    27,    22,    27,
677          89,    27,    32,    34,    39,    38,    89,    22,    36,    27,
678          40,    23,    36,    89,    34,    19,    36,    19,    31,    23,
679          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
680          32,    37,    38,    36,    39,    31,    23,    32,    38,    -1,
681          31,    27,    22,    27,    89,    27,    32,    37,    38,    36,
682          39,    31,    23,    32,    38,    37,    -1,    31,    27,    22,
683          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
684          32,    38,    89,    31,    19,    34,    -1,    31,    27,    22,
685          27,    89,    27,    32,    37,    38,    36,    39,    31,    23,
686          32,    38,    89,    31,    19,    34,    37,    -1,    31,    27,
687          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
688          36,    27,    40,    23,    36,    -1,    31,    27,    22,    27,
689          89,    27,    32,    34,    39,    38,    89,    34,    33,    36,
690          38,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
691          39,    38,    89,    21,    26,    19,    32,    32,    23,    30,
692          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
693          38,    89,    38,    43,    34,    23,    -1,    31,    27,    22,
694          27,    89,    27,    32,    34,    39,    38,    -1,    37,    23,
695          36,    40,    23,    36,    -1,    40,    33,    30,    39,    31,
696          23,    -1,    31,    39,    38,    23,    -1,    37,    33,    30,
697          33,    -1,    20,    43,    38,    23,    37,    -1,    34,    23,
698          36,    21,    23,    32,    38,    19,    25,    23,    -1,    36,
699          23,    37,    23,    38,    -1,    31,    27,    37,    21,    23,
700          30,    30,    19,    32,    23,    33,    39,    37,    -1,    32,
701          19,    31,    23,    -1,    23,    21,    26,    33,    -1,    35,
702          39,    27,    38,    -1
703  };  };
704    
705  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
706  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
707  {  {
708         0,    82,    82,    83,    86,    87,    88,    89,    92,    93,         0,    96,    96,    97,   100,   101,   102,   103,   106,   107,
709        94,    95,    96,    99,   100,   101,   102,   103,   104,   105,       108,   109,   110,   113,   114,   115,   116,   117,   118,   119,
710       106,   107,   108,   109,   110,   111,   112,   115,   116,   117,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
711       118,   119,   120,   123,   124,   125,   126,   127,   128,   131,       132,   133,   134,   137,   138,   139,   140,   141,   142,   143,
712       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       144,   145,   146,   147,   148,   149,   150,   151,   154,   155,
713       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
714       152,   153,   156,   157,   158,   159,   160,   161,   164,   165,       166,   167,   168,   171,   172,   173,   174,   177,   180,   181,
715       166,   167,   170,   171,   174,   175,   178,   179,   180,   181,       182,   185,   186,   187,   188,   189,   190,   191,   192,   193,
716       182,   183,   184,   185,   186,   189,   190,   193,   194,   197,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
717       198,   199,   200,   201,   202,   205,   206,   209,   212,   215,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
718       218,   221,   224,   225,   228,   231,   232,   235,   238,   241,       214,   215,   218,   219,   220,   221,   222,   223,   224,   227,
719       244,   247,   248,   251,   252,   253,   254,   255,   261,   262,       228,   229,   230,   233,   236,   237,   240,   241,   244,   245,
720       265,   266,   269,   270,   271,   275,   276,   279,   280,   281,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
721       282,   283,   284,   285,   286,   287,   288,   291,   292,   293,       258,   259,   260,   261,   264,   265,   268,   269,   272,   273,
722       294,   295,   296,   297,   298,   299,   300,   302,   302,   302,       274,   275,   276,   277,   278,   279,   280,   283,   284,   287,
723       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,       290,   291,   292,   295,   298,   301,   304,   307,   308,   311,
724       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,       314,   317,   320,   323,   324,   327,   330,   333,   336,   339,
725       302,   302,   302,   303,   303,   303,   303,   303,   303,   303,       342,   345,   346,   349,   350,   351,   352,   360,   361,   364,
726       303,   303,   303,   303,   303,   303,   303,   303,   303,   303,       365,   368,   369,   370,   374,   375,   378,   379,   380,   381,
727       303,   303,   303,   303,   303,   303,   303,   303,   303,   304,       382,   383,   384,   385,   386,   387,   390,   391,   392,   393,
728       304,   304,   304,   304,   304,   304,   304,   304,   304,   305,       394,   395,   396,   397,   398,   399,   401,   401,   401,   401,
729       305,   305,   305,   305,   305,   305,   305,   305,   305,   305,       401,   401,   401,   401,   401,   401,   401,   401,   401,   401,
730       305,   305,   306,   306,   306,   306,   306,   306,   306,   307,       401,   401,   401,   401,   401,   401,   401,   401,   401,   401,
731       307,   307,   307,   307,   308,   308,   308,   308,   309,   309,       401,   401,   402,   402,   402,   402,   402,   402,   402,   402,
732       309,   310,   310,   310,   311,   311,   311,   312,   312,   312,       402,   402,   402,   402,   402,   402,   402,   402,   402,   402,
733       313,   313,   313,   314,   314,   314,   315,   315,   315,   316,       402,   402,   402,   402,   402,   402,   402,   402,   403,   403,
734       316,   316,   317,   317,   317,   318,   318,   318,   319,   319,       403,   403,   403,   403,   403,   403,   403,   403,   404,   404,
735       319,   320,   320,   320,   321,   321,   321,   322,   322,   322,       404,   404,   404,   404,   404,   404,   404,   404,   404,   404,
736       323,   323,   323,   324,   324,   324,   325,   325,   325,   326,       404,   405,   405,   405,   405,   405,   405,   405,   406,   406,
737       326,   326,   327,   327,   327,   328,   328,   328,   329,   329,       406,   406,   406,   407,   407,   407,   407,   408,   408,   408,
738       329,   330,   330,   330,   331,   331,   331,   332,   332,   332,       409,   409,   409,   410,   410,   410,   411,   411,   411,   412,
739       333,   333,   333,   334,   334,   334,   335,   335,   335,   336,       412,   412,   413,   413,   413,   414,   414,   414,   415,   415,
740       336,   336,   337,   337,   337,   338,   338,   338,   339,   339,       415,   416,   416,   416,   417,   417,   417,   418,   418,   418,
741       339,   340,   340,   340,   341,   341,   341,   342,   342,   342,       419,   419,   419,   420,   420,   420,   421,   421,   421,   422,
742       343,   343,   343,   344,   344,   344,   345,   345,   345,   346,       422,   422,   423,   423,   423,   424,   424,   424,   425,   425,
743       346,   346,   347,   347,   347,   348,   348,   348,   349,   349,       425,   426,   426,   426,   427,   427,   427,   428,   428,   428,
744       349,   350,   350,   350,   351,   351,   354,   355,   356,   357,       429,   429,   429,   430,   430,   430,   431,   431,   431,   432,
745       360,   361,   367,   370,   373,   376,   379,   382,   385,   388,       432,   432,   433,   433,   433,   434,   434,   434,   435,   435,
746       391,   394,   397,   400,   403,   406,   409,   412,   415,   418,       435,   436,   436,   436,   437,   437,   437,   438,   438,   438,
747       421,   424,   427,   430,   433,   436,   439,   442,   445,   448,       439,   439,   439,   440,   440,   440,   441,   441,   441,   442,
748       451,   454,   457,   460,   463,   466,   469,   472,   475,   478,       442,   442,   443,   443,   443,   444,   444,   444,   445,   445,
749       481,   484,   487,   490,   493,   496,   499,   502,   505,   508,       445,   446,   446,   446,   447,   447,   447,   448,   448,   448,
750       511,   514,   517,   520,   523,   526       449,   449,   449,   450,   450,   453,   454,   455,   456,   459,
751         460,   466,   469,   472,   475,   478,   481,   484,   487,   490,
752         493,   496,   499,   502,   505,   508,   511,   514,   517,   520,
753         523,   526,   529,   532,   535,   538,   541,   544,   547,   550,
754         553,   556,   559,   562,   565,   568,   571,   574,   577,   580,
755         583,   586,   589,   592,   595,   598,   601,   604,   607,   610,
756         613,   616,   619,   622,   625,   628,   631,   634,   637,   640,
757         643,   646,   649,   652,   655,   658,   661,   664,   667,   670,
758         673,   676,   679,   682,   685,   688,   691,   694,   697,   700,
759         703
760  };  };
761  #endif  #endif
762    
763  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
764  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
765     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
766  static const char *const yytname[] =  static const char *const yytname[] =
767  {  {
768    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
769    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
770    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
771    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
772    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
773    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
774    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
775    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
776    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
777    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
778    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
779    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
780    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
781    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
782    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
783    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
784    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
785    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
786    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
787    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
788    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
789    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
790    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
791    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
792    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
793    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
794    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
795    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
796    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
797    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
798    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
799    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
800    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
801    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
802    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "get_instruction", "set_instruction", "create_instruction",
803    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "reset_instruction", "clear_instruction", "destroy_instruction",
804    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "load_instruction", "set_chan_instruction", "key_val_list",
805    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "buffer_size_type", "list_instruction", "load_instr_args",
806    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "load_engine_args", "instr_load_mode", "device_index",
807      "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
808      "midi_input_channel_index", "midi_input_type_name", "midi_map",
809      "midi_bank", "midi_prog", "volume_value", "sampler_channel",
810      "instrument_index", "engine_name", "filename", "map_name", "entry_name",
811      "param_val_list", "param_val", "boolean", "string", "dotnum", "digits",
812      "digit", "number", "char", "text", "stringval", "SP", "LF", "CR", "ADD",
813      "GET", "MAP", "UNMAP", "CLEAR", "CREATE", "DESTROY", "LIST", "LOAD",
814      "ALL", "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
815      "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
816      "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO",
817      "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
818      "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
819      "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
820      "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO", "CHANNEL_COUNT",
821    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
822    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",
823    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",    "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
824    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
825    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
826    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
827    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
828    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
829    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
830    "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME", "BYTES", "PERCENTAGE",    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
831    "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
832      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
833      "SERVER", "VOLUME", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",
834      "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
835  };  };
836  #endif  #endif
837    
838  # ifdef YYPRINT  # ifdef YYPRINT
839  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
840     token YYLEX-NUM.  */     token YYLEX-NUM.  */
841  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
842  {  {
843         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
844        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
845        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
846        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
847        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
848       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
849       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
850       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
851        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
852        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
853       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
854       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
855       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
856       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
857       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
858       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
859       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
860       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
861       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
862       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
863       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
864       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
865       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
866  };  };
867  # endif  # endif
868    
869  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
870  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
871  {  {
872         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
873       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
874       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
875       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
876         233,   233,   233,   233,   233,   233,   233,   233,   234,   234,
877       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
878       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   235,   235,   235,   235,   236,   237,   237,
879       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,       237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
880       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
881       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
882       242,   242,   242,   242,   242,   243,   243,   244,   245,   246,       238,   238,   239,   239,   239,   239,   239,   239,   239,   240,
883       247,   248,   249,   249,   250,   251,   251,   252,   253,   254,       240,   240,   240,   241,   242,   242,   243,   243,   244,   244,
884       255,   256,   256,   257,   257,   257,   257,   257,   258,   258,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
885       259,   259,   260,   260,   260,   261,   261,   262,   262,   262,       245,   245,   245,   245,   246,   246,   247,   247,   248,   248,
886       262,   262,   262,   262,   262,   262,   262,   263,   263,   263,       248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
887       263,   263,   263,   263,   263,   263,   263,   264,   264,   264,       251,   251,   251,   252,   253,   254,   255,   256,   256,   257,
888       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       258,   259,   260,   261,   261,   262,   263,   264,   265,   266,
889       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       267,   268,   268,   269,   269,   269,   269,   270,   270,   271,
890       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       271,   272,   272,   272,   273,   273,   274,   274,   274,   274,
891       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       274,   274,   274,   274,   274,   274,   275,   275,   275,   275,
892       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       275,   275,   275,   275,   275,   275,   276,   276,   276,   276,
893       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
894       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
895       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
896       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
897       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
898       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
899       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
900       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
901       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
902       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
903       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
904       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
905       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
906       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
907       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
908       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
909       264,   264,   264,   264,   264,   264,   265,   265,   265,   265,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
910       266,   266,   267,   268,   269,   270,   271,   272,   273,   274,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
911       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
912       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
913       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
914       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,       276,   276,   276,   276,   276,   277,   277,   277,   277,   278,
915       315,   316,   317,   318,   319,   320       278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
916         288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
917         298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
918         308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
919         318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
920         328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
921         338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
922         348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
923         358
924  };  };
925    
926  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
927  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
928  {  {
929         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
930         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
931         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
932           1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
933           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
934         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
935         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,         1,     1,     1,    15,    17,    17,    19,     7,     3,     3,
936         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,         3,     1,     1,     5,     7,     9,     1,     5,     7,     9,
937         5,     5,     7,     9,     7,     9,     3,     3,     5,     3,         1,     1,     5,     5,     7,     9,     7,     9,     1,     5,
938         5,     3,     3,     3,     3,     3,     5,     7,     5,     9,         7,     5,     5,     5,     3,     1,     1,     3,     3,     9,
939         5,     5,     5,     5,     5,     3,     5,     1,     1,     1,         1,     5,     7,     9,     7,     9,     3,     7,     3,     5,
940         1,     1,     1,     1,     1,     5,     7,     3,     1,     1,         3,     5,     3,     3,     3,     3,     3,     3,     3,     3,
941           5,     7,     5,     9,     5,     5,     5,     5,     5,     5,
942           5,     5,     5,     5,     3,     5,     1,     1,     1,     1,
943           1,     1,     1,     1,     3,     3,     1,     5,     7,     3,
944         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     3,     1,     3,     3,     1,     1,     1,     1,  
        1,     2,     3,     4,     4,     1,     2,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,  
        2,     2,     2,     2,     2,     2,     2,     1,     1,     1,  
945         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
946           1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
947           2,     3,     4,     4,     1,     2,     1,     1,     1,     1,
948           1,     1,     1,     1,     1,     1,     1,     2,     2,     2,
949           2,     2,     2,     2,     2,     2,     1,     1,     1,     1,
950         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
951         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
952         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 726  static const unsigned char yyr2[] = Line 967  static const unsigned char yyr2[] =
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,
969         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
970         1,     1,     1,     1,     1,     1,     1,     1,     2,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
971         3,     3,     1,     1,     1,     3,     3,     6,     7,     4,         1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
972         4,     3,     9,     6,     3,     9,    11,     6,     7,    17,         3,     1,     1,     1,     3,     3,     3,     5,     5,     6,
973        30,     8,     4,    13,    12,    11,    12,    11,    10,     6,         7,     4,     4,     3,     4,     7,     9,     6,     3,     9,
974        29,    20,    19,    29,    19,    30,    20,    17,    28,    27,        11,     6,     7,    17,    30,     8,     4,    25,    24,    23,
975        25,    18,    17,    27,    17,    15,    18,    15,    10,     6,        22,    25,    24,    21,    20,    13,    12,    11,    12,    11,
976         5,    10,     5,    13,     4,     4        17,    21,    10,     6,     9,    14,    10,    29,    20,    19,
977          29,    19,    30,    20,    17,    28,    27,    25,    18,    17,
978          27,    15,    16,    19,    20,    17,    15,    18,    15,    10,
979           6,     6,     4,     4,     5,    10,     5,    13,     4,     4,
980           4
981  };  };
982    
983  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
984     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
985     means the default is an error.  */     means the default is an error.  */
986  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
987  {  {
988         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
989         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
990         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
991           0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
992           0,     0,     0,     0,     0,     0,     1,   432,   433,     2,
993           0,     9,   284,   279,   278,   276,   277,   186,   187,   188,
994         189,   190,   191,   192,   193,   194,   195,   206,   207,   208,
995         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
996         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
997         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
998         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
999         249,   250,   251,   252,   253,   254,   255,   256,   257,   268,
1000         270,   271,   272,   273,   274,   275,   280,   281,   282,   283,
1001         285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1002         295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1003         305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1004         315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1005         325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1006         335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1007         345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1008         355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1009         365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1010         375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1011         385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1012         395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1013         405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1014         415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1015         431,    12,   196,    11,   179,    10,     0,     0,     0,     0,
1016           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1017           0,   434,     0,     0,     0,   435,     0,     0,   436,     0,
1018           0,     0,     0,   448,     0,     0,     0,     3,   186,   187,
1019         188,   189,   190,   191,   192,   193,   194,   195,   197,   184,
1020         198,   199,   200,   201,   202,   203,   204,   205,   269,   258,
1021         259,   260,   261,   262,   263,   264,   265,   266,   267,   180,
1022           0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
1023           0,    16,     0,    71,    76,    88,    95,    96,     0,    80,
1024           0,     0,     0,     0,     0,    72,     0,    81,     0,     0,
1025           0,     0,     0,   100,     0,     0,     0,     0,    14,     0,
1026          15,     0,     0,    27,     0,     0,     0,    17,     0,     0,
1027          18,     0,     0,     0,     0,     0,    19,   141,   143,   140,
1028         138,   142,   139,     0,   146,     0,    20,     0,     0,    21,
1029           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
1030           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1031          23,    33,    34,    35,    36,    42,    43,    44,    45,    37,
1032          41,    40,    39,    38,    47,    46,    24,    48,    49,    50,
1033          51,    57,    58,    59,    60,    52,    56,    55,    54,    53,
1034          62,    61,   426,    25,   425,    26,     0,     0,     0,     0,
1035         441,   442,   510,     0,     0,     0,     0,     0,     0,   185,
1036           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1037           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1038           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1039           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1040         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        1,   373,   374,     2,     0,     9,   225,   220,   219,   217,  
      218,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   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,   209,   211,   212,   213,   214,   215,   216,  
      221,   222,   223,   224,   226,   227,   228,   229,   230,   231,  
      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,  
      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,  
      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,  
      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,  
      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,  
      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,  
      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,  
      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,  
      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,  
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,  
      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,  
      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,  
      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,  
      362,   363,   364,   365,   372,    12,   137,    11,   120,    10,  
1041         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1042         0,     0,   375,     0,     0,   376,     0,     0,     0,     0,         0,     0,     0,   428,   427,     0,   438,     0,     0,     0,
1043         0,     0,   384,     0,     0,     3,   127,   128,   129,   130,       506,     0,     0,   437,     0,     0,     0,     0,     0,    32,
1044       131,   132,   133,   134,   135,   136,   138,   125,   139,   140,       169,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      141,   142,   143,   144,   145,   146,   210,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   121,     0,    13,  
        0,     0,     0,     0,    14,     0,    39,    44,    56,     0,  
       48,     0,     0,     0,     0,     0,    40,     0,    49,     0,  
        0,     0,     0,     0,     0,    15,     0,     0,    16,     0,  
        0,     0,     0,     0,    17,    92,    94,    91,    89,    93,  
       90,     0,    18,     0,     0,     0,     0,     0,     0,    20,  
1045         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1046         0,    21,    27,    31,    30,    29,    28,    32,    22,    33,         0,     0,     0,   187,   188,   189,   190,   191,   192,   193,
1047        37,    36,    35,    34,    38,   367,    23,   366,     0,     0,       194,   195,     0,    97,   160,    98,     0,     0,     0,    94,
1048         0,   379,   380,   425,     0,     0,     0,     0,     0,   126,         0,     0,     0,     0,   114,   115,     0,     0,   110,   112,
1049         116,   117,     0,     0,     0,   144,   145,     0,     0,   118,
1050           0,   168,     0,   119,     0,   167,    68,   165,    69,    70,
1051           0,     0,     0,     0,     0,     0,     0,   106,     0,     0,
1052         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1053           0,     0,     0,     0,     0,     0,   108,   178,   177,     0,
1054           0,     0,     0,     0,     0,     0,     0,   113,   439,     0,
1055         447,   451,     0,     0,     0,     0,     0,     0,     0,     0,
1056         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     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,   369,   368,     0,     0,     0,  
        0,   422,     0,     0,     0,     0,     0,     0,     0,     0,  
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,     0,     0,     0,    69,         0,   509,     0,     0,     0,     0,     0,     0,     0,     0,
       71,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
       72,    73,     0,     0,     0,     0,     0,     0,     0,    74,  
        0,   110,     0,    75,     0,   109,    19,   107,     0,     0,  
        0,     0,     0,     0,    66,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,    67,   119,  
      118,     0,     0,     0,     0,     0,    24,   377,     0,   383,  
      387,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1061         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1062         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1063           0,     0,     0,     0,   440,     0,     0,     0,     0,   429,
1064         430,     0,     0,     0,     0,     0,     0,     0,     0,    89,
1065           0,     0,     0,   136,   137,    91,    92,    93,    82,     0,
1066          77,     0,     0,     0,    83,     0,     0,   443,   101,    73,
1067           0,     0,     0,   161,     0,     0,     0,     0,   109,     0,
1068         111,     0,     0,     0,     0,     0,     0,   166,     0,   149,
1069         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      424,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1070         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,     0,     0,     0,     0,     0,  
        0,     0,     0,    57,     0,     0,     0,    87,    88,    59,  
       60,    61,    50,     0,    45,     0,     0,     0,    51,     0,  
       41,     0,     0,     0,    68,     0,    70,     0,     0,     0,  
        0,   370,   371,     0,     0,   108,     0,    97,     0,     0,  
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,   399,     0,   392,       473,     0,   500,     0,   456,     0,     0,     0,     0,     0,
1074         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1075         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1076           0,     0,     0,     0,   502,   503,     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,   508,     0,     0,     0,     0,     0,     0,
1079           0,     0,     0,   449,     0,   452,     0,     0,     0,   452,
1080           0,     0,     0,     0,    90,    78,     0,    86,     0,    74,
1081           0,    84,     0,     0,   162,    67,     0,     0,     0,     0,
1082         276,   277,   134,   171,   173,   176,     0,   184,   175,   174,
1083           0,     0,     0,     0,     0,   147,     0,     0,     0,     0,
1084           0,     0,   120,   153,     0,   154,   122,   155,   124,     0,
1085           0,   131,   132,   133,   125,   156,   126,   157,   158,   127,
1086         159,     0,     0,     0,   128,   163,   164,   129,   130,   102,
1087           0,   104,     0,   107,     0,     0,     0,     0,     0,     0,
1088           0,     0,     0,     0,     0,     0,   455,     0,     0,     0,
1089         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   385,     0,   388,     0,     0,   388,     0,  
        0,     0,    58,    46,     0,    54,     0,    42,    52,     0,  
        0,     0,     0,     0,   217,   218,    85,   111,   113,   117,  
        0,   125,   116,     0,     0,     0,     0,     0,    95,     0,  
        0,     0,     0,     0,     0,    76,    98,     0,    99,    78,  
      100,    80,    81,   101,     0,    82,   102,   103,    83,   104,  
        0,     0,     0,    84,   105,   106,    62,     0,    64,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   391,     0,  
1090         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1091           0,     0,     0,     0,     0,     0,     0,   501,     0,     0,
1092         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1093         0,     0,     0,     0,   419,     0,     0,     0,     0,     0,         0,     0,     0,   450,     0,     0,     0,     0,     0,     0,
1094         0,     0,     0,     0,     0,   386,     0,     0,     0,   420,       504,     0,    79,    87,    85,    75,    99,     0,     0,     0,
1095         0,    47,    55,    53,    43,     0,     0,    86,   114,   115,         0,     0,   135,     0,     0,   172,   181,     0,     0,     0,
1096         0,     0,   112,   122,     0,     0,     0,     0,    96,     0,         0,     0,   148,     0,     0,     0,     0,   121,     0,     0,
1097         0,     0,     0,    77,   381,     0,    63,    65,     0,     0,         0,   103,   105,     0,     0,     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,
1099       123,   124,     0,     0,   398,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,   182,   183,     0,     0,     0,
1100         472,     0,     0,     0,     0,     0,     0,   444,     0,     0,
1101         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,   382,     0,     0,  
        0,     0,    79,   395,     0,     0,     0,     0,   397,     0,  
1102         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1103         0,     0,     0,     0,   418,     0,   394,     0,   396,     0,         0,     0,     0,     0,     0,     0,   446,     0,     0,     0,
1104           0,     0,   123,     0,   467,     0,     0,     0,     0,     0,
1105           0,     0,   469,     0,     0,     0,     0,     0,     0,     0,
1106         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1107         0,     0,     0,     0,     0,     0,   393,   423,     0,     0,         0,     0,     0,     0,     0,   499,     0,     0,     0,   466,
1108         0,     0,     0,     0,     0,     0,   421,     0,     0,     0,         0,     0,     0,   468,     0,     0,     0,     0,     0,     0,
1109         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1110         0,     0,     0,     0,     0,     0,     0,   415,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   445,
1111           0,   465,     0,     0,   507,     0,     0,     0,     0,     0,
1112           0,     0,     0,     0,     0,     0,     0,   505,     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,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1115           0,     0,     0,     0,     0,     0,     0,   496,   491,     0,
1116         491,    63,     0,     0,     0,     0,     0,     0,     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,   389,     0,   412,   414,     0,  
        0,   412,     0,     0,     0,     0,     0,     0,     0,     0,  
      415,   417,     0,     0,     0,     0,     0,   411,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   402,  
      404,     0,     0,     0,     0,   402,     0,     0,     0,     0,  
        0,   407,     0,   406,   401,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   416,     0,     0,     0,     0,     0,  
1118         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1119         0,     0,   406,     0,     0,     0,     0,     0,     0,     0,       492,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1120         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1121         0,     0,     0,     0,   410,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   453,     0,   489,   495,
1122         0,     0,     0,     0,     0,     0,     0,     0,   413,     0,         0,     0,   470,     0,     0,    64,    65,   170,   150,   151,
1123       409,     0,     0,     0,   408,     0,     0,   403,     0,   400,       152,     0,   489,     0,     0,     0,     0,     0,     0,     0,
1124       405,   390         0,     0,   496,   498,     0,     0,     0,     0,     0,   470,
1125           0,     0,     0,     0,     0,     0,   488,     0,     0,     0,
1126           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1127           0,     0,     0,     0,     0,     0,     0,     0,   493,     0,
1128         479,   481,     0,     0,     0,     0,   493,     0,     0,     0,
1129          66,   479,     0,     0,     0,     0,     0,     0,   484,     0,
1130           0,     0,     0,     0,     0,     0,   483,   478,     0,     0,
1131           0,     0,     0,   494,     0,     0,     0,     0,     0,     0,
1132           0,   497,     0,     0,     0,     0,   464,     0,     0,     0,
1133           0,     0,     0,     0,   471,     0,     0,     0,     0,     0,
1134           0,     0,     0,     0,   463,     0,     0,     0,     0,     0,
1135           0,     0,     0,     0,     0,     0,     0,   483,     0,     0,
1136           0,   460,     0,     0,     0,     0,     0,     0,     0,     0,
1137           0,     0,     0,     0,     0,     0,   459,     0,     0,     0,
1138           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1139         458,     0,   462,     0,     0,     0,     0,     0,   487,   474,
1140           0,     0,     0,   457,   461,     0,     0,     0,     0,     0,
1141           0,   476,     0,     0,     0,     0,     0,     0,   490,     0,
1142           0,   486,     0,     0,     0,   485,     0,     0,     0,   480,
1143           0,     0,   477,   482,   454,   475
1144  };  };
1145    
1146  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1147  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1148  {  {
1149        -1,    12,    13,    14,    15,   391,   398,   334,   379,   355,        -1,    13,    14,    15,    16,   342,   430,   446,   378,   380,
1150       358,   372,   534,   654,   636,   364,   519,   523,   785,   787,       409,   351,   415,   387,   465,   383,   390,   406,   637,   798,
1151       789,   792,   795,   798,   803,   526,   664,   524,   520,   766,       772,   396,   619,   623,  1345,   962,   964,   966,   974,   976,
1152       767,   548,   768,   769,   770,   266,   527,   268,   406,   521,       979,   593,   792,   933,   984,   626,   806,   624,   620,   559,
1153       711,    43,    44,    16,    17,    18,    19,    20,    21,   797,      1346,   942,   943,   656,   944,   945,   946,   272,   627,   274,
1154       522,    22,    23,    24,    25,    26,   329,   336,   337,   338,       463,   949,   871,    49,    50,    17,    18,    19,    20,    21,
1155       482,   392,   393,   394,   395,   396,   373,   339,   381,   340,        22,    23,    24,    25,   978,   972,   973,   622,    26,    27,
1156       341,   342,   343,   344,   345,   537,   346,   383,   347,   348,        28,    29,    30,   343,   353,   354,   355,   569,   431,   432,
1157       349,   350,   351,   352,   540,   541,   542,   543,   637,   638,       433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
1158        27,   397,   385,    28       443,   356,   357,   407,   358,  1348,  1349,  1350,   417,   359,
1159         360,   361,   362,   363,   364,   640,   365,   419,   366,   367,
1160         368,   369,   370,   371,   344,   373,   374,   375,   644,   645,
1161         646,   376,   647,   648,   649,   773,   774,    31,   445,   655,
1162         422,    32
1163  };  };
1164    
1165  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1166     STATE-NUM.  */     STATE-NUM.  */
1167  #define YYPACT_NINF -712  #define YYPACT_NINF -868
1168  static const short int yypact[] =  static const yytype_int16 yypact[] =
1169  {  {
1170        51,  -712,  -712,    34,    23,    75,   109,    27,    38,   111,        68,  -868,  -868,    37,    99,    71,    86,   128,   114,   117,
1171        61,    48,    95,  -192,  1598,  -712,   -92,   -92,   -92,   -92,       167,    83,   108,   177,    -6,  1895,  -868,   -25,   -25,   -25,
1172       -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,  -712,   126,       -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,
1173       158,   127,   150,   153,   180,   212,    70,    -3,   220,   204,       -25,   -25,  -868,   300,   221,   301,   288,   290,   293,   312,
1174      -712,  -712,  -712,  -712,    19,  -712,  -712,  -712,  -712,  -712,       299,   307,   122,    70,   316,   154,  -868,  -868,  -868,  -868,
1175      -712,  -712,   216,   216,   216,   216,   216,   216,   216,   216,       113,  -868,  -868,  -868,  -868,  -868,  -868,  -868,   443,   443,
1176       216,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,       443,   443,   443,   443,   443,   443,   443,  -868,  -868,  -868,
1177      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1178      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1179      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1180      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1181      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1182      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1183      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1184      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1185      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1186      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1187      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1188      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1189      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1190      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1191      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1192      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1193      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1194      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1195      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1196      -712,  -712,  -712,  -712,  -712,  2705,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1197       222,   163,    73,    73,   170,     6,   222,   164,    54,    54,      -868,  2560,  -868,  -868,  -868,  -868,   162,   126,   308,   308,
1198      1820,   222,  -712,   225,   207,  -712,   208,   226,   211,   230,       309,   111,   111,   157,   131,   162,   129,   106,   106,  2117,
1199       241,   243,  -712,   231,   228,  -712,  -712,  -712,  -712,  -712,       320,  -868,   323,   325,   314,  -868,   324,   341,  -868,   327,
1200      -712,  -712,  -712,  -712,  -712,  -712,   216,  -712,   216,   216,       334,   345,   347,  -868,   335,   356,   339,  -868,  -868,  -868,
1201       216,   216,   216,   216,   216,   216,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,   443,  -868,
1202      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   244,  -712,       443,   443,   443,   443,   443,   443,   443,   443,  -868,  -868,
1203        69,   245,   237,   246,  -712,   -92,  -712,  -712,  -712,   -92,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1204      -712,   -92,   -92,   -92,   -92,   -92,  -712,   -92,  -712,   -92,       353,   354,  -868,  -868,   -25,   227,   357,   348,   358,   361,
1205       -92,   -92,   -92,   233,   259,  -712,   -92,   -92,  -712,   -92,       364,  -868,   -25,  -868,  -868,  -868,  -868,  -868,   -25,  -868,
1206       -92,    72,   261,   262,  -712,  -712,  -712,  -712,  -712,  -712,       -25,   -25,   -25,   -25,   -25,  -868,   -25,  -868,   -25,   -25,
1207      -712,   256,  -712,   -92,   -92,   -92,   251,   270,   265,  -712,       -25,   -25,   -25,  -868,   -25,   -25,   -25,   359,  -868,   -25,
1208       -92,   -92,   -92,   -92,   -92,   -92,   254,   269,   277,   268,      -868,   -25,   360,  -868,   -25,   350,   363,  -868,   -25,   -25,
1209       272,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,   -25,   -25,   233,   365,   367,  -868,  -868,  -868,  -868,
1210      -712,  -712,  -712,  -712,  -712,  2705,  1820,  -712,   -92,   271,      -868,  -868,  -868,   -25,  -868,   366,  -868,   -25,   -25,  -868,
1211       274,  -712,  -712,  -712,   273,   276,   286,   287,   291,  -712,       -25,   -25,   369,   378,   373,  -868,   -25,   -25,   -25,   -25,
1212       293,   294,   296,   298,   297,   299,    62,   292,   292,   292,       -25,   -25,   -25,   370,   396,   410,   412,   399,   408,   409,
1213       292,   292,   292,   292,   292,   292,   292,   292,   301,   303,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1214      2705,  2705,   267,   267,   309,   314,   316,   281,    21,  2705,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1215       267,   317,   320,   318,    18,   267,   267,   267,   267,  2926,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1216       323,   329,   312,   315,   325,  2705,  -712,   267,   327,   321,      -868,  -868,  2560,  2117,  -868,  -868,   -25,   404,   405,   411,
1217       330,  -712,   319,   326,   324,   332,   328,   336,   339,   346,      -868,  -868,  -868,   406,   434,   423,   424,   415,   454,  -868,
1218       347,   343,   -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,       456,   451,    53,   455,   457,   459,   458,   460,   444,   441,
1219       -92,   -92,   -92,   -92,   -92,   -92,   -92,   349,   350,  1820,       101,   461,   461,   461,   461,   461,   461,   461,   461,   461,
1220      1820,   216,   216,   216,   216,   216,   216,   216,   216,   216,       461,   402,   461,   461,   461,   461,   462,   453,   453,   463,
1221      -712,  -712,   351,   348,   352,   344,  1820,  1820,   353,  -712,       402,   464,   467,  2560,  2560,   453,   453,   468,   472,   470,
1222       -92,  -712,   -92,  -712,   -92,  2705,  -712,  -712,   354,   355,       402,   466,    11,  2560,   453,   402,   473,   471,   476,    44,
1223       356,   345,   358,   357,  -712,   -92,   -92,   -92,   -92,   -92,       453,   453,   453,   453,   449,  2779,   477,   480,   481,    40,
1224       -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,  -712,  2705,       469,   474,   482,  2560,  -868,   453,  -868,   484,   475,   487,
1225      -712,   363,   360,   335,   366,   373,  -712,  -712,   359,  -712,      -868,   485,   478,  -868,   483,   490,   486,  2117,  2117,  -868,
1226      -712,   368,   375,   365,   367,   369,   371,   372,   322,   374,      -868,   488,   497,   494,   500,   501,   489,   511,   499,   -25,
1227       267,    37,   267,   267,  2705,   267,  2705,  2705,   267,   267,       -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,
1228       267,   267,  2705,  2705,   267,   376,   333,  2705,  2705,   377,       -25,   -25,   -25,   443,   443,   443,   443,   443,   443,   443,
1229       380,   334,   370,  1154,  1376,   381,   267,   124,   267,   382,       443,   443,   502,  -868,  -868,  -868,   -25,   -25,   -25,  -868,
1230      -712,   340,   379,   383,   378,   267,   267,   267,   267,   267,       506,   -25,   -25,   507,  -868,  -868,   508,   509,  2117,  2117,
1231       267,   267,   267,   267,  2705,   267,  2705,   267,   384,   385,      -868,  -868,   510,   521,   512,  -868,  -868,   503,   505,  -868,
1232       391,   397,   395,  -712,   399,   388,   398,   341,   401,   402,       -25,  -868,   -25,  -868,   -25,  2560,  -868,  -868,  -868,  -868,
1233       405,   404,   400,  -712,   389,   411,   -92,  -712,  -712,  -712,       513,   535,   542,   540,   112,   547,   551,  -868,   -25,   -25,
1234      -712,  -712,  -712,  1820,  2705,   -92,   -92,   -92,  -712,  1820,       -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,
1235      2705,   -92,   361,   408,   -92,  3147,   -92,   362,   413,   410,       -25,   -25,   -25,   -25,   566,   -25,  -868,  2560,  -868,   561,
1236       406,  -712,  -712,   364,   -92,  -712,   -92,  -712,   393,   417,       565,   558,   564,   571,   572,   577,   576,  -868,  -868,   555,
1237       419,   420,   409,   -92,   -92,   -92,   -92,   -92,   -92,   -92,      -868,  -868,   573,   578,   569,   514,  1451,  1673,   575,   574,
1238       -92,   -92,  3368,   -92,  3589,   -92,   416,   415,   424,   418,       570,   579,   517,   587,   582,   589,   453,    46,   453,   453,
1239       394,   432,   429,   427,   425,   439,   430,  -712,   431,  -712,      2560,   453,  2560,  2560,   453,   453,   453,   453,  2560,   453,
1240       423,   426,   267,  2705,   267,   267,   267,  2705,   267,   433,       584,   453,  2560,   453,   526,   453,   453,   527,   585,   528,
1241       454,  2705,  2042,   455,   434,   466,   456,   468,   267,   267,      2560,  2560,   586,   588,   532,   603,   590,   453,    53,   453,
1242       467,   471,   473,   444,   477,   267,   267,  2705,   267,   267,       608,  -868,   553,   621,   622,   607,   616,   617,   453,   453,
1243       205,  2705,   267,   195,  2042,  2705,  2042,  2705,   445,   435,       453,   453,   453,   453,   453,   453,   453,   453,   453,   453,
1244       474,   446,   498,  -712,   516,  -712,   499,   507,   502,   506,      2560,   453,  2560,   453,   618,   453,   615,   627,   619,   563,
1245       518,   521,  -712,  1820,   -92,  -712,   -92,  1820,  -712,   504,       630,   635,   625,   633,  -868,   638,   623,   640,   637,  -868,
1246       510,  3810,  2705,  2705,   216,   216,   542,  -712,  2705,  -712,      -868,   580,   646,   643,   644,   641,   634,   583,   642,  -868,
1247       107,    14,  -712,   508,   502,   514,   526,   517,  -712,   -92,       628,   650,   -25,  -868,  -868,  -868,  -868,  -868,  -868,  2117,
1248       512,   519,   463,   527,   532,  -712,  -712,   -92,  -712,  -712,      2560,   -25,   -25,   -25,  -868,  2117,   -25,  -868,  -868,  2560,
1249      2705,  -712,  -712,  -712,   528,  -712,  -712,  -712,  -712,  2705,       -25,   647,   -25,  -868,   -25,   649,   595,   651,   -25,  2998,
1250       -92,   216,   216,  -712,  -712,  -712,   542,  4031,   542,  4252,       -25,   597,   656,   661,   654,   601,   -25,  -868,   -25,  -868,
1251       533,   472,   537,   539,   534,   543,   531,   547,  -712,   535,       605,   668,   670,   671,   676,   667,   662,   -25,   -25,   -25,
1252       536,   548,  2705,  2705,  2705,  2705,   538,   544,  2042,  2263,       -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,   -25,  3217,
1253      2484,   141,   162,  2042,   216,   546,   549,   540,   553,   267,       -25,  3436,   -25,   679,   -25,   620,   669,   681,   680,   678,
1254       551,   552,   554,   545,  -712,   267,   555,   267,  2042,  2042,       675,   624,   626,   687,   684,   682,   685,   683,   694,   688,
1255       559,   106,   550,   557,   556,  -712,   558,   492,   560,  -712,      -868,   689,  -868,   686,  -868,   690,   696,   453,  2560,   453,
1256       561,   -92,  2705,  2705,   -92,   562,   564,   542,  -712,  -712,       453,   453,  2560,   453,   453,   691,   453,   453,   692,   697,
1257       216,   216,  -712,   216,   563,   565,   566,   575,  -712,   571,       693,  2560,  2339,   700,   704,   703,   705,   706,   453,   453,
1258       568,   569,   573,  -712,  -712,   -92,   542,   542,   570,   577,       707,   709,   710,   631,  -868,  -868,   708,   453,   453,  2560,
1259       579,   589,   574,   582,   576,     5,   529,   578,   580,   567,       453,   102,   453,   402,  2560,   453,   416,  2779,  2779,  2339,
1260       216,   216,   581,   583,  -712,   587,   584,   585,   586,   588,      2560,  2339,  2560,  -868,    53,   711,   653,   715,   714,   717,
1261       205,   592,   590,   601,   593,   603,   595,   599,   600,   606,       659,   698,   701,  -868,   699,  -868,   712,   713,   720,   716,
1262       613,    92,   622,   604,   621,   607,   624,  -712,   609,   115,       206,   718,   731,   734,  -868,  2117,   -25,  -868,   -25,  2117,
1263       610,   612,  -712,  -712,   616,   619,   614,   617,  -712,   591,       -25,  -868,   719,   -25,  -868,  -868,   721,   722,   725,  3655,
1264       632,   642,   635,    60,   636,   646,   594,   650,   596,   652,       443,   443,   755,  -868,  2560,  -868,   156,    29,  -868,  -868,
1265       598,   653,   644,   639,   602,   641,  -712,   645,  -712,   140,       723,   716,   222,   740,   732,  -868,   -25,   730,   224,   695,
1266       654,   657,   666,   655,   667,   661,   675,   677,   662,   679,       745,   750,  -868,  -868,   -25,  -868,  -868,  2560,  -868,   751,
1267       664,   171,   665,   670,   669,    17,  -712,  -712,   682,    74,       743,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1268       678,   683,   630,   696,   685,   688,  -712,   704,   701,   706,      2560,   -25,   443,   443,  -868,  -868,  -868,  -868,  -868,   755,
1269       703,   705,   709,   707,   695,   647,   711,   710,   697,   725,      3874,   755,  4093,  -868,   739,   756,   727,   226,   762,   761,
1270       708,   718,   658,   726,   723,   730,   731,   668,   715,   735,       752,   753,   760,   749,   754,   765,  -868,   757,   759,   763,
1271       719,   739,   742,   722,   744,   668,    57,   747,   727,   733,       758,   766,  2560,  2560,  2560,  2560,   453,   776,  2560,   780,
1272       736,   748,   737,   738,   745,   751,   753,   743,   750,   759,       782,   783,  2339,   289,   303,  2339,   443,   785,   786,   788,
1273       764,   765,   768,   761,   767,   772,   770,   754,   766,   762,       767,   772,   453,   789,   790,   768,   792,  -868,   453,   774,
1274       776,   769,   781,   780,   774,  -712,   771,   777,   720,   785,       796,   453,  2339,  2339,   793,   773,   173,   791,   794,   802,
1275       786,  -712,   787,   777,   783,   797,   734,   805,   791,   794,       803,   808,   798,  -868,   804,   787,   775,   800,   805,   818,
1276      -712,  -712,   804,   811,   792,   800,   796,  -712,   806,   803,      -868,   810,   -25,  2560,  2560,   -25,  -868,   807,   -25,   812,
1277       818,   819,   821,   824,   814,   817,   827,   828,   822,   816,       820,   806,   755,   443,   443,  -868,   443,   821,   823,   827,
1278       773,   820,   825,   836,   837,  -712,   816,   830,   775,   838,       828,   837,  -868,   833,   830,   832,   228,  -868,   850,   849,
1279       833,  -712,   839,   778,  -712,   832,   829,   782,   840,   841,       -25,   755,   755,   841,   856,   847,   857,   852,   855,   865,
1280       778,   843,   842,   850,  -712,   847,   855,   844,   853,   864,       853,   872,   862,   858,   859,   161,   811,   860,   873,   866,
1281       861,   866,   867,   857,   871,   856,   802,   859,   862,   858,       864,    53,   867,   869,   816,   443,   443,   870,   834,   877,
1282       863,   869,  -712,   865,   878,   876,   875,   881,   884,   889,      -868,   882,   878,   835,   881,   883,   886,  -868,   402,   887,
1283       886,   891,   882,   879,   874,   880,   883,   890,   888,   896,       901,   894,   871,   845,   896,   903,   905,   915,   902,   908,
1284       897,   901,   906,   909,  -712,   910,   911,   912,   899,   898,       907,   909,   914,   920,   153,   919,   863,   932,   922,   -25,
1285       903,   904,   908,   905,   913,   919,   921,   915,  -712,   924,       923,   917,   934,   921,   935,   927,  -868,   924,   164,   926,
1286      -712,   925,   914,   917,  -712,   918,   920,  -712,   922,  -712,       925,   931,  -868,   929,  -868,   936,   938,   950,   942,   937,
1287      -712,  -712       939,   885,  -868,   952,   889,   957,   955,   959,    47,   949,
1288         965,   968,   966,   967,   453,   969,   904,   971,   906,   973,
1289         976,   911,   978,   972,   970,   918,   974,   928,   977,  -868,
1290         983,   987,   979,  -868,   997,   988,   248,   992,   994,   995,
1291         985,   996,   990,   998,   999,  1008,  1001,   -25,  1004,  1016,
1292        1000,  1017,  1002,  1009,   256,  1003,  1011,  1006,    57,  -868,
1293        1023,  -868,  1010,  1019,  -868,  1015,  1014,  1028,    65,  1022,
1294        1024,   960,  1030,  1018,  1021,  1025,  1026,  -868,  1029,   416,
1295        1031,  1039,  1037,  1043,  1041,  1032,  1045,  1049,  1046,  1036,
1296         989,  1053,  1047,  1038,  1059,  1058,  1048,  1050,  1005,  1068,
1297        1051,  1061,  1007,  1067,  1065,  1072,  1075,  1012,     7,  1063,
1298        -868,   -25,  1066,  1062,  1083,  1070,  1085,    21,  1088,  1071,
1299        1087,  1012,    64,  1093,  1077,  1081,  1076,  1098,  1033,  1089,
1300        1092,  1094,  1097,  1080,  1095,  1090,  1099,  1102,  1096,  1101,
1301        -868,  1105,  1091,    27,  1103,  1110,  1111,  1114,  1108,  1109,
1302        1113,  1119,  1117,  1107,  1112,  1115,  1122,  1121,  1123,   214,
1303        1116,  1132,  1120,  1134,  1133,  1118,  -868,  1124,  1125,  1074,
1304        1140,  1141,  1078,  1129,  1142,   -25,  -868,  -868,  -868,  -868,
1305        -868,  1143,  -868,  1145,  1125,  1152,  1144,  1151,  1084,  1156,
1306        1146,  1147,  -868,  -868,  1160,  1100,  1149,  1153,  1158,  -868,
1307        1150,  1163,  1164,  1154,  1155,  1157,  -868,  1161,  1162,  1165,
1308        1166,  1126,  1167,    53,  1168,  1169,  1170,  1171,  1177,  1172,
1309        1173,  1178,  1184,  1185,   174,  1174,  1159,  1175,  -868,  1181,
1310        1179,  1128,  1180,  1183,  1193,  1200,  1186,  1203,  1202,  1188,
1311        -868,  -868,  1179,  1186,  1196,  1138,  1209,  1197,  -868,  1201,
1312        1148,  1199,  1198,  1204,  1205,  1182,  1187,  -868,  1206,  1194,
1313        1190,  1207,  1208,  -868,  1192,  1218,  1215,  1187,  1210,  1211,
1314        1222,  -868,   215,  1212,  1224,  1214,  -868,   230,  1216,  1227,
1315        1217,  1231,  1230,  1233,  -868,  1223,  1220,  1239,  1240,  1232,
1316        1228,  1235,  1236,  1237,  -868,  1241,  1243,  1244,  1245,  1191,
1317        1246,  1229,  1226,  1253,  1247,  1248,  1242,  -868,  1238,  1259,
1318        1249,  -868,  1250,  1262,  1252,  1271,  1269,  1265,  1270,  1272,
1319        1266,  1274,  1275,  1276,  1268,  1273,  -868,  1278,  1279,  1283,
1320        1277,  1267,  1280,  1281,  1285,  1289,  1284,  1282,  1286,  1287,
1321        -868,  1288,  -868,  1291,  1292,  1290,  1300,  1304,  -868,  1251,
1322        1293,  1306,  1309,  -868,  -868,  1311,  1297,  1296,  1301,  1302,
1323        1313,  -868,  1303,  1307,  1308,  1319,  1321,  1310,  -868,  1312,
1324        1325,  -868,  1326,  1314,  1315,  -868,  1322,  1317,  1318,  -868,
1325        1320,  1333,  -868,  -868,  -868,  -868
1326  };  };
1327    
1328  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1329  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1330  {  {
1331      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,
1332      -712,  -712,  -712,  -573,  -712,  -712,  -712,  -712,  -696,   112,      -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  -680,
1333      -712,   104,    49,  -712,  -712,  -465,   247,   386,   387,  -711,      -868,  -868,  -868,  -868,  -868,  -643,   321,  -868,   317,   232,
1334       129,  -712,   331,   235,    11,   -10,   -14,   283,  -317,  -712,      -868,  -453,  -667,  -827,   115,  -507,  -861,  -660,  -701,   479,
1335       -13,   926,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,       -22,  -825,   337,  -607,   407,  -867,   -13,   -39,   -14,   389,
1336      -712,  -712,  -712,  -712,  -712,  -712,  -109,   689,   690,   698,      -261,  -454,   -15,  1316,  -868,  -868,  -868,  -868,  -868,  -868,
1337      -173,   692,   694,  -261,  -257,  -255,  -712,   699,  -712,   702,      -868,  -868,  -868,  -868,  -428,  -868,  -868,  -868,  -868,  -868,
1338      -256,  -712,  -712,   700,   515,  -712,   712,  -712,   713,   714,      -868,  -868,  -868,  -154,  1082,  1104,  1106,  -289,  1079,  1086,
1339      -252,  -712,  -712,   524,  -712,  -712,  -712,  -712,  -712,  -712,      1127,  1130,  1135,  1136,  1139,  1386,  1607,  1829,  -253,  -252,
1340      -712,   716,  -712,  -712      -251,    23,  -868,  -868,  1834,  -868,  -868,  -868,  -868,  1131,
1341        -249,  -868,  -868,  2053,   839,  -868,  2057,  -868,  4029,  4033,
1342        -240,  -868,    48,   -12,  -221,  4034,  -868,   842,  -868,  -868,
1343        -868,  -868,  -868,  -868,  -868,  -868,  -868,  -868,  4030,  -868,
1344        -868,  -868
1345  };  };
1346    
1347  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1348     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1349     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1350     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1351  #define YYTABLE_NINF -138  #define YYTABLE_NINF -197
1352  static const short int yytable[] =  static const yytype_int16 yytable[] =
1353  {  {
1354       267,   269,   556,   270,   271,   272,   273,   274,   275,   276,       275,   273,   276,   277,   278,   279,   280,   281,   282,   283,
1355       277,   278,   279,   280,   281,   656,   356,   359,   401,  -137,       284,   285,   286,   287,   288,   289,   290,   808,   956,   319,
1356       357,   360,   402,   806,   403,   808,   918,   516,   517,   291,       319,   319,   319,   319,   319,   319,   319,   319,   560,   985,
1357       919,   332,   791,    41,    42,   371,   800,   292,   920,   531,       777,   800,   388,   391,  -196,   457,   458,   459,   667,   794,
1358       996,   947,   307,   307,   307,   307,   307,   307,   307,   307,       935,   389,   392,   618,  1310,   318,   320,   321,   322,   323,
1359       307,   532,     1,   997,     2,   518,    33,   998,    29,   634,       324,   325,   326,   327,   601,   602,   372,   604,  1310,    33,
1360       533,    30,    34,   306,   308,   309,   310,   311,   312,   313,      1343,  1344,   662,   633,   411,   421,   770,   615,   621,     1,
1361       314,   315,     3,   635,     4,     5,   386,   387,     6,    35,      1210,     2,   628,   595,   989,   634,   991,   663,  1261,  1187,
1362      1036,   987,    39,     7,   386,   963,    37,   388,     8,     9,       771,   635,   605,  1211,   636,  1322,  1251,     3,  1270,     4,
1363        10,   481,    11,   389,   353,    40,   390,  1037,   964,  1000,         5,  1262,   616,     6,    36,  1263,  1311,   629,     7,     8,
1364        31,   389,    38,   289,   390,   633,   354,   639,   640,   290,       302,  1271,  1323,     9,    10,    11,    43,    12,   303,    37,
1365       421,   422,  1001,   444,   422,   834,   943,   867,   296,   297,      1318,   308,   583,   584,   585,   586,   587,   588,   589,   590,
1366       298,   299,   300,   301,   302,   303,   304,   305,   944,   889,       591,   424,    44,   352,   969,   423,   424,   425,   568,    34,
1367       516,   517,   264,   667,    32,   890,    36,   886,   887,   951,       385,   410,   416,    40,   970,    35,   466,   426,   427,   724,
1368       673,   674,   675,   676,   677,   678,   679,   680,   681,   870,        45,   429,   386,   427,   428,   345,   429,   346,   412,   347,
1369       282,   952,   296,   297,   298,   299,   300,   301,   302,   303,       340,   725,   413,   300,   347,    38,    41,   348,   405,   301,
1370       304,   305,   335,   978,   979,   483,   284,   375,   380,   484,       414,    39,  1026,   349,   350,   308,   309,   310,   311,   312,
1371       871,   485,   408,   296,   297,   298,   299,   300,   301,   302,       313,   314,   315,   316,   317,  1178,   393,    46,   394,   769,
1372       303,   304,   305,   283,   330,   376,   331,   328,   332,   377,      1141,   775,   776,   340,  1142,   305,  1192,  1179,   395,  1066,
1373       285,   361,   286,   362,   991,   992,   333,   378,   535,   593,        42,   306,  1143,   341,  1095,  1421,   930,  1072,  1193,   270,
1374       594,   287,   538,   363,   801,   802,   296,   501,   502,   503,      1096,  1422,   573,   574,   575,   576,   577,   578,   579,   580,
1375       504,   505,   506,   507,   508,   509,   296,   501,   502,   503,       581,   582,   809,   596,   597,   598,   599,  1091,  1092,    47,
1376       504,   505,   506,   507,   508,   509,   794,   296,   297,   298,        48,   817,   818,   819,   820,   821,   822,   823,   824,   825,
1377       299,   300,   301,   302,   303,   304,   305,   752,  -137,  -137,       826,   827,   828,   557,   558,  1366,  1460,   570,   571,   572,
1378      -137,   288,   293,   294,    41,   328,   409,   410,   411,   861,      1007,  1367,  1461,  1008,   292,  1368,   786,   968,   788,   557,
1379       412,   413,   864,   778,   486,   487,   488,   489,   490,   491,       558,  1465,   981,  -196,  -196,  -196,  1028,  1466,  1034,  1029,
1380       492,   493,   494,   495,   496,   414,   415,   407,   416,   418,      1047,  1003,  1125,  1048,   621,  1003,   483,   484,   384,  1237,
1381       417,   424,   420,   423,   438,   425,    -4,    -4,   296,   501,      1238,   403,   517,   484,   464,   557,   558,  1256,  1257,   479,
1382       502,   503,   504,   505,   506,   507,   508,   509,   439,   445,       638,   479,   479,   479,   479,   479,   479,   479,   479,   641,
1383       447,   446,   451,   452,   453,   460,   419,   461,   419,   419,       987,   988,   834,    -4,    -4,  1073,   676,   677,   308,   309,
1384       419,   419,   419,   419,   419,   419,   462,   464,   463,   472,       310,   311,   312,   313,   314,   315,   316,   317,   642,  1074,
1385       473,   468,   469,   474,   475,   470,   471,   477,   476,   478,       444,   460,   308,   309,   310,   311,   312,   313,   314,   315,
1386       515,   481,   426,   480,   479,   497,   427,   498,   428,   429,       316,   317,   291,  1217,   293,   294,   379,   381,   295,   482,
1387       430,   431,   432,   512,   433,   513,   434,   435,   436,   437,       296,   297,  1062,   298,   299,  1065,   304,   490,    47,   377,
1388       514,   528,   530,   440,   441,   265,   442,   443,   529,   551,       382,   340,   467,   491,   468,   492,   493,   494,   495,   496,
1389       552,   553,   557,   554,   555,   559,   558,   564,   620,   560,       924,   497,   469,   498,   499,   500,   501,   502,  1068,   503,
1390       448,   449,   450,   562,   561,   565,   563,   454,   455,   456,       504,   505,   470,   471,   507,   472,   508,   473,   474,   510,
1391       457,   458,   459,   566,   878,   567,   568,   569,   585,   586,       475,   955,   476,   513,   514,   477,   515,   516,   478,   480,
1392       589,   591,   590,   599,   592,   601,   602,   603,   595,   618,       486,   481,   985,   485,   488,   487,   506,   509,   520,   511,
1393       600,   621,   604,   466,   619,   467,   622,   624,   625,   626,       512,   518,   522,   523,   519,   524,   525,   489,   521,   527,
1394       632,   628,   627,   670,   623,   629,   630,   671,   660,   686,       528,   529,   530,   531,   532,   533,   534,   535,   526,   536,
1395       672,   652,   657,   631,   658,   663,   688,   668,   689,   687,      1149,   308,   583,   584,   585,   586,   587,   588,   589,   590,
1396       690,   691,   695,   693,   653,   659,   692,   696,   510,   511,       591,   592,   271,   982,   983,   308,   583,   584,   585,   586,
1397       697,   669,   694,   698,   700,   699,   701,   710,   714,   715,       587,   588,   589,   590,   591,   537,   538,   540,   971,   539,
1398       739,   544,   545,   546,   547,   550,   721,   716,   722,   723,       546,   541,   542,   547,   551,   552,   549,   548,   544,   553,
1399       724,   741,   709,   713,   738,   717,   740,   743,   744,   745,       560,   545,   308,   309,   310,   311,   312,   313,   314,   315,
1400       746,   747,   748,   750,   751,   749,   774,   811,   759,   570,       316,   317,   308,   583,   584,   585,   586,   587,   588,   589,
1401       571,   572,   573,   574,   575,   576,   577,   578,   579,   580,       590,   591,   550,   556,   554,   555,   562,   561,   563,   567,
1402       581,   582,   583,   584,   720,   742,   587,   588,   760,   776,       566,   654,   565,   564,   600,   603,   606,   594,   568,   607,
1403       773,   307,   307,   307,   307,   307,   307,   307,   307,   307,       612,   613,   614,   594,   594,   630,   594,   631,   632,   659,
1404       775,   777,   780,   407,   407,   781,   812,   596,   782,   597,       661,   610,   611,   617,   660,   664,   594,   668,   669,   666,
1405       784,   598,   306,   308,   309,   310,   311,   312,   313,   314,       670,   594,   665,   675,   672,   678,   650,   651,   652,   653,
1406       315,   814,   605,   606,   607,   608,   609,   610,   611,   612,       673,   658,   674,   671,   679,  1082,   680,   681,   682,   683,
1407       613,   614,   615,   616,   617,   783,   810,   813,   815,   817,       684,   685,   700,   704,   707,   708,   709,   712,   716,   714,
1408       816,   818,   819,   820,   821,   826,   827,   833,   327,   835,       720,   715,   464,   464,   319,   319,   319,   319,   319,   319,
1409       836,   837,   838,   840,   842,   841,   843,   844,   852,   850,       319,   319,   319,   713,   686,   687,   688,   689,   690,   691,
1410       846,   642,   853,   851,   645,   646,   647,   648,   855,   854,       692,   693,   694,   695,   696,   697,   698,   699,   721,   722,
1411       651,   856,   857,   860,   876,   859,   858,   877,   865,   882,       318,   320,   321,   322,   323,   324,   325,   326,   327,   723,
1412       466,   466,   665,   895,   891,   866,   874,   884,   888,   881,       726,   701,   702,   703,   727,   744,   705,   706,   746,   747,
1413       875,   879,   892,   880,   894,   897,   905,   893,   898,   902,       748,   749,   750,   710,   711,   751,   752,   753,   754,   756,
1414       896,   683,   911,   685,   899,   903,   904,   906,   907,   909,       755,   757,   763,   758,   762,   717,   765,   718,   761,   719,
1415       908,   405,   912,   913,   914,   915,   916,   917,   922,   927,       766,   764,   767,   768,   787,   791,   795,   797,   796,   801,
1416       921,   923,   925,   702,   933,   928,   930,   935,   936,   931,       802,   803,   805,   728,   729,   730,   731,   732,   733,   734,
1417       703,   934,   704,   705,   706,   938,   707,   937,   708,   939,       735,   736,   737,   738,   739,   740,   741,   742,   743,   804,
1418       941,   940,   942,   945,   946,   947,   953,   948,   949,   950,       745,   810,   811,   812,   813,   814,   815,   816,   835,   833,
1419       955,   718,   954,   719,   956,   957,   960,   958,   924,   962,       836,   837,   838,   839,   840,   841,   842,   621,   843,   844,
1420       725,   726,   727,   728,   729,   730,   731,   732,   733,   961,       339,   544,   544,   845,   846,   848,   849,   850,   851,   847,
1421       735,   965,   737,   966,   926,   968,   929,   970,   972,   973,       852,   855,   853,   856,   865,   854,   868,   778,   870,   874,
1422       974,   976,   959,   980,   977,   967,   981,   969,   327,   971,       781,   782,   783,   784,   869,   594,   873,   594,   875,   790,
1423       754,   755,   756,   975,   758,   982,   984,   983,   772,   985,       877,   793,   793,   876,   880,   881,   462,   882,   883,   884,
1424       986,   987,   771,   989,   988,   665,   990,   993,   994,   995,       885,   886,   903,   807,   907,   906,   910,   908,   909,   905,
1425       999,   786,   788,  1002,   786,   793,   796,  1003,   786,   805,       913,   914,   915,   911,   918,   912,   917,   916,   919,  1002,
1426       772,  1004,   772,   771,   771,  1005,   771,  1006,  1007,  1008,       960,   920,  1001,   932,   936,   938,   921,   830,   922,   832,
1427      1009,  1010,  1011,  1012,  1013,  1015,  1014,   465,  1016,  1017,       937,   594,   923,   950,   951,   952,   953,   954,  1000,   961,
1428       822,   823,  1019,   824,   825,  1018,  1020,  1022,   327,  1023,       957,   958,   995,   959,   994,   996,   997,   998,   999,  1003,
1429      1021,  1024,  1025,  1026,   307,   307,  1027,  1029,  1030,  1028,      1005,  1009,  1004,  1006,  1010,  1011,  1017,   857,  1019,  1021,
1430       419,  1031,  1032,  1033,  1034,  1039,   839,  1035,  1038,  1040,      1025,  1020,  1027,  1030,   858,  1031,   859,   860,   861,  1033,
1431      1041,   499,   500,  1044,   845,   831,   832,  1042,  1047,  1043,       862,   863,  1036,  1037,  1039,   864,  1040,   866,  1044,   867,
1432       525,  1048,   327,   327,  1045,  1046,  1049,   847,  1050,  1051,      1045,  1049,  1050,  1053,  1035,  1051,  1052,  1054,  1056,  1061,
1433       549,   307,   307,  1053,  1052,  1054,  1055,  1056,  1057,  1058,      1059,   878,  1055,   879,  1081,  1060,  1057,  1058,  1088,  1080,
1434      1059,  1061,  1060,  1062,  1063,  1064,  1069,  1066,   327,  1070,      1094,  1085,   887,   888,   889,   890,   891,   892,   893,   894,
1435      1071,  1068,   831,   832,   772,  1065,  1067,  1072,   771,   772,       895,   896,   897,   898,  1067,   900,  1046,   902,  1069,   904,
1436      1073,   419,   419,   771,   307,  1074,  1075,  1076,  1077,  1078,      1070,  1104,  1071,  1077,  1086,  1078,  1079,  1083,  1089,  1084,
1437      1080,   788,   327,   793,   772,   772,  1079,  1082,   771,   771,      1097,  1093,  1098,   947,  1099,  1101,  1100,  1102,  1106,  1108,
1438      1081,  1084,  1083,  1085,  1086,   873,  1087,   405,   405,  1088,      1103,  1107,  1109,  1110,  1114,   926,   927,   928,  1112,   793,
1439      1089,  1090,  1091,  1092,  1093,  1094,  1096,  1098,  1099,  1102,       931,   339,   934,   934,  1113,  1117,  1121,   947,   948,  1347,
1440       307,   307,  1100,   419,  1095,  1097,  1101,  1103,  1106,  1105,       947,  1118,   947,  1119,  1105,   807,  1120,  1122,  1123,  1126,
1441      1107,  1104,   910,  1108,  1110,  1113,  1115,  1117,  1109,  1111,       543,  1124,  1127,   963,   965,  1129,   963,   594,   975,   977,
1442      1112,   900,   901,  1114,  1116,  1118,  1119,  1120,  1121,  1122,      1131,   963,   986,   658,   658,   948,  1130,   948,  1135,  1132,
1443       419,   419,  1123,  1125,  1124,  1127,   796,  1126,  1128,  1132,      1133,  1134,  1136,  1137,  1138,  1166,  1146,  1139,  1140,  1145,
1444      1133,  1129,  1130,  1131,  1134,   525,  1135,   643,   644,  1136,      1144,   319,   319,  1148,  1147,  1152,  1150,   479,  1151,  1153,
1445      1137,  1138,  1139,   649,   650,  1140,  1142,  1141,   655,   655,      1012,  1013,  1156,  1014,  1015,  1016,  1155,  1157,  1018,  1159,
1446      1143,  1144,  1148,  1145,   465,   465,   327,   327,  1146,  1147,       608,   609,  1160,  1154,  1158,  1161,  1163,  1023,  1024,  1347,
1447      1149,  1150,   327,   327,  1151,  1152,  1153,  1154,   327,  1155,       625,  1164,   339,  1165,  1167,  1168,  1169,  1170,  1171,  1173,
1448      1156,  1157,  1158,  1160,  1162,   682,  1163,   684,  1159,  1165,      1172,  1032,   657,   319,   319,  1174,  1176,  1177,  1175,  1038,
1449      1166,   885,  1167,  1161,  1164,  1168,  1169,   883,  1170,   932,      1180,  1182,  1181,  1183,  1185,  1186,  1187,  1189,  1190,  1188,
1450       641,  1171,   872,   365,   366,   327,   779,   327,   804,   536,      1194,  1196,  1191,  1195,   462,   462,  1041,  1197,  1198,  1023,
1451       295,   399,   367,   400,   374,     0,   368,   382,   539,     0,      1024,  1199,  1200,  1201,  1204,  1205,  1202,  1203,  1206,  1207,
1452         0,     0,     0,     0,   666,     0,   369,     0,   370,     0,      1208,  1209,  1212,   947,   479,   479,   947,   319,  1213,  1214,
1453       384,     0,     0,     0,     0,   404,     0,     0,     0,     0,      1216,  1215,  1218,  1219,  1220,  1221,  1222,   339,   339,  1223,
1454         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1224,  1225,   934,   947,   947,  1226,  1232,  1228,   948,  1227,
1455         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1233,   948,  1229,  1076,   339,  1231,  1234,  1230,  1235,  1239,
1456         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1236,  1240,  1241,  1243,   965,  1242,  1244,   975,   948,   948,
1457         0,     0,     0,     0,   753,     0,   327,     0,   757,     0,      1245,  1247,  1246,  1248,   319,   319,  1250,   479,  1251,  1253,
1458       327,     0,   761,     0,   327,     0,     0,     0,     0,     0,      1252,  1255,  1254,  1258,  1260,  1264,   339,  1259,  1267,  1274,
1459         0,   327,     0,     0,     0,     0,     0,     0,   790,     0,      1265,  1266,  1268,  1111,  1269,  1272,  1273,  1275,  1276,  1277,
1460         0,     0,   799,     0,     0,     0,   807,     0,   809,     0,      1115,  1116,  1283,  1278,  1284,  1279,  1285,  1280,  1286,  1282,
1461         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,      1287,  1288,  1289,  1290,  1291,  1128,   479,   479,  1292,  1293,
1462         0,     0,   327,     0,     0,     0,     0,     0,     0,     0,      1294,  1295,  1296,   543,   543,  1297,  1298,  1301,  1303,  1299,
1463       327,     0,   327,   829,   830,     0,     0,     0,     0,     0,      1305,  1302,  1306,  1307,  1300,  1312,  1304,   625,  1308,   779,
1464         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       780,  1309,  1314,  1310,  1315,   785,  1317,  1319,  1321,   789,
1465         0,     0,   327,   327,     0,     0,     0,     0,     0,     0,      1316,  1320,  1324,  1325,   977,  1326,  1327,   799,   799,  1328,
1466         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1334,  1330,  1329,  1331,  1333,  1338,  1332,  1336,  1335,  1342,
1467         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1351,  1337,  1339,  1352,  1184,  1340,  1341,  1354,  1353,  1355,
1468         0,     0,     0,     0,     0,   327,   327,     0,     0,     0,      1357,  1356,  1358,  1359,  1361,  1363,  1365,   829,  1364,   831,
1469         0,     0,     0,   655,   862,   863,   655,   316,    46,    47,      1360,  1370,  1371,  1362,  1369,  1372,  1373,  1374,  1375,  1378,
1470       661,     0,    48,    49,    50,   317,   318,   319,   320,   321,      1379,  1381,  1376,  1377,  1384,  1382,  1385,  1380,   339,   339,
1471       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,       807,  1386,  1388,  1389,   339,  1390,  1387,  1397,   339,  1392,
1472        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,      1391,  1393,  1395,  1424,  1398,  1396,  1399,  1400,   339,  1394,
1473        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,      1401,  1411,  1412,  1402,  1414,  1404,  1403,  1407,  1405,  1406,
1474        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,      1415,  1418,  1249,  1409,  1413,  1417,  1416,  1419,  1420,  1425,
1475        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,       947,  1426,  1431,  1423,  1429,  1408,  1427,  1428,   339,  1432,
1476       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       339,  1430,  1434,  1433,  1435,  1436,  1437,  1438,  1439,  1440,
1477       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,      1444,  1441,  1443,  1450,  1454,   986,  1445,  1442,  1446,  1453,
1478       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,      1449,  1455,  1456,  1452,  1457,  1459,  1468,  1458,  1463,  1471,
1479       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,      1467,  1462,  1464,  1470,  1473,  1469,  1472,  1474,  1475,  1476,
1480       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,      1488,  1478,  1477,  1484,  1489,   925,  1313,  1479,  1480,   929,
1481       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,      1481,  1447,  1490,  1493,  1482,  1483,  1448,  1494,   939,  1451,
1482       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,      1486,  1485,  1487,  1495,  1492,  1491,  1498,  1496,  1499,  1497,
1483       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,      1500,  1501,  1502,  1503,  1507,  1504,   967,  1506,  1505,  1508,
1484       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,      1509,   980,  1513,  1515,   657,   657,  1510,   990,  1514,   992,
1485       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,      1511,  1519,  1512,  1521,   339,  1526,  1520,  1527,   339,  1517,
1486       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,      1516,  1518,  1525,  1528,  1522,  1523,  1524,  1529,   339,  1532,
1487       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,      1383,  1531,  1533,   339,  1534,  1535,  1536,  1537,  1538,  1539,
1488       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,      1530,  1540,  1543,  1541,  1544,  1546,  1542,  1545,  1547,  1548,
1489       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,      1549,  1550,  1551,  1552,  1553,  1555,   339,  1554,  1090,  1087,
1490       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,      1162,  1410,  1075,     0,  1281,   397,   307,   447,   639,   339,
1491       256,   257,   258,   259,   260,   261,   262,   263,   264,   316,         0,   643,     0,     0,   448,     0,     0,     0,     0,   339,
1492        46,    47,     0,   662,    48,    49,    50,   317,   318,   319,         0,   339,     0,   993,     0,     0,     0,   398,     0,   399,
1493       320,   321,   322,   323,   324,   325,   326,    61,    62,    63,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1494        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1495        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,         0,     0,     0,     0,   400,   449,     0,     0,   450,   799,
1496        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,      1063,  1064,   799,   451,   452,   625,     0,   453,     0,     0,
1497        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1498       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,         0,     0,   339,   339,   328,    52,    53,    54,    55,    56,
1500       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,  
      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,  
      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,  
      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,  
      264,    45,    46,    47,     0,     0,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,  
      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,  
      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,  
      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,  
      262,   263,   264,   316,    46,    47,     0,     0,    48,    49,  
       50,   317,   318,   319,   320,   321,   322,   323,   324,   325,  
      326,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,  
      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,  
      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,  
      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,  
      260,   261,   262,   263,   264,   316,    46,    47,   762,   763,  
       48,   764,   765,    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,   263,   316,    46,    47,   868,  
        0,    48,    49,    50,   317,   318,   319,   320,   321,   322,  
      323,   324,   325,   326,    61,    62,    63,    64,    65,    66,  
1501        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1502        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1503        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
# Line 1270  static const short int yytable[] = Line 1517  static const short int yytable[] =
1517       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1518       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1519       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1520       257,   258,   259,   260,   261,   262,   263,   316,    46,    47,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1521         0,   869,    48,    49,    50,   317,   318,   319,   320,   321,       267,   268,   269,   759,   454,   270,   328,    52,    53,    54,
1522       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,        55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1523        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,  
      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,  
      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,  
      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,  
      256,   257,   258,   259,   260,   261,   262,   263,   316,    46,  
       47,     0,     0,    48,    49,    50,   317,   318,   319,   320,  
      321,   322,   323,   324,   325,   326,    61,    62,    63,    64,  
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
1524        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1525        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1526        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1314  static const short int yytable[] = Line 1539  static const short int yytable[] =
1539       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1540       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1541       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1542       255,   256,   257,   258,   259,   260,   261,   262,   263,   316,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1543        46,    47,     0,     0,    48,    49,    50,    51,    52,    53,       265,   266,   267,   268,   269,   455,   760,   270,    51,    52,
1544        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
       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,   263,  
      316,   712,    47,     0,     0,    48,    49,    50,   317,   318,  
      319,   320,   321,   322,   323,   324,   325,   326,    61,    62,  
1545        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1546        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1547        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
# Line 1359  static const short int yytable[] = Line 1562  static const short int yytable[] =
1562       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1563       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1564       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1565       263,   316,   734,    47,     0,     0,    48,    49,    50,   317,       263,   264,   265,   266,   267,   268,   269,   456,   408,   270,
1566       318,   319,   320,   321,   322,   323,   324,   325,   326,    61,       328,    52,    53,    54,    55,    56,   329,   330,   331,   332,
1567        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,       333,   334,   335,   336,   337,   338,    67,    68,    69,    70,
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,  
      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,  
      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,  
      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,  
      262,   263,   316,   736,    47,     0,     0,    48,    49,    50,  
      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,  
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,  
1568        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1569        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1570        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
# Line 1403  static const short int yytable[] = Line 1584  static const short int yytable[] =
1584       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1585       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1586       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1587       261,   262,   263,   316,   828,    47,     0,     0,    48,    49,       261,   262,   263,   264,   265,   266,   267,   268,   269,   418,
1588        50,   317,   318,   319,   320,   321,   322,   323,   324,   325,       401,   270,   328,    52,    53,    54,   940,   941,    57,    58,
1589       326,    61,    62,    63,    64,    65,    66,    67,    68,    69,        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,  
      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,  
      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,  
      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,  
      260,   261,   262,   263,   316,   848,    47,     0,     0,    48,  
       49,    50,   317,   318,   319,   320,   321,   322,   323,   324,  
      325,   326,    61,    62,    63,    64,    65,    66,    67,    68,  
1590        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1591        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1592        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1447  static const short int yytable[] = Line 1606  static const short int yytable[] =
1606       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1607       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1608       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1609       259,   260,   261,   262,   263,   316,   849,    47,     0,     0,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1610        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,       269,   557,   558,   328,    52,    53,    54,    55,    56,   329,
1611       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,       330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
1612        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1613        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1614        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
# Line 1469  static const short int yytable[] = Line 1628  static const short int yytable[] =
1628       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1629       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1630       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1631       258,   259,   260,   261,   262,   263       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1632  };       268,   269,   328,    52,    53,    54,    55,    56,    57,    58,
1633          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1634  static const short int yycheck[] =        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1635  {        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1636        14,    14,   467,    16,    17,    18,    19,    20,    21,    22,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1637        23,    24,    25,    26,    27,   588,   272,   273,   279,     5,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1638       272,   273,   279,   734,   279,   736,    21,     6,     7,    32,       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1639        25,    25,   728,   225,   226,    29,   732,    40,    33,    21,       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1640        23,    24,    52,    53,    54,    55,    56,    57,    58,    59,       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1641        60,    33,     1,    36,     3,    34,    29,    40,    24,    22,       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1642        42,    38,    35,    52,    53,    54,    55,    56,    57,    58,       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1643        59,    60,    21,    36,    23,    24,    22,    23,    27,    41,       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1644        23,    24,    34,    32,    22,    25,    25,    33,    37,    38,       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1645        39,    29,    41,    39,    21,     0,    42,    40,    38,    25,       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1646        25,    39,    41,    33,    42,   570,    33,   572,   573,    39,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1647        41,    42,    38,    41,    42,     8,    24,   828,    11,    12,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1648        13,    14,    15,    16,    17,    18,    19,    20,    36,    23,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1649         6,     7,   224,   598,    25,    29,    25,   848,   849,    24,       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1650       605,   606,   607,   608,   609,   610,   611,   612,   613,     8,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1651        24,    36,    11,    12,    13,    14,    15,    16,    17,    18,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1652        19,    20,   271,    23,    24,   426,    39,   276,   277,   426,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1653         8,   426,   281,    11,    12,    13,    14,    15,    16,    17,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1654        18,    19,    20,    25,    21,    21,    23,    23,    25,    25,       269,   328,   872,    53,    54,    55,    56,   329,   330,   331,
1655        40,    21,    39,    23,    23,    24,    33,    33,   454,   516,       332,   333,   334,   335,   336,   337,   338,    67,    68,    69,
      517,    21,   454,    33,     9,    10,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    21,    11,    12,    13,  
       14,    15,    16,    17,    18,    19,    20,   702,   224,   225,  
      226,    29,    22,    39,   225,    23,    21,    40,    40,   822,  
       24,    40,   825,   718,   427,   428,   429,   430,   431,   432,  
      433,   434,   435,   436,   437,    35,    25,   280,    25,    41,  
       39,    34,    28,    28,    41,    29,   225,   226,    11,    12,  
       13,    14,    15,    16,    17,    18,    19,    20,    29,    28,  
       34,    29,    41,    23,    29,    41,   306,    28,   308,   309,  
      310,   311,   312,   313,   314,   315,    29,    35,    40,    23,  
       23,    40,    38,    22,    21,    42,    40,    21,    24,    21,  
       39,    29,   335,    24,    27,    24,   339,    24,   341,   342,  
      343,   344,   345,    24,   347,    21,   349,   350,   351,   352,  
       24,    24,    24,   356,   357,    14,   359,   360,    28,    26,  
       21,    39,    25,    38,    29,    25,    35,    29,    23,    40,  
      373,   374,   375,    39,    38,    29,    34,   380,   381,   382,  
      383,   384,   385,    34,   839,    29,    29,    34,    29,    29,  
       29,    29,    34,    29,    40,    29,    41,    29,    35,    26,  
       35,    25,    35,   406,    34,   408,    23,    29,    23,    34,  
       26,    32,    35,    24,    45,    34,    34,    24,    38,    25,  
       32,    35,    35,    91,    34,    34,    25,    35,    21,    34,  
       25,    22,    21,    25,    91,    91,    38,    25,   442,   443,  
       25,    91,    91,    29,    45,    35,    25,    29,    25,    29,  
       25,   455,   456,   457,   458,   459,    29,    41,    29,    29,  
       41,    33,    91,    91,    38,    91,    32,    25,    29,    32,  
       35,    22,    32,    40,    38,    34,    32,    32,    35,   482,  
      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,  
      493,   494,   495,   496,    91,    91,   499,   500,    34,    33,  
       35,   501,   502,   503,   504,   505,   506,   507,   508,   509,  
       34,    33,    35,   516,   517,    34,    32,   520,    35,   522,  
       33,   524,   501,   502,   503,   504,   505,   506,   507,   508,  
      509,    23,   535,   536,   537,   538,   539,   540,   541,   542,  
      543,   544,   545,   546,   547,    91,    91,    91,    22,    32,  
       41,    39,    36,    25,    23,    41,    36,     5,   265,    41,  
       36,    25,    35,    41,    91,    36,    29,    25,    21,    26,  
       32,   575,    23,    91,   578,   579,   580,   581,    25,    35,  
      584,    40,    25,    25,    34,    39,    41,    24,    40,    34,  
      593,   594,   596,    91,    34,    41,    40,    32,    29,    35,  
       41,    40,    35,    41,    36,    34,    21,    41,    36,    36,  
       40,   615,    32,   617,    40,    40,    40,    36,    40,    36,  
       41,   280,    35,    34,    25,    41,    34,    41,    40,    32,  
       91,    41,    41,   636,    32,    41,    40,    26,    35,    41,  
      643,    41,   645,   646,   647,    40,   649,    34,   651,    40,  
       34,    41,    29,    21,    40,    24,    36,    40,    24,    40,  
       34,   664,    40,   666,    35,    41,    24,    40,    91,    24,  
      673,   674,   675,   676,   677,   678,   679,   680,   681,    27,  
      683,    35,   685,    27,    91,    25,    91,    25,    25,    35,  
       41,    40,    91,    29,    39,    91,    29,    91,   405,    91,  
      704,   705,   706,    91,   708,    29,    29,    42,   712,    38,  
       25,    24,   712,    24,    42,   719,    42,    42,    38,    40,  
       28,   725,   726,    35,   728,   729,   730,    34,   732,   733,  
      734,    91,   736,   733,   734,    29,   736,    42,    40,    25,  
       29,    25,    29,    28,    25,    40,    29,   406,    91,    28,  
      753,   754,    45,   756,   757,    35,    21,    29,   465,    91,  
       42,    25,    29,    23,   764,   765,    25,    42,    23,    91,  
      770,    42,    23,    21,    42,    38,   779,    23,    21,    36,  
       34,   440,   441,    35,   787,   764,   765,    29,    25,    42,  
      449,    38,   499,   500,    39,    34,    36,   800,    29,    25,  
      459,   801,   802,    25,    29,    34,    29,    25,    28,    45,  
       34,    25,    40,    34,    23,    25,    21,    36,   525,    23,  
       23,    91,   801,   802,   828,    41,    39,    34,   828,   833,  
       23,   831,   832,   833,   834,    91,    21,    36,    34,    25,  
       38,   845,   549,   847,   848,   849,    25,    41,   848,   849,  
       40,    38,    36,    25,    25,   834,    25,   516,   517,    25,  
       36,    34,    25,    25,    32,    39,    36,    21,    21,    21,  
      870,   871,    32,   873,    91,    40,    91,    34,    36,    91,  
       41,    32,   885,    91,    33,    25,    21,    24,    38,    36,  
       38,   870,   871,    36,    40,    21,    25,    21,    21,    32,  
      900,   901,    21,    91,    38,    33,   910,    38,    40,    21,  
       24,    38,    33,    38,    29,   574,    25,   576,   577,    25,  
       21,    25,    21,   582,   583,    33,    42,    38,   587,   588,  
       40,    38,    25,    33,   593,   594,   643,   644,    40,    33,  
       29,    25,   649,   650,    25,    25,    25,    25,   655,    40,  
       42,    38,    38,    38,    25,   614,    25,   616,    40,    25,  
       25,   847,    38,    40,    39,    38,    38,   845,    38,   910,  
      574,    39,   833,   274,   274,   682,   719,   684,   733,   454,  
       44,   279,   274,   279,   275,    -1,   274,   277,   454,    -1,  
       -1,    -1,    -1,    -1,   597,    -1,   274,    -1,   274,    -1,  
      277,    -1,    -1,    -1,    -1,   279,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,   703,    -1,   753,    -1,   707,    -1,  
      757,    -1,   711,    -1,   761,    -1,    -1,    -1,    -1,    -1,  
       -1,   768,    -1,    -1,    -1,    -1,    -1,    -1,   727,    -1,  
       -1,    -1,   731,    -1,    -1,    -1,   735,    -1,   737,    -1,  
       -1,    -1,    -1,   790,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
      807,    -1,   809,   762,   763,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   829,   830,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   862,   863,    -1,    -1,    -1,  
       -1,    -1,    -1,   822,   823,   824,   825,     3,     4,     5,  
        6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,  
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,  
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,  
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,  
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,  
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,   224,     3,  
        4,     5,    -1,     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,   222,   223,  
      224,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,  
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,  
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,  
       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,   224,     3,     4,     5,    -1,    -1,     8,     9,  
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,  
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,  
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,  
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,  
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
1656        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1657        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1658        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1678  static const short int yycheck[] = Line 1668  static const short int yycheck[] =
1668       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1669       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1670       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1671       220,   221,   222,   223,   224,     3,     4,     5,     6,     7,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1672         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1673        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1674        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1675        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1676        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,       328,   899,    53,    54,    55,    56,   329,   330,   331,   332,
1677        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,       333,   334,   335,   336,   337,   338,    67,    68,    69,    70,
1678        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1679        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1680        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1681        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1682       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1683       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1684       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1685       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1686       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1687       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1688       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1689       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1690       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1691       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1692       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1693       218,   219,   220,   221,   222,   223,     3,     4,     5,     6,       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1694        -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1695         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1696         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1697         261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1698         901,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1699         334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1700          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1701          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1702          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1703         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1704         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1705         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1706         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1707         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1708         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1709         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1710         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1711         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1712         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1713         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1714         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1715         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1716         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1717         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1718         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1719         262,   263,   264,   265,   266,   267,   268,   269,   328,  1022,
1720          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1721         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1722          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1723          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1724          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1725         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1726         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1727         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1728         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1729         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1730         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1731         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1732         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1733         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1734         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1735         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1736         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1737         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1738         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1739         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1740         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1741         263,   264,   265,   266,   267,   268,   269,   328,  1042,    53,
1742          54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1743         336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1744          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1745          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1746          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1747         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1748         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1749         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1750         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1751         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1752         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1753         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1754         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1755         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1756         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1757         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1758         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1759         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1760         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1761         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1762         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1763         264,   265,   266,   267,   268,   269,   328,  1043,    53,    54,
1764          55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1765         337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1766          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1767          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1768          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1769         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1770         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1771         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1772         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1773         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1774         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1775         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1776         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1777         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1778         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1779         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1780         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1781         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1782         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1783         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1784         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1785         265,   266,   267,   268,   269,   420,   402,   404,   461
1786    };
1787    
1788    static const yytype_int16 yycheck[] =
1789    {
1790          15,    15,    17,    18,    19,    20,    21,    22,    23,    24,
1791          25,    26,    27,    28,    29,    30,    31,   718,   879,    58,
1792          59,    60,    61,    62,    63,    64,    65,    66,   482,   896,
1793         690,   711,   281,   282,     5,   288,   288,   288,   545,   706,
1794         867,   281,   282,    32,    37,    58,    59,    60,    61,    62,
1795          63,    64,    65,    66,   507,   508,   277,   510,    37,    22,
1796          33,    34,    22,    19,   285,   286,    20,   520,   522,     1,
1797          23,     3,   525,   501,   899,    31,   901,    37,    21,    22,
1798          34,    37,   510,    36,    40,    21,    22,    19,    23,    21,
1799          22,    34,   520,    25,    23,    38,    89,   525,    30,    31,
1800          30,    36,    38,    35,    36,    37,    23,    39,    38,    23,
1801          89,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1802          18,    20,    39,   277,    22,    19,    20,    21,    27,    30,
1803          19,   285,   286,    19,    32,    36,   290,    31,    37,    27,
1804          32,    40,    31,    37,    38,    19,    40,    21,    19,    23,
1805          21,    39,    23,    31,    23,    27,    39,    31,    27,    37,
1806          31,    33,     6,    37,    38,     9,    10,    11,    12,    13,
1807          14,    15,    16,    17,    18,    22,    19,     0,    21,   686,
1808          19,   688,   689,    21,    23,    31,    22,    34,    31,  1016,
1809          23,    37,    31,    31,    21,    21,   863,  1022,    34,   224,
1810          27,    27,   491,   492,   493,   494,   495,   496,   497,   498,
1811         499,   500,   719,   502,   503,   504,   505,  1042,  1043,   225,
1812         226,   728,   729,   730,   731,   732,   733,   734,   735,   736,
1813         737,   738,   739,   222,   223,    21,    21,   490,   490,   490,
1814          34,    27,    27,    37,    23,    31,   699,   890,   701,   222,
1815         223,    21,   895,   224,   225,   226,    34,    27,    34,    37,
1816          34,    37,    34,    37,   718,    37,    39,    40,   280,    21,
1817          22,   283,    39,    40,   289,   222,   223,    21,    22,   318,
1818         529,   320,   321,   322,   323,   324,   325,   326,   327,   529,
1819         897,   898,   745,   225,   226,     6,   557,   558,     9,    10,
1820          11,    12,    13,    14,    15,    16,    17,    18,   529,     6,
1821         287,   288,     9,    10,    11,    12,    13,    14,    15,    16,
1822          17,    18,    22,  1184,    23,    37,   278,   279,    38,   344,
1823          37,    19,  1012,    34,    27,  1015,    20,   352,   225,    31,
1824          31,    21,    19,   358,    19,   360,   361,   362,   363,   364,
1825         857,   366,    38,   368,   369,   370,   371,   372,  1018,   374,
1826         375,   376,    38,    22,   379,    38,   381,    33,    23,   384,
1827          23,   878,    37,   388,   389,    19,   391,   392,    39,    26,
1828          32,    27,  1249,    26,    23,    27,    27,    27,   403,    39,
1829          27,    26,   407,   408,    27,   410,   411,    33,    32,    21,
1830          27,   416,   417,   418,   419,   420,   421,   422,    39,    39,
1831        1111,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1832          18,    19,    15,     7,     8,     9,    10,    11,    12,    13,
1833          14,    15,    16,    17,    18,    39,    26,    38,   891,    27,
1834          36,    33,    33,    38,    21,    21,    40,    36,   463,    34,
1835         904,   466,     9,    10,    11,    12,    13,    14,    15,    16,
1836          17,    18,     9,    10,    11,    12,    13,    14,    15,    16,
1837          17,    18,    38,    22,    20,    19,    19,    22,    19,    38,
1838          36,    32,    22,    25,    22,    22,    22,   501,    27,    22,
1839          22,    19,    22,   507,   508,    22,   510,    26,    22,    22,
1840          19,   515,   516,    37,    24,    36,   520,    23,    33,    27,
1841          23,   525,    38,    27,    36,    27,   530,   531,   532,   533,
1842          37,   535,    32,    38,    27,  1032,    32,    27,    27,    40,
1843          19,    32,    30,    27,    27,    27,    27,    27,    33,    27,
1844          27,    38,   557,   558,   583,   584,   585,   586,   587,   588,
1845         589,   590,   591,    32,   569,   570,   571,   572,   573,   574,
1846         575,   576,   577,   578,   579,   580,   581,   582,    33,    27,
1847         583,   584,   585,   586,   587,   588,   589,   590,   591,    39,
1848          33,   596,   597,   598,    33,    19,   601,   602,    27,    24,
1849          32,    27,    21,   608,   609,    23,    19,    21,    43,    21,
1850          27,    32,    32,    89,    30,   620,    89,   622,    33,   624,
1851          23,    32,    30,    24,    30,    89,    89,    89,    33,    33,
1852          32,    89,    32,   638,   639,   640,   641,   642,   643,   644,
1853         645,   646,   647,   648,   649,   650,   651,   652,   653,    36,
1854         655,    33,    89,    22,    22,    38,    30,    30,    33,    31,
1855          23,    32,    89,    23,    19,    30,    23,  1111,    20,    36,
1856         271,   676,   677,    23,    27,    19,    23,    23,    27,    89,
1857          36,    43,    89,    23,    27,    33,    27,   691,    27,    23,
1858         694,   695,   696,   697,    89,   699,    89,   701,    27,   703,
1859          89,   705,   706,    39,    89,    27,   289,    27,    27,    23,
1860          33,    39,    23,   717,    23,    36,    31,    27,    30,    89,
1861          23,    27,    30,    89,    20,    89,    33,    32,    30,    20,
1862          89,    32,    21,    32,    32,    32,    40,   741,    38,   743,
1863          33,   745,    36,    33,    30,    32,    31,    31,    40,    31,
1864          33,    32,    89,    33,    33,    30,    32,    30,    89,    37,
1865          30,    33,    39,    37,    23,    21,    37,   772,    37,    34,
1866           5,    39,    39,    23,   779,    33,   781,   782,   783,    39,
1867         785,   786,    27,    23,    23,   790,    33,   792,    39,   794,
1868          24,    19,    21,    23,    89,    33,    33,    38,    23,    23,
1869          27,   806,    38,   808,    22,    37,    39,    38,    24,    32,
1870          27,    33,   817,   818,   819,   820,   821,   822,   823,   824,
1871         825,   826,   827,   828,    38,   830,    89,   832,    38,   834,
1872          38,    34,    39,    38,    32,    39,    38,    38,    32,    39,
1873          39,    38,    38,   872,    32,    27,    33,    39,    38,    21,
1874          36,    36,    32,    36,    38,   859,   860,   861,    36,   863,
1875         864,   462,   866,   867,    34,    34,    19,   896,   872,  1313,
1876         899,    38,   901,    36,    89,   879,    38,    34,    38,    19,
1877         463,    39,    23,   887,   888,    34,   890,   891,   892,   893,
1878          33,   895,   896,   897,   898,   899,    30,   901,    23,    32,
1879          38,    36,    39,    21,    32,    24,    23,    39,    39,    39,
1880          89,   940,   941,    39,    38,    89,    39,   946,    39,    39,
1881         925,   926,    30,   928,   929,   930,    39,    39,   933,    38,
1882         513,   514,    39,    89,    89,    39,    39,   940,   941,  1383,
1883         523,    30,   543,    39,    89,    39,    33,    32,    23,    31,
1884          38,   956,   535,   982,   983,    38,    32,    27,    39,   964,
1885          31,    19,    89,    31,    31,    38,    22,    22,    31,    38,
1886          34,    30,    38,    38,   557,   558,   981,    38,    32,   982,
1887         983,    33,    22,    31,    89,    23,    39,    38,    89,    22,
1888          25,    22,    33,  1022,  1023,  1024,  1025,  1026,    23,    21,
1889          23,    25,    23,    89,    23,    89,    23,   608,   609,    23,
1890          89,    23,  1016,  1042,  1043,    33,    23,    89,  1022,    39,
1891          23,  1025,    38,  1026,   625,    38,    37,    89,    21,    27,
1892          32,    27,    27,    27,  1038,    40,    36,  1041,  1042,  1043,
1893          32,    23,    33,    32,  1073,  1074,    32,  1076,    22,    22,
1894          40,    32,    40,    40,    38,    22,   657,    36,    33,    89,
1895          40,    32,    38,  1068,    26,    33,    32,    27,    40,    38,
1896        1073,  1074,    23,    38,    27,    39,    23,    38,    27,    38,
1897          38,    26,    23,    27,    38,  1090,  1115,  1116,    89,    26,
1898          33,    43,    23,   676,   677,    27,    38,    19,    27,    39,
1899          23,    40,    27,    21,    89,    32,    89,   690,    23,   692,
1900         693,    89,    40,    37,    21,   698,    21,    19,    21,   702,
1901          40,    40,    19,    36,  1128,    34,    40,   710,   711,    21,
1902          40,    32,    89,    31,    27,    23,    32,    37,    33,    38,
1903          27,    32,    36,    23,  1149,    34,    31,    23,    27,    31,
1904          27,    32,    23,    26,    32,    23,    23,   740,    27,   742,
1905          43,    19,    32,    38,    38,    21,    23,    39,    34,    19,
1906          19,    32,    37,    89,    21,    23,    21,    89,   779,   780,
1907        1184,    19,    21,    89,   785,    19,    32,    19,   789,    32,
1908          34,    21,    33,    24,    34,    32,    23,    23,   799,    89,
1909          36,    23,    23,    38,    23,    34,    39,    31,    36,    34,
1910          23,    23,  1217,    36,    34,    32,    34,    23,    23,    34,
1911        1249,    30,    19,    39,    34,    89,    37,    89,   829,    19,
1912         831,    38,    19,    37,    22,    37,    30,    89,    19,    32,
1913          32,    30,    33,    39,    42,  1249,    32,    89,    33,    31,
1914          34,    23,    27,    36,    34,    23,    19,    36,    24,    19,
1915          34,    39,    38,    22,    31,    38,    23,    37,    19,    19,
1916          31,    33,    30,    19,    38,   858,  1281,    32,    32,   862,
1917          33,    89,    19,    31,    33,    32,    89,    39,   871,    89,
1918          89,    36,    36,    24,    36,    38,    24,    38,    36,    39,
1919          19,    22,    27,    23,    19,    23,   889,    23,    32,    23,
1920          32,   894,    19,    36,   897,   898,    33,   900,    31,   902,
1921          32,    22,    33,    31,   925,    23,    32,    27,   929,    38,
1922          40,    36,    31,    23,    38,    38,    38,    23,   939,    23,
1923        1345,    38,    23,   944,    23,    38,    40,    36,    36,    26,
1924          89,    38,    23,    36,    23,    33,    38,    37,    23,    23,
1925          36,    36,    30,    36,    36,    22,   967,    37,  1041,  1038,
1926        1128,  1383,  1025,    -1,  1249,   283,    50,   288,   529,   980,
1927          -1,   529,    -1,    -1,   288,    -1,    -1,    -1,    -1,   990,
1928          -1,   992,    -1,   904,    -1,    -1,    -1,   283,    -1,   283,
1929          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1930          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1931          -1,    -1,    -1,    -1,   283,   288,    -1,    -1,   288,  1012,
1932        1013,  1014,  1015,   288,   288,  1018,    -1,   288,    -1,    -1,
1933          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1934          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1935          -1,    -1,  1063,  1064,     3,     4,     5,     6,     7,     8,
1936           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1937          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1938          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1939          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1940          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1941          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1942          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1943          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1944          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1945          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1946         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1947         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1948         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1949         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1950         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1951         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1952         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1953         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1954         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1955         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1956         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1957         219,   220,   221,   222,   288,   224,     3,     4,     5,     6,
1958           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1959        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1960        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1961        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
# Line 1722  static const short int yycheck[] = Line 1976  static const short int yycheck[] =
1976       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1977       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1978       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1979       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,       217,   218,   219,   220,   221,   288,   223,   224,     3,     4,
1980        -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,  
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,  
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,  
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,  
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,     3,     4,  
        5,    -1,    -1,     8,     9,    10,    11,    12,    13,    14,  
1981        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1982        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1983        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
# Line 1766  static const short int yycheck[] = Line 1998  static const short int yycheck[] =
1998       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1999       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2000       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2001       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,       215,   216,   217,   218,   219,   220,   221,   288,   284,   224,
2002         4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,  
       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,  
       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,  
       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,  
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,  
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
        3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,  
2003        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2004        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2005        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
# Line 1810  static const short int yycheck[] = Line 2020  static const short int yycheck[] =
2020       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2021       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2022       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2023       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       213,   214,   215,   216,   217,   218,   219,   220,   221,   286,
2024       223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,       283,   224,     3,     4,     5,     6,     7,     8,     9,    10,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,  
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,  
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,  
       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,  
2025        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2026        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2027        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1855  static const short int yycheck[] = Line 2043  static const short int yycheck[] =
2043       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2044       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2045       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2046       221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,       221,   222,   223,     3,     4,     5,     6,     7,     8,     9,
2047        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2048        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2049        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1877  static const short int yycheck[] = Line 2065  static const short int yycheck[] =
2065       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2066       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2067       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2068       220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
2069         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2070        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2071        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2072        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2073        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2074        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2075        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2076        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2077        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2078        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2079       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2080       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2081       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2082       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2083       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2084       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2085       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2086       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2087       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2088       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2089       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2090       219,   220,   221,   222,   223,     3,     4,     5,    -1,    -1,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2091         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2092        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2093        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2094        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2095        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2096        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2097        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2098        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2099        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2100        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2101       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2102       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2103       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2104       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2105       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2106       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2107       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2108       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2109       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2110       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2111       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2112       218,   219,   220,   221,   222,   223         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2113          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2114          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2115          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2116          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2117          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2118          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2119          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2120          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2121          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2122         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2123         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2124         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2125         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2126         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2127         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2128         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2129         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2130         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2131         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2132         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2133         213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
2134           4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2135          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2136          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2137          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2138          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2139          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2140          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2141          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2142          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2143          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2144         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2145         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2146         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2147         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2148         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2149         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2150         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2151         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2152         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2153         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2154         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2155         214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2156           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2157          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2158          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2159          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2160          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2161          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2162          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2163          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2164          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2165          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2166         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2167         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2168         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2169         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2170         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2171         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2172         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2173         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2174         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2175         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2176         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2177         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2178           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2179          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2180          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2181          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2182          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2183          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2184          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2185          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2186          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2187          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2188         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2189         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2190         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2191         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2192         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2193         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2194         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2195         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2196         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2197         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2198         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2199         216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2200           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2201          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2202          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2203          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2204          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2205          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2206          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2207          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2208          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2209          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2210         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2211         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2212         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2213         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2214         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2215         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2216         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2217         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2218         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2219         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2220         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2221         217,   218,   219,   220,   221,   286,   283,   283,   288
2222  };  };
2223    
2224  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2225     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2226  static const unsigned short int yystos[] =  static const yytype_uint16 yystos[] =
2227  {  {
2228         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2229        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,        36,    37,    39,   228,   229,   230,   231,   282,   283,   284,
2230       274,   275,   278,   279,   280,   281,   282,   317,   320,    24,       285,   286,   287,   288,   289,   290,   295,   296,   297,   298,
2231        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,       299,   354,   358,    22,    30,    36,    23,    23,    27,    33,
2232         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,        19,    39,    23,    23,    39,    32,     0,   225,   226,   280,
2233        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,       281,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2234        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2235        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2236        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2237        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2238        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2239        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2240        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2241        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2242       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2243       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2244       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2245       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2246       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2247       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2248       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2249       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2250       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2251       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2252       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2253       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2254       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2255       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       224,   271,   274,   275,   276,   279,   279,   279,   279,   279,
2256       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2257        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,       279,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2258        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        31,    37,    30,    38,    20,    31,    37,   280,     9,    10,
2259       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        11,    12,    13,    14,    15,    16,    17,    18,   273,   274,
2260        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,       273,   273,   273,   273,   273,   273,   273,   273,     3,     9,
2261        21,    23,    25,    33,   234,   283,   284,   285,   286,   294,        10,    11,    12,    13,    14,    15,    16,    17,    18,   276,
2262       296,   297,   298,   299,   300,   301,   303,   305,   306,   307,        21,    31,   232,   300,   341,    19,    21,    23,    31,    37,
2263       308,   309,   310,    21,    33,   236,   297,   307,   237,   297,        38,   238,   300,   301,   302,   303,   318,   319,   321,   326,
2264       307,    21,    23,    33,   242,   284,   285,   286,   296,   303,       327,   328,   329,   330,   331,   333,   335,   336,   337,   338,
2265       306,    29,   238,   293,   294,   283,    21,    25,    33,   235,       339,   340,   341,   342,   343,   344,   348,    31,   235,   339,
2266       283,   295,   300,   304,   305,   319,    22,    23,    33,    39,       236,   339,    31,   242,   340,    19,    31,   240,   327,   337,
2267        42,   232,   288,   289,   290,   291,   292,   318,   233,   288,       243,   327,   337,    19,    21,    31,   248,   301,   302,   303,
2268       289,   290,   291,   292,   318,   259,   265,   267,   283,    21,       326,   333,   336,   340,   342,    27,   244,   320,   321,   237,
2269        40,    40,    24,    40,    35,    25,    25,    39,    41,   262,       300,   341,    19,    23,    31,   239,   300,   325,   330,   334,
2270        28,    41,    42,    28,    34,    29,   267,   267,   267,   267,       335,   341,   357,    19,    20,    21,    31,    37,    38,    40,
2271       267,   267,   267,   267,   267,   267,   267,   267,    41,    29,       233,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2272       267,   267,   267,   267,    41,    28,    29,    34,   267,   267,       314,   315,   316,   317,   318,   355,   234,   305,   306,   307,
2273       267,    41,    23,    29,   267,   267,   267,   267,   267,   267,       308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
2274        41,    28,    29,    40,    35,   259,   267,   267,    40,    38,       318,   355,   271,   277,   279,   241,   300,    19,    19,    38,
2275        42,    40,    23,    23,    22,    21,    24,    21,    21,    27,        38,    22,    38,    33,    23,    23,    37,    19,    39,   274,
2276        24,    29,   287,   290,   291,   292,   287,   287,   287,   287,        26,    27,   279,    39,    40,    26,    32,    27,    23,    33,
2277       287,   287,   287,   287,   287,   287,   287,    24,    24,   259,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2278       259,    12,    13,    14,    15,    16,    17,    18,    19,    20,       279,   279,   279,   279,   279,   279,    27,   279,   279,    27,
2279       263,   263,    24,    21,    24,    39,     6,     7,    34,   243,       279,    39,    27,   279,   279,   279,   279,    39,    26,    27,
2280       255,   266,   277,   244,   254,   259,   252,   263,    24,    28,       279,    32,   279,   279,   279,   279,    39,    21,    27,   279,
2281        24,    21,    33,    42,   239,   297,   301,   302,   307,   310,       279,   279,   279,   279,   279,   279,    39,    39,    26,    27,
2282       311,   312,   313,   314,   263,   263,   263,   263,   258,   259,        38,    33,    33,   271,   279,   279,    36,    38,    36,    40,
2283       263,    26,    21,    39,    38,    29,   252,    25,    35,    25,        38,    21,    21,    34,    20,    19,    22,   222,   223,   266,
2284        40,    38,    39,    34,    29,    29,    34,    29,    29,    34,       278,    22,    19,    19,    25,    22,    36,    38,    27,   304,
2285       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       315,   316,   317,   304,   304,   304,   304,   304,   304,   304,
2286       267,   267,   267,   267,   267,    29,    29,   267,   267,    29,       304,   304,   304,    10,    11,    12,    13,    14,    15,    16,
2287        34,    29,    40,   265,   265,    35,   267,   267,   267,    29,        17,    18,    19,   258,   275,   291,   304,   304,   304,   304,
2288        35,    29,    41,    29,    35,   267,   267,   267,   267,   267,        22,   258,   258,    22,   258,   291,    22,    22,   271,   271,
2289       267,   267,   267,   267,   267,   267,   267,   267,    26,    34,       275,   275,    22,    19,    22,   258,   291,    37,    32,   249,
2290        23,    25,    23,    45,    29,    23,    34,    35,    32,    34,       265,   278,   294,   250,   264,   271,   262,   275,   258,   291,
2291        34,    91,    26,   252,    22,    36,   241,   315,   316,   252,        22,    26,    22,    19,    31,    37,    40,   245,   327,   331,
2292       252,   254,   263,   259,   259,   263,   263,   263,   263,   259,       332,   337,   341,   344,   345,   346,   347,   349,   350,   351,
2293       259,   263,    35,    91,   240,   259,   240,    35,    34,    91,       275,   275,   275,   275,    32,   356,   270,   271,   275,    22,
2294        38,     6,     7,    34,   253,   263,   255,   252,    35,    91,        24,    19,    22,    37,    36,    38,    27,   262,    23,    33,
2295        24,    24,    32,   252,   252,   252,   252,   252,   252,   252,        23,    38,    36,    37,    32,    27,   277,   277,    27,    27,
2296       252,   252,   259,   263,   259,   263,    25,    34,    25,    21,        32,    27,    27,    40,    19,    32,   279,   279,   279,   279,
2297        25,    22,    38,    25,    91,    21,    25,    25,    29,    35,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2298        45,    25,   267,   267,   267,   267,   267,   267,   267,    91,        30,   279,   279,   279,    27,   279,   279,    27,    27,    27,
2299        29,   267,     4,    91,    25,    29,    41,    91,   267,   267,       279,   279,    27,    32,    27,    38,    33,   279,   279,   279,
2300        91,    29,    29,    29,    41,   267,   267,   267,   267,   267,        27,    33,    27,    39,    27,    39,    33,    33,   279,   279,
2301       267,   267,   267,   267,     4,   267,     4,   267,    38,    25,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2302        32,    33,    91,    25,    29,    32,    35,    22,    32,    34,       279,   279,   279,   279,    19,   279,    27,    24,    32,    27,
2303        40,    38,   252,   259,   263,   263,   263,   259,   263,    35,        21,    23,    19,    21,    43,    27,    21,    32,    89,   222,
2304        34,   259,     6,     7,     9,    10,   256,   257,   259,   260,       223,    33,    30,    32,    32,    89,    23,    30,    24,   262,
2305       261,   262,   263,    35,    32,    34,    33,    33,   252,   253,        20,    34,   247,   352,   353,   262,   262,   264,   275,   271,
2306        35,    34,    35,    91,    33,   245,   263,   246,   263,   247,       271,   275,   275,   275,   275,   271,   258,    30,   258,   271,
2307       259,   245,   248,   263,    21,   249,   263,   276,   250,   259,       275,    89,   259,   275,   259,    89,    33,    89,   246,   271,
2308       245,     9,    10,   251,   260,   263,   256,   259,   256,   259,       246,    33,    32,    89,    36,    32,   263,   275,   265,   262,
2309        91,    32,    32,    91,    23,    22,    41,    32,    39,    36,        33,    89,    22,    22,    38,    30,    30,   262,   262,   262,
2310        25,    23,   267,   267,   267,   267,    41,    36,     4,   259,       262,   262,   262,   262,   262,   262,   262,   262,   262,   271,
2311       259,   261,   261,     5,     8,    41,    36,    25,    35,   267,       275,   271,   275,    31,   258,    33,    23,    32,    89,    23,
2312        41,    36,    91,    29,    25,   267,    32,   267,     4,     4,        19,    30,    23,    20,    36,    23,    27,    89,    19,    23,
2313        26,    91,    21,    23,    35,    25,    40,    25,    41,    39,        23,    27,    36,    89,    33,    43,    23,   279,   279,   279,
2314        25,   240,   259,   259,   240,    40,    41,   256,     6,     7,       279,   279,   279,   279,   279,    27,   279,   279,    27,    89,
2315         8,     8,   257,   261,    40,    41,    34,    24,   252,    40,        27,   279,     4,    89,    23,    27,    39,    89,   279,   279,
2316        41,    35,    34,   246,    32,   248,   256,   256,    29,    23,        89,    27,    27,    27,    23,    33,    39,   279,   279,   279,
2317        29,    34,    35,    41,    36,    91,    40,    34,    36,    40,       279,   279,   279,   279,   279,   279,   279,   279,   279,     4,
2318       261,   261,    36,    40,    40,    21,    36,    40,    41,    36,       279,     4,   279,    23,   279,    89,    36,    23,    27,    30,
2319       267,    32,    35,    34,    25,    41,    34,    41,    21,    25,        31,    89,    89,    23,    27,    30,    32,    33,    20,    30,
2320        33,    91,    40,    41,    91,    41,    91,    32,    41,    91,        32,    40,    38,    36,   262,   271,   275,   275,   275,   271,
2321        40,    41,   249,    32,    41,    26,    35,    34,    40,    40,       259,   275,    32,   260,   275,   260,    32,    33,    32,   271,
2322        41,    34,    29,    24,    36,    21,    40,    24,    40,    24,         7,     8,   268,   269,   271,   272,   273,   274,   275,   278,
2323        40,    24,    36,    36,    40,    34,    35,    41,    40,    91,        33,    30,    32,    31,    31,   262,   263,    33,    32,    33,
2324        24,    27,    24,    25,    38,    35,    27,    91,    25,    91,        89,    31,   252,   275,   253,   275,   254,   271,   252,    22,
2325        25,    91,    25,    35,    41,    91,    40,    39,    23,    24,        32,   258,   292,   293,   255,   275,   256,   275,   291,   257,
2326        29,    29,    29,    42,    29,    38,    25,    24,    42,    24,       271,   252,     7,     8,   261,   272,   275,   270,   270,   268,
2327        42,    23,    24,    42,    38,    40,    23,    36,    40,    28,       271,   268,   271,   266,    33,    89,    30,    32,    30,    89,
2328        25,    38,    35,    34,    91,    29,    42,    40,    25,    29,        40,    21,    20,    37,    39,    30,    37,    34,    37,    33,
2329        25,    29,    28,    25,    29,    40,    91,    28,    35,    45,        23,    21,   279,   279,   279,   279,   279,    37,   279,    37,
2330        21,    42,    29,    91,    25,    29,    23,    25,    91,    42,        39,    34,     4,   273,   273,     5,     6,    39,    34,    37,
2331        23,    42,    23,    21,    42,    23,    23,    40,    21,    38,        23,    33,   279,    39,    34,    89,    27,    23,   279,    23,
2332        36,    34,    29,    42,    35,    39,    34,    25,    38,    36,        33,   279,     4,     4,    39,    24,    89,    34,    37,    19,
2333        29,    25,    29,    25,    34,    29,    25,    28,    45,    34,        21,    33,    33,    23,    38,    38,    23,    39,    38,    27,
2334        40,    25,    34,    23,    25,    41,    36,    39,    91,    21,        37,    23,   246,   271,   271,   246,   260,    38,   264,    38,
2335        23,    23,    34,    23,    91,    21,    36,    34,    25,    25,        38,    39,   268,     6,     6,   269,   273,    38,    39,    38,
2336        38,    40,    41,    36,    38,    25,    25,    25,    25,    36,        32,    22,   262,    38,    39,    33,    32,   253,    24,    32,
2337        34,    25,    25,    32,    39,    91,    36,    40,    21,    21,       255,   268,   268,    38,    27,    21,    27,    39,    38,    32,
2338        32,    91,    21,    34,    32,    91,    36,    41,    91,    38,        33,    27,    39,    36,    34,    89,    38,    36,    21,    32,
2339        33,    36,    38,    25,    36,    21,    40,    24,    21,    25,        36,   279,    36,    34,    38,   273,   273,    34,    38,    36,
2340        21,    21,    32,    21,    38,    91,    38,    33,    40,    38,        38,    19,    34,    38,    39,    34,    19,    23,   279,    34,
2341        33,    38,    21,    24,    29,    25,    25,    21,    25,    21,        30,    33,    32,    38,    36,    23,    39,    21,    32,    39,
2342        33,    38,    42,    40,    38,    33,    40,    33,    25,    29,        39,    19,    23,    31,    89,    39,    23,    38,    39,   265,
2343        25,    25,    25,    25,    25,    40,    42,    38,    38,    40,        39,    39,    89,    39,    89,    39,    30,    39,    89,    38,
2344        38,    40,    25,    25,    39,    25,    25,    38,    38,    38,        39,    39,   256,    39,    30,    39,    24,    89,    39,    33,
2345        38,    39        32,    23,    38,    31,    38,    39,    32,    27,    22,    34,
2346          31,    89,    19,    31,   279,    31,    38,    22,    38,    22,
2347          31,    38,    22,    34,    34,    38,    30,    38,    32,    33,
2348          22,    31,    39,    38,    89,    23,    89,    22,    25,    22,
2349          23,    36,    33,    23,    21,    25,    23,   263,    23,    89,
2350          23,    89,    23,    23,    89,    23,    33,    39,    89,    38,
2351          89,    38,    23,    23,    37,    21,    32,    21,    22,    27,
2352          27,    27,    40,    27,    36,    32,    33,    23,    32,   279,
2353          32,    22,    40,    22,    40,    32,    21,    22,    40,    36,
2354          38,    21,    34,    38,    22,    40,    32,    33,    38,    26,
2355          23,    36,    33,    32,    89,    27,    40,    38,    38,    39,
2356          38,   261,    38,    23,    27,    23,    27,    38,    26,    23,
2357          27,    38,    89,    26,    33,    43,    23,    27,    38,    39,
2358          89,    19,    40,    27,    89,    23,    27,    21,    23,    89,
2359          37,    89,    32,   279,    40,    21,    40,    21,    89,    19,
2360          40,    21,    21,    38,    19,    36,    34,    40,    21,    89,
2361          32,    31,    32,    27,    40,    33,    37,    32,    23,    36,
2362          34,    31,    38,    33,    34,   251,   267,   278,   322,   323,
2363         324,    27,    23,    27,    23,    31,    32,    27,    23,    26,
2364          43,    32,    38,    23,    27,    23,    21,    27,    31,    38,
2365          19,    32,    21,    23,    39,    34,    37,    89,    19,    19,
2366          89,    32,    23,   279,    21,    21,    19,    32,    21,    89,
2367          19,    34,    32,    21,    89,    33,    32,    19,    34,    23,
2368          23,    36,    38,    39,    34,    36,    34,    31,    89,    36,
2369         267,    23,    23,    34,    23,    23,    34,    32,    23,    23,
2370          23,    21,    27,    39,    24,    34,    30,    37,    89,    34,
2371          38,    19,    19,    37,    19,    22,    37,    30,    89,    19,
2372          32,    30,    89,    33,    32,    32,    33,    89,    89,    34,
2373          39,    89,    36,    31,    42,    23,    27,    34,    36,    23,
2374          21,    27,    39,    24,    38,    21,    27,    34,    19,    38,
2375          22,    19,    23,    31,    37,    19,    19,    30,    33,    32,
2376          32,    33,    33,    32,    19,    36,    89,    36,    31,    38,
2377          19,    38,    36,    31,    39,    24,    38,    39,    24,    36,
2378          19,    22,    27,    23,    23,    32,    23,    19,    23,    32,
2379          33,    32,    33,    19,    31,    36,    40,    38,    36,    22,
2380          32,    31,    38,    38,    38,    31,    23,    27,    23,    23,
2381          89,    38,    23,    23,    23,    38,    40,    36,    36,    26,
2382          38,    36,    38,    23,    23,    37,    33,    23,    23,    36,
2383          36,    30,    36,    36,    37,    22
2384  };  };
2385    
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  
 # define YYSIZE_T __SIZE_TYPE__  
 #endif  
 #if ! defined (YYSIZE_T) && defined (size_t)  
 # define YYSIZE_T size_t  
 #endif  
 #if ! defined (YYSIZE_T)  
 # if defined (__STDC__) || defined (__cplusplus)  
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */  
 #  define YYSIZE_T size_t  
 # endif  
 #endif  
 #if ! defined (YYSIZE_T)  
 # define YYSIZE_T unsigned int  
 #endif  
   
2386  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2387  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2388  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 2089  do                                                             \ Line 2408  do                                                             \
2408        yychar = (Token);                                         \        yychar = (Token);                                         \
2409        yylval = (Value);                                         \        yylval = (Value);                                         \
2410        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2411        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2412        goto yybackup;                                            \        goto yybackup;                                            \
2413      }                                                           \      }                                                           \
2414    else                                                          \    else                                                          \
2415      {                                                           \      {                                                           \
2416        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2417        YYERROR;                                                  \        YYERROR;                                                  \
2418      }                                                           \      }                                                           \
2419  while (0)  while (YYID (0))
2420    
2421    
2422  #define YYTERROR        1  #define YYTERROR        1
2423  #define YYERRCODE       256  #define YYERRCODE       256
2424    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2425    
2426    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2427       If N is 0, then set CURRENT to the empty location which ends
2428       the previous symbol: RHS[0] (always defined).  */
2429    
2430    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2431  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2432  # define YYLLOC_DEFAULT(Current, Rhs, N)                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2433     ((Current).first_line   = (Rhs)[1].first_line,       \      do                                                                  \
2434      (Current).first_column = (Rhs)[1].first_column,     \        if (YYID (N))                                                    \
2435      (Current).last_line    = (Rhs)[N].last_line,        \          {                                                               \
2436      (Current).last_column  = (Rhs)[N].last_column)            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2437              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2438              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2439              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2440            }                                                               \
2441          else                                                              \
2442            {                                                               \
2443              (Current).first_line   = (Current).last_line   =              \
2444                YYRHSLOC (Rhs, 0).last_line;                                \
2445              (Current).first_column = (Current).last_column =              \
2446                YYRHSLOC (Rhs, 0).last_column;                              \
2447            }                                                               \
2448        while (YYID (0))
2449  #endif  #endif
2450    
2451    
2452    /* YY_LOCATION_PRINT -- Print the location on the stream.
2453       This macro was not mandated originally: define only if we know
2454       we won't break user code: when these are the locations we know.  */
2455    
2456    #ifndef YY_LOCATION_PRINT
2457    # if YYLTYPE_IS_TRIVIAL
2458    #  define YY_LOCATION_PRINT(File, Loc)                  \
2459         fprintf (File, "%d.%d-%d.%d",                      \
2460                  (Loc).first_line, (Loc).first_column,     \
2461                  (Loc).last_line,  (Loc).last_column)
2462    # else
2463    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2464    # endif
2465    #endif
2466    
2467    
2468  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2469    
2470  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2133  while (0) Line 2485  while (0)
2485  do {                                            \  do {                                            \
2486    if (yydebug)                                  \    if (yydebug)                                  \
2487      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2488  } while (0)  } while (YYID (0))
2489    
2490  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2491  do {                                            \  do {                                                                      \
2492    if (yydebug)                                  \    if (yydebug)                                                            \
2493      yysymprint Args;                            \      {                                                                     \
2494  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2495          yy_symbol_print (stderr,                                            \
2496                      Type, Value); \
2497          YYFPRINTF (stderr, "\n");                                           \
2498        }                                                                     \
2499    } while (YYID (0))
2500    
2501  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2502  do {                                                            \  /*--------------------------------.
2503    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2504      {                                                           \  `--------------------------------*/
2505        YYFPRINTF (stderr, "%s ", Title);                         \  
2506        yysymprint (stderr,                                       \  /*ARGSUSED*/
2507                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2508        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2509      }                                                           \  static void
2510  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2511    #else
2512    static void
2513    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2514        FILE *yyoutput;
2515        int yytype;
2516        YYSTYPE const * const yyvaluep;
2517    #endif
2518    {
2519      if (!yyvaluep)
2520        return;
2521    # ifdef YYPRINT
2522      if (yytype < YYNTOKENS)
2523        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2524    # else
2525      YYUSE (yyoutput);
2526    # endif
2527      switch (yytype)
2528        {
2529          default:
2530            break;
2531        }
2532    }
2533    
2534    
2535    /*--------------------------------.
2536    | Print this symbol on YYOUTPUT.  |
2537    `--------------------------------*/
2538    
2539    #if (defined __STDC__ || defined __C99__FUNC__ \
2540         || defined __cplusplus || defined _MSC_VER)
2541    static void
2542    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2543    #else
2544    static void
2545    yy_symbol_print (yyoutput, yytype, yyvaluep)
2546        FILE *yyoutput;
2547        int yytype;
2548        YYSTYPE const * const yyvaluep;
2549    #endif
2550    {
2551      if (yytype < YYNTOKENS)
2552        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2553      else
2554        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2555    
2556      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2557      YYFPRINTF (yyoutput, ")");
2558    }
2559    
2560  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2561  | 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 |
2562  | TOP (included).                                                   |  | TOP (included).                                                   |
2563  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2564    
2565  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2566         || defined __cplusplus || defined _MSC_VER)
2567  static void  static void
2568  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2569  #else  #else
2570  static void  static void
2571  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2572      short int *bottom;      yytype_int16 *bottom;
2573      short int *top;      yytype_int16 *top;
2574  #endif  #endif
2575  {  {
2576    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2577    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2578      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2579    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2580  }  }
# Line 2177  yy_stack_print (bottom, top) Line 2583  yy_stack_print (bottom, top)
2583  do {                                                            \  do {                                                            \
2584    if (yydebug)                                                  \    if (yydebug)                                                  \
2585      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2586  } while (0)  } while (YYID (0))
2587    
2588    
2589  /*------------------------------------------------.  /*------------------------------------------------.
2590  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2591  `------------------------------------------------*/  `------------------------------------------------*/
2592    
2593  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2594         || defined __cplusplus || defined _MSC_VER)
2595  static void  static void
2596  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2597  #else  #else
2598  static void  static void
2599  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2600        YYSTYPE *yyvsp;
2601      int yyrule;      int yyrule;
2602  #endif  #endif
2603  {  {
2604      int yynrhs = yyr2[yyrule];
2605    int yyi;    int yyi;
2606    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2607    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2608               yyrule - 1, yylno);               yyrule - 1, yylno);
2609    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2610    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2611      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2612    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2613          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2614                           &(yyvsp[(yyi + 1) - (yynrhs)])
2615                                           );
2616          fprintf (stderr, "\n");
2617        }
2618  }  }
2619    
2620  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2621  do {                                    \  do {                                    \
2622    if (yydebug)                          \    if (yydebug)                          \
2623      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2624  } while (0)  } while (YYID (0))
2625    
2626  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2627     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2628  int yydebug;  int yydebug;
2629  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2630  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2631  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2632  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2633  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2634  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2230  int yydebug; Line 2643  int yydebug;
2643     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2644    
2645     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2646     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2647     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2648    
 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2649  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2650  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2651  #endif  #endif
# Line 2246  int yydebug; Line 2655  int yydebug;
2655  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2656    
2657  # ifndef yystrlen  # ifndef yystrlen
2658  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2659  #   define yystrlen strlen  #   define yystrlen strlen
2660  #  else  #  else
2661  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2662    #if (defined __STDC__ || defined __C99__FUNC__ \
2663         || defined __cplusplus || defined _MSC_VER)
2664  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2665  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2666  #   else  #else
2667    static YYSIZE_T
2668  yystrlen (yystr)  yystrlen (yystr)
2669       const char *yystr;      const char *yystr;
2670  #   endif  #endif
2671  {  {
2672    register const char *yys = yystr;    YYSIZE_T yylen;
2673      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2674      continue;      continue;
2675      return yylen;
   return yys - yystr - 1;  
2676  }  }
2677  #  endif  #  endif
2678  # endif  # endif
2679    
2680  # ifndef yystpcpy  # ifndef yystpcpy
2681  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2682  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2683  #  else  #  else
2684  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2685     YYDEST.  */     YYDEST.  */
2686    #if (defined __STDC__ || defined __C99__FUNC__ \
2687         || defined __cplusplus || defined _MSC_VER)
2688  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2689  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2690  #   else  #else
2691    static char *
2692  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2693       char *yydest;      char *yydest;
2694       const char *yysrc;      const char *yysrc;
2695  #   endif  #endif
2696  {  {
2697    register char *yyd = yydest;    char *yyd = yydest;
2698    register const char *yys = yysrc;    const char *yys = yysrc;
2699    
2700    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2701      continue;      continue;
# Line 2294  yystpcpy (yydest, yysrc) Line 2705  yystpcpy (yydest, yysrc)
2705  #  endif  #  endif
2706  # endif  # endif
2707    
2708  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2709    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2710       quotes and backslashes, so that it's suitable for yyerror.  The
2711       heuristic is that double-quoting is unnecessary unless the string
2712       contains an apostrophe, a comma, or backslash (other than
2713       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2714       null, do not copy; instead, return the length of what the result
2715       would have been.  */
2716    static YYSIZE_T
2717    yytnamerr (char *yyres, const char *yystr)
2718    {
2719      if (*yystr == '"')
2720        {
2721          YYSIZE_T yyn = 0;
2722          char const *yyp = yystr;
2723    
2724          for (;;)
2725            switch (*++yyp)
2726              {
2727              case '\'':
2728              case ',':
2729                goto do_not_strip_quotes;
2730    
2731              case '\\':
2732                if (*++yyp != '\\')
2733                  goto do_not_strip_quotes;
2734                /* Fall through.  */
2735              default:
2736                if (yyres)
2737                  yyres[yyn] = *yyp;
2738                yyn++;
2739                break;
2740    
2741              case '"':
2742                if (yyres)
2743                  yyres[yyn] = '\0';
2744                return yyn;
2745              }
2746        do_not_strip_quotes: ;
2747        }
2748    
2749  #if YYDEBUG    if (! yyres)
2750  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2751    
2752  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2753  static void  }
2754  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2755  #else  
2756  static void  /* Copy into YYRESULT an error message about the unexpected token
2757  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2758      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2759      int yytype;     copy anything; just return the number of bytes that would be
2760      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2761  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2762       size calculation.  */
2763    static YYSIZE_T
2764    yysyntax_error (char *yyresult, int yystate, int yychar)
2765  {  {
2766    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2767    
2768    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2769        return 0;
2770      else
2771      {      {
2772        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
2773  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2774        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
2775          YYSIZE_T yysize1;
2776          int yysize_overflow = 0;
2777          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2778          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2779          int yyx;
2780    
2781    # if 0
2782          /* This is so xgettext sees the translatable formats that are
2783             constructed on the fly.  */
2784          YY_("syntax error, unexpected %s");
2785          YY_("syntax error, unexpected %s, expecting %s");
2786          YY_("syntax error, unexpected %s, expecting %s or %s");
2787          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2788          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2789  # endif  # endif
2790      }        char *yyfmt;
2791    else        char const *yyf;
2792      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
2793          static char const yyexpecting[] = ", expecting %s";
2794          static char const yyor[] = " or %s";
2795          char yyformat[sizeof yyunexpected
2796                        + sizeof yyexpecting - 1
2797                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2798                           * (sizeof yyor - 1))];
2799          char const *yyprefix = yyexpecting;
2800    
2801          /* Start YYX at -YYN if negative to avoid negative indexes in
2802             YYCHECK.  */
2803          int yyxbegin = yyn < 0 ? -yyn : 0;
2804    
2805          /* Stay within bounds of both yycheck and yytname.  */
2806          int yychecklim = YYLAST - yyn + 1;
2807          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2808          int yycount = 1;
2809    
2810          yyarg[0] = yytname[yytype];
2811          yyfmt = yystpcpy (yyformat, yyunexpected);
2812    
2813          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2814            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2815              {
2816                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2817                  {
2818                    yycount = 1;
2819                    yysize = yysize0;
2820                    yyformat[sizeof yyunexpected - 1] = '\0';
2821                    break;
2822                  }
2823                yyarg[yycount++] = yytname[yyx];
2824                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2825                yysize_overflow |= (yysize1 < yysize);
2826                yysize = yysize1;
2827                yyfmt = yystpcpy (yyfmt, yyprefix);
2828                yyprefix = yyor;
2829              }
2830    
2831          yyf = YY_(yyformat);
2832          yysize1 = yysize + yystrlen (yyf);
2833          yysize_overflow |= (yysize1 < yysize);
2834          yysize = yysize1;
2835    
2836    switch (yytype)        if (yysize_overflow)
2837      {          return YYSIZE_MAXIMUM;
2838        default:  
2839          break;        if (yyresult)
2840            {
2841              /* Avoid sprintf, as that infringes on the user's name space.
2842                 Don't have undefined behavior even if the translation
2843                 produced a string with the wrong number of "%s"s.  */
2844              char *yyp = yyresult;
2845              int yyi = 0;
2846              while ((*yyp = *yyf) != '\0')
2847                {
2848                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2849                    {
2850                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2851                      yyf += 2;
2852                    }
2853                  else
2854                    {
2855                      yyp++;
2856                      yyf++;
2857                    }
2858                }
2859            }
2860          return yysize;
2861      }      }
   YYFPRINTF (yyoutput, ")");  
2862  }  }
2863    #endif /* YYERROR_VERBOSE */
2864    
2865    
 #endif /* ! YYDEBUG */  
2866  /*-----------------------------------------------.  /*-----------------------------------------------.
2867  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
2868  `-----------------------------------------------*/  `-----------------------------------------------*/
2869    
2870  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
2871    #if (defined __STDC__ || defined __C99__FUNC__ \
2872         || defined __cplusplus || defined _MSC_VER)
2873  static void  static void
2874  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2875  #else  #else
2876  static void  static void
2877  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
2878        const char *yymsg;
2879      int yytype;      int yytype;
2880      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
2881  #endif  #endif
2882  {  {
2883    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
2884    (void) yyvaluep;  
2885      if (!yymsg)
2886        yymsg = "Deleting";
2887      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2888    
2889    switch (yytype)    switch (yytype)
2890      {      {
2891    
2892        default:        default:
2893          break;          break;
2894      }      }
2895  }  }
2896    
# Line 2365  yydestruct (yytype, yyvaluep) Line 2898  yydestruct (yytype, yyvaluep)
2898  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
2899    
2900  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
2901  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
2902  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
2903  # else  #else
2904  int yyparse ();  int yyparse ();
2905  # endif  #endif
2906  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
2907  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
2908  int yyparse (void);  int yyparse (void);
2909  #else  #else
2910  int yyparse ();  int yyparse ();
# Line 2388  int yyparse (); Line 2921  int yyparse ();
2921  `----------*/  `----------*/
2922    
2923  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
2924  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2925  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
2926  # else  int
2927  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
2928    void *YYPARSE_PARAM;  #else
2929  # endif  int
2930    yyparse (YYPARSE_PARAM)
2931        void *YYPARSE_PARAM;
2932    #endif
2933  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
2934  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2935         || defined __cplusplus || defined _MSC_VER)
2936  int  int
2937  yyparse (void)  yyparse (void)
2938  #else  #else
# Line 2405  yyparse () Line 2942  yyparse ()
2942  #endif  #endif
2943  #endif  #endif
2944  {  {
2945    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
2946  int yychar;  int yychar;
2947    
2948  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
2949  YYSTYPE yylval;  YYSTYPE yylval;
2950    
2951  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
2952  int yynerrs;  int yynerrs;
2953    
2954    register int yystate;    int yystate;
2955    register int yyn;    int yyn;
2956    int yyresult;    int yyresult;
2957    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
2958    int yyerrstatus;    int yyerrstatus;
2959    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
2960    int yytoken = 0;    int yytoken = 0;
2961    #if YYERROR_VERBOSE
2962      /* Buffer for error messages, and its allocated size.  */
2963      char yymsgbuf[128];
2964      char *yymsg = yymsgbuf;
2965      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2966    #endif
2967    
2968    /* Three stacks and their tools:    /* Three stacks and their tools:
2969       `yyss': related to states,       `yyss': related to states,
# Line 2431  int yynerrs; Line 2974  int yynerrs;
2974       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
2975    
2976    /* The state stack.  */    /* The state stack.  */
2977    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
2978    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
2979    register short int *yyssp;    yytype_int16 *yyssp;
2980    
2981    /* The semantic value stack.  */    /* The semantic value stack.  */
2982    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
2983    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
2984    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
2985    
2986    
2987    
2988  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
2989    
2990    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
2991    
# Line 2451  int yynerrs; Line 2994  int yynerrs;
2994    YYSTYPE yyval;    YYSTYPE yyval;
2995    
2996    
2997    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
2998       rule.  */       Keep to zero when no symbol should be popped.  */
2999    int yylen;    int yylen = 0;
3000    
3001    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3002    
# Line 2470  int yynerrs; Line 3013  int yynerrs;
3013    yyssp = yyss;    yyssp = yyss;
3014    yyvsp = yyvs;    yyvsp = yyvs;
3015    
   
3016    goto yysetstate;    goto yysetstate;
3017    
3018  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2478  int yynerrs; Line 3020  int yynerrs;
3020  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3021   yynewstate:   yynewstate:
3022    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3023       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3024    yyssp++;    yyssp++;
3025    
3026   yysetstate:   yysetstate:
# Line 2492  int yynerrs; Line 3033  int yynerrs;
3033    
3034  #ifdef yyoverflow  #ifdef yyoverflow
3035        {        {
3036          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3037             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3038             memory.  */             memory.  */
3039          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3040          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3041    
3042    
3043          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3044             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
3045             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3046             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3047          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3048                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3049                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3050    
# Line 2514  int yynerrs; Line 3055  int yynerrs;
3055        }        }
3056  #else /* no yyoverflow */  #else /* no yyoverflow */
3057  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3058        goto yyoverflowlab;        goto yyexhaustedlab;
3059  # else  # else
3060        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3061        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3062          goto yyoverflowlab;          goto yyexhaustedlab;
3063        yystacksize *= 2;        yystacksize *= 2;
3064        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3065          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3066    
3067        {        {
3068          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3069          union yyalloc *yyptr =          union yyalloc *yyptr =
3070            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3071          if (! yyptr)          if (! yyptr)
3072            goto yyoverflowlab;            goto yyexhaustedlab;
3073          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3074          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3075    
# Line 2559  int yynerrs; Line 3100  int yynerrs;
3100  `-----------*/  `-----------*/
3101  yybackup:  yybackup:
3102    
3103  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3104  /* 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.  */  
3105    
3106      /* First try to decide what to do without reference to look-ahead token.  */
3107    yyn = yypact[yystate];    yyn = yypact[yystate];
3108    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3109      goto yydefault;      goto yydefault;
3110    
3111    /* 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.  */
3112    
3113    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3114    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3115      {      {
3116        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2586  yybackup: Line 3125  yybackup:
3125    else    else
3126      {      {
3127        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3128        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3129      }      }
3130    
3131    /* 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 2606  yybackup: Line 3145  yybackup:
3145    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3146      YYACCEPT;      YYACCEPT;
3147    
   /* 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;  
   
   
3148    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3149       status.  */       status.  */
3150    if (yyerrstatus)    if (yyerrstatus)
3151      yyerrstatus--;      yyerrstatus--;
3152    
3153      /* Shift the look-ahead token.  */
3154      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3155    
3156      /* Discard the shifted token unless it is eof.  */
3157      if (yychar != YYEOF)
3158        yychar = YYEMPTY;
3159    
3160    yystate = yyn;    yystate = yyn;
3161      *++yyvsp = yylval;
3162    
3163    goto yynewstate;    goto yynewstate;
3164    
3165    
# Line 2657  yyreduce: Line 3195  yyreduce:
3195    switch (yyn)    switch (yyn)
3196      {      {
3197          case 4:          case 4:
3198  #line 86 "lscp.y"  #line 100 "lscp.y"
3199      { return LSCP_DONE; }      { return LSCP_DONE; }
3200      break;      break;
3201    
3202    case 5:    case 5:
3203  #line 87 "lscp.y"  #line 101 "lscp.y"
3204      { return LSCP_DONE; }      { return LSCP_DONE; }
3205      break;      break;
3206    
3207    case 6:    case 6:
3208  #line 88 "lscp.y"  #line 102 "lscp.y"
3209      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3210      break;      break;
3211    
3212    case 7:    case 7:
3213  #line 89 "lscp.y"  #line 103 "lscp.y"
3214      { 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; }
3215      break;      break;
3216    
3217    case 13:    case 13:
3218  #line 99 "lscp.y"  #line 113 "lscp.y"
3219      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3220      break;      break;
3221    
3222    case 14:    case 14:
3223  #line 100 "lscp.y"  #line 114 "lscp.y"
3224      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3225      break;      break;
3226    
3227    case 15:    case 15:
3228  #line 101 "lscp.y"  #line 115 "lscp.y"
3229      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3230      break;      break;
3231    
3232    case 16:    case 16:
3233  #line 102 "lscp.y"  #line 116 "lscp.y"
3234      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3235      break;      break;
3236    
3237    case 17:    case 17:
3238  #line 103 "lscp.y"  #line 117 "lscp.y"
3239      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3240      break;      break;
3241    
3242    case 18:    case 18:
3243  #line 104 "lscp.y"  #line 118 "lscp.y"
3244      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3245      break;      break;
3246    
3247    case 19:    case 19:
3248  #line 105 "lscp.y"  #line 119 "lscp.y"
3249      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3250      break;      break;
3251    
3252    case 20:    case 20:
3253  #line 106 "lscp.y"  #line 120 "lscp.y"
3254      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3255      break;      break;
3256    
3257    case 21:    case 21:
3258  #line 107 "lscp.y"  #line 121 "lscp.y"
3259      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3260      break;      break;
3261    
3262    case 22:    case 22:
3263  #line 108 "lscp.y"  #line 122 "lscp.y"
3264      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3265      break;      break;
3266    
3267    case 23:    case 23:
3268  #line 109 "lscp.y"  #line 123 "lscp.y"
3269      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3270      break;      break;
3271    
3272    case 24:    case 24:
3273  #line 110 "lscp.y"  #line 124 "lscp.y"
3274      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3275      break;      break;
3276    
3277    case 25:    case 25:
3278  #line 111 "lscp.y"  #line 125 "lscp.y"
3279      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3280      break;      break;
3281    
3282    case 26:    case 26:
3283  #line 112 "lscp.y"  #line 126 "lscp.y"
3284      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3285      break;      break;
3286    
3287    case 27:    case 27:
3288  #line 115 "lscp.y"  #line 127 "lscp.y"
3289      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3290      break;      break;
3291    
3292    case 28:    case 28:
3293  #line 116 "lscp.y"  #line 128 "lscp.y"
3294      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3295      break;      break;
3296    
3297    case 29:    case 29:
3298  #line 117 "lscp.y"  #line 129 "lscp.y"
3299      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3300      break;      break;
3301    
3302    case 30:    case 30:
3303  #line 118 "lscp.y"  #line 132 "lscp.y"
3304      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3305      break;      break;
3306    
3307    case 31:    case 31:
3308  #line 119 "lscp.y"  #line 133 "lscp.y"
3309      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3310      break;      break;
3311    
3312    case 32:    case 32:
3313  #line 120 "lscp.y"  #line 134 "lscp.y"
3314      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3315      break;      break;
3316    
3317    case 33:    case 33:
3318  #line 123 "lscp.y"  #line 137 "lscp.y"
3319      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3320      break;      break;
3321    
3322    case 34:    case 34:
3323  #line 124 "lscp.y"  #line 138 "lscp.y"
3324      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3325      break;      break;
3326    
3327    case 35:    case 35:
3328  #line 125 "lscp.y"  #line 139 "lscp.y"
3329      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3330      break;      break;
3331    
3332    case 36:    case 36:
3333  #line 126 "lscp.y"  #line 140 "lscp.y"
3334      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3335      break;      break;
3336    
3337    case 37:    case 37:
3338  #line 127 "lscp.y"  #line 141 "lscp.y"
3339      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3340      break;      break;
3341    
3342    case 38:    case 38:
3343  #line 128 "lscp.y"  #line 142 "lscp.y"
3344      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3345      break;      break;
3346    
3347    case 39:    case 39:
3348  #line 131 "lscp.y"  #line 143 "lscp.y"
3349      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3350      break;      break;
3351    
3352    case 40:    case 40:
3353  #line 132 "lscp.y"  #line 144 "lscp.y"
3354      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3355      break;      break;
3356    
3357    case 41:    case 41:
3358  #line 133 "lscp.y"  #line 145 "lscp.y"
3359      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3360      break;      break;
3361    
3362    case 42:    case 42:
3363  #line 134 "lscp.y"  #line 146 "lscp.y"
3364      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3365      break;      break;
3366    
3367    case 43:    case 43:
3368  #line 135 "lscp.y"  #line 147 "lscp.y"
3369      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3370      break;      break;
3371    
3372    case 44:    case 44:
3373  #line 136 "lscp.y"  #line 148 "lscp.y"
3374      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3375      break;      break;
3376    
3377    case 45:    case 45:
3378  #line 137 "lscp.y"  #line 149 "lscp.y"
3379      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3380      break;      break;
3381    
3382    case 46:    case 46:
3383  #line 138 "lscp.y"  #line 150 "lscp.y"
3384      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3385      break;      break;
3386    
3387    case 47:    case 47:
3388  #line 139 "lscp.y"  #line 151 "lscp.y"
3389      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3390      break;      break;
3391    
3392    case 48:    case 48:
3393  #line 140 "lscp.y"  #line 154 "lscp.y"
3394      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3395      break;      break;
3396    
3397    case 49:    case 49:
3398  #line 141 "lscp.y"  #line 155 "lscp.y"
3399      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3400      break;      break;
3401    
3402    case 50:    case 50:
3403  #line 142 "lscp.y"  #line 156 "lscp.y"
3404      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3405      break;      break;
3406    
3407    case 51:    case 51:
3408  #line 143 "lscp.y"  #line 157 "lscp.y"
3409      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3410      break;      break;
3411    
3412    case 52:    case 52:
3413  #line 144 "lscp.y"  #line 158 "lscp.y"
3414      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3415      break;      break;
3416    
3417    case 53:    case 53:
3418  #line 145 "lscp.y"  #line 159 "lscp.y"
3419      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3420      break;      break;
3421    
3422    case 54:    case 54:
3423  #line 146 "lscp.y"  #line 160 "lscp.y"
3424      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3425      break;      break;
3426    
3427    case 55:    case 55:
3428  #line 147 "lscp.y"  #line 161 "lscp.y"
3429      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3430      break;      break;
3431    
3432    case 56:    case 56:
3433  #line 148 "lscp.y"  #line 162 "lscp.y"
3434      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3435      break;      break;
3436    
3437    case 57:    case 57:
3438  #line 149 "lscp.y"  #line 163 "lscp.y"
3439      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3440      break;      break;
3441    
3442    case 58:    case 58:
3443  #line 150 "lscp.y"  #line 164 "lscp.y"
3444      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3445      break;      break;
3446    
3447    case 59:    case 59:
3448  #line 151 "lscp.y"  #line 165 "lscp.y"
3449      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3450      break;      break;
3451    
3452    case 60:    case 60:
3453  #line 152 "lscp.y"  #line 166 "lscp.y"
3454      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3455      break;      break;
3456    
3457    case 61:    case 61:
3458  #line 153 "lscp.y"  #line 167 "lscp.y"
3459      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3460      break;      break;
3461    
3462    case 62:    case 62:
3463  #line 156 "lscp.y"  #line 168 "lscp.y"
3464      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3465      break;      break;
3466    
3467    case 63:    case 63:
3468  #line 157 "lscp.y"  #line 171 "lscp.y"
3469      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (15)].Number),(yyvsp[(5) - (15)].Number),(yyvsp[(7) - (15)].Number),(yyvsp[(9) - (15)].String),(yyvsp[(11) - (15)].String),(yyvsp[(13) - (15)].Number),(yyvsp[(15) - (15)].Dotnum),MidiInstrumentMapper::VOID,""); }
3470      break;      break;
3471    
3472    case 64:    case 64:
3473  #line 158 "lscp.y"  #line 172 "lscp.y"
3474      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),(yyvsp[(17) - (17)].LoadMode),""); }
3475      break;      break;
3476    
3477    case 65:    case 65:
3478  #line 159 "lscp.y"  #line 173 "lscp.y"
3479      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(17) - (17)].String)); }
3480      break;      break;
3481    
3482    case 66:    case 66:
3483  #line 160 "lscp.y"  #line 174 "lscp.y"
3484      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (19)].Number),(yyvsp[(5) - (19)].Number),(yyvsp[(7) - (19)].Number),(yyvsp[(9) - (19)].String),(yyvsp[(11) - (19)].String),(yyvsp[(13) - (19)].Number),(yyvsp[(15) - (19)].Dotnum),(yyvsp[(17) - (19)].LoadMode),(yyvsp[(19) - (19)].String)); }
3485      break;      break;
3486    
3487    case 67:    case 67:
3488  #line 161 "lscp.y"  #line 177 "lscp.y"
3489      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3490      break;      break;
3491    
3492    case 68:    case 68:
3493  #line 164 "lscp.y"  #line 180 "lscp.y"
3494      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3495      break;      break;
3496    
3497    case 69:    case 69:
3498  #line 165 "lscp.y"  #line 181 "lscp.y"
3499      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3500      break;      break;
3501    
3502    case 70:    case 70:
3503  #line 166 "lscp.y"  #line 182 "lscp.y"
3504      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3505      break;      break;
3506    
3507    case 71:    case 71:
3508  #line 167 "lscp.y"  #line 185 "lscp.y"
3509      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3510      break;      break;
3511    
3512    case 72:    case 72:
3513  #line 170 "lscp.y"  #line 186 "lscp.y"
3514      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3515      break;      break;
3516    
3517    case 73:    case 73:
3518  #line 171 "lscp.y"  #line 187 "lscp.y"
3519      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3520      break;      break;
3521    
3522    case 74:    case 74:
3523  #line 174 "lscp.y"  #line 188 "lscp.y"
3524      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3525      break;      break;
3526    
3527    case 75:    case 75:
3528  #line 175 "lscp.y"  #line 189 "lscp.y"
3529      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3530      break;      break;
3531    
3532    case 76:    case 76:
3533  #line 178 "lscp.y"  #line 190 "lscp.y"
3534      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3535      break;      break;
3536    
3537    case 77:    case 77:
3538  #line 179 "lscp.y"  #line 191 "lscp.y"
3539      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3540      break;      break;
3541    
3542    case 78:    case 78:
3543  #line 180 "lscp.y"  #line 192 "lscp.y"
3544      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3545      break;      break;
3546    
3547    case 79:    case 79:
3548  #line 181 "lscp.y"  #line 193 "lscp.y"
3549      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3550      break;      break;
3551    
3552    case 80:    case 80:
3553  #line 182 "lscp.y"  #line 194 "lscp.y"
3554      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3555      break;      break;
3556    
3557    case 81:    case 81:
3558  #line 183 "lscp.y"  #line 195 "lscp.y"
3559      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3560      break;      break;
3561    
3562    case 82:    case 82:
3563  #line 184 "lscp.y"  #line 196 "lscp.y"
3564      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3565      break;      break;
3566    
3567    case 83:    case 83:
3568  #line 185 "lscp.y"  #line 197 "lscp.y"
3569      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3570      break;      break;
3571    
3572    case 84:    case 84:
3573  #line 186 "lscp.y"  #line 198 "lscp.y"
3574      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3575      break;      break;
3576    
3577    case 85:    case 85:
3578  #line 189 "lscp.y"  #line 199 "lscp.y"
3579      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3580      break;      break;
3581    
3582    case 86:    case 86:
3583  #line 190 "lscp.y"  #line 200 "lscp.y"
3584      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3585      break;      break;
3586    
3587    case 87:    case 87:
3588  #line 193 "lscp.y"  #line 201 "lscp.y"
3589      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3590      break;      break;
3591    
3592    case 88:    case 88:
3593  #line 194 "lscp.y"  #line 202 "lscp.y"
3594      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3595      break;      break;
3596    
3597    case 89:    case 89:
3598  #line 197 "lscp.y"  #line 203 "lscp.y"
3599      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3600      break;      break;
3601    
3602    case 90:    case 90:
3603  #line 198 "lscp.y"  #line 204 "lscp.y"
3604      { yyval.String = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3605      break;      break;
3606    
3607    case 91:    case 91:
3608  #line 199 "lscp.y"  #line 205 "lscp.y"
3609      { yyval.String = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3610      break;      break;
3611    
3612    case 92:    case 92:
3613  #line 200 "lscp.y"  #line 206 "lscp.y"
3614      { yyval.String = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3615      break;      break;
3616    
3617    case 93:    case 93:
3618  #line 201 "lscp.y"  #line 207 "lscp.y"
3619      { yyval.String = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3620      break;      break;
3621    
3622    case 94:    case 94:
3623  #line 202 "lscp.y"  #line 208 "lscp.y"
3624      { yyval.String = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3625      break;      break;
3626    
3627    case 95:    case 95:
3628  #line 205 "lscp.y"  #line 209 "lscp.y"
3629      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3630      break;      break;
3631    
3632    case 96:    case 96:
3633  #line 206 "lscp.y"  #line 210 "lscp.y"
3634      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3635      break;      break;
3636    
3637    case 97:    case 97:
3638  #line 209 "lscp.y"  #line 211 "lscp.y"
3639      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3640        break;
3641    
3642      case 98:
3643    #line 212 "lscp.y"
3644        { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3645        break;
3646    
3647      case 99:
3648    #line 213 "lscp.y"
3649        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3650        break;
3651    
3652      case 100:
3653    #line 214 "lscp.y"
3654        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3655        break;
3656    
3657      case 101:
3658    #line 215 "lscp.y"
3659        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3660        break;
3661    
3662      case 102:
3663    #line 218 "lscp.y"
3664        { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3665      break;      break;
3666    
3667    case 103:    case 103:
3668  #line 225 "lscp.y"  #line 219 "lscp.y"
3669      { yyval.Number = 16; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3670        break;
3671    
3672      case 104:
3673    #line 220 "lscp.y"
3674        { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3675        break;
3676    
3677      case 105:
3678    #line 221 "lscp.y"
3679        { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3680      break;      break;
3681    
3682    case 106:    case 106:
3683  #line 232 "lscp.y"  #line 222 "lscp.y"
3684      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3685        break;
3686    
3687      case 107:
3688    #line 223 "lscp.y"
3689        { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3690        break;
3691    
3692      case 108:
3693    #line 224 "lscp.y"
3694        { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3695        break;
3696    
3697      case 109:
3698    #line 227 "lscp.y"
3699        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3700        break;
3701    
3702      case 110:
3703    #line 228 "lscp.y"
3704        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3705        break;
3706    
3707      case 111:
3708    #line 229 "lscp.y"
3709        { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3710      break;      break;
3711    
3712    case 112:    case 112:
3713  #line 248 "lscp.y"  #line 230 "lscp.y"
3714      { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3715        break;
3716    
3717      case 113:
3718    #line 233 "lscp.y"
3719        { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3720      break;      break;
3721    
3722    case 114:    case 114:
3723  #line 252 "lscp.y"  #line 236 "lscp.y"
3724      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3725      break;      break;
3726    
3727    case 115:    case 115:
3728  #line 253 "lscp.y"  #line 237 "lscp.y"
3729      { yyval.String = "\"" + yyvsp[-1].String + "\""; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3730      break;      break;
3731    
3732    case 116:    case 116:
3733  #line 254 "lscp.y"  #line 240 "lscp.y"
3734      { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3735      break;      break;
3736    
3737    case 117:    case 117:
3738  #line 255 "lscp.y"  #line 241 "lscp.y"
3739      { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3740      break;      break;
3741    
3742    case 118:    case 118:
3743  #line 261 "lscp.y"  #line 244 "lscp.y"
3744      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3745      break;      break;
3746    
3747    case 119:    case 119:
3748  #line 262 "lscp.y"  #line 245 "lscp.y"
3749      { yyval.Dotnum = -1; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3750      break;      break;
3751    
3752    case 120:    case 120:
3753  #line 265 "lscp.y"  #line 248 "lscp.y"
3754      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3755      break;      break;
3756    
3757    case 121:    case 121:
3758  #line 266 "lscp.y"  #line 249 "lscp.y"
3759      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3760      break;      break;
3761    
3762    case 122:    case 122:
3763  #line 269 "lscp.y"  #line 250 "lscp.y"
3764      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3765      break;      break;
3766    
3767    case 123:    case 123:
3768  #line 270 "lscp.y"  #line 251 "lscp.y"
3769      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3770      break;      break;
3771    
3772    case 124:    case 124:
3773  #line 271 "lscp.y"  #line 252 "lscp.y"
3774      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3775      break;      break;
3776    
3777    case 125:    case 125:
3778  #line 275 "lscp.y"  #line 253 "lscp.y"
3779      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3780      break;      break;
3781    
3782    case 126:    case 126:
3783  #line 276 "lscp.y"  #line 254 "lscp.y"
3784      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3785      break;      break;
3786    
3787    case 127:    case 127:
3788  #line 279 "lscp.y"  #line 255 "lscp.y"
3789      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3790      break;      break;
3791    
3792    case 128:    case 128:
3793  #line 280 "lscp.y"  #line 256 "lscp.y"
3794      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3795      break;      break;
3796    
3797    case 129:    case 129:
3798  #line 281 "lscp.y"  #line 257 "lscp.y"
3799      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3800      break;      break;
3801    
3802    case 130:    case 130:
3803  #line 282 "lscp.y"  #line 258 "lscp.y"
3804      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3805      break;      break;
3806    
3807    case 131:    case 131:
3808  #line 283 "lscp.y"  #line 259 "lscp.y"
3809      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
3810      break;      break;
3811    
3812    case 132:    case 132:
3813  #line 284 "lscp.y"  #line 260 "lscp.y"
3814      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
3815      break;      break;
3816    
3817    case 133:    case 133:
3818  #line 285 "lscp.y"  #line 261 "lscp.y"
3819      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
3820      break;      break;
3821    
3822    case 134:    case 134:
3823  #line 286 "lscp.y"  #line 264 "lscp.y"
3824      { yyval.Char = '7'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
3825      break;      break;
3826    
3827    case 135:    case 135:
3828  #line 287 "lscp.y"  #line 265 "lscp.y"
3829      { yyval.Char = '8'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
3830      break;      break;
3831    
3832    case 136:    case 136:
3833  #line 288 "lscp.y"  #line 268 "lscp.y"
3834      { yyval.Char = '9'; }      { (yyval.FillResponse) = fill_response_bytes;      }
3835      break;      break;
3836    
3837    case 137:    case 137:
3838  #line 291 "lscp.y"  #line 269 "lscp.y"
3839      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.FillResponse) = fill_response_percentage; }
3840      break;      break;
3841    
3842    case 138:    case 138:
3843  #line 292 "lscp.y"  #line 272 "lscp.y"
3844      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
3845      break;      break;
3846    
3847    case 139:    case 139:
3848  #line 293 "lscp.y"  #line 273 "lscp.y"
3849      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
3850      break;      break;
3851    
3852    case 140:    case 140:
3853  #line 294 "lscp.y"  #line 274 "lscp.y"
3854      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
3855      break;      break;
3856    
3857    case 141:    case 141:
3858  #line 295 "lscp.y"  #line 275 "lscp.y"
3859      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
3860      break;      break;
3861    
3862    case 142:    case 142:
3863  #line 296 "lscp.y"  #line 276 "lscp.y"
3864      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
3865      break;      break;
3866    
3867    case 143:    case 143:
3868  #line 297 "lscp.y"  #line 277 "lscp.y"
3869      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
3870      break;      break;
3871    
3872    case 144:    case 144:
3873  #line 298 "lscp.y"  #line 278 "lscp.y"
3874      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
3875      break;      break;
3876    
3877    case 145:    case 145:
3878  #line 299 "lscp.y"  #line 279 "lscp.y"
3879      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
3880      break;      break;
3881    
3882    case 146:    case 146:
3883  #line 300 "lscp.y"  #line 280 "lscp.y"
3884      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
3885      break;      break;
3886    
3887    case 147:    case 147:
3888  #line 302 "lscp.y"  #line 283 "lscp.y"
3889      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
3890      break;      break;
3891    
3892    case 148:    case 148:
3893  #line 302 "lscp.y"  #line 284 "lscp.y"
3894      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
3895      break;      break;
3896    
3897    case 149:    case 149:
3898  #line 302 "lscp.y"  #line 287 "lscp.y"
3899      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
3900      break;      break;
3901    
3902    case 150:    case 150:
3903  #line 302 "lscp.y"  #line 290 "lscp.y"
3904      { yyval.Char = 'D'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
3905      break;      break;
3906    
3907    case 151:    case 151:
3908  #line 302 "lscp.y"  #line 291 "lscp.y"
3909      { yyval.Char = 'E'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
3910      break;      break;
3911    
3912    case 152:    case 152:
3913  #line 302 "lscp.y"  #line 292 "lscp.y"
3914      { yyval.Char = 'F'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 153:  
 #line 302 "lscp.y"  
     { yyval.Char = 'G'; }  
     break;  
   
   case 154:  
 #line 302 "lscp.y"  
     { yyval.Char = 'H'; }  
     break;  
   
   case 155:  
 #line 302 "lscp.y"  
     { yyval.Char = 'I'; }  
     break;  
   
   case 156:  
 #line 302 "lscp.y"  
     { yyval.Char = 'J'; }  
     break;  
   
   case 157:  
 #line 302 "lscp.y"  
     { yyval.Char = 'K'; }  
3915      break;      break;
3916    
3917    case 158:    case 158:
3918  #line 302 "lscp.y"  #line 308 "lscp.y"
3919      { yyval.Char = 'L'; }      { (yyval.Number) = 16; }
     break;  
   
   case 159:  
 #line 302 "lscp.y"  
     { yyval.Char = 'M'; }  
     break;  
   
   case 160:  
 #line 302 "lscp.y"  
     { yyval.Char = 'N'; }  
     break;  
   
   case 161:  
 #line 302 "lscp.y"  
     { yyval.Char = 'O'; }  
     break;  
   
   case 162:  
 #line 302 "lscp.y"  
     { yyval.Char = 'P'; }  
     break;  
   
   case 163:  
 #line 302 "lscp.y"  
     { yyval.Char = 'Q'; }  
3920      break;      break;
3921    
3922    case 164:    case 164:
3923  #line 302 "lscp.y"  #line 324 "lscp.y"
3924      { yyval.Char = 'R'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 165:  
 #line 302 "lscp.y"  
     { yyval.Char = 'S'; }  
     break;  
   
   case 166:  
 #line 302 "lscp.y"  
     { yyval.Char = 'T'; }  
     break;  
   
   case 167:  
 #line 302 "lscp.y"  
     { yyval.Char = 'U'; }  
     break;  
   
   case 168:  
 #line 302 "lscp.y"  
     { yyval.Char = 'V'; }  
     break;  
   
   case 169:  
 #line 302 "lscp.y"  
     { yyval.Char = 'W'; }  
     break;  
   
   case 170:  
 #line 302 "lscp.y"  
     { yyval.Char = 'X'; }  
     break;  
   
   case 171:  
 #line 302 "lscp.y"  
     { yyval.Char = 'Y'; }  
3925      break;      break;
3926    
3927    case 172:    case 172:
3928  #line 302 "lscp.y"  #line 346 "lscp.y"
3929      { yyval.Char = 'Z'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 173:  
 #line 303 "lscp.y"  
     { yyval.Char = 'a'; }  
     break;  
   
   case 174:  
 #line 303 "lscp.y"  
     { yyval.Char = 'b'; }  
3930      break;      break;
3931    
3932    case 175:    case 175:
3933  #line 303 "lscp.y"  #line 351 "lscp.y"
3934      { yyval.Char = 'c'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
3935      break;      break;
3936    
3937    case 176:    case 176:
3938  #line 303 "lscp.y"  #line 352 "lscp.y"
3939      { yyval.Char = 'd'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
3940      break;      break;
3941    
3942    case 177:    case 177:
3943  #line 303 "lscp.y"  #line 360 "lscp.y"
3944      { yyval.Char = 'e'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3945      break;      break;
3946    
3947    case 178:    case 178:
3948  #line 303 "lscp.y"  #line 361 "lscp.y"
3949      { yyval.Char = 'f'; }      { (yyval.Dotnum) = -1; }
3950      break;      break;
3951    
3952    case 179:    case 179:
3953  #line 303 "lscp.y"  #line 364 "lscp.y"
3954      { yyval.Char = 'g'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
3955      break;      break;
3956    
3957    case 180:    case 180:
3958  #line 303 "lscp.y"  #line 365 "lscp.y"
3959      { yyval.Char = 'h'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
3960      break;      break;
3961    
3962    case 181:    case 181:
3963  #line 303 "lscp.y"  #line 368 "lscp.y"
3964      { yyval.Char = 'i'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
3965      break;      break;
3966    
3967    case 182:    case 182:
3968  #line 303 "lscp.y"  #line 369 "lscp.y"
3969      { yyval.Char = 'j'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
3970      break;      break;
3971    
3972    case 183:    case 183:
3973  #line 303 "lscp.y"  #line 370 "lscp.y"
3974      { yyval.Char = 'k'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
3975      break;      break;
3976    
3977    case 184:    case 184:
3978  #line 303 "lscp.y"  #line 374 "lscp.y"
3979      { yyval.Char = 'l'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
3980      break;      break;
3981    
3982    case 185:    case 185:
3983  #line 303 "lscp.y"  #line 375 "lscp.y"
3984      { yyval.Char = 'm'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
3985      break;      break;
3986    
3987    case 186:    case 186:
3988  #line 303 "lscp.y"  #line 378 "lscp.y"
3989      { yyval.Char = 'n'; }      { (yyval.Char) = '0'; }
3990      break;      break;
3991    
3992    case 187:    case 187:
3993  #line 303 "lscp.y"  #line 379 "lscp.y"
3994      { yyval.Char = 'o'; }      { (yyval.Char) = '1'; }
3995      break;      break;
3996    
3997    case 188:    case 188:
3998  #line 303 "lscp.y"  #line 380 "lscp.y"
3999      { yyval.Char = 'p'; }      { (yyval.Char) = '2'; }
4000      break;      break;
4001    
4002    case 189:    case 189:
4003  #line 303 "lscp.y"  #line 381 "lscp.y"
4004      { yyval.Char = 'q'; }      { (yyval.Char) = '3'; }
4005      break;      break;
4006    
4007    case 190:    case 190:
4008  #line 303 "lscp.y"  #line 382 "lscp.y"
4009      { yyval.Char = 'r'; }      { (yyval.Char) = '4'; }
4010      break;      break;
4011    
4012    case 191:    case 191:
4013  #line 303 "lscp.y"  #line 383 "lscp.y"
4014      { yyval.Char = 's'; }      { (yyval.Char) = '5'; }
4015      break;      break;
4016    
4017    case 192:    case 192:
4018  #line 303 "lscp.y"  #line 384 "lscp.y"
4019      { yyval.Char = 't'; }      { (yyval.Char) = '6'; }
4020      break;      break;
4021    
4022    case 193:    case 193:
4023  #line 303 "lscp.y"  #line 385 "lscp.y"
4024      { yyval.Char = 'u'; }      { (yyval.Char) = '7'; }
4025      break;      break;
4026    
4027    case 194:    case 194:
4028  #line 303 "lscp.y"  #line 386 "lscp.y"
4029      { yyval.Char = 'v'; }      { (yyval.Char) = '8'; }
4030      break;      break;
4031    
4032    case 195:    case 195:
4033  #line 303 "lscp.y"  #line 387 "lscp.y"
4034      { yyval.Char = 'w'; }      { (yyval.Char) = '9'; }
4035      break;      break;
4036    
4037    case 196:    case 196:
4038  #line 303 "lscp.y"  #line 390 "lscp.y"
4039      { yyval.Char = 'x'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4040      break;      break;
4041    
4042    case 197:    case 197:
4043  #line 303 "lscp.y"  #line 391 "lscp.y"
4044      { yyval.Char = 'y'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4045      break;      break;
4046    
4047    case 198:    case 198:
4048  #line 303 "lscp.y"  #line 392 "lscp.y"
4049      { yyval.Char = 'z'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4050      break;      break;
4051    
4052    case 199:    case 199:
4053  #line 304 "lscp.y"  #line 393 "lscp.y"
4054      { yyval.Char = '0'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4055      break;      break;
4056    
4057    case 200:    case 200:
4058  #line 304 "lscp.y"  #line 394 "lscp.y"
4059      { yyval.Char = '1'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4060      break;      break;
4061    
4062    case 201:    case 201:
4063  #line 304 "lscp.y"  #line 395 "lscp.y"
4064      { yyval.Char = '2'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4065      break;      break;
4066    
4067    case 202:    case 202:
4068  #line 304 "lscp.y"  #line 396 "lscp.y"
4069      { yyval.Char = '3'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4070      break;      break;
4071    
4072    case 203:    case 203:
4073  #line 304 "lscp.y"  #line 397 "lscp.y"
4074      { yyval.Char = '4'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4075      break;      break;
4076    
4077    case 204:    case 204:
4078  #line 304 "lscp.y"  #line 398 "lscp.y"
4079      { yyval.Char = '5'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4080      break;      break;
4081    
4082    case 205:    case 205:
4083  #line 304 "lscp.y"  #line 399 "lscp.y"
4084      { yyval.Char = '6'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4085      break;      break;
4086    
4087    case 206:    case 206:
4088  #line 304 "lscp.y"  #line 401 "lscp.y"
4089      { yyval.Char = '7'; }      { (yyval.Char) = 'A'; }
4090      break;      break;
4091    
4092    case 207:    case 207:
4093  #line 304 "lscp.y"  #line 401 "lscp.y"
4094      { yyval.Char = '8'; }      { (yyval.Char) = 'B'; }
4095      break;      break;
4096    
4097    case 208:    case 208:
4098  #line 304 "lscp.y"  #line 401 "lscp.y"
4099      { yyval.Char = '9'; }      { (yyval.Char) = 'C'; }
4100      break;      break;
4101    
4102    case 209:    case 209:
4103  #line 305 "lscp.y"  #line 401 "lscp.y"
4104      { yyval.Char = '!'; }      { (yyval.Char) = 'D'; }
4105      break;      break;
4106    
4107    case 210:    case 210:
4108  #line 305 "lscp.y"  #line 401 "lscp.y"
4109      { yyval.Char = '#'; }      { (yyval.Char) = 'E'; }
4110      break;      break;
4111    
4112    case 211:    case 211:
4113  #line 305 "lscp.y"  #line 401 "lscp.y"
4114      { yyval.Char = '$'; }      { (yyval.Char) = 'F'; }
4115      break;      break;
4116    
4117    case 212:    case 212:
4118  #line 305 "lscp.y"  #line 401 "lscp.y"
4119      { yyval.Char = '%'; }      { (yyval.Char) = 'G'; }
4120      break;      break;
4121    
4122    case 213:    case 213:
4123  #line 305 "lscp.y"  #line 401 "lscp.y"
4124      { yyval.Char = '&'; }      { (yyval.Char) = 'H'; }
4125      break;      break;
4126    
4127    case 214:    case 214:
4128  #line 305 "lscp.y"  #line 401 "lscp.y"
4129      { yyval.Char = '('; }      { (yyval.Char) = 'I'; }
4130      break;      break;
4131    
4132    case 215:    case 215:
4133  #line 305 "lscp.y"  #line 401 "lscp.y"
4134      { yyval.Char = ')'; }      { (yyval.Char) = 'J'; }
4135      break;      break;
4136    
4137    case 216:    case 216:
4138  #line 305 "lscp.y"  #line 401 "lscp.y"
4139      { yyval.Char = '*'; }      { (yyval.Char) = 'K'; }
4140      break;      break;
4141    
4142    case 217:    case 217:
4143  #line 305 "lscp.y"  #line 401 "lscp.y"
4144      { yyval.Char = '+'; }      { (yyval.Char) = 'L'; }
4145      break;      break;
4146    
4147    case 218:    case 218:
4148  #line 305 "lscp.y"  #line 401 "lscp.y"
4149      { yyval.Char = '-'; }      { (yyval.Char) = 'M'; }
4150      break;      break;
4151    
4152    case 219:    case 219:
4153  #line 305 "lscp.y"  #line 401 "lscp.y"
4154      { yyval.Char = '.'; }      { (yyval.Char) = 'N'; }
4155      break;      break;
4156    
4157    case 220:    case 220:
4158  #line 305 "lscp.y"  #line 401 "lscp.y"
4159      { yyval.Char = ','; }      { (yyval.Char) = 'O'; }
4160      break;      break;
4161    
4162    case 221:    case 221:
4163  #line 305 "lscp.y"  #line 401 "lscp.y"
4164      { yyval.Char = '/'; }      { (yyval.Char) = 'P'; }
4165      break;      break;
4166    
4167    case 222:    case 222:
4168  #line 306 "lscp.y"  #line 401 "lscp.y"
4169      { yyval.Char = ':'; }      { (yyval.Char) = 'Q'; }
4170      break;      break;
4171    
4172    case 223:    case 223:
4173  #line 306 "lscp.y"  #line 401 "lscp.y"
4174      { yyval.Char = ';'; }      { (yyval.Char) = 'R'; }
4175      break;      break;
4176    
4177    case 224:    case 224:
4178  #line 306 "lscp.y"  #line 401 "lscp.y"
4179      { yyval.Char = '<'; }      { (yyval.Char) = 'S'; }
4180      break;      break;
4181    
4182    case 225:    case 225:
4183  #line 306 "lscp.y"  #line 401 "lscp.y"
4184      { yyval.Char = '='; }      { (yyval.Char) = 'T'; }
4185      break;      break;
4186    
4187    case 226:    case 226:
4188  #line 306 "lscp.y"  #line 401 "lscp.y"
4189      { yyval.Char = '>'; }      { (yyval.Char) = 'U'; }
4190      break;      break;
4191    
4192    case 227:    case 227:
4193  #line 306 "lscp.y"  #line 401 "lscp.y"
4194      { yyval.Char = '?'; }      { (yyval.Char) = 'V'; }
4195      break;      break;
4196    
4197    case 228:    case 228:
4198  #line 306 "lscp.y"  #line 401 "lscp.y"
4199      { yyval.Char = '@'; }      { (yyval.Char) = 'W'; }
4200      break;      break;
4201    
4202    case 229:    case 229:
4203  #line 307 "lscp.y"  #line 401 "lscp.y"
4204      { yyval.Char = '['; }      { (yyval.Char) = 'X'; }
4205      break;      break;
4206    
4207    case 230:    case 230:
4208  #line 307 "lscp.y"  #line 401 "lscp.y"
4209      { yyval.Char = '\\'; }      { (yyval.Char) = 'Y'; }
4210      break;      break;
4211    
4212    case 231:    case 231:
4213  #line 307 "lscp.y"  #line 401 "lscp.y"
4214      { yyval.Char = ']'; }      { (yyval.Char) = 'Z'; }
4215      break;      break;
4216    
4217    case 232:    case 232:
4218  #line 307 "lscp.y"  #line 402 "lscp.y"
4219      { yyval.Char = '^'; }      { (yyval.Char) = 'a'; }
4220      break;      break;
4221    
4222    case 233:    case 233:
4223  #line 307 "lscp.y"  #line 402 "lscp.y"
4224      { yyval.Char = '_'; }      { (yyval.Char) = 'b'; }
4225      break;      break;
4226    
4227    case 234:    case 234:
4228  #line 308 "lscp.y"  #line 402 "lscp.y"
4229      { yyval.Char = '{'; }      { (yyval.Char) = 'c'; }
4230      break;      break;
4231    
4232    case 235:    case 235:
4233  #line 308 "lscp.y"  #line 402 "lscp.y"
4234      { yyval.Char = '|'; }      { (yyval.Char) = 'd'; }
4235      break;      break;
4236    
4237    case 236:    case 236:
4238  #line 308 "lscp.y"  #line 402 "lscp.y"
4239      { yyval.Char = '}'; }      { (yyval.Char) = 'e'; }
4240      break;      break;
4241    
4242    case 237:    case 237:
4243  #line 308 "lscp.y"  #line 402 "lscp.y"
4244      { yyval.Char = '~'; }      { (yyval.Char) = 'f'; }
4245      break;      break;
4246    
4247    case 238:    case 238:
4248  #line 309 "lscp.y"  #line 402 "lscp.y"
4249      { yyval.Char = '\200'; }      { (yyval.Char) = 'g'; }
4250      break;      break;
4251    
4252    case 239:    case 239:
4253  #line 309 "lscp.y"  #line 402 "lscp.y"
4254      { yyval.Char = '\201'; }      { (yyval.Char) = 'h'; }
4255      break;      break;
4256    
4257    case 240:    case 240:
4258  #line 309 "lscp.y"  #line 402 "lscp.y"
4259      { yyval.Char = '\202'; }      { (yyval.Char) = 'i'; }
4260      break;      break;
4261    
4262    case 241:    case 241:
4263  #line 310 "lscp.y"  #line 402 "lscp.y"
4264      { yyval.Char = '\203'; }      { (yyval.Char) = 'j'; }
4265      break;      break;
4266    
4267    case 242:    case 242:
4268  #line 310 "lscp.y"  #line 402 "lscp.y"
4269      { yyval.Char = '\204'; }      { (yyval.Char) = 'k'; }
4270      break;      break;
4271    
4272    case 243:    case 243:
4273  #line 310 "lscp.y"  #line 402 "lscp.y"
4274      { yyval.Char = '\205'; }      { (yyval.Char) = 'l'; }
4275      break;      break;
4276    
4277    case 244:    case 244:
4278  #line 311 "lscp.y"  #line 402 "lscp.y"
4279      { yyval.Char = '\206'; }      { (yyval.Char) = 'm'; }
4280      break;      break;
4281    
4282    case 245:    case 245:
4283  #line 311 "lscp.y"  #line 402 "lscp.y"
4284      { yyval.Char = '\207'; }      { (yyval.Char) = 'n'; }
4285      break;      break;
4286    
4287    case 246:    case 246:
4288  #line 311 "lscp.y"  #line 402 "lscp.y"
4289      { yyval.Char = '\210'; }      { (yyval.Char) = 'o'; }
4290      break;      break;
4291    
4292    case 247:    case 247:
4293  #line 312 "lscp.y"  #line 402 "lscp.y"
4294      { yyval.Char = '\211'; }      { (yyval.Char) = 'p'; }
4295      break;      break;
4296    
4297    case 248:    case 248:
4298  #line 312 "lscp.y"  #line 402 "lscp.y"
4299      { yyval.Char = '\212'; }      { (yyval.Char) = 'q'; }
4300      break;      break;
4301    
4302    case 249:    case 249:
4303  #line 312 "lscp.y"  #line 402 "lscp.y"
4304      { yyval.Char = '\213'; }      { (yyval.Char) = 'r'; }
4305      break;      break;
4306    
4307    case 250:    case 250:
4308  #line 313 "lscp.y"  #line 402 "lscp.y"
4309      { yyval.Char = '\214'; }      { (yyval.Char) = 's'; }
4310      break;      break;
4311    
4312    case 251:    case 251:
4313  #line 313 "lscp.y"  #line 402 "lscp.y"
4314      { yyval.Char = '\215'; }      { (yyval.Char) = 't'; }
4315      break;      break;
4316    
4317    case 252:    case 252:
4318  #line 313 "lscp.y"  #line 402 "lscp.y"
4319      { yyval.Char = '\216'; }      { (yyval.Char) = 'u'; }
4320      break;      break;
4321    
4322    case 253:    case 253:
4323  #line 314 "lscp.y"  #line 402 "lscp.y"
4324      { yyval.Char = '\217'; }      { (yyval.Char) = 'v'; }
4325      break;      break;
4326    
4327    case 254:    case 254:
4328  #line 314 "lscp.y"  #line 402 "lscp.y"
4329      { yyval.Char = '\220'; }      { (yyval.Char) = 'w'; }
4330      break;      break;
4331    
4332    case 255:    case 255:
4333  #line 314 "lscp.y"  #line 402 "lscp.y"
4334      { yyval.Char = '\221'; }      { (yyval.Char) = 'x'; }
4335      break;      break;
4336    
4337    case 256:    case 256:
4338  #line 315 "lscp.y"  #line 402 "lscp.y"
4339      { yyval.Char = '\222'; }      { (yyval.Char) = 'y'; }
4340      break;      break;
4341    
4342    case 257:    case 257:
4343  #line 315 "lscp.y"  #line 402 "lscp.y"
4344      { yyval.Char = '\223'; }      { (yyval.Char) = 'z'; }
4345      break;      break;
4346    
4347    case 258:    case 258:
4348  #line 315 "lscp.y"  #line 403 "lscp.y"
4349      { yyval.Char = '\224'; }      { (yyval.Char) = '0'; }
4350      break;      break;
4351    
4352    case 259:    case 259:
4353  #line 316 "lscp.y"  #line 403 "lscp.y"
4354      { yyval.Char = '\225'; }      { (yyval.Char) = '1'; }
4355      break;      break;
4356    
4357    case 260:    case 260:
4358  #line 316 "lscp.y"  #line 403 "lscp.y"
4359      { yyval.Char = '\226'; }      { (yyval.Char) = '2'; }
4360      break;      break;
4361    
4362    case 261:    case 261:
4363  #line 316 "lscp.y"  #line 403 "lscp.y"
4364      { yyval.Char = '\227'; }      { (yyval.Char) = '3'; }
4365      break;      break;
4366    
4367    case 262:    case 262:
4368  #line 317 "lscp.y"  #line 403 "lscp.y"
4369      { yyval.Char = '\230'; }      { (yyval.Char) = '4'; }
4370      break;      break;
4371    
4372    case 263:    case 263:
4373  #line 317 "lscp.y"  #line 403 "lscp.y"
4374      { yyval.Char = '\231'; }      { (yyval.Char) = '5'; }
4375      break;      break;
4376    
4377    case 264:    case 264:
4378  #line 317 "lscp.y"  #line 403 "lscp.y"
4379      { yyval.Char = '\232'; }      { (yyval.Char) = '6'; }
4380      break;      break;
4381    
4382    case 265:    case 265:
4383  #line 318 "lscp.y"  #line 403 "lscp.y"
4384      { yyval.Char = '\233'; }      { (yyval.Char) = '7'; }
4385      break;      break;
4386    
4387    case 266:    case 266:
4388  #line 318 "lscp.y"  #line 403 "lscp.y"
4389      { yyval.Char = '\234'; }      { (yyval.Char) = '8'; }
4390      break;      break;
4391    
4392    case 267:    case 267:
4393  #line 318 "lscp.y"  #line 403 "lscp.y"
4394      { yyval.Char = '\235'; }      { (yyval.Char) = '9'; }
4395      break;      break;
4396    
4397    case 268:    case 268:
4398  #line 319 "lscp.y"  #line 404 "lscp.y"
4399      { yyval.Char = '\236'; }      { (yyval.Char) = '!'; }
4400      break;      break;
4401    
4402    case 269:    case 269:
4403  #line 319 "lscp.y"  #line 404 "lscp.y"
4404      { yyval.Char = '\237'; }      { (yyval.Char) = '#'; }
4405      break;      break;
4406    
4407    case 270:    case 270:
4408  #line 319 "lscp.y"  #line 404 "lscp.y"
4409      { yyval.Char = '\240'; }      { (yyval.Char) = '$'; }
4410      break;      break;
4411    
4412    case 271:    case 271:
4413  #line 320 "lscp.y"  #line 404 "lscp.y"
4414      { yyval.Char = '\241'; }      { (yyval.Char) = '%'; }
4415      break;      break;
4416    
4417    case 272:    case 272:
4418  #line 320 "lscp.y"  #line 404 "lscp.y"
4419      { yyval.Char = '\242'; }      { (yyval.Char) = '&'; }
4420      break;      break;
4421    
4422    case 273:    case 273:
4423  #line 320 "lscp.y"  #line 404 "lscp.y"
4424      { yyval.Char = '\243'; }      { (yyval.Char) = '('; }
4425      break;      break;
4426    
4427    case 274:    case 274:
4428  #line 321 "lscp.y"  #line 404 "lscp.y"
4429      { yyval.Char = '\244'; }      { (yyval.Char) = ')'; }
4430      break;      break;
4431    
4432    case 275:    case 275:
4433  #line 321 "lscp.y"  #line 404 "lscp.y"
4434      { yyval.Char = '\245'; }      { (yyval.Char) = '*'; }
4435      break;      break;
4436    
4437    case 276:    case 276:
4438  #line 321 "lscp.y"  #line 404 "lscp.y"
4439      { yyval.Char = '\246'; }      { (yyval.Char) = '+'; }
4440      break;      break;
4441    
4442    case 277:    case 277:
4443  #line 322 "lscp.y"  #line 404 "lscp.y"
4444      { yyval.Char = '\247'; }      { (yyval.Char) = '-'; }
4445      break;      break;
4446    
4447    case 278:    case 278:
4448  #line 322 "lscp.y"  #line 404 "lscp.y"
4449      { yyval.Char = '\250'; }      { (yyval.Char) = '.'; }
4450      break;      break;
4451    
4452    case 279:    case 279:
4453  #line 322 "lscp.y"  #line 404 "lscp.y"
4454      { yyval.Char = '\251'; }      { (yyval.Char) = ','; }
4455      break;      break;
4456    
4457    case 280:    case 280:
4458  #line 323 "lscp.y"  #line 404 "lscp.y"
4459      { yyval.Char = '\252'; }      { (yyval.Char) = '/'; }
4460      break;      break;
4461    
4462    case 281:    case 281:
4463  #line 323 "lscp.y"  #line 405 "lscp.y"
4464      { yyval.Char = '\253'; }      { (yyval.Char) = ':'; }
4465      break;      break;
4466    
4467    case 282:    case 282:
4468  #line 323 "lscp.y"  #line 405 "lscp.y"
4469      { yyval.Char = '\254'; }      { (yyval.Char) = ';'; }
4470      break;      break;
4471    
4472    case 283:    case 283:
4473  #line 324 "lscp.y"  #line 405 "lscp.y"
4474      { yyval.Char = '\255'; }      { (yyval.Char) = '<'; }
4475      break;      break;
4476    
4477    case 284:    case 284:
4478  #line 324 "lscp.y"  #line 405 "lscp.y"
4479      { yyval.Char = '\256'; }      { (yyval.Char) = '='; }
4480      break;      break;
4481    
4482    case 285:    case 285:
4483  #line 324 "lscp.y"  #line 405 "lscp.y"
4484      { yyval.Char = '\257'; }      { (yyval.Char) = '>'; }
4485      break;      break;
4486    
4487    case 286:    case 286:
4488  #line 325 "lscp.y"  #line 405 "lscp.y"
4489      { yyval.Char = '\260'; }      { (yyval.Char) = '?'; }
4490      break;      break;
4491    
4492    case 287:    case 287:
4493  #line 325 "lscp.y"  #line 405 "lscp.y"
4494      { yyval.Char = '\261'; }      { (yyval.Char) = '@'; }
4495      break;      break;
4496    
4497    case 288:    case 288:
4498  #line 325 "lscp.y"  #line 406 "lscp.y"
4499      { yyval.Char = '\262'; }      { (yyval.Char) = '['; }
4500      break;      break;
4501    
4502    case 289:    case 289:
4503  #line 326 "lscp.y"  #line 406 "lscp.y"
4504      { yyval.Char = '\263'; }      { (yyval.Char) = '\\'; }
4505      break;      break;
4506    
4507    case 290:    case 290:
4508  #line 326 "lscp.y"  #line 406 "lscp.y"
4509      { yyval.Char = '\264'; }      { (yyval.Char) = ']'; }
4510      break;      break;
4511    
4512    case 291:    case 291:
4513  #line 326 "lscp.y"  #line 406 "lscp.y"
4514      { yyval.Char = '\265'; }      { (yyval.Char) = '^'; }
4515      break;      break;
4516    
4517    case 292:    case 292:
4518  #line 327 "lscp.y"  #line 406 "lscp.y"
4519      { yyval.Char = '\266'; }      { (yyval.Char) = '_'; }
4520      break;      break;
4521    
4522    case 293:    case 293:
4523  #line 327 "lscp.y"  #line 407 "lscp.y"
4524      { yyval.Char = '\267'; }      { (yyval.Char) = '{'; }
4525      break;      break;
4526    
4527    case 294:    case 294:
4528  #line 327 "lscp.y"  #line 407 "lscp.y"
4529      { yyval.Char = '\270'; }      { (yyval.Char) = '|'; }
4530      break;      break;
4531    
4532    case 295:    case 295:
4533  #line 328 "lscp.y"  #line 407 "lscp.y"
4534      { yyval.Char = '\271'; }      { (yyval.Char) = '}'; }
4535      break;      break;
4536    
4537    case 296:    case 296:
4538  #line 328 "lscp.y"  #line 407 "lscp.y"
4539      { yyval.Char = '\272'; }      { (yyval.Char) = '~'; }
4540      break;      break;
4541    
4542    case 297:    case 297:
4543  #line 328 "lscp.y"  #line 408 "lscp.y"
4544      { yyval.Char = '\273'; }      { (yyval.Char) = '\200'; }
4545      break;      break;
4546    
4547    case 298:    case 298:
4548  #line 329 "lscp.y"  #line 408 "lscp.y"
4549      { yyval.Char = '\274'; }      { (yyval.Char) = '\201'; }
4550      break;      break;
4551    
4552    case 299:    case 299:
4553  #line 329 "lscp.y"  #line 408 "lscp.y"
4554      { yyval.Char = '\275'; }      { (yyval.Char) = '\202'; }
4555      break;      break;
4556    
4557    case 300:    case 300:
4558  #line 329 "lscp.y"  #line 409 "lscp.y"
4559      { yyval.Char = '\276'; }      { (yyval.Char) = '\203'; }
4560      break;      break;
4561    
4562    case 301:    case 301:
4563  #line 330 "lscp.y"  #line 409 "lscp.y"
4564      { yyval.Char = '\277'; }      { (yyval.Char) = '\204'; }
4565      break;      break;
4566    
4567    case 302:    case 302:
4568  #line 330 "lscp.y"  #line 409 "lscp.y"
4569      { yyval.Char = '\300'; }      { (yyval.Char) = '\205'; }
4570      break;      break;
4571    
4572    case 303:    case 303:
4573  #line 330 "lscp.y"  #line 410 "lscp.y"
4574      { yyval.Char = '\301'; }      { (yyval.Char) = '\206'; }
4575      break;      break;
4576    
4577    case 304:    case 304:
4578  #line 331 "lscp.y"  #line 410 "lscp.y"
4579      { yyval.Char = '\302'; }      { (yyval.Char) = '\207'; }
4580      break;      break;
4581    
4582    case 305:    case 305:
4583  #line 331 "lscp.y"  #line 410 "lscp.y"
4584      { yyval.Char = '\303'; }      { (yyval.Char) = '\210'; }
4585      break;      break;
4586    
4587    case 306:    case 306:
4588  #line 331 "lscp.y"  #line 411 "lscp.y"
4589      { yyval.Char = '\304'; }      { (yyval.Char) = '\211'; }
4590      break;      break;
4591    
4592    case 307:    case 307:
4593  #line 332 "lscp.y"  #line 411 "lscp.y"
4594      { yyval.Char = '\305'; }      { (yyval.Char) = '\212'; }
4595      break;      break;
4596    
4597    case 308:    case 308:
4598  #line 332 "lscp.y"  #line 411 "lscp.y"
4599      { yyval.Char = '\306'; }      { (yyval.Char) = '\213'; }
4600      break;      break;
4601    
4602    case 309:    case 309:
4603  #line 332 "lscp.y"  #line 412 "lscp.y"
4604      { yyval.Char = '\307'; }      { (yyval.Char) = '\214'; }
4605      break;      break;
4606    
4607    case 310:    case 310:
4608  #line 333 "lscp.y"  #line 412 "lscp.y"
4609      { yyval.Char = '\310'; }      { (yyval.Char) = '\215'; }
4610      break;      break;
4611    
4612    case 311:    case 311:
4613  #line 333 "lscp.y"  #line 412 "lscp.y"
4614      { yyval.Char = '\311'; }      { (yyval.Char) = '\216'; }
4615      break;      break;
4616    
4617    case 312:    case 312:
4618  #line 333 "lscp.y"  #line 413 "lscp.y"
4619      { yyval.Char = '\312'; }      { (yyval.Char) = '\217'; }
4620      break;      break;
4621    
4622    case 313:    case 313:
4623  #line 334 "lscp.y"  #line 413 "lscp.y"
4624      { yyval.Char = '\313'; }      { (yyval.Char) = '\220'; }
4625      break;      break;
4626    
4627    case 314:    case 314:
4628  #line 334 "lscp.y"  #line 413 "lscp.y"
4629      { yyval.Char = '\314'; }      { (yyval.Char) = '\221'; }
4630      break;      break;
4631    
4632    case 315:    case 315:
4633  #line 334 "lscp.y"  #line 414 "lscp.y"
4634      { yyval.Char = '\315'; }      { (yyval.Char) = '\222'; }
4635      break;      break;
4636    
4637    case 316:    case 316:
4638  #line 335 "lscp.y"  #line 414 "lscp.y"
4639      { yyval.Char = '\316'; }      { (yyval.Char) = '\223'; }
4640      break;      break;
4641    
4642    case 317:    case 317:
4643  #line 335 "lscp.y"  #line 414 "lscp.y"
4644      { yyval.Char = '\317'; }      { (yyval.Char) = '\224'; }
4645      break;      break;
4646    
4647    case 318:    case 318:
4648  #line 335 "lscp.y"  #line 415 "lscp.y"
4649      { yyval.Char = '\320'; }      { (yyval.Char) = '\225'; }
4650      break;      break;
4651    
4652    case 319:    case 319:
4653  #line 336 "lscp.y"  #line 415 "lscp.y"
4654      { yyval.Char = '\321'; }      { (yyval.Char) = '\226'; }
4655      break;      break;
4656    
4657    case 320:    case 320:
4658  #line 336 "lscp.y"  #line 415 "lscp.y"
4659      { yyval.Char = '\322'; }      { (yyval.Char) = '\227'; }
4660      break;      break;
4661    
4662    case 321:    case 321:
4663  #line 336 "lscp.y"  #line 416 "lscp.y"
4664      { yyval.Char = '\323'; }      { (yyval.Char) = '\230'; }
4665      break;      break;
4666    
4667    case 322:    case 322:
4668  #line 337 "lscp.y"  #line 416 "lscp.y"
4669      { yyval.Char = '\324'; }      { (yyval.Char) = '\231'; }
4670      break;      break;
4671    
4672    case 323:    case 323:
4673  #line 337 "lscp.y"  #line 416 "lscp.y"
4674      { yyval.Char = '\325'; }      { (yyval.Char) = '\232'; }
4675      break;      break;
4676    
4677    case 324:    case 324:
4678  #line 337 "lscp.y"  #line 417 "lscp.y"
4679      { yyval.Char = '\326'; }      { (yyval.Char) = '\233'; }
4680      break;      break;
4681    
4682    case 325:    case 325:
4683  #line 338 "lscp.y"  #line 417 "lscp.y"
4684      { yyval.Char = '\327'; }      { (yyval.Char) = '\234'; }
4685      break;      break;
4686    
4687    case 326:    case 326:
4688  #line 338 "lscp.y"  #line 417 "lscp.y"
4689      { yyval.Char = '\330'; }      { (yyval.Char) = '\235'; }
4690      break;      break;
4691    
4692    case 327:    case 327:
4693  #line 338 "lscp.y"  #line 418 "lscp.y"
4694      { yyval.Char = '\331'; }      { (yyval.Char) = '\236'; }
4695      break;      break;
4696    
4697    case 328:    case 328:
4698  #line 339 "lscp.y"  #line 418 "lscp.y"
4699      { yyval.Char = '\332'; }      { (yyval.Char) = '\237'; }
4700      break;      break;
4701    
4702    case 329:    case 329:
4703  #line 339 "lscp.y"  #line 418 "lscp.y"
4704      { yyval.Char = '\333'; }      { (yyval.Char) = '\240'; }
4705      break;      break;
4706    
4707    case 330:    case 330:
4708  #line 339 "lscp.y"  #line 419 "lscp.y"
4709      { yyval.Char = '\334'; }      { (yyval.Char) = '\241'; }
4710      break;      break;
4711    
4712    case 331:    case 331:
4713  #line 340 "lscp.y"  #line 419 "lscp.y"
4714      { yyval.Char = '\335'; }      { (yyval.Char) = '\242'; }
4715      break;      break;
4716    
4717    case 332:    case 332:
4718  #line 340 "lscp.y"  #line 419 "lscp.y"
4719      { yyval.Char = '\336'; }      { (yyval.Char) = '\243'; }
4720      break;      break;
4721    
4722    case 333:    case 333:
4723  #line 340 "lscp.y"  #line 420 "lscp.y"
4724      { yyval.Char = '\337'; }      { (yyval.Char) = '\244'; }
4725      break;      break;
4726    
4727    case 334:    case 334:
4728  #line 341 "lscp.y"  #line 420 "lscp.y"
4729      { yyval.Char = '\340'; }      { (yyval.Char) = '\245'; }
4730      break;      break;
4731    
4732    case 335:    case 335:
4733  #line 341 "lscp.y"  #line 420 "lscp.y"
4734      { yyval.Char = '\341'; }      { (yyval.Char) = '\246'; }
4735      break;      break;
4736    
4737    case 336:    case 336:
4738  #line 341 "lscp.y"  #line 421 "lscp.y"
4739      { yyval.Char = '\342'; }      { (yyval.Char) = '\247'; }
4740      break;      break;
4741    
4742    case 337:    case 337:
4743  #line 342 "lscp.y"  #line 421 "lscp.y"
4744      { yyval.Char = '\343'; }      { (yyval.Char) = '\250'; }
4745      break;      break;
4746    
4747    case 338:    case 338:
4748  #line 342 "lscp.y"  #line 421 "lscp.y"
4749      { yyval.Char = '\344'; }      { (yyval.Char) = '\251'; }
4750      break;      break;
4751    
4752    case 339:    case 339:
4753  #line 342 "lscp.y"  #line 422 "lscp.y"
4754      { yyval.Char = '\345'; }      { (yyval.Char) = '\252'; }
4755      break;      break;
4756    
4757    case 340:    case 340:
4758  #line 343 "lscp.y"  #line 422 "lscp.y"
4759      { yyval.Char = '\346'; }      { (yyval.Char) = '\253'; }
4760      break;      break;
4761    
4762    case 341:    case 341:
4763  #line 343 "lscp.y"  #line 422 "lscp.y"
4764      { yyval.Char = '\347'; }      { (yyval.Char) = '\254'; }
4765      break;      break;
4766    
4767    case 342:    case 342:
4768  #line 343 "lscp.y"  #line 423 "lscp.y"
4769      { yyval.Char = '\350'; }      { (yyval.Char) = '\255'; }
4770      break;      break;
4771    
4772    case 343:    case 343:
4773  #line 344 "lscp.y"  #line 423 "lscp.y"
4774      { yyval.Char = '\351'; }      { (yyval.Char) = '\256'; }
4775      break;      break;
4776    
4777    case 344:    case 344:
4778  #line 344 "lscp.y"  #line 423 "lscp.y"
4779      { yyval.Char = '\352'; }      { (yyval.Char) = '\257'; }
4780      break;      break;
4781    
4782    case 345:    case 345:
4783  #line 344 "lscp.y"  #line 424 "lscp.y"
4784      { yyval.Char = '\353'; }      { (yyval.Char) = '\260'; }
4785      break;      break;
4786    
4787    case 346:    case 346:
4788  #line 345 "lscp.y"  #line 424 "lscp.y"
4789      { yyval.Char = '\354'; }      { (yyval.Char) = '\261'; }
4790      break;      break;
4791    
4792    case 347:    case 347:
4793  #line 345 "lscp.y"  #line 424 "lscp.y"
4794      { yyval.Char = '\355'; }      { (yyval.Char) = '\262'; }
4795      break;      break;
4796    
4797    case 348:    case 348:
4798  #line 345 "lscp.y"  #line 425 "lscp.y"
4799      { yyval.Char = '\356'; }      { (yyval.Char) = '\263'; }
4800      break;      break;
4801    
4802    case 349:    case 349:
4803  #line 346 "lscp.y"  #line 425 "lscp.y"
4804      { yyval.Char = '\357'; }      { (yyval.Char) = '\264'; }
4805      break;      break;
4806    
4807    case 350:    case 350:
4808  #line 346 "lscp.y"  #line 425 "lscp.y"
4809      { yyval.Char = '\360'; }      { (yyval.Char) = '\265'; }
4810      break;      break;
4811    
4812    case 351:    case 351:
4813  #line 346 "lscp.y"  #line 426 "lscp.y"
4814      { yyval.Char = '\361'; }      { (yyval.Char) = '\266'; }
4815      break;      break;
4816    
4817    case 352:    case 352:
4818  #line 347 "lscp.y"  #line 426 "lscp.y"
4819      { yyval.Char = '\362'; }      { (yyval.Char) = '\267'; }
4820      break;      break;
4821    
4822    case 353:    case 353:
4823  #line 347 "lscp.y"  #line 426 "lscp.y"
4824      { yyval.Char = '\363'; }      { (yyval.Char) = '\270'; }
4825      break;      break;
4826    
4827    case 354:    case 354:
4828  #line 347 "lscp.y"  #line 427 "lscp.y"
4829      { yyval.Char = '\364'; }      { (yyval.Char) = '\271'; }
4830      break;      break;
4831    
4832    case 355:    case 355:
4833  #line 348 "lscp.y"  #line 427 "lscp.y"
4834      { yyval.Char = '\365'; }      { (yyval.Char) = '\272'; }
4835      break;      break;
4836    
4837    case 356:    case 356:
4838  #line 348 "lscp.y"  #line 427 "lscp.y"
4839      { yyval.Char = '\366'; }      { (yyval.Char) = '\273'; }
4840      break;      break;
4841    
4842    case 357:    case 357:
4843  #line 348 "lscp.y"  #line 428 "lscp.y"
4844      { yyval.Char = '\367'; }      { (yyval.Char) = '\274'; }
4845      break;      break;
4846    
4847    case 358:    case 358:
4848  #line 349 "lscp.y"  #line 428 "lscp.y"
4849      { yyval.Char = '\370'; }      { (yyval.Char) = '\275'; }
4850      break;      break;
4851    
4852    case 359:    case 359:
4853  #line 349 "lscp.y"  #line 428 "lscp.y"
4854      { yyval.Char = '\371'; }      { (yyval.Char) = '\276'; }
4855      break;      break;
4856    
4857    case 360:    case 360:
4858  #line 349 "lscp.y"  #line 429 "lscp.y"
4859      { yyval.Char = '\372'; }      { (yyval.Char) = '\277'; }
4860      break;      break;
4861    
4862    case 361:    case 361:
4863  #line 350 "lscp.y"  #line 429 "lscp.y"
4864      { yyval.Char = '\373'; }      { (yyval.Char) = '\300'; }
4865      break;      break;
4866    
4867    case 362:    case 362:
4868  #line 350 "lscp.y"  #line 429 "lscp.y"
4869      { yyval.Char = '\374'; }      { (yyval.Char) = '\301'; }
4870      break;      break;
4871    
4872    case 363:    case 363:
4873  #line 350 "lscp.y"  #line 430 "lscp.y"
4874      { yyval.Char = '\375'; }      { (yyval.Char) = '\302'; }
4875      break;      break;
4876    
4877    case 364:    case 364:
4878  #line 351 "lscp.y"  #line 430 "lscp.y"
4879      { yyval.Char = '\376'; }      { (yyval.Char) = '\303'; }
4880      break;      break;
4881    
4882    case 365:    case 365:
4883  #line 351 "lscp.y"  #line 430 "lscp.y"
4884      { yyval.Char = '\377'; }      { (yyval.Char) = '\304'; }
4885      break;      break;
4886    
4887    case 366:    case 366:
4888  #line 354 "lscp.y"  #line 431 "lscp.y"
4889      { yyval.String = " ";      }      { (yyval.Char) = '\305'; }
4890        break;
4891    
4892      case 367:
4893    #line 431 "lscp.y"
4894        { (yyval.Char) = '\306'; }
4895      break;      break;
4896    
4897    case 368:    case 368:
4898  #line 356 "lscp.y"  #line 431 "lscp.y"
4899      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\307'; }
4900      break;      break;
4901    
4902    case 369:    case 369:
4903  #line 357 "lscp.y"  #line 432 "lscp.y"
4904      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\310'; }
4905      break;      break;
4906    
4907    case 370:    case 370:
4908  #line 360 "lscp.y"  #line 432 "lscp.y"
4909      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\311'; }
4910      break;      break;
4911    
4912    case 371:    case 371:
4913  #line 361 "lscp.y"  #line 432 "lscp.y"
4914      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\312'; }
4915      break;      break;
4916    
4917      case 372:
4918    #line 433 "lscp.y"
4919        { (yyval.Char) = '\313'; }
4920        break;
4921    
4922      }    case 373:
4923    #line 433 "lscp.y"
4924        { (yyval.Char) = '\314'; }
4925        break;
4926    
4927  /* Line 1010 of yacc.c.  */    case 374:
4928  #line 4409 "y.tab.c"  #line 433 "lscp.y"
4929        { (yyval.Char) = '\315'; }
4930    yyvsp -= yylen;      break;
4931    yyssp -= yylen;  
4932      case 375:
4933    #line 434 "lscp.y"
4934        { (yyval.Char) = '\316'; }
4935        break;
4936    
4937      case 376:
4938    #line 434 "lscp.y"
4939        { (yyval.Char) = '\317'; }
4940        break;
4941    
4942      case 377:
4943    #line 434 "lscp.y"
4944        { (yyval.Char) = '\320'; }
4945        break;
4946    
4947      case 378:
4948    #line 435 "lscp.y"
4949        { (yyval.Char) = '\321'; }
4950        break;
4951    
4952      case 379:
4953    #line 435 "lscp.y"
4954        { (yyval.Char) = '\322'; }
4955        break;
4956    
4957      case 380:
4958    #line 435 "lscp.y"
4959        { (yyval.Char) = '\323'; }
4960        break;
4961    
4962      case 381:
4963    #line 436 "lscp.y"
4964        { (yyval.Char) = '\324'; }
4965        break;
4966    
4967      case 382:
4968    #line 436 "lscp.y"
4969        { (yyval.Char) = '\325'; }
4970        break;
4971    
4972      case 383:
4973    #line 436 "lscp.y"
4974        { (yyval.Char) = '\326'; }
4975        break;
4976    
4977      case 384:
4978    #line 437 "lscp.y"
4979        { (yyval.Char) = '\327'; }
4980        break;
4981    
4982      case 385:
4983    #line 437 "lscp.y"
4984        { (yyval.Char) = '\330'; }
4985        break;
4986    
4987      case 386:
4988    #line 437 "lscp.y"
4989        { (yyval.Char) = '\331'; }
4990        break;
4991    
4992      case 387:
4993    #line 438 "lscp.y"
4994        { (yyval.Char) = '\332'; }
4995        break;
4996    
4997      case 388:
4998    #line 438 "lscp.y"
4999        { (yyval.Char) = '\333'; }
5000        break;
5001    
5002      case 389:
5003    #line 438 "lscp.y"
5004        { (yyval.Char) = '\334'; }
5005        break;
5006    
5007      case 390:
5008    #line 439 "lscp.y"
5009        { (yyval.Char) = '\335'; }
5010        break;
5011    
5012      case 391:
5013    #line 439 "lscp.y"
5014        { (yyval.Char) = '\336'; }
5015        break;
5016    
5017      case 392:
5018    #line 439 "lscp.y"
5019        { (yyval.Char) = '\337'; }
5020        break;
5021    
5022      case 393:
5023    #line 440 "lscp.y"
5024        { (yyval.Char) = '\340'; }
5025        break;
5026    
5027      case 394:
5028    #line 440 "lscp.y"
5029        { (yyval.Char) = '\341'; }
5030        break;
5031    
5032      case 395:
5033    #line 440 "lscp.y"
5034        { (yyval.Char) = '\342'; }
5035        break;
5036    
5037      case 396:
5038    #line 441 "lscp.y"
5039        { (yyval.Char) = '\343'; }
5040        break;
5041    
5042      case 397:
5043    #line 441 "lscp.y"
5044        { (yyval.Char) = '\344'; }
5045        break;
5046    
5047      case 398:
5048    #line 441 "lscp.y"
5049        { (yyval.Char) = '\345'; }
5050        break;
5051    
5052      case 399:
5053    #line 442 "lscp.y"
5054        { (yyval.Char) = '\346'; }
5055        break;
5056    
5057      case 400:
5058    #line 442 "lscp.y"
5059        { (yyval.Char) = '\347'; }
5060        break;
5061    
5062      case 401:
5063    #line 442 "lscp.y"
5064        { (yyval.Char) = '\350'; }
5065        break;
5066    
5067      case 402:
5068    #line 443 "lscp.y"
5069        { (yyval.Char) = '\351'; }
5070        break;
5071    
5072      case 403:
5073    #line 443 "lscp.y"
5074        { (yyval.Char) = '\352'; }
5075        break;
5076    
5077      case 404:
5078    #line 443 "lscp.y"
5079        { (yyval.Char) = '\353'; }
5080        break;
5081    
5082      case 405:
5083    #line 444 "lscp.y"
5084        { (yyval.Char) = '\354'; }
5085        break;
5086    
5087      case 406:
5088    #line 444 "lscp.y"
5089        { (yyval.Char) = '\355'; }
5090        break;
5091    
5092      case 407:
5093    #line 444 "lscp.y"
5094        { (yyval.Char) = '\356'; }
5095        break;
5096    
5097      case 408:
5098    #line 445 "lscp.y"
5099        { (yyval.Char) = '\357'; }
5100        break;
5101    
5102      case 409:
5103    #line 445 "lscp.y"
5104        { (yyval.Char) = '\360'; }
5105        break;
5106    
5107      case 410:
5108    #line 445 "lscp.y"
5109        { (yyval.Char) = '\361'; }
5110        break;
5111    
5112      case 411:
5113    #line 446 "lscp.y"
5114        { (yyval.Char) = '\362'; }
5115        break;
5116    
5117      case 412:
5118    #line 446 "lscp.y"
5119        { (yyval.Char) = '\363'; }
5120        break;
5121    
5122      case 413:
5123    #line 446 "lscp.y"
5124        { (yyval.Char) = '\364'; }
5125        break;
5126    
5127      case 414:
5128    #line 447 "lscp.y"
5129        { (yyval.Char) = '\365'; }
5130        break;
5131    
5132      case 415:
5133    #line 447 "lscp.y"
5134        { (yyval.Char) = '\366'; }
5135        break;
5136    
5137      case 416:
5138    #line 447 "lscp.y"
5139        { (yyval.Char) = '\367'; }
5140        break;
5141    
5142      case 417:
5143    #line 448 "lscp.y"
5144        { (yyval.Char) = '\370'; }
5145        break;
5146    
5147      case 418:
5148    #line 448 "lscp.y"
5149        { (yyval.Char) = '\371'; }
5150        break;
5151    
5152      case 419:
5153    #line 448 "lscp.y"
5154        { (yyval.Char) = '\372'; }
5155        break;
5156    
5157      case 420:
5158    #line 449 "lscp.y"
5159        { (yyval.Char) = '\373'; }
5160        break;
5161    
5162      case 421:
5163    #line 449 "lscp.y"
5164        { (yyval.Char) = '\374'; }
5165        break;
5166    
5167      case 422:
5168    #line 449 "lscp.y"
5169        { (yyval.Char) = '\375'; }
5170        break;
5171    
5172      case 423:
5173    #line 450 "lscp.y"
5174        { (yyval.Char) = '\376'; }
5175        break;
5176    
5177      case 424:
5178    #line 450 "lscp.y"
5179        { (yyval.Char) = '\377'; }
5180        break;
5181    
5182      case 425:
5183    #line 453 "lscp.y"
5184        { (yyval.String) = " ";      }
5185        break;
5186    
5187      case 427:
5188    #line 455 "lscp.y"
5189        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5190        break;
5191    
5192      case 428:
5193    #line 456 "lscp.y"
5194        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5195        break;
5196    
5197      case 429:
5198    #line 459 "lscp.y"
5199        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5200        break;
5201    
5202      case 430:
5203    #line 460 "lscp.y"
5204        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5205        break;
5206    
5207    
5208    /* Line 1267 of yacc.c.  */
5209    #line 5210 "y.tab.c"
5210          default: break;
5211        }
5212      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5213    
5214      YYPOPSTACK (yylen);
5215      yylen = 0;
5216    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5217    
5218    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4439  yyerrlab: Line 5241  yyerrlab:
5241    if (!yyerrstatus)    if (!yyerrstatus)
5242      {      {
5243        ++yynerrs;        ++yynerrs;
5244  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5245        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5246    #else
5247        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5248          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5249            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5250            int yytype = YYTRANSLATE (yychar);            {
5251            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
5252            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5253            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
5254                if (yymsg != yymsgbuf)
5255            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
5256               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5257            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
5258                  yymsg_alloc = yyalloc;
5259            /* Stay within bounds of both yycheck and yytname.  */              else
           int yychecklim = YYLAST - yyn;  
           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;  
           int yycount = 0;  
   
           yyprefix = ", expecting ";  
           for (yyx = yyxbegin; yyx < yyxend; ++yyx)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
5260                {                {
5261                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
5262                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
5263                }                }
5264            yysize += (sizeof ("syntax error, unexpected ")            }
                      + yystrlen (yytname[yytype]));  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
5265    
5266                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
5267                  {            {
5268                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
5269                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
5270                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
5271                        {          else
5272                          yyp = yystpcpy (yyp, yyprefix);            {
5273                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
5274                          yyprefix = " or ";              if (yysize != 0)
5275                        }                goto yyexhaustedlab;
5276                  }            }
5277                yyerror (yymsg);        }
5278                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
5279      }      }
5280    
5281    
5282    
5283    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5284      {      {
5285        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5286           error, discard it.  */           error, discard it.  */
5287    
5288        if (yychar <= YYEOF)        if (yychar <= YYEOF)
5289          {          {
5290            /* If at end of input, pop the error token,            /* Return failure if at end of input.  */
              then the rest of the stack, then return failure.  */  
5291            if (yychar == YYEOF)            if (yychar == YYEOF)
5292               for (;;)              YYABORT;
5293                 {          }
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
                  yydestruct (yystos[*yyssp], yyvsp);  
                }  
         }  
5294        else        else
5295          {          {
5296            YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);            yydestruct ("Error: discarding",
5297            yydestruct (yytoken, &yylval);                        yytoken, &yylval);
5298            yychar = YYEMPTY;            yychar = YYEMPTY;
   
5299          }          }
5300      }      }
5301    
5302    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5303       token.  */       token.  */
5304    goto yyerrlab1;    goto yyerrlab1;
5305    
# Line 4541  yyerrlab: Line 5309  yyerrlab:
5309  `---------------------------------------------------*/  `---------------------------------------------------*/
5310  yyerrorlab:  yyerrorlab:
5311    
5312  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
5313    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
5314       yyerrorlab therefore never appears in user code.  */       code.  */
5315    if (0)    if (/*CONSTCOND*/ 0)
5316       goto yyerrorlab;       goto yyerrorlab;
 #endif  
5317    
5318    yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
5319    yyssp -= yylen;       this YYERROR.  */
5320      YYPOPSTACK (yylen);
5321      yylen = 0;
5322      YY_STACK_PRINT (yyss, yyssp);
5323    yystate = *yyssp;    yystate = *yyssp;
5324    goto yyerrlab1;    goto yyerrlab1;
5325    
# Line 4578  yyerrlab1: Line 5348  yyerrlab1:
5348        if (yyssp == yyss)        if (yyssp == yyss)
5349          YYABORT;          YYABORT;
5350    
5351        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
5352        yydestruct (yystos[yystate], yyvsp);        yydestruct ("Error: popping",
5353        YYPOPSTACK;                    yystos[yystate], yyvsp);
5354          YYPOPSTACK (1);
5355        yystate = *yyssp;        yystate = *yyssp;
5356        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5357      }      }
# Line 4588  yyerrlab1: Line 5359  yyerrlab1:
5359    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5360      YYACCEPT;      YYACCEPT;
5361    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5362    *++yyvsp = yylval;    *++yyvsp = yylval;
5363    
5364    
5365      /* Shift the error token.  */
5366      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5367    
5368    yystate = yyn;    yystate = yyn;
5369    goto yynewstate;    goto yynewstate;
5370    
# Line 4612  yyabortlab: Line 5384  yyabortlab:
5384    goto yyreturn;    goto yyreturn;
5385    
5386  #ifndef yyoverflow  #ifndef yyoverflow
5387  /*----------------------------------------------.  /*-------------------------------------------------.
5388  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5389  `----------------------------------------------*/  `-------------------------------------------------*/
5390  yyoverflowlab:  yyexhaustedlab:
5391    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5392    yyresult = 2;    yyresult = 2;
5393    /* Fall through.  */    /* Fall through.  */
5394  #endif  #endif
5395    
5396  yyreturn:  yyreturn:
5397      if (yychar != YYEOF && yychar != YYEMPTY)
5398         yydestruct ("Cleanup: discarding lookahead",
5399                     yytoken, &yylval);
5400      /* Do not reclaim the symbols of the rule which action triggered
5401         this YYABORT or YYACCEPT.  */
5402      YYPOPSTACK (yylen);
5403      YY_STACK_PRINT (yyss, yyssp);
5404      while (yyssp != yyss)
5405        {
5406          yydestruct ("Cleanup: popping",
5407                      yystos[*yyssp], yyvsp);
5408          YYPOPSTACK (1);
5409        }
5410  #ifndef yyoverflow  #ifndef yyoverflow
5411    if (yyss != yyssa)    if (yyss != yyssa)
5412      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5413  #endif  #endif
5414    return yyresult;  #if YYERROR_VERBOSE
5415      if (yymsg != yymsgbuf)
5416        YYSTACK_FREE (yymsg);
5417    #endif
5418      /* Make sure YYID is used.  */
5419      return YYID (yyresult);
5420  }  }
5421    
5422    
5423  #line 529 "lscp.y"  #line 706 "lscp.y"
5424    
5425    
5426  /**  /**
# Line 4648  void restart(yyparse_param_t* pparam, in Line 5438  void restart(yyparse_param_t* pparam, in
5438      ptr   = 0;      ptr   = 0;
5439  }  }
5440    
   

Legend:
Removed from v.556  
changed lines
  Added in v.984

  ViewVC Help
Powered by ViewVC