/[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 221 by schoenebeck, Fri Aug 20 17:25:19 2004 UTC revision 947 by schoenebeck, Mon Nov 27 21:34:55 2006 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* A Bison parser, made by GNU Bison 2.2.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton implementation for Bison's Yacc-like parsers in C
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.  
5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6       Free Software Foundation, Inc.
7    
8     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
# Line 15  Line 17 
17    
18     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place - Suite 330,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02111-1307, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23    /* As a special exception, you may create a larger work that contains
24       part or all of the Bison parser skeleton and distribute that work
25       under terms of your choice, so long as that work isn't itself a
26       parser generator using the skeleton or a modified version thereof
27       as a parser skeleton.  Alternatively, if you modify or redistribute
28       the parser skeleton itself, you may (at your option) remove this
29       special exception, which will cause the skeleton and the resulting
30       Bison output files to be licensed under the GNU General Public
31       License without this special exception.
32    
33  /* As a special exception, when this file is copied by Bison into a     This special exception was added by the Free Software Foundation in
34     Bison output file, you may use that output file without restriction.     version 2.2 of Bison.  */
    This special exception was added by the Free Software Foundation  
    in version 1.24 of Bison.  */  
35    
36  /* Written by Richard Stallman by simplifying the original so called  /* C LALR(1) parser skeleton written by Richard Stallman, by
37     ``semantic'' parser.  */     simplifying the original so-called "semantic" parser.  */
38    
39  /* All symbols defined below should begin with yy or YY, to avoid  /* All symbols defined below should begin with yy or YY, to avoid
40     infringing on user name space.  This should be done even for local     infringing on user name space.  This should be done even for local
# Line 36  Line 46 
46  /* Identify Bison output.  */  /* Identify Bison output.  */
47  #define YYBISON 1  #define YYBISON 1
48    
49    /* Bison version.  */
50    #define YYBISON_VERSION "2.2"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
54    
# Line 50  Line 63 
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 26 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 104  int yylex(YYSTYPE* yylval) { Line 118  int yylex(YYSTYPE* yylval) {
118  # define YYERROR_VERBOSE 0  # define YYERROR_VERBOSE 0
119  #endif  #endif
120    
121  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  /* Enabling the token table.  */
122    #ifndef YYTOKEN_TABLE
123    # define YYTOKEN_TABLE 0
124    #endif
125    
126    #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127  typedef int YYSTYPE;  typedef int YYSTYPE;
128  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
# Line 116  typedef int YYSTYPE; Line 135  typedef int YYSTYPE;
135  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
136    
137    
138  /* Line 214 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 121 "y.tab.c"  #line 140 "y.tab.c"
140    
141  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #ifdef short
142    # undef short
143    #endif
144    
145  /* The parser invokes alloca or malloc; define the necessary symbols.  */  #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151    #ifdef YYTYPE_INT8
152    typedef YYTYPE_INT8 yytype_int8;
153    #elif (defined __STDC__ || defined __C99__FUNC__ \
154         || defined __cplusplus || defined _MSC_VER)
155    typedef signed char yytype_int8;
156    #else
157    typedef short int yytype_int8;
158    #endif
159    
160    #ifdef YYTYPE_UINT16
161    typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164    #endif
165    
166    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #endif
171    
172  # if YYSTACK_USE_ALLOCA  #ifndef YYSIZE_T
173  #  define YYSTACK_ALLOC alloca  # ifdef __SIZE_TYPE__
174    #  define YYSIZE_T __SIZE_TYPE__
175    # elif defined size_t
176    #  define YYSIZE_T size_t
177    # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178         || defined __cplusplus || defined _MSC_VER)
179    #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180    #  define YYSIZE_T size_t
181  # else  # else
182  #  ifndef YYSTACK_USE_ALLOCA  #  define YYSIZE_T unsigned int
183  #   if defined (alloca) || defined (_ALLOCA_H)  # endif
184  #    define YYSTACK_ALLOC alloca  #endif
185    
186    #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188    #ifndef YY_
189    # if YYENABLE_NLS
190    #  if ENABLE_NLS
191    #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192    #   define YY_(msgid) dgettext ("bison-runtime", msgid)
193    #  endif
194    # endif
195    # ifndef YY_
196    #  define YY_(msgid) msgid
197    # endif
198    #endif
199    
200    /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227    /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
229    # ifdef YYSTACK_USE_ALLOCA
230    #  if YYSTACK_USE_ALLOCA
231    #   ifdef __GNUC__
232    #    define YYSTACK_ALLOC __builtin_alloca
233    #   elif defined __BUILTIN_VA_ARG_INCR
234    #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235    #   elif defined _AIX
236    #    define YYSTACK_ALLOC __alloca
237    #   elif defined _MSC_VER
238    #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239    #    define alloca _alloca
240  #   else  #   else
241  #    ifdef __GNUC__  #    define YYSTACK_ALLOC alloca
242  #     define YYSTACK_ALLOC __builtin_alloca  #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243         || defined __cplusplus || defined _MSC_VER)
244    #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245    #     ifndef _STDLIB_H
246    #      define _STDLIB_H 1
247    #     endif
248  #    endif  #    endif
249  #   endif  #   endif
250  #  endif  #  endif
251  # endif  # endif
252    
253  # ifdef YYSTACK_ALLOC  # ifdef YYSTACK_ALLOC
254     /* Pacify GCC's `empty if-body' warning. */     /* Pacify GCC's `empty if-body' warning.  */
255  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256    #  ifndef YYSTACK_ALLOC_MAXIMUM
257        /* The OS might guarantee only one guard page at the bottom of the stack,
258           and a page size can be as small as 4096 bytes.  So we cannot safely
259           invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260           to allow for a few compiler-allocated temporary stack slots.  */
261    #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262    #  endif
263  # else  # else
264  #  if defined (__STDC__) || defined (__cplusplus)  #  define YYSTACK_ALLOC YYMALLOC
265    #  define YYSTACK_FREE YYFREE
266    #  ifndef YYSTACK_ALLOC_MAXIMUM
267    #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268    #  endif
269    #  if (defined __cplusplus && ! defined _STDLIB_H \
270           && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273  #   define YYSIZE_T size_t  #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276    #  endif
277    #  ifndef YYMALLOC
278    #   define YYMALLOC malloc
279    #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280         || defined __cplusplus || defined _MSC_VER)
281    void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282    #   endif
283    #  endif
284    #  ifndef YYFREE
285    #   define YYFREE free
286    #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287         || defined __cplusplus || defined _MSC_VER)
288    void free (void *); /* INFRINGES ON USER NAME SPACE */
289    #   endif
290  #  endif  #  endif
 #  define YYSTACK_ALLOC malloc  
 #  define YYSTACK_FREE free  
291  # endif  # endif
292  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293    
294    
295  #if (! defined (yyoverflow) \  #if (! defined yyoverflow \
296       && (! defined (__cplusplus) \       && (! defined __cplusplus \
297           || (YYSTYPE_IS_TRIVIAL)))           || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298    
299  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
300  union yyalloc  union yyalloc
301  {  {
302    short yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 168  union yyalloc Line 309  union yyalloc
309  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
310     N elements.  */     N elements.  */
311  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
312       ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
314    
315  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
316     not overlap.  */     not overlap.  */
317  # ifndef YYCOPY  # ifndef YYCOPY
318  #  if 1 < __GNUC__  #  if defined __GNUC__ && 1 < __GNUC__
319  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
320        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321  #  else  #  else
322  #   define YYCOPY(To, From, Count)              \  #   define YYCOPY(To, From, Count)              \
323        do                                        \        do                                        \
324          {                                       \          {                                       \
325            register YYSIZE_T yyi;                \            YYSIZE_T yyi;                         \
326            for (yyi = 0; yyi < (Count); yyi++)   \            for (yyi = 0; yyi < (Count); yyi++)   \
327              (To)[yyi] = (From)[yyi];            \              (To)[yyi] = (From)[yyi];            \
328          }                                       \          }                                       \
329        while (0)        while (YYID (0))
330  #  endif  #  endif
331  # endif  # endif
332    
# Line 203  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
348    
349  #endif  #endif
350    
351  #if defined (__STDC__) || defined (__cplusplus)  /* YYFINAL -- State number of the termination state.  */
352     typedef signed char yysigned_char;  #define YYFINAL  46
 #else  
    typedef short yysigned_char;  
 #endif  
   
 /* YYFINAL -- State number of the termination state. */  
 #define YYFINAL  39  
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   3976  #define YYLAST   4233
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  226  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  89  #define YYNNTS  117
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  412  #define YYNRULES  465
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1132  #define YYNSTATES  1365
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       224,     2,     2,   225,     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,   223,    70,   222,     3,    71,    72,    73,   221,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        74,    75,    76,     6,     2,     7,     5,    77,     8,     9,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        10,    11,    12,    13,    14,    15,    16,    17,    78,    79,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        80,     4,    81,    82,    83,    18,    19,    20,    21,    22,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        43,    84,    85,    86,    87,    88,     2,    44,    45,    46,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        67,    68,    69,    89,    90,    91,    92,     2,    93,    94,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       215,   216,   217,   218,   219,   220,     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 yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    79,    81,    83,    85,    87,    89,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        91,    93,    95,    97,    99,   101,   103,   105,   107,   109,        95,    97,    99,   101,   103,   105,   107,   109,   111,   113,
412       111,   117,   125,   135,   137,   143,   151,   161,   163,   165,       115,   117,   119,   121,   123,   139,   157,   175,   195,   203,
413       171,   177,   185,   195,   203,   213,   215,   221,   229,   235,       207,   209,   211,   217,   225,   235,   237,   243,   251,   261,
414       241,   247,   255,   265,   273,   283,   287,   291,   297,   301,       263,   265,   271,   277,   285,   295,   303,   313,   315,   321,
415       307,   311,   315,   319,   323,   327,   333,   341,   347,   357,       329,   335,   341,   347,   351,   353,   355,   357,   367,   375,
416       363,   369,   375,   381,   387,   391,   397,   399,   401,   403,       385,   393,   403,   407,   411,   417,   421,   427,   431,   435,
417       405,   407,   413,   421,   425,   427,   429,   431,   433,   435,       437,   441,   445,   449,   453,   459,   467,   473,   483,   489,
418       437,   439,   441,   443,   445,   447,   449,   451,   453,   455,       495,   501,   507,   513,   519,   525,   529,   535,   537,   539,
419       457,   459,   461,   463,   466,   470,   475,   480,   482,   485,       541,   543,   545,   547,   549,   551,   553,   559,   567,   571,
420       487,   489,   491,   493,   495,   497,   499,   501,   503,   505,       573,   575,   577,   579,   581,   583,   585,   587,   589,   591,
421       507,   510,   513,   516,   519,   522,   525,   528,   531,   534,       593,   595,   597,   599,   601,   603,   605,   607,   609,   611,
422       536,   538,   540,   542,   544,   546,   548,   550,   552,   554,       613,   617,   619,   621,   623,   625,   627,   629,   631,   634,
423       556,   558,   560,   562,   564,   566,   568,   570,   572,   574,       638,   643,   648,   650,   653,   655,   657,   659,   661,   663,
424       576,   578,   580,   582,   584,   586,   588,   590,   592,   594,       665,   667,   669,   671,   673,   675,   678,   681,   684,   687,
425       596,   598,   600,   602,   604,   606,   608,   610,   612,   614,       690,   693,   696,   699,   702,   704,   706,   708,   710,   712,
426       616,   618,   620,   622,   624,   626,   628,   630,   632,   634,       714,   716,   718,   720,   722,   724,   726,   728,   730,   732,
427       636,   638,   640,   642,   644,   646,   648,   650,   652,   654,       734,   736,   738,   740,   742,   744,   746,   748,   750,   752,
428       656,   658,   660,   662,   664,   666,   668,   670,   672,   674,       754,   756,   758,   760,   762,   764,   766,   768,   770,   772,
429       676,   678,   680,   682,   684,   686,   688,   690,   692,   694,       774,   776,   778,   780,   782,   784,   786,   788,   790,   792,
430       696,   698,   700,   702,   704,   706,   708,   710,   712,   714,       794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
431       716,   718,   720,   722,   724,   726,   728,   730,   732,   734,       814,   816,   818,   820,   822,   824,   826,   828,   830,   832,
432       736,   738,   740,   742,   744,   746,   748,   750,   752,   754,       834,   836,   838,   840,   842,   844,   846,   848,   850,   852,
433       756,   758,   760,   762,   764,   766,   768,   770,   772,   774,       854,   856,   858,   860,   862,   864,   866,   868,   870,   872,
434       776,   778,   780,   782,   784,   786,   788,   790,   792,   794,       874,   876,   878,   880,   882,   884,   886,   888,   890,   892,
435       796,   798,   800,   802,   804,   806,   808,   810,   812,   814,       894,   896,   898,   900,   902,   904,   906,   908,   910,   912,
436       816,   818,   820,   822,   824,   826,   828,   830,   832,   834,       914,   916,   918,   920,   922,   924,   926,   928,   930,   932,
437       836,   838,   840,   842,   844,   846,   848,   850,   852,   854,       934,   936,   938,   940,   942,   944,   946,   948,   950,   952,
438       856,   858,   860,   862,   864,   866,   868,   870,   872,   874,       954,   956,   958,   960,   962,   964,   966,   968,   970,   972,
439       876,   878,   880,   882,   884,   886,   888,   890,   892,   894,       974,   976,   978,   980,   982,   984,   986,   988,   990,   992,
440       896,   898,   900,   902,   904,   906,   908,   910,   912,   914,       994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
441       916,   918,   920,   922,   924,   926,   928,   930,   932,   934,      1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1030,  1032,
442       936,   938,   940,   942,   944,   946,   948,   950,   952,   954,      1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,  1050,  1052,
443       956,   958,   960,   962,   964,   966,   968,   970,   972,   974,      1054,  1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,
444       977,   980,   984,   988,   990,   992,   994,   998,  1002,  1009,      1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,
445      1017,  1022,  1027,  1037,  1044,  1048,  1058,  1070,  1078,  1096,      1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,
446      1127,  1136,  1141,  1153,  1166,  1178,  1189,  1196,  1226,  1247,      1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,  1130,  1132,
447      1267,  1297,  1317,  1348,  1369,  1387,  1416,  1444,  1470,  1489,      1134,  1136,  1138,  1140,  1142,  1144,  1147,  1150,  1154,  1158,
448      1507,  1535,  1553,  1569,  1588,  1604,  1615,  1622,  1628,  1639,      1160,  1162,  1164,  1168,  1172,  1176,  1182,  1188,  1195,  1203,
449      1645,  1659,  1664      1208,  1213,  1217,  1227,  1234,  1238,  1248,  1260,  1267,  1275,
450        1293,  1324,  1333,  1338,  1352,  1365,  1377,  1390,  1402,  1420,
451        1442,  1453,  1460,  1470,  1485,  1496,  1526,  1547,  1567,  1597,
452        1617,  1648,  1669,  1687,  1716,  1744,  1770,  1789,  1807,  1835,
453        1851,  1868,  1886,  1902,  1921,  1937,  1948,  1955,  1962,  1967,
454        1972,  1978,  1989,  1995,  2009,  2014
455  };  };
456    
457  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
458  static const short yyrhs[] =  static const yytype_int16 yyrhs[] =
459  {  {
460       227,     0,    -1,   228,   266,    -1,   228,   267,   266,    -1,       228,     0,    -1,   229,   278,    -1,   229,   279,   278,    -1,
461        -1,   229,    -1,   230,    -1,     1,    -1,     3,    -1,   229,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
462         3,    -1,   229,   265,    -1,   229,   261,    -1,   229,   257,         3,    -1,   230,   277,    -1,   230,   273,    -1,   230,   269,
463        -1,   268,   265,   279,    -1,   269,   265,   233,    -1,   270,        -1,   280,   277,   296,    -1,   282,   277,   234,    -1,   283,
464       265,   235,    -1,   271,   265,   236,    -1,   272,   265,   241,       277,   235,    -1,   281,   277,   237,    -1,   285,   277,   239,
465        -1,   273,   265,   237,    -1,   275,   265,   279,   265,   251,        -1,   286,   277,   242,    -1,   287,   277,   247,    -1,   288,
466        -1,   276,   265,   234,    -1,   277,   265,   231,    -1,   278,       277,   243,    -1,   291,   277,   236,    -1,   292,   277,   238,
467       265,   232,    -1,   311,   265,   279,   265,   251,    -1,   311,        -1,   293,   277,   232,    -1,   294,   277,   233,    -1,   295,
468        -1,   314,    -1,   282,    -1,   286,    -1,   285,    -1,   284,       277,   275,    -1,   340,   277,   240,    -1,   284,   277,   241,
469        -1,   283,    -1,   312,    -1,   282,    -1,   286,    -1,   285,        -1,   340,    -1,   343,    -1,   301,    -1,   305,    -1,   304,
470        -1,   284,    -1,   283,    -1,   312,    -1,   280,    -1,   297,        -1,   303,    -1,   302,    -1,   341,    -1,   306,    -1,   301,
471        -1,   303,   265,   283,   265,   257,    -1,   302,   265,   283,        -1,   305,    -1,   304,    -1,   303,    -1,   302,    -1,   341,
472       265,   257,   265,   257,    -1,   302,   265,   283,   265,   257,        -1,   306,    -1,   327,   277,   257,   277,   258,   277,   259,
473       265,   257,   265,   239,    -1,   281,    -1,   293,   265,   283,       277,   263,   277,   264,   277,   262,   277,   260,    -1,   327,
474       265,   257,    -1,   292,   265,   283,   265,   257,   265,   257,       277,   257,   277,   258,   277,   259,   277,   263,   277,   264,
475        -1,   292,   265,   283,   265,   257,   265,   257,   265,   239,       277,   262,   277,   260,   277,   250,    -1,   327,   277,   257,
476        -1,   290,    -1,   300,    -1,   291,   265,   283,   265,   261,       277,   258,   277,   259,   277,   263,   277,   264,   277,   262,
477        -1,   301,   265,   283,   265,   261,    -1,   304,   265,   283,       277,   260,   277,   265,    -1,   327,   277,   257,   277,   258,
478       265,   261,   265,   261,    -1,   299,   265,   283,   265,   261,       277,   259,   277,   263,   277,   264,   277,   262,   277,   260,
479       265,   261,   265,   257,    -1,   295,   265,   283,   265,   261,       277,   250,   277,   265,    -1,   327,   277,   257,   277,   258,
480       265,   261,    -1,   294,   265,   283,   265,   261,   265,   261,       277,   259,    -1,   296,   277,   261,    -1,   297,    -1,   321,
481       265,   257,    -1,   282,    -1,   279,   265,   283,   265,   251,        -1,   329,   277,   300,   277,   269,    -1,   326,   277,   300,
482        -1,   279,   265,   284,   265,   240,   265,   251,    -1,   279,       277,   269,   277,   269,    -1,   326,   277,   300,   277,   269,
483       265,   285,   265,   251,    -1,   279,   265,   286,   265,   251,       277,   269,   277,   245,    -1,   298,    -1,   317,   277,   300,
484        -1,   288,   265,   283,   265,   253,    -1,   289,   265,   261,       277,   269,    -1,   316,   277,   300,   277,   269,   277,   269,
485       265,   257,     4,   255,    -1,   294,   265,   261,   265,   261,        -1,   316,   277,   300,   277,   269,   277,   269,   277,   245,
486       265,   257,     4,   255,    -1,   298,   265,   261,   265,   257,        -1,   314,    -1,   324,    -1,   315,   277,   300,   277,   273,
487         4,   255,    -1,   299,   265,   261,   265,   261,   265,   257,        -1,   325,   277,   300,   277,   273,    -1,   330,   277,   300,
488         4,   255,    -1,   279,   265,   238,    -1,   313,   265,   256,       277,   273,   277,   273,    -1,   323,   277,   300,   277,   273,
489        -1,   291,   265,   257,   265,   239,    -1,   291,   265,   257,       277,   273,   277,   269,    -1,   319,   277,   300,   277,   273,
490        -1,   301,   265,   257,   265,   239,    -1,   301,   265,   257,       277,   273,    -1,   318,   277,   300,   277,   273,   277,   273,
491        -1,   291,   265,   261,    -1,   301,   265,   261,    -1,   287,       277,   269,    -1,   299,    -1,   296,   277,   300,   277,   261,
492       265,   242,    -1,   288,   265,   243,    -1,   291,   265,   251,        -1,   296,   277,   303,   277,   246,   277,   261,    -1,   296,
493       265,   244,    -1,   295,   265,   251,   265,   245,   265,   245,       277,   304,   277,   261,    -1,   296,   277,   305,   277,   261,
494        -1,   296,   265,   251,   265,   246,    -1,   307,   265,   251,        -1,   309,   277,   300,   277,   263,    -1,   334,   277,   300,
495       265,   244,   265,   247,   265,   248,    -1,   301,   265,   251,        -1,   306,    -1,   307,    -1,   328,    -1,   327,   277,   300,
496       265,   244,    -1,   304,   265,   251,   265,   247,    -1,   305,       277,   257,   277,   258,   277,   259,    -1,   313,   277,   273,
497       265,   251,   265,   248,    -1,   306,   265,   251,   265,   249,       277,   269,     4,   266,    -1,   318,   277,   273,   277,   273,
498        -1,   308,   265,   251,   265,   250,    -1,   257,     4,   255,       277,   269,     4,   266,    -1,   322,   277,   273,   277,   269,
499        -1,   239,   265,   257,     4,   255,    -1,   309,    -1,   310,         4,   266,    -1,   323,   277,   273,   277,   273,   277,   269,
500        -1,   290,    -1,   300,    -1,   282,    -1,   254,   265,   252,         4,   266,    -1,   296,   277,   244,    -1,   342,   277,   268,
501       265,   251,    -1,   274,   265,   254,   265,   252,   265,   251,        -1,   315,   277,   269,   277,   245,    -1,   315,   277,   269,
502        -1,   253,   265,   251,    -1,   261,    -1,   261,    -1,   257,        -1,   325,   277,   269,   277,   245,    -1,   325,   277,   269,
503        -1,   261,    -1,   261,    -1,   257,    -1,   258,    -1,   261,        -1,   296,   277,   261,    -1,   328,    -1,   315,   277,   273,
504        -1,   261,    -1,   261,    -1,   257,    -1,   264,    -1,   257,        -1,   325,   277,   273,    -1,   308,   277,   248,    -1,   309,
505        -1,   264,    -1,   261,    -1,   258,    -1,   261,    -1,   257,       277,   249,    -1,   315,   277,   261,   277,   251,    -1,   319,
506        -1,   262,    -1,   257,   262,    -1,   259,     5,   259,    -1,       277,   261,   277,   252,   277,   252,    -1,   320,   277,   261,
507         6,   259,     5,   259,    -1,     7,   259,     5,   259,    -1,       277,   253,    -1,   333,   277,   261,   277,   251,   277,   254,
508       260,    -1,   259,   260,    -1,     8,    -1,     9,    -1,    10,       277,   255,    -1,   325,   277,   261,   277,   251,    -1,   330,
509        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,       277,   261,   277,   254,    -1,   331,   277,   261,   277,   255,
510        -1,    16,    -1,    17,    -1,   260,    -1,     9,   259,    -1,        -1,   332,   277,   261,   277,   256,    -1,   335,   277,   261,
511        10,   259,    -1,    11,   259,    -1,    12,   259,    -1,    13,       277,   260,    -1,   336,   277,   261,   277,   268,    -1,   337,
512       259,    -1,    14,   259,    -1,    15,   259,    -1,    16,   259,       277,   261,   277,   268,    -1,   269,     4,   266,    -1,   245,
513        -1,    17,   259,    -1,    18,    -1,    19,    -1,    20,    -1,       277,   269,     4,   266,    -1,   338,    -1,   339,    -1,   314,
514        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,        -1,   324,    -1,   299,    -1,   297,    -1,   321,    -1,   298,
515        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,        -1,   328,    -1,   264,   277,   262,   277,   261,    -1,   290,
516        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,       277,   264,   277,   262,   277,   261,    -1,   263,   277,   261,
517        36,    -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,        -1,   310,    -1,   311,    -1,   312,    -1,   273,    -1,   273,
518        41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,        -1,   269,    -1,   273,    -1,   273,    -1,   289,    -1,   269,
519        46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,        -1,   273,    -1,   273,    -1,   273,    -1,   270,    -1,   273,
520        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,        -1,   273,    -1,   273,    -1,   269,    -1,   276,    -1,   276,
521        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,        -1,   267,    -1,   266,     5,   267,    -1,   269,    -1,   276,
522        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,        -1,   273,    -1,   270,    -1,   273,    -1,   269,    -1,   274,
523        66,    -1,    67,    -1,    68,    -1,    69,    -1,     8,    -1,        -1,   269,   274,    -1,   271,     6,   271,    -1,     7,   271,
524         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,         6,   271,    -1,     8,   271,     6,   271,    -1,   272,    -1,
525        14,    -1,    15,    -1,    16,    -1,    17,    -1,    70,    -1,       271,   272,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
526         3,    -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,        -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,
527        75,    -1,    76,    -1,     6,    -1,     7,    -1,     5,    -1,        -1,    18,    -1,   272,    -1,    10,   271,    -1,    11,   271,
528        77,    -1,    78,    -1,    79,    -1,    80,    -1,     4,    -1,        -1,    12,   271,    -1,    13,   271,    -1,    14,   271,    -1,
529        81,    -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,        15,   271,    -1,    16,   271,    -1,    17,   271,    -1,    18,
530        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,       271,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,
531        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,        23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,
532        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,        28,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,
533       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,        33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
534       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,        38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,    -1,
535       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,        43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,
536       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,        48,    -1,    49,    -1,    50,    -1,    51,    -1,    52,    -1,
537       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,        53,    -1,    54,    -1,    55,    -1,    56,    -1,    57,    -1,
538       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,        58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,
539       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,        63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1,
540       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,        68,    -1,    69,    -1,    70,    -1,     9,    -1,    10,    -1,
541       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,        11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,
542       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,        16,    -1,    17,    -1,    18,    -1,    71,    -1,     3,    -1,
543       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,        72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,
544       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,        77,    -1,     7,    -1,     8,    -1,     6,    -1,     5,    -1,
545       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,        78,    -1,    79,    -1,    80,    -1,    81,    -1,     4,    -1,
546       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,        82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,
547       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,        87,    -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,
548       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,        92,    -1,    93,    -1,    94,    -1,    95,    -1,    96,    -1,
549       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,        97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,    -1,
550       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,       102,    -1,   103,    -1,   104,    -1,   105,    -1,   106,    -1,
551       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,       107,    -1,   108,    -1,   109,    -1,   110,    -1,   111,    -1,
552       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,       112,    -1,   113,    -1,   114,    -1,   115,    -1,   116,    -1,
553       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,       117,    -1,   118,    -1,   119,    -1,   120,    -1,   121,    -1,
554       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,       122,    -1,   123,    -1,   124,    -1,   125,    -1,   126,    -1,
555       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,       127,    -1,   128,    -1,   129,    -1,   130,    -1,   131,    -1,
556       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,       132,    -1,   133,    -1,   134,    -1,   135,    -1,   136,    -1,
557       265,    -1,   257,    -1,   263,   265,    -1,   263,   257,    -1,       137,    -1,   138,    -1,   139,    -1,   140,    -1,   141,    -1,
558       221,   263,   221,    -1,   222,   263,   222,    -1,   223,    -1,       142,    -1,   143,    -1,   144,    -1,   145,    -1,   146,    -1,
559       224,    -1,   225,    -1,    18,    21,    21,    -1,    24,    22,       147,    -1,   148,    -1,   149,    -1,   150,    -1,   151,    -1,
560        37,    -1,    20,    35,    22,    18,    37,    22,    -1,    21,       152,    -1,   153,    -1,   154,    -1,   155,    -1,   156,    -1,
561        22,    36,    37,    35,    32,    42,    -1,    29,    26,    36,       157,    -1,   158,    -1,   159,    -1,   160,    -1,   161,    -1,
562        37,    -1,    29,    32,    18,    21,    -1,    31,    32,    31,       162,    -1,   163,    -1,   164,    -1,   165,    -1,   166,    -1,
563        88,    30,    32,    21,    18,    29,    -1,    35,    22,    30,       167,    -1,   168,    -1,   169,    -1,   170,    -1,   171,    -1,
564        32,    39,    22,    -1,    36,    22,    37,    -1,    36,    38,       172,    -1,   173,    -1,   174,    -1,   175,    -1,   176,    -1,
565        19,    36,    20,    35,    26,    19,    22,    -1,    38,    31,       177,    -1,   178,    -1,   179,    -1,   180,    -1,   181,    -1,
566        36,    38,    19,    36,    20,    35,    26,    19,    22,    -1,       182,    -1,   183,    -1,   184,    -1,   185,    -1,   186,    -1,
567        20,    25,    18,    31,    31,    22,    29,    -1,    18,    39,       187,    -1,   188,    -1,   189,    -1,   190,    -1,   191,    -1,
568        18,    26,    29,    18,    19,    29,    22,    88,    22,    31,       192,    -1,   193,    -1,   194,    -1,   195,    -1,   196,    -1,
569        24,    26,    31,    22,    36,    -1,    18,    39,    18,    26,       197,    -1,   198,    -1,   199,    -1,   200,    -1,   201,    -1,
570        29,    18,    19,    29,    22,    88,    18,    38,    21,    26,       202,    -1,   203,    -1,   204,    -1,   205,    -1,   206,    -1,
571        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,       207,    -1,   208,    -1,   209,    -1,   210,    -1,   211,    -1,
572        35,    26,    39,    22,    35,    36,    -1,    20,    25,    18,       212,    -1,   213,    -1,   214,    -1,   215,    -1,   216,    -1,
573        31,    31,    22,    29,    36,    -1,    26,    31,    23,    32,       217,    -1,   218,    -1,   219,    -1,   220,    -1,   221,    -1,
574        -1,    19,    38,    23,    23,    22,    35,    88,    23,    26,       277,    -1,   269,    -1,   275,   277,    -1,   275,   269,    -1,
575        29,    29,    -1,    36,    37,    35,    22,    18,    30,    88,       222,   275,   222,    -1,   223,   275,   223,    -1,   224,    -1,
576        20,    32,    38,    31,    37,    -1,    39,    32,    26,    20,       225,    -1,   226,    -1,    19,    22,    22,    -1,    25,    23,
577        22,    88,    20,    32,    38,    31,    37,    -1,    26,    31,        38,    -1,    31,    19,    34,    -1,    39,    32,    31,    19,
578        36,    37,    35,    38,    30,    22,    31,    37,    -1,    22,        34,    -1,    21,    30,    23,    19,    36,    -1,    21,    36,
579        31,    24,    26,    31,    22,    -1,    18,    38,    21,    26,        23,    19,    38,    23,    -1,    22,    23,    37,    38,    36,
580        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        33,    43,    -1,    30,    27,    37,    38,    -1,    30,    33,
581        22,    39,    26,    20,    22,    88,    33,    18,    35,    18,        19,    22,    -1,    19,    30,    30,    -1,    32,    33,    32,
582        30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,        89,    31,    33,    22,    19,    30,    -1,    36,    23,    31,
583        32,    88,    32,    38,    37,    33,    38,    37,    88,    21,        33,    40,    23,    -1,    37,    23,    38,    -1,    37,    39,
584        22,    39,    26,    20,    22,    36,    -1,    18,    38,    21,        20,    37,    21,    36,    27,    20,    23,    -1,    39,    32,
585        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        37,    39,    20,    37,    21,    36,    27,    20,    23,    -1,
586        21,    22,    39,    26,    20,    22,    -1,    18,    38,    21,        37,    23,    30,    23,    21,    38,    -1,    21,    26,    19,
587        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        32,    32,    23,    30,    -1,    19,    40,    19,    27,    30,
588        21,    35,    26,    39,    22,    35,    88,    33,    18,    35,        19,    20,    30,    23,    89,    23,    32,    25,    27,    32,
589        18,    30,    22,    37,    22,    35,    -1,    18,    38,    21,        23,    37,    -1,    19,    40,    19,    27,    30,    19,    20,
590        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        30,    23,    89,    19,    39,    22,    27,    33,    89,    33,
591        21,    35,    26,    39,    22,    35,    -1,    18,    38,    21,        39,    38,    34,    39,    38,    89,    22,    36,    27,    40,
592        26,    32,    88,    32,    38,    37,    33,    38,    37,    88,        23,    36,    37,    -1,    21,    26,    19,    32,    32,    23,
593        20,    25,    18,    31,    31,    22,    29,    88,    33,    18,        30,    37,    -1,    27,    32,    24,    33,    -1,    21,    26,
594        35,    18,    30,    22,    37,    22,    35,    -1,    18,    38,        19,    32,    32,    23,    30,    89,    21,    33,    39,    32,
595        21,    26,    32,    88,    32,    38,    37,    33,    38,    37,        38,    -1,    21,    26,    19,    32,    32,    23,    30,    89,
596        88,    20,    25,    18,    31,    31,    22,    29,    -1,    18,        27,    32,    24,    33,    -1,    20,    39,    24,    24,    23,
597        38,    21,    26,    32,    88,    32,    38,    37,    33,    38,        36,    89,    24,    27,    30,    30,    -1,    37,    38,    36,
598        37,    88,    37,    42,    33,    22,    -1,    18,    39,    18,        23,    19,    31,    89,    21,    33,    39,    32,    38,    -1,
599        26,    29,    18,    19,    29,    22,    88,    30,    26,    21,        40,    33,    27,    21,    23,    89,    21,    33,    39,    32,
600        26,    88,    26,    31,    33,    38,    37,    88,    21,    35,        38,    -1,    38,    33,    38,    19,    30,    89,    40,    33,
601        26,    39,    22,    35,    36,    -1,    30,    26,    21,    26,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
602        88,    26,    31,    33,    38,    37,    88,    21,    22,    39,        38,    33,    38,    19,    30,    89,    40,    33,    27,    21,
603        26,    20,    22,    88,    33,    18,    35,    18,    30,    22,        23,    89,    21,    33,    39,    32,    38,    89,    31,    19,
604        37,    22,    35,    -1,    30,    26,    21,    26,    88,    26,        42,    -1,    27,    32,    37,    38,    36,    39,    31,    23,
605        31,    33,    38,    37,    88,    33,    32,    35,    37,    88,        32,    38,    -1,    23,    32,    25,    27,    32,    23,    -1,
606        33,    18,    35,    18,    30,    22,    37,    22,    35,    -1,        33,    32,    89,    22,    23,    31,    19,    32,    22,    -1,
607        30,    26,    21,    26,    88,    26,    31,    33,    38,    37,        33,    32,    89,    22,    23,    31,    19,    32,    22,    89,
608        88,    21,    22,    39,    26,    20,    22,    36,    -1,    30,        26,    33,    30,    22,    -1,    34,    23,    36,    37,    27,
609        26,    21,    26,    88,    26,    31,    33,    38,    37,    88,        37,    38,    23,    32,    38,    -1,    19,    39,    22,    27,
610        21,    22,    39,    26,    20,    22,    -1,    30,    26,    21,        33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
611        26,    88,    26,    31,    33,    38,    37,    88,    21,    35,        23,    40,    27,    21,    23,    89,    34,    19,    36,    19,
612        26,    39,    22,    35,    88,    33,    18,    35,    18,    30,        31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
613        22,    37,    22,    35,    -1,    30,    26,    21,    26,    88,        33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
614        26,    31,    33,    38,    37,    88,    21,    35,    26,    39,        23,    40,    27,    21,    23,    37,    -1,    19,    39,    22,
615        22,    35,    -1,    30,    26,    21,    26,    88,    26,    31,        27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
616        33,    38,    37,    88,    33,    32,    35,    37,    -1,    30,        22,    23,    40,    27,    21,    23,    -1,    19,    39,    22,
617        26,    21,    26,    88,    26,    31,    33,    38,    37,    88,        27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
618        20,    25,    18,    31,    31,    22,    29,    -1,    30,    26,        22,    36,    27,    40,    23,    36,    89,    34,    19,    36,
619        21,    26,    88,    26,    31,    33,    38,    37,    88,    37,        19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,
620        42,    33,    22,    -1,    30,    26,    21,    26,    88,    26,        27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
621        31,    33,    38,    37,    -1,    39,    32,    29,    38,    30,        22,    36,    27,    40,    23,    36,    -1,    19,    39,    22,
622        22,    -1,    19,    42,    37,    22,    36,    -1,    33,    22,        27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
623        35,    20,    22,    31,    37,    18,    24,    22,    -1,    35,        21,    26,    19,    32,    32,    23,    30,    89,    34,    19,
624        22,    36,    22,    37,    -1,    30,    26,    36,    20,    22,        36,    19,    31,    23,    38,    23,    36,    -1,    19,    39,
625        29,    29,    18,    31,    22,    32,    38,    36,    -1,    22,        22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
626        20,    25,    32,    -1,    34,    38,    26,    37,    -1        89,    21,    26,    19,    32,    32,    23,    30,    -1,    19,
627          39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
628          38,    89,    38,    43,    34,    23,    -1,    19,    40,    19,
629          27,    30,    19,    20,    30,    23,    89,    31,    27,    22,
630          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
631          27,    40,    23,    36,    37,    -1,    31,    27,    22,    27,
632          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
633          27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
634          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
635          32,    34,    39,    38,    89,    34,    33,    36,    38,    89,
636          34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
637          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
638          89,    22,    23,    40,    27,    21,    23,    37,    -1,    31,
639          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
640          22,    23,    40,    27,    21,    23,    -1,    31,    27,    22,
641          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
642          27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
643          23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,
644          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
645          -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
646          36,    39,    31,    23,    32,    38,    37,    -1,    31,    27,
647          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
648          36,    27,    40,    23,    36,    -1,    31,    27,    22,    27,
649          89,    27,    32,    34,    39,    38,    89,    34,    33,    36,
650          38,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
651          39,    38,    89,    21,    26,    19,    32,    32,    23,    30,
652          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
653          38,    89,    38,    43,    34,    23,    -1,    31,    27,    22,
654          27,    89,    27,    32,    34,    39,    38,    -1,    37,    23,
655          36,    40,    23,    36,    -1,    40,    33,    30,    39,    31,
656          23,    -1,    31,    39,    38,    23,    -1,    37,    33,    30,
657          33,    -1,    20,    43,    38,    23,    37,    -1,    34,    23,
658          36,    21,    23,    32,    38,    19,    25,    23,    -1,    36,
659          23,    37,    23,    38,    -1,    31,    27,    37,    21,    23,
660          30,    30,    19,    32,    23,    33,    39,    37,    -1,    23,
661          21,    26,    33,    -1,    35,    39,    27,    38,    -1
662  };  };
663    
664  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
665  static const unsigned short yyrline[] =  static const yytype_uint16 yyrline[] =
666  {  {
667         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,         0,    95,    95,    96,    99,   100,   101,   102,   105,   106,
668        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,       107,   108,   109,   112,   113,   114,   115,   116,   117,   118,
669       105,   106,   107,   108,   109,   110,   113,   114,   115,   116,       119,   120,   122,   123,   124,   125,   126,   127,   128,   129,
670       117,   118,   121,   122,   123,   124,   125,   126,   129,   130,       132,   133,   134,   135,   136,   137,   138,   141,   142,   143,
671       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       144,   145,   146,   147,   150,   151,   152,   153,   156,   159,
672       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
673       151,   154,   155,   156,   157,   158,   159,   162,   163,   164,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
674       165,   168,   169,   172,   173,   176,   177,   178,   179,   180,       182,   183,   184,   185,   186,   187,   188,   189,   192,   193,
675       181,   182,   183,   184,   187,   188,   191,   192,   195,   196,       194,   195,   196,   197,   200,   201,   202,   203,   206,   209,
676       197,   200,   201,   204,   207,   210,   213,   216,   219,   222,       212,   213,   216,   217,   220,   221,   222,   223,   224,   225,
677       225,   226,   229,   232,   235,   238,   241,   242,   243,   244,       226,   227,   228,   229,   230,   233,   234,   237,   238,   241,
678       250,   251,   254,   255,   258,   259,   260,   264,   265,   268,       242,   243,   244,   245,   246,   247,   250,   251,   254,   257,
679       269,   270,   271,   272,   273,   274,   275,   276,   277,   280,       258,   259,   262,   265,   268,   271,   274,   275,   278,   281,
680       281,   282,   283,   284,   285,   286,   287,   288,   289,   291,       284,   287,   290,   291,   294,   297,   300,   303,   306,   309,
681       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       310,   313,   314,   315,   316,   324,   325,   328,   329,   332,
682       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,       333,   334,   338,   339,   342,   343,   344,   345,   346,   347,
683       291,   291,   291,   291,   291,   292,   292,   292,   292,   292,       348,   349,   350,   351,   354,   355,   356,   357,   358,   359,
684       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       360,   361,   362,   363,   365,   365,   365,   365,   365,   365,
685       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       365,   365,   365,   365,   365,   365,   365,   365,   365,   365,
686       292,   293,   293,   293,   293,   293,   293,   293,   293,   293,       365,   365,   365,   365,   365,   365,   365,   365,   365,   365,
687       293,   294,   294,   294,   294,   294,   294,   294,   294,   294,       366,   366,   366,   366,   366,   366,   366,   366,   366,   366,
688       294,   294,   294,   295,   295,   295,   295,   295,   295,   295,       366,   366,   366,   366,   366,   366,   366,   366,   366,   366,
689       296,   296,   296,   296,   296,   297,   297,   297,   297,   298,       366,   366,   366,   366,   366,   366,   367,   367,   367,   367,
690       298,   298,   299,   299,   299,   300,   300,   300,   301,   301,       367,   367,   367,   367,   367,   367,   368,   368,   368,   368,
691       301,   302,   302,   302,   303,   303,   303,   304,   304,   304,       368,   368,   368,   368,   368,   368,   368,   368,   368,   369,
692       305,   305,   305,   306,   306,   306,   307,   307,   307,   308,       369,   369,   369,   369,   369,   369,   370,   370,   370,   370,
693       308,   308,   309,   309,   309,   310,   310,   310,   311,   311,       370,   371,   371,   371,   371,   372,   372,   372,   373,   373,
694       311,   312,   312,   312,   313,   313,   313,   314,   314,   314,       373,   374,   374,   374,   375,   375,   375,   376,   376,   376,
695       315,   315,   315,   316,   316,   316,   317,   317,   317,   318,       377,   377,   377,   378,   378,   378,   379,   379,   379,   380,
696       318,   318,   319,   319,   319,   320,   320,   320,   321,   321,       380,   380,   381,   381,   381,   382,   382,   382,   383,   383,
697       321,   322,   322,   322,   323,   323,   323,   324,   324,   324,       383,   384,   384,   384,   385,   385,   385,   386,   386,   386,
698       325,   325,   325,   326,   326,   326,   327,   327,   327,   328,       387,   387,   387,   388,   388,   388,   389,   389,   389,   390,
699       328,   328,   329,   329,   329,   330,   330,   330,   331,   331,       390,   390,   391,   391,   391,   392,   392,   392,   393,   393,
700       331,   332,   332,   332,   333,   333,   333,   334,   334,   334,       393,   394,   394,   394,   395,   395,   395,   396,   396,   396,
701       335,   335,   335,   336,   336,   336,   337,   337,   337,   338,       397,   397,   397,   398,   398,   398,   399,   399,   399,   400,
702       338,   338,   339,   339,   339,   340,   340,   343,   344,   345,       400,   400,   401,   401,   401,   402,   402,   402,   403,   403,
703       346,   349,   350,   356,   359,   362,   365,   368,   371,   374,       403,   404,   404,   404,   405,   405,   405,   406,   406,   406,
704       377,   380,   383,   386,   389,   392,   395,   398,   401,   404,       407,   407,   407,   408,   408,   408,   409,   409,   409,   410,
705       407,   410,   413,   416,   419,   422,   425,   428,   431,   434,       410,   410,   411,   411,   411,   412,   412,   412,   413,   413,
706       437,   440,   443,   446,   449,   452,   455,   458,   461,   464,       413,   414,   414,   417,   418,   419,   420,   423,   424,   430,
707       467,   470,   473,   476,   479,   482,   485,   488,   491,   494,       433,   436,   439,   442,   445,   448,   451,   454,   457,   460,
708       497,   500,   503       463,   466,   469,   472,   475,   478,   481,   484,   487,   490,
709         493,   496,   499,   502,   505,   508,   511,   514,   517,   520,
710         523,   526,   529,   532,   535,   538,   541,   544,   547,   550,
711         553,   556,   559,   562,   565,   568,   571,   574,   577,   580,
712         583,   586,   589,   592,   595,   598,   601,   604,   607,   610,
713         613,   616,   619,   622,   625,   628
714  };  };
715  #endif  #endif
716    
717  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
718  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
719     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
720  static const char *const yytname[] =  static const char *const yytname[] =
721  {  {
722    "$end", "error", "$undefined", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
723    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
724    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
725    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
726    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
727    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
728    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
729    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'", "':'",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
730    "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'", "'_'",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
731    "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'", "'\\203'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
732    "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'", "'\\211'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
733    "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'", "'\\217'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
734    "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'", "'\\225'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
735    "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'", "'\\233'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
736    "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'", "'¢'", "'£'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
737    "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'", "'¬'", "'­'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
738    "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'", "'¶'", "'·'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
739    "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'", "'À'", "'Á'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
740    "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
741    "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
742    "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
743    "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'", "'è'", "'é'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
744    "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
745    "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'", "'ü'", "'ý'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
746    "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'", "$accept",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
747    "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
748    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
749    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
750    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
751    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
752    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
753    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
754    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "subscribe_event", "unsubscribe_event", "map_instruction",
755    "instrument_index", "engine_name", "filename", "param_val", "boolean",    "unmap_instruction", "remove_instruction", "get_instruction",
756    "string", "dotnum", "digits", "digit", "number", "char", "text",    "set_instruction", "create_instruction", "reset_instruction",
757    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "clear_instruction", "destroy_instruction", "load_instruction",
758    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "set_chan_instruction", "key_val_list", "buffer_size_type",
759    "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",    "list_instruction", "load_instr_args", "load_engine_args",
760    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "instr_load_mode", "device_index", "audio_channel_index",
761    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "audio_output_type_name", "midi_input_port_index",
762    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "midi_input_channel_index", "midi_input_type_name", "midi_bank_msb",
763    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "midi_bank_lsb", "midi_prog", "volume_value", "sampler_channel",
764    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "instrument_index", "engine_name", "filename", "entry_name",
765    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "param_val_list", "param_val", "boolean", "string", "dotnum", "digits",
766    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "digit", "number", "char", "text", "stringval", "SP", "LF", "CR", "ADD",
767    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "GET", "MAP", "UNMAP", "CLEAR", "CREATE", "DESTROY", "LIST", "LOAD",
768    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE",
769    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
770      "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",
771      "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
772      "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",
773      "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
774      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
775      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
776      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
777      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
778      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
779      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
780      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
781      "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",
782      "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER", "VOLUME", "MUTE", "SOLO",
783    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0
784  };  };
785  #endif  #endif
# Line 594  static const char *const yytname[] = Line 787  static const char *const yytname[] =
787  # ifdef YYPRINT  # ifdef YYPRINT
788  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
789     token YYLEX-NUM.  */     token YYLEX-NUM.  */
790  static const unsigned short yytoknum[] =  static const yytype_uint16 yytoknum[] =
791  {  {
792         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
793        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
794        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
795        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
796        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
797       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
798       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
799        33,    36,    37,    38,    40,    41,    42,    47,    58,    59,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
800        60,    62,    63,    64,    91,    92,    93,    94,    95,   123,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
801       124,   125,   126,   128,   129,   130,   131,   132,   133,   134,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
802       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
803       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
804       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
805       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
806       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
807       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
808       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
809       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
810       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
811       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
812       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
813       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
814       255,    39,    34,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
815  };  };
816  # endif  # endif
817    
818  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
819  static const unsigned short yyr1[] =  static const yytype_uint16 yyr1[] =
820  {  {
821         0,   226,   227,   227,   228,   228,   228,   228,   229,   229,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
822       229,   229,   229,   230,   230,   230,   230,   230,   230,   230,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
823       230,   230,   230,   230,   230,   230,   231,   231,   231,   231,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
824       231,   231,   232,   232,   232,   232,   232,   232,   233,   233,       232,   232,   232,   232,   232,   232,   232,   233,   233,   233,
825       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,       233,   233,   233,   233,   234,   234,   234,   234,   235,   236,
826       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,       237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
827       233,   234,   234,   234,   234,   234,   234,   235,   235,   235,       237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
828       235,   236,   236,   237,   237,   238,   238,   238,   238,   238,       237,   237,   237,   237,   237,   237,   237,   237,   238,   238,
829       238,   238,   238,   238,   239,   239,   240,   240,   241,   241,       238,   238,   238,   238,   239,   239,   239,   239,   240,   241,
830       241,   242,   242,   243,   244,   245,   246,   247,   248,   249,       242,   242,   243,   243,   244,   244,   244,   244,   244,   244,
831       250,   250,   251,   252,   253,   254,   255,   255,   255,   255,       244,   244,   244,   244,   244,   245,   245,   246,   246,   247,
832       256,   256,   257,   257,   258,   258,   258,   259,   259,   260,       247,   247,   247,   247,   247,   247,   248,   248,   249,   250,
833       260,   260,   260,   260,   260,   260,   260,   260,   260,   261,       250,   250,   251,   252,   253,   254,   255,   255,   256,   257,
834       261,   261,   261,   261,   261,   261,   261,   261,   261,   262,       258,   259,   260,   260,   261,   262,   263,   264,   265,   266,
835       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       266,   267,   267,   267,   267,   268,   268,   269,   269,   270,
836       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       270,   270,   271,   271,   272,   272,   272,   272,   272,   272,
837       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       272,   272,   272,   272,   273,   273,   273,   273,   273,   273,
838       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       273,   273,   273,   273,   274,   274,   274,   274,   274,   274,
839       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
840       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
841       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
842       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
843       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
844       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
845       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
846       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
847       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
848       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
849       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
850       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
851       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
852       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
853       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
854       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
855       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
856       262,   262,   262,   262,   262,   262,   262,   263,   263,   263,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
857       263,   264,   264,   265,   266,   267,   268,   269,   270,   271,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
858       272,   273,   274,   275,   276,   277,   278,   279,   280,   281,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
859       282,   283,   284,   285,   286,   287,   288,   289,   290,   291,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
860       292,   293,   294,   295,   296,   297,   298,   299,   300,   301,       274,   274,   274,   275,   275,   275,   275,   276,   276,   277,
861       302,   303,   304,   305,   306,   307,   308,   309,   310,   311,       278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
862       312,   313,   314       288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
863         298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
864         308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
865         318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
866         328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
867         338,   339,   340,   341,   342,   343
868  };  };
869    
870  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
871  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
872  {  {
873         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
874         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
875         3,     3,     3,     5,     1,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
876         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
877         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,         1,     1,     1,     1,    15,    17,    17,    19,     7,     3,
878         5,     7,     9,     7,     9,     1,     5,     7,     5,     5,         1,     1,     5,     7,     9,     1,     5,     7,     9,     1,
879         5,     7,     9,     7,     9,     3,     3,     5,     3,     5,         1,     5,     5,     7,     9,     7,     9,     1,     5,     7,
880         3,     3,     3,     3,     3,     5,     7,     5,     9,     5,         5,     5,     5,     3,     1,     1,     1,     9,     7,     9,
881         5,     5,     5,     5,     3,     5,     1,     1,     1,     1,         7,     9,     3,     3,     5,     3,     5,     3,     3,     1,
882         1,     5,     7,     3,     1,     1,     1,     1,     1,     1,         3,     3,     3,     3,     5,     7,     5,     9,     5,     5,
883           5,     5,     5,     5,     5,     3,     5,     1,     1,     1,
884           1,     1,     1,     1,     1,     1,     5,     7,     3,     1,
885         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     2,     3,     4,     4,     1,     2,     1,  
886         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
887         2,     2,     2,     2,     2,     2,     2,     2,     2,     1,         3,     1,     1,     1,     1,     1,     1,     1,     2,     3,
888           4,     4,     1,     2,     1,     1,     1,     1,     1,     1,
889           1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
890           2,     2,     2,     2,     1,     1,     1,     1,     1,     1,
891         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
892         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
893         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 707  static const unsigned char yyr2[] = Line 909  static const unsigned char yyr2[] =
909         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
910         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
911         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
912         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,         1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
913         2,     3,     3,     1,     1,     1,     3,     3,     6,     7,         1,     1,     3,     3,     3,     5,     5,     6,     7,     4,
914         4,     4,     9,     6,     3,     9,    11,     7,    17,    30,         4,     3,     9,     6,     3,     9,    11,     6,     7,    17,
915         8,     4,    11,    12,    11,    10,     6,    29,    20,    19,        30,     8,     4,    13,    12,    11,    12,    11,    17,    21,
916        29,    19,    30,    20,    17,    28,    27,    25,    18,    17,        10,     6,     9,    14,    10,    29,    20,    19,    29,    19,
917        27,    17,    15,    18,    15,    10,     6,     5,    10,     5,        30,    20,    17,    28,    27,    25,    18,    17,    27,    15,
918        13,     4,     4        16,    17,    15,    18,    15,    10,     6,     6,     4,     4,
919           5,    10,     5,    13,     4,     4
920  };  };
921    
922  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
923     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
924     means the default is an error.  */     means the default is an error.  */
925  static const unsigned short yydefact[] =  static const yytype_uint16 yydefact[] =
926  {  {
927         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
928         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
929         0,     0,     0,     0,     0,     0,    24,    25,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
930         0,     0,     0,     0,     0,     0,     0,     0,     0,     1,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
931       364,   365,     2,     0,     9,   216,   211,   209,   210,   119,         0,     0,     0,     0,     0,     0,     1,   400,   401,     2,
932       120,   121,   122,   123,   124,   125,   126,   127,   128,   139,         0,     9,   252,   247,   246,   244,   245,   154,   155,   156,
933       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       157,   158,   159,   160,   161,   162,   163,   174,   175,   176,
934       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
935       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
936       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
937       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
938       190,   201,   203,   204,   205,   206,   207,   208,   212,   213,       217,   218,   219,   220,   221,   222,   223,   224,   225,   236,
939       214,   215,   217,   218,   219,   220,   221,   222,   223,   224,       238,   239,   240,   241,   242,   243,   248,   249,   250,   251,
940       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
941       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
942       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
943       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,       283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
944       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
945       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
946       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
947       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
948       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,       333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
949       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,       343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
950       325,   326,   327,   328,   329,   330,   331,   332,   333,   334,       353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
951       335,   336,   337,   338,   339,   340,   341,   342,   343,   344,       363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
952       345,   346,   347,   348,   349,   350,   351,   352,   353,   354,       373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
953       355,   356,   363,    12,   129,    11,   112,    10,     0,     0,       383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
954         0,     0,     0,     0,     0,     0,     0,     0,     0,   366,       399,    12,   164,    11,   147,    10,     0,     0,     0,     0,
955         0,     0,   367,     0,     0,     0,     0,     0,   374,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
956         0,     3,   119,   120,   121,   122,   123,   124,   125,   126,         0,   402,     0,     0,     0,   403,     0,     0,   404,     0,
957       127,   128,   130,   117,   131,   132,   133,   134,   135,   136,         0,     0,     0,   414,     0,     0,     0,     3,   154,   155,
958       137,   138,   202,   191,   192,   193,   194,   195,   196,   197,       156,   157,   158,   159,   160,   161,   162,   163,   165,   152,
959       198,   199,   200,   113,     0,    13,     0,     0,     0,     0,       166,   167,   168,   169,   170,   171,   172,   173,   237,   226,
960        14,     0,    38,    43,    55,     0,    47,     0,     0,     0,       227,   228,   229,   230,   231,   232,   233,   234,   235,   148,
961         0,     0,    39,     0,    48,     0,     0,     0,     0,     0,         0,    13,     0,     0,     0,     0,     0,     0,    16,     0,
962         0,    15,     0,     0,    16,     0,     0,     0,     0,     0,        50,    55,    67,    74,    75,     0,    59,     0,     0,     0,
963        17,    90,    88,    89,     0,    18,     0,     0,     0,     0,         0,     0,    51,     0,    60,     0,     0,     0,    76,     0,
964         0,     0,    20,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,    14,     0,    15,     0,     0,    27,    89,
965         0,     0,     0,     0,    21,    26,    30,    29,    28,    27,         0,     0,    17,     0,     0,    18,     0,     0,     0,     0,
966        31,    22,    32,    36,    35,    34,    33,    37,     0,     0,         0,    19,   112,   114,   111,   109,   113,   110,   115,     0,
967         0,   370,   371,   412,     0,     0,     0,     0,   118,     0,        20,     0,     0,    21,     0,     0,     0,     0,    22,     0,
968         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
969         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,    23,    30,    34,    33,    32,    31,    36,    35,    24,
970         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        37,    41,    40,    39,    38,    43,    42,   394,    25,   393,
971         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        26,     0,     0,     0,     0,   409,   410,   465,     0,     0,
972         0,     0,     0,     0,     0,     0,     0,     0,   409,     0,         0,     0,     0,     0,   153,     0,     0,     0,     0,     0,
973         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
974         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
975         0,     0,     0,     0,    68,    70,   120,   121,   122,   123,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
976       124,   125,   126,   127,   128,    71,    72,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
977         0,     0,     0,     0,    73,     0,   105,     0,    74,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   396,
978       104,    19,   102,     0,     0,     0,     0,     0,     0,    65,       395,     0,   406,     0,     0,     0,   462,     0,     0,   405,
979         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
980         0,     0,     0,    66,   111,   110,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
981         0,    23,   368,     0,   373,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,    73,     0,   155,   156,
982         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       157,   158,   159,   160,   161,   162,   163,     0,   129,     0,
983         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,    85,    87,    90,    91,     0,     0,     0,
984         0,     0,     0,     0,     0,     0,     0,   358,     0,   357,         0,     0,     0,     0,    92,     0,   137,     0,    93,     0,
985         0,     0,     0,     0,     0,   411,     0,     0,     0,     0,       136,    49,   134,     0,     0,     0,     0,     0,     0,     0,
986         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,        82,     0,     0,     0,     0,     0,     0,     0,     0,     0,
987         0,     0,     0,     0,   381,     0,     0,     0,   369,     0,         0,     0,     0,     0,     0,     0,    83,   146,   145,     0,
988         0,     0,     0,     0,     0,     0,     0,    56,     0,     0,         0,     0,     0,     0,     0,    88,   407,     0,   413,   417,
989         0,    86,    87,    58,    59,    60,    49,     0,    44,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
990         0,     0,    50,     0,    40,     0,     0,     0,    67,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
991        69,     0,     0,     0,     0,     0,   361,   360,   359,   362,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
992         0,   103,     0,    93,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
993         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   464,     0,     0,     0,
994         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
995         0,     0,   386,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
996         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,   408,     0,     0,     0,     0,     0,
997         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,    68,     0,     0,     0,
998         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       107,   108,    70,    71,    72,    61,     0,    56,     0,     0,
999         0,     0,     0,     0,     0,     0,   375,     0,   377,     0,         0,    62,     0,     0,    52,     0,     0,     0,   130,     0,
1000         0,   377,     0,     0,     0,    57,    45,     0,    53,     0,         0,     0,     0,    84,     0,    86,     0,     0,     0,     0,
1001        41,    51,     0,     0,     0,   209,   210,    84,   106,   109,         0,   397,   398,     0,   135,     0,   118,     0,     0,     0,
1002         0,   117,   108,   107,     0,     0,     0,     0,     0,    91,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1003         0,     0,     0,     0,     0,     0,    75,    94,     0,    95,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1004        77,    96,    79,    80,    97,    81,    98,    82,    99,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1005         0,     0,    83,   100,   101,    61,     0,    63,     0,     0,         0,   431,     0,   456,     0,   422,     0,     0,     0,     0,
1006         0,     0,     0,     0,     0,     0,   380,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1007         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1008         0,     0,     0,     0,     0,     0,     0,     0,     0,   406,         0,     0,     0,     0,     0,   458,   459,     0,     0,     0,
1009         0,     0,     0,     0,     0,     0,     0,     0,   376,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1010         0,     0,   407,     0,    46,    54,    52,    42,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
1011        85,     0,     0,   114,     0,     0,     0,     0,    92,     0,         0,   418,     0,     0,   418,     0,     0,     0,     0,    69,
1012         0,     0,     0,    76,     0,    62,    64,     0,     0,     0,        57,     0,    65,     0,    53,     0,    63,     0,     0,   131,
1013         0,     0,     0,     0,     0,     0,     0,   115,   116,     0,        48,     0,     0,     0,     0,   244,   245,   105,   139,   141,
1014         0,   385,     0,     0,     0,     0,     0,     0,     0,     0,       144,     0,   152,   143,   142,     0,     0,     0,     0,     0,
1015         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       116,     0,     0,     0,     0,     0,     0,    94,   122,     0,
1016         0,     0,   372,     0,     0,     0,     0,    78,   382,     0,       123,    96,   124,    98,    99,   125,     0,   100,   126,   127,
1017         0,   384,     0,     0,     0,     0,     0,     0,     0,     0,       101,   128,     0,     0,     0,   102,   132,   133,   103,   104,
1018         0,     0,     0,     0,     0,     0,     0,   405,     0,   383,        78,     0,    80,     0,     0,     0,     0,     0,     0,     0,
1019         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,   421,     0,     0,     0,     0,     0,     0,
1020         0,     0,     0,     0,     0,     0,     0,   410,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1021         0,     0,     0,     0,     0,     0,   408,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1022         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,   457,     0,     0,     0,     0,     0,     0,
1023         0,     0,     0,     0,     0,     0,     0,   402,     0,     0,         0,     0,     0,     0,     0,   416,     0,     0,     0,     0,
1024         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,   460,     0,    58,    66,    64,    54,    77,     0,     0,
1025         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,   106,     0,     0,   140,   149,     0,     0,
1026         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,   117,     0,     0,     0,     0,    95,   411,     0,
1027         0,     0,     0,     0,     0,   378,     0,   399,   401,     0,        79,    81,     0,     0,     0,     0,     0,     0,     0,     0,
1028         0,   399,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1029       402,   404,     0,     0,     0,     0,     0,   398,     0,     0,       150,   151,     0,     0,   430,     0,     0,     0,     0,     0,
1030         0,     0,     0,     0,     0,     0,     0,     0,     0,   389,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1031       391,     0,     0,     0,     0,   389,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1032         0,   394,     0,   393,   388,     0,     0,     0,     0,     0,         0,     0,     0,   412,     0,     0,     0,     0,    97,   425,
1033         0,     0,     0,     0,   403,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,   427,     0,     0,     0,     0,
1034         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1035         0,     0,   393,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   455,     0,   424,     0,
1036         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       426,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1037         0,     0,     0,     0,   397,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1038         0,     0,     0,     0,     0,     0,     0,     0,   400,     0,         0,     0,     0,     0,   423,   463,     0,     0,     0,     0,
1039       396,     0,     0,     0,   395,     0,     0,   390,     0,   387,         0,     0,     0,     0,     0,     0,     0,   461,     0,     0,
1040       392,   379         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1041           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1042           0,     0,   452,   449,     0,   449,    44,     0,     0,     0,
1043           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1044           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1045         450,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1046           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1047         419,     0,   447,   451,     0,   428,     0,     0,    45,    46,
1048         138,   119,   120,   121,     0,   447,     0,     0,     0,     0,
1049           0,     0,     0,     0,   452,   454,   428,     0,     0,     0,
1050           0,     0,   446,     0,     0,     0,     0,     0,     0,     0,
1051           0,     0,     0,     0,     0,     0,     0,     0,   437,   439,
1052           0,     0,     0,     0,     0,     0,     0,    47,   437,     0,
1053           0,     0,     0,     0,   442,     0,   441,   436,     0,     0,
1054           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1055         453,     0,     0,     0,     0,     0,     0,   429,     0,     0,
1056           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1057           0,     0,     0,   441,     0,     0,     0,     0,     0,     0,
1058           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1059           0,     0,     0,     0,     0,     0,     0,     0,     0,   445,
1060         432,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1061         434,     0,     0,     0,     0,     0,     0,   448,     0,     0,
1062         444,     0,     0,     0,   443,     0,     0,     0,   438,     0,
1063           0,   435,   440,   420,   433
1064  };  };
1065    
1066  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1067  static const short yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1068  {  {
1069        -1,    12,    13,    14,    15,   384,   391,   330,   372,   351,        -1,    13,    14,    15,    16,   421,   429,   373,   375,   403,
1070       354,   365,   519,   638,   620,   360,   504,   508,   766,   768,       348,   408,   382,   440,   378,   385,   400,   590,   733,   709,
1071       770,   773,   775,   777,   782,   511,   650,   509,   505,   747,       391,   574,   578,  1208,   887,   889,   891,   894,   897,   900,
1072       533,   748,   749,   750,   264,   512,   266,   578,   753,   695,       557,   727,   858,   905,   581,   743,   579,   575,  1209,   867,
1073        42,    43,    16,    17,    18,    19,    20,    21,   507,    22,       868,   606,   869,   870,   871,   272,   582,   274,   438,   874,
1074        23,    24,    25,   325,   332,   333,   334,   386,   387,   388,       802,    49,    50,    17,    18,    19,    20,    21,    22,    23,
1075       389,   366,   335,   374,   336,   337,   338,   339,   340,   341,        24,    25,   899,   577,    26,    27,    28,    29,    30,   341,
1076       522,   342,   376,   343,   344,   345,   346,   347,   348,   525,       350,   351,   352,   530,   422,   423,   424,   425,   426,   353,
1077       526,   527,   528,   621,   622,    26,   390,   378,    27       354,   401,   355,  1211,  1212,  1213,   410,   356,   357,   358,
1078         359,   360,   361,   593,   362,   412,   363,   364,   365,   366,
1079         367,   368,   369,   370,   596,   597,   598,   371,   599,   600,
1080         601,   710,   711,    31,   428,   414,    32
1081  };  };
1082    
1083  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1084     STATE-NUM.  */     STATE-NUM.  */
1085  #define YYPACT_NINF -698  #define YYPACT_NINF -808
1086  static const short yypact[] =  static const yytype_int16 yypact[] =
1087  {  {
1088        54,  -698,  -698,    32,    16,    73,    76,    -2,    24,    80,        23,  -808,  -808,    18,    59,    47,    57,   111,    93,     8,
1089        63,    45,   104,  -196,  1568,  -698,  -102,  -102,  -102,  -102,       102,    29,    95,   132,   -49,  1814,  -808,   -79,   -79,   -79,
1090      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -698,   122,   155,       -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
1091       193,   212,   214,   230,   225,    -5,   215,   234,   218,  -698,       -79,   -79,  -808,   142,   146,   195,   205,   225,   227,   246,
1092      -698,  -698,  -698,    31,  -698,  -698,  -698,  -698,  -698,  -698,       232,   240,   134,    60,   248,   135,  -808,  -808,  -808,  -808,
1093       209,   209,   209,   209,   209,   209,   209,   209,   209,  -698,        44,  -808,  -808,  -808,  -808,  -808,  -808,  -808,   183,   183,
1094      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,       183,   183,   183,   183,   183,   183,   183,  -808,  -808,  -808,
1095      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1096      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1097      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1098      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1099      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1100      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1101      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1102      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1103      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1104      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1105      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1106      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1107      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1108      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1109      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1110      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1111      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1112      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1113      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1114      -698,  -698,  -698,  2230,  -698,  -698,  -698,  -698,   236,    85,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1115        93,    93,    64,    30,   236,    90,    61,    61,   236,  -698,      -808,  2479,  -808,  -808,  -808,  -808,   249,    56,   242,   242,
1116       239,   221,  -698,   222,   240,   223,   232,   243,  -698,   231,       254,    32,    32,    50,   120,   249,   105,    36,    36,  2036,
1117       224,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,       249,  -808,   252,   267,   250,  -808,   253,   265,  -808,   255,
1118      -698,  -698,   209,  -698,   209,   209,   209,   209,   209,   209,       257,   269,   272,  -808,   259,   279,   260,  -808,  -808,  -808,
1119       209,   209,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,   183,  -808,
1120      -698,  -698,  -698,  -698,   241,  -698,   101,   244,   237,   245,       183,   183,   183,   183,   183,   183,   183,   183,  -808,  -808,
1121      -698,  -102,  -698,  -698,  -698,  -102,  -698,  -102,  -102,  -102,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1122      -102,  -102,  -698,  -102,  -698,  -102,  -102,  -102,  -102,   235,       287,  -808,   173,   288,   284,   290,   295,   286,  -808,   -79,
1123       246,  -698,  -102,  -102,  -698,  -102,  -102,   238,   249,   251,      -808,  -808,  -808,  -808,  -808,   -79,  -808,   -79,   -79,   -79,
1124      -698,  -698,  -698,  -698,   250,  -698,  -102,  -102,  -102,   242,       -79,   -79,  -808,   -79,  -808,   -79,   -79,   -79,  -808,   -79,
1125       255,   256,  -698,  -102,  -102,  -102,  -102,  -102,  -102,   247,       -79,   -79,   308,  -808,   -79,  -808,   -79,   309,  -808,  -808,
1126       252,   258,   233,   254,  -698,  -698,  -698,  -698,  -698,  -698,       282,   310,  -808,   -79,   -79,  -808,   -79,   -79,   175,   312,
1127      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -102,   253,       320,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,   307,
1128       267,  -698,  -698,  -698,   248,   266,   268,   270,  -698,   273,      -808,   -79,   -79,  -808,   -79,   302,   328,   326,  -808,   -79,
1129       272,   286,   287,   282,   288,    60,   281,   281,   281,   281,       -79,   -79,   -79,   -79,   -79,   318,   332,   333,   324,   330,
1130       281,   281,   281,   281,   281,   281,   281,   289,   290,  2230,       331,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1131      2230,   226,   226,   291,   295,   293,   279,   -28,  2230,   226,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  2479,  2036,  -808,
1132       296,   283,   297,    20,   226,   226,   226,   226,  2448,   298,      -808,   -79,   329,   345,   334,  -808,  -808,  -808,   327,   346,
1133       299,   280,   285,   306,   226,   302,   305,   317,  -698,   303,       364,   367,   356,   371,  -808,   347,   370,   374,   392,   385,
1134       309,   311,   320,   321,   318,   322,   324,  -102,  -102,  -102,       390,   377,   376,    45,   388,   388,   388,   388,   388,   388,
1135      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,       388,   388,   388,   388,   388,   388,   388,   394,   391,   391,
1136      -102,  -102,   325,   326,  1789,  1789,   209,   209,   209,   209,       395,   396,   398,  2479,  2479,   391,   391,   399,   400,   402,
1137       209,   209,   209,   209,   209,  -698,  -698,   327,   328,   331,       393,    -3,  2479,   391,   405,   403,   406,    24,   391,   391,
1138       323,   335,  1789,  1789,  -698,  -102,  -698,  -102,  -698,  -102,       391,   391,  2698,   407,   413,   401,   386,   404,   408,  2479,
1139      2230,  -698,  -698,   332,   336,   343,   333,   344,   340,  -698,      -808,   391,  -808,   411,   412,   414,  -808,   409,   415,  -808,
1140      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,       416,   417,   419,   421,   418,   425,   428,   420,   422,   424,
1141      -102,  -102,  -102,  -698,  2230,  -698,   350,   342,   356,   355,       -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
1142       358,  -698,  -698,   337,  -698,   354,   361,   351,   352,   359,       -79,   -79,   -79,   -79,   -79,   -79,  -808,   430,   183,   183,
1143       360,   362,   301,   226,     1,   226,   226,  2230,   226,  2230,       183,   183,   183,   183,   183,   183,   183,   -79,  -808,   -79,
1144      2230,   226,   226,   226,   226,  2230,  2230,   226,   353,   304,       431,   432,   434,  2036,  2036,  -808,  -808,   435,   436,   439,
1145      2230,  2230,   363,   365,   310,   348,   366,  2230,  1126,  -698,       429,   437,  2036,  2036,  -808,   -79,  -808,   -79,  -808,   -79,
1146      1347,   226,   -74,   226,   367,  -698,   312,   369,   373,   372,      2479,  -808,  -808,   442,   440,   447,   438,    84,   443,   445,
1147       226,   226,   226,   226,   226,   226,   226,   226,   226,  2230,      -808,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,
1148       226,  2230,   226,   380,  -698,   381,   386,   383,  -698,   368,       -79,   -79,   -79,   -79,   -79,   -79,  -808,  2479,  -808,   451,
1149       371,   385,   334,   390,   387,   388,   389,  -698,   370,   391,       448,   423,   456,   444,   460,  -808,  -808,   446,  -808,  -808,
1150      -102,  -698,  -698,  -698,  -698,  -698,  -698,  1789,  2230,  -102,       455,   462,   458,   459,   461,   463,   464,   344,   470,   467,
1151      -102,  -102,  -698,  1789,  2230,  -102,   338,   393,  -102,  2666,       474,   391,    58,   391,   391,  2479,   391,  2479,  2479,   391,
1152      -102,   339,   392,   394,   378,   341,  -698,  2230,  -698,  -698,       391,   391,   391,  2479,   391,  2479,   391,   350,   391,   391,
1153      -102,  -698,  -102,  -698,   347,   395,   397,   398,   399,  -102,       351,   466,   354,  2479,  2479,   468,   471,   449,   469,   472,
1154      -102,  -102,  -102,  -102,  -102,  -102,  -102,  -102,  2884,  -102,      1370,  1592,   391,    -6,   391,   473,  -808,   450,   478,   480,
1155      3102,  -102,   376,   396,   406,   357,   416,   402,   410,   408,       475,   477,   479,   391,   391,   391,   391,   391,   391,   391,
1156       422,   413,  -698,   412,   407,   411,   226,  2230,   226,   226,       391,   391,   391,   391,  2479,   391,  2479,   391,   485,   482,
1157       226,  2230,   226,   415,   417,  2230,  2010,   418,   420,   421,       487,   492,   501,   489,  -808,   512,   497,   511,   452,   516,
1158       423,   424,   226,   226,   419,   439,   442,   400,   441,   226,       513,   514,   518,   504,   457,   517,  -808,   508,   524,   -79,
1159       226,  2230,   226,   226,   226,  2230,   226,   199,  2010,  2230,      -808,  -808,  -808,  -808,  -808,  -808,  2036,  2479,   -79,   -79,
1160      2010,  2230,   401,   446,   404,   465,  -698,   467,  -698,   449,       -79,  -808,  2036,   -79,  2479,   -79,   525,   -79,  -808,   -79,
1161       469,   458,   463,   499,   502,  -698,  1789,  -102,  -698,  -102,       526,   465,   528,   -79,  2917,   -79,   476,   533,   532,   522,
1162      1789,  -698,   485,   491,  3320,   209,   209,  -698,  2230,  -698,       481,  -808,  -808,   -79,  -808,   -79,  -808,   483,   536,   539,
1163       119,    21,  -698,  -698,   487,   458,   493,   505,   496,  -698,       540,   545,   538,   530,   -79,   -79,   -79,   -79,   -79,   -79,
1164      -102,   492,   498,   444,   503,   511,  -698,  -698,  -102,  -698,       -79,   -79,   -79,   -79,   -79,  3136,   -79,  3355,   -79,   537,
1165      -698,  2230,  -698,  -698,  -698,  -698,  -698,  -698,  2230,  -102,       551,   570,   544,   523,   527,   578,   575,   583,   581,   595,
1166       209,   209,  -698,  -698,  -698,  -698,  3538,  -698,  3756,   512,       587,  -808,   586,  -808,   454,  -808,   582,   585,   391,  2479,
1167       516,   517,   504,   518,   501,   519,  -698,   507,   506,   521,       391,   391,   391,  2479,   391,   391,   591,   391,   391,   592,
1168      2230,  2230,  2230,  2230,   509,   513,  2010,   171,   187,   209,       596,   599,  2479,  2258,   600,   589,   604,   606,   607,   391,
1169       515,   520,   508,   533,   226,   522,   523,   524,   526,  -698,       391,   608,   610,   611,   550,  -808,  -808,   609,   391,   391,
1170       226,   226,  2010,  2010,   534,   531,   532,   525,  -698,   536,      2479,   391,   391,   314,  2479,   391,   294,  2698,  2698,  2258,
1171       477,   535,  -698,   539,  -102,  2230,  2230,  -102,   538,   537,      2479,  2258,  2479,   554,   617,   619,   561,   612,   630,  -808,
1172      -698,   209,   209,   209,   540,   541,   542,   557,  -698,   543,       633,  -808,   615,   625,   620,    54,   623,   635,   638,  -808,
1173       544,   545,   547,  -698,  -102,  -698,  -698,   548,   560,   546,      2036,   -79,  -808,   -79,  2036,   -79,  -808,   624,   -79,  -808,
1174       554,   549,   120,   510,   552,   553,   514,   209,   209,   555,      -808,   626,   621,   628,  3574,   183,   183,   659,  -808,  2479,
1175       528,  -698,   561,   556,   551,   558,   559,   226,   563,   564,      -808,   215,    20,  -808,  -808,   627,   620,   169,   642,   634,
1176       568,   566,   567,   562,   570,   579,   116,   588,   572,   586,      -808,   -79,   631,   640,   580,   645,   652,  -808,  -808,   -79,
1177       573,   590,  -698,   575,   157,   580,   577,  -698,  -698,   582,      -808,  -808,  2479,  -808,  -808,  -808,   646,  -808,  -808,  -808,
1178       585,  -698,   574,   603,   601,   605,     4,   595,   604,   576,      -808,  2479,   -79,   183,   183,  -808,  -808,  -808,  -808,  -808,
1179       607,   578,   608,   581,   609,   600,   596,   583,   597,  -698,       659,  3793,   659,  4012,   653,   590,   661,   657,   648,   649,
1180       207,   610,   611,   615,   606,   616,   621,   613,   622,   619,       660,   647,   663,  -808,   650,   654,   664,   651,   667,  2479,
1181       623,   624,   211,   626,   625,   630,    40,  -698,   636,    71,      2479,  2479,  2479,   391,   655,  2479,   658,   662,   656,  2258,
1182       614,   637,   584,   644,   634,   640,  -698,   657,   654,   659,       244,   266,  2258,   183,   668,   672,   665,   676,   391,   675,
1183       658,   660,   661,   662,   650,   602,   666,   665,   651,   674,       677,   669,   683,  -808,   391,   687,   391,  2258,  2258,   691,
1184       655,   675,   617,   687,   685,   692,   691,   627,   677,   694,       121,   688,   686,   694,   684,  -808,   690,   598,   689,   693,
1185       678,   698,   701,   681,   702,   627,    12,   703,   688,   693,       701,  -808,   699,   -79,  2479,  2479,   -79,  -808,   696,   -79,
1186       699,   705,   690,   700,   697,   706,   712,   704,   708,   716,       697,   692,   698,   659,   183,   183,  -808,   183,   700,   712,
1187       721,   718,   725,   707,   723,   728,   726,   710,   722,   720,       714,   706,  -808,   703,   716,   717,   704,  -808,  -808,   -79,
1188       733,   729,   741,   740,   727,  -698,   730,   732,   684,   748,       659,   659,   705,   722,   725,   735,   720,   739,   729,   723,
1189       749,  -698,   753,   732,   743,   755,   695,   760,   746,   750,       110,   674,   727,   741,   730,   728,    -6,   731,   732,   680,
1190      -698,  -698,   758,   762,   747,   751,   752,  -698,   754,   756,       183,   183,   733,   685,  -808,   743,   736,   702,   744,   740,
1191       763,   764,   767,   773,   768,   769,   781,   782,   776,   774,       314,   755,   747,   763,   757,   756,   769,   759,   760,   754,
1192       735,   778,   777,   797,   798,  -698,   774,   788,   736,   802,       762,   768,   112,   770,   710,   781,   771,   -79,   772,   778,
1193       790,  -698,   796,   739,  -698,   795,   791,   742,   799,   805,       784,   780,   788,  -808,   782,   141,   785,   783,  -808,  -808,
1194       739,   803,   804,   815,  -698,   807,   820,   806,   823,   827,       790,   791,   786,   789,   734,  -808,   737,   806,   804,   808,
1195       819,   828,   829,   821,   830,   814,   765,   816,   822,   824,        63,   798,   809,   812,   816,   814,   391,   819,   758,   821,
1196       825,   826,  -698,   831,   841,   843,   836,   845,   846,   847,       761,   822,   764,   823,   818,   810,   765,   817,  -808,   815,
1197       848,   853,   842,   839,   838,   851,   844,   850,   852,   854,      -808,   835,   187,   830,   832,   833,   644,   834,   826,   831,
1198       856,   857,   863,   868,  -698,   869,   870,   871,   858,   859,       836,   841,   838,   -79,   839,   843,   827,   846,   837,   213,
1199       862,   864,   865,   866,   867,   878,   881,   872,  -698,   883,       840,   842,   844,    62,  -808,  -808,   850,   847,    74,   852,
1200      -698,   884,   874,   875,  -698,   876,   877,  -698,   880,  -698,       856,   787,   845,   849,   853,   854,   851,  -808,   857,   294,
1201      -698,  -698       858,   874,   848,   875,   872,   877,   878,   873,   866,   824,
1202         879,   881,   864,   871,   860,   876,   884,   828,   892,   891,
1203         901,   900,   859,   887,   895,  -808,   -79,   887,   889,   909,
1204         893,   910,   913,   894,   914,   859,    28,   917,   902,   903,
1205         907,   918,   922,   905,   908,   915,   919,   930,   920,   921,
1206        -808,   916,     0,   935,   934,   936,   942,   937,   939,   944,
1207         945,   925,   938,   940,   949,   941,   943,   952,   951,   946,
1208        -808,   947,   950,   899,   957,   904,   948,   966,   -79,  -808,
1209        -808,  -808,  -808,  -808,   969,  -808,   970,   950,   960,   978,
1210         911,   982,   968,   971,  -808,  -808,  -808,   983,   984,   972,
1211         967,   975,  -808,   976,   973,   980,   926,   981,    -6,   995,
1212         996,   997,   998,   988,   991,  1001,  1002,   999,   989,   954,
1213        1000,   992,  1012,  1014,  1016,  1015,  1004,  -808,  -808,   989,
1214        1006,   955,  1019,  1017,  -808,  1020,   962,  -808,  1018,  1007,
1215         965,  1021,  1025,  1023,  1035,  1032,   962,  1026,  1030,  1038,
1216        -808,  1033,  1049,  1031,  1050,  1054,  1051,  -808,  1046,  1041,
1217        1060,  1061,  1052,  1062,  1047,  1003,  1048,  1055,  1053,  1066,
1218        1057,  1063,  1056,  -808,  1064,  1070,  1068,  1071,  1074,  1078,
1219        1072,  1079,  1084,  1082,  1087,  1076,  1073,  1077,  1080,  1075,
1220        1086,  1088,  1081,  1085,  1091,  1093,  1083,  1101,  1102,  -808,
1221        1037,  1089,  1105,  1106,  1107,  1094,  1095,  1097,  1098,  1067,
1222        -808,  1099,  1100,  1104,  1115,  1116,  1103,  -808,  1110,  1121,
1223        -808,  1122,  1111,  1112,  -808,  1119,  1114,  1117,  -808,  1109,
1224        1129,  -808,  -808,  -808,  -808
1225  };  };
1226    
1227  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1228  static const short yypgoto[] =  static const yytype_int16 yypgoto[] =
1229  {  {
1230      -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1231      -698,  -698,  -698,  -570,  -698,  -698,  -698,  -698,  -658,    87,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -632,  -808,
1232      -698,    92,    37,  -698,  -698,  -439,   219,   364,   345,  -697,      -808,  -808,  -808,  -808,  -647,  -518,  -808,   196,   124,  -808,
1233      -698,   316,   201,    13,   -10,   -14,   292,   425,  -410,   -12,      -442,  -603,  -760,    26,  -494,  -787,  -615,  -642,   -82,  -790,
1234       886,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,  -698,       216,  -591,   410,  -807,    43,    55,   -14,   397,  -334,  -473,
1235      -698,  -698,  -698,  -156,  -698,  -698,  -131,  -255,  -242,  -241,       -15,  1113,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,
1236      -240,  -698,   663,  -698,   652,  -254,  -698,  -698,   648,   489,      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -155,
1237      -698,  -698,  -698,   667,   668,  -252,  -698,  -698,   490,  -698,       882,   883,   885,  -314,   869,   886,  -258,  -253,  -252,   -47,
1238      -698,  -698,  -698,  -698,  -698,  -698,   653,  -698,  -698      -808,  -808,   888,  -808,  -808,  -808,  -808,   890,  -254,  -808,
1239        -808,   896,   670,  -808,   897,  -808,   906,   898,  -250,  -808,
1240         -27,   -76,  -808,   673,  -808,  -808,  -808,  -808,  -808,  -808,
1241        -808,  -808,  -808,  -808,   912,  -808,  -808
1242  };  };
1243    
1244  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1245     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1246     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1247     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1248  #define YYTABLE_NINF -130  #define YYTABLE_NINF -165
1249  static const short yytable[] =  static const yytype_int16 yytable[] =
1250  {  {
1251       265,   640,   267,   501,   268,   269,   270,   271,   272,   273,       275,   273,   276,   277,   278,   279,   280,   281,   282,   283,
1252       274,   275,   276,   277,   278,   541,   352,   355,   353,   356,       284,   285,   286,   287,   288,   289,   290,   615,   576,   906,
1253       618,   785,   393,   787,    32,   286,   924,   506,    40,    41,       714,   745,   735,   881,     1,  -164,     2,   383,   386,   571,
1254        33,   287,   996,   947,   619,   394,   395,   396,   516,   925,       432,   384,   387,  1206,  1207,   433,   434,   559,   860,   910,
1255       303,   303,   303,   303,   303,   303,   303,   303,   303,   997,        33,   912,     3,   586,     4,     5,   729,    41,     6,  1190,
1256       517,    29,   328,    28,   772,     1,   364,     2,   779,   518,      1131,   380,    43,     7,     8,   587,   415,   416,     9,    10,
1257       956,   910,    34,   302,   304,   305,   306,   307,   308,   309,        11,   588,    12,   381,   589,   415,  1191,   417,    44,   388,
1258       310,   311,     3,   957,     4,     5,    38,   958,     6,   379,        36,   389,   529,   418,   419,   342,   420,   343,   707,   344,
1259       379,   358,   357,     7,   358,    36,   380,   380,     8,     9,        37,   390,   418,  1140,  1079,   420,  1096,   345,   924,    34,
1260        10,   381,    11,   960,   359,    30,   382,   382,    31,   383,       302,   925,   708,   346,   347,    35,  1141,  1145,   303,  1097,
1261       383,    37,    35,   326,    39,   327,   961,   328,   369,   840,      1142,   318,   320,   321,   322,   323,   324,   325,   326,   327,
1262       324,   349,   370,   331,   617,   329,   623,   624,   368,   373,      1146,   669,    40,   319,   319,   319,   319,   319,   319,   319,
1263       371,   262,   398,   350,   809,   855,   856,   292,   293,   294,       319,   319,   349,   670,   405,    42,   340,    45,   406,  1039,
1264       295,   296,   297,   298,   299,   300,   301,   906,   883,   410,       404,   409,    46,  1040,  1070,   441,   407,   706,    38,   712,
1265       411,   361,   884,   279,   653,   385,   392,   502,   503,   907,       713,  1041,  1003,   344,    39,   270,  1071,   399,  1004,   983,
1266       885,   659,   660,   661,   662,   663,   664,   665,   666,   667,       534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
1267       467,   471,   472,   473,   474,   475,   476,   477,   478,   479,       544,   545,   546,  1083,   291,   300,   305,  1000,  1001,   292,
1268       480,   481,   506,   468,   469,   470,   841,   280,   914,   292,       746,   301,   306,   977,   893,  1084,    47,    48,   902,   754,
1269       293,   294,   295,   296,   297,   298,   299,   300,   301,   520,       755,   756,   757,   758,   759,   760,   761,   762,   763,   764,
1270       915,   523,   842,   502,   503,   292,   293,   294,   295,   296,       576,   855,   308,   309,   310,   311,   312,   313,   314,   315,
1271       297,   298,   299,   300,   301,   780,   781,   292,   486,   487,       316,   317,   723,   945,   379,   531,   936,   398,  1117,  1118,
1272       488,   489,   490,   491,   492,   493,   494,   292,   293,   294,       532,   533,   456,   457,   487,   457,   572,   573,   293,   572,
1273       295,   296,   297,   298,   299,   300,   301,   938,   939,   281,       573,   943,   572,   573,   308,   309,   310,   311,   312,   313,
1274       834,   951,   952,   837,   292,   486,   487,   488,   489,   490,       314,   315,   316,   317,  1135,  1136,   908,   909,   660,   661,
1275       491,   492,   493,   494,  -129,  -129,  -129,   735,   284,   282,       427,   435,   294,   591,  -164,  -164,  -164,   594,    -4,    -4,
1276       283,   285,   288,   289,   290,    40,   324,   399,   400,   401,       984,   374,   376,   308,   309,   310,   311,   312,   313,   314,
1277       403,   402,   407,   759,   404,   405,   409,   406,   413,   412,       315,   316,   317,   295,   296,   297,   298,   299,   304,    47,
1278       452,   414,   428,   427,   434,   441,   433,   435,    -4,    -4,       340,   442,   985,   372,   439,   308,   309,   310,   311,   312,
1279       440,   436,   442,   450,   451,   449,   453,   457,   459,   460,       313,   314,   315,   316,   317,   377,   443,   446,   444,  1103,
1280       455,   461,   408,   462,   408,   408,   408,   408,   408,   408,       448,   445,   449,   447,   849,   450,   451,   973,   452,   453,
1281       408,   408,   456,   458,   463,   464,   465,   380,   514,   466,       976,   903,   904,   308,   548,   549,   550,   551,   552,   553,
1282       482,   483,   497,   498,   499,   500,   538,   513,   515,   415,       554,   555,   556,   455,   458,   880,   459,   460,   461,   462,
1283       539,   536,   537,   416,   542,   417,   418,   419,   420,   421,       979,   481,   906,   308,   548,   549,   550,   551,   552,   553,
1284       263,   422,   540,   423,   424,   425,   426,   543,   545,   544,       554,   555,   556,   896,   463,   477,   480,   482,   488,   490,
1285       429,   430,   547,   431,   432,   546,   548,   549,   551,   550,       464,   494,   465,   466,   467,   468,   469,   489,   470,   495,
1286       552,   568,   569,   572,   437,   438,   439,   574,   584,   573,       471,   472,   473,   496,   474,   475,   476,   503,   504,   478,
1287       575,   443,   444,   445,   446,   447,   448,   576,   585,   586,       505,   479,   506,   507,   508,   512,   521,   515,   483,   484,
1288       588,   587,   589,   603,   604,   848,   605,   606,   607,   608,       514,   485,   486,   454,  1047,   454,   454,   454,   454,   454,
1289       609,   610,   611,   644,   612,   636,   454,   676,   613,   616,       454,   454,   454,   513,   516,   517,   491,   492,   518,   493,
1290       656,   614,   637,   615,   657,   641,   642,   645,   643,   654,       519,   520,   522,   523,   497,   498,   499,   500,   501,   502,
1291       655,   658,   672,   673,   674,   675,   677,   678,   680,   681,       308,   548,   549,   550,   551,   552,   553,   554,   555,   556,
1292       682,   722,   684,   685,   698,   683,   700,   495,   496,   694,       525,   524,   526,   527,   528,   529,   547,   560,   561,   568,
1293       699,   705,   679,   706,   707,   723,   693,   697,   727,   701,       562,   567,   612,   510,   569,   271,   511,   583,   585,   584,
1294       529,   530,   531,   532,   535,   704,   724,   708,   726,   728,       570,   609,   610,   702,   616,   614,   997,   618,   611,   726,
1295       729,   730,   731,   732,   733,   725,   734,   742,   743,   755,       730,   629,   613,   732,   690,   617,   623,   619,   624,   622,
1296       754,   761,   756,   757,   758,   553,   554,   555,   556,   557,       625,   620,   626,   621,   992,   627,   630,   647,   650,   651,
1297       558,   559,   560,   561,   562,   563,   564,   565,   566,   567,       628,   652,   655,   692,   558,   558,   657,   658,   656,   665,
1298       762,   765,   570,   571,   763,   790,   303,   303,   303,   303,       659,   565,   566,   666,   667,   688,   671,   668,   672,   691,
1299       303,   303,   303,   303,   303,   792,   793,   794,   764,   789,       689,   693,   695,   696,   602,   603,   604,   605,   608,   694,
1300       579,   579,   791,   581,   796,   582,   797,   583,   795,   302,       697,   699,   698,   703,   846,   700,   701,   704,   705,   731,
1301       304,   305,   306,   307,   308,   309,   310,   311,   590,   591,       749,   736,   750,   737,   740,   739,   747,   752,   769,   753,
1302       592,   593,   594,   595,   596,   597,   598,   599,   600,   601,       771,   772,   774,   751,   770,   631,   632,   633,   634,   635,
1303       602,   798,   799,   804,   805,   810,   811,   812,   813,   818,       636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
1304       815,   816,   817,   819,   825,   824,   827,   826,   829,   846,       646,   773,   775,   776,   777,   779,   780,   781,   738,   748,
1305       828,   830,   832,   833,   626,   831,   838,   629,   630,   631,       783,   778,   648,   576,   649,   782,   784,   787,   653,   654,
1306       632,   839,   844,   635,   847,   323,   851,   852,   845,   849,       785,   786,   796,   799,   800,   801,   805,   439,   439,   806,
1307       857,   850,   858,   860,   859,   862,   648,   651,   648,   861,       662,   807,   663,   812,   664,   804,   813,   814,   815,   817,
1308       864,   865,   863,   869,   866,   872,   873,   878,   870,   871,       808,   816,   811,   833,   834,   836,   673,   674,   675,   676,
1309       876,   874,   879,   875,   880,   881,   669,   882,   671,   887,       677,   678,   679,   680,   681,   682,   683,   684,   685,   686,
1310       892,   888,   898,   890,   893,   895,   899,   896,   886,   900,       687,   318,   320,   321,   322,   323,   324,   325,   326,   327,
1311       903,   904,   889,   901,   902,   905,   908,   910,   686,   909,       835,   839,   840,   319,   319,   319,   319,   319,   319,   319,
1312       911,   912,   913,   916,   917,   687,   891,   688,   689,   690,       319,   319,   837,   841,   842,   843,   838,   844,   845,   876,
1313       918,   691,   919,   692,   921,   922,   923,   926,   927,   929,       847,   848,   715,   857,   861,   718,   719,   720,   721,   862,
1314       931,   933,   934,   937,   935,   946,   940,   941,   702,   894,       558,   863,   725,   875,   728,   728,   877,   878,   879,   885,
1315       703,   942,   944,   947,   949,   943,   962,   709,   710,   711,       886,   882,   883,   914,   884,   510,   510,   915,   744,   916,
1316       712,   713,   714,   715,   716,   717,   945,   719,   948,   721,       917,   919,   918,   920,   921,   922,   926,   923,   927,   928,
1317       954,   959,   920,   950,   928,   953,   930,   955,   963,   932,       937,   934,   938,   936,   942,   946,   944,   947,   339,   951,
1318       965,   936,   964,   966,   737,   738,   739,   967,   741,   968,       949,   766,   952,   768,   950,   953,   955,   959,   962,   960,
1319       969,   970,   752,   973,   971,   972,   751,   975,   974,   651,       961,   963,   964,   965,  1122,   966,   967,  1010,   971,   968,
1320       976,   977,   980,   979,   981,   767,   769,   978,   767,   774,       972,   970,   969,   978,   788,   982,   980,   990,   991,   437,
1321       776,   982,   767,   784,   752,   983,   752,   751,   751,   984,       981,   789,   995,   790,   791,   792,   988,   793,   794,  1210,
1322       751,   985,   986,   987,   990,   988,   989,   991,   992,   993,       795,   989,   797,   993,   798,   996,   994,   998,  1002,  1006,
1323       994,   998,   995,   999,   800,   801,  1000,   802,   803,  1003,      1005,  1007,  1013,  1008,  1009,  1025,  1018,  1011,   809,  1012,
1324      1001,  1002,  1004,  1005,  1007,   303,   303,  1006,  1014,  1008,       810,  1014,  1015,  1017,  1022,  1031,  1019,  1026,  1029,   818,
1325       408,  1009,  1010,  1011,  1012,   484,   485,  1013,   814,  1015,       819,   820,   821,   822,   823,   824,   825,   826,   827,   828,
1326      1016,  1017,  1018,  1019,   510,  1021,   820,  1020,   807,   808,      1023,   830,  1024,   832,  1027,  1032,  1028,  1033,  1034,  1035,
1327      1022,  1023,  1024,  1026,   534,  1025,  1029,   821,  1027,  1030,      1036,  1037,  1038,  1042,  1044,  1210,  1043,  1046,  1045,  1050,
1328       303,   303,  1028,  1031,  1032,  1033,   323,   323,  1035,  1036,      1048,  1049,  1051,  1053,  1052,  1054,   851,   852,   853,  1057,
1329      1038,  1037,  1040,  1034,  1039,  1045,  1046,  1043,  1041,  1047,       728,   856,  1056,   859,   859,  1059,  1060,  1061,  1063,   873,
1330      1042,  1044,   752,   807,   808,  1048,   751,   408,   408,   303,      1062,  1055,  1064,  1067,  1068,  1069,   744,  1065,  1066,  1073,
1331      1050,  1049,   323,  1051,  1052,  1053,   769,   774,   752,   752,      1074,  1072,  1075,  1077,   888,   890,  1079,   888,   895,   898,
1332      1054,  1056,   751,   751,  1057,  1058,  1059,  1060,   577,   577,      1081,   888,   907,   608,   608,   873,  1078,   873,  1080,  1085,
1333      1062,  1063,   843,  1055,  1061,  1064,   323,  1065,  1066,  1067,      1082,  1086,  1087,  1091,  1088,  1089,  1092,  1090,  1093,  1094,
1334      1068,   303,   303,   408,  1069,  1070,  1071,  1073,  1075,  1072,      1095,  1098,  1099,  1100,   339,   929,   930,  1102,   931,   932,
1335      1074,  1079,   877,  1076,  1077,  1078,  1080,  1081,  1083,  1084,       933,  1101,  1104,   935,  1106,  1108,  1110,  1105,   509,  1112,
1336      1082,  1086,  1087,  1085,   867,   868,  1090,   408,   408,  1092,      1107,  1111,  1115,  1109,  1113,  1114,  1116,  1119,   872,  1120,
1337      1089,  1088,  1094,   776,  1093,  1097,  1091,  1095,  1096,   323,      1121,  1123,  1124,  1125,  1127,  1131,   948,  1132,  1133,  1126,
1338      1098,  1099,  1100,   510,  1101,   627,   628,  1102,  1108,  1104,      1128,  1130,  1150,  1144,   954,  1159,  1149,  1134,  1138,  1171,
1339      1105,   633,   634,  1109,  1107,  1110,   639,   639,  1103,  1106,      1137,   872,  1139,  1143,   872,  1147,   872,   956,  1148,  1151,
1340      1111,  1112,  1113,  1114,   647,  1115,   647,  1117,  1116,  1118,      1154,  1152,  1153,   563,   564,  1155,  1157,  1158,  1160,  1161,
1341      1122,  1120,  1119,  1123,  1121,  1125,  1126,   853,  1124,  1127,      1164,  1163,   580,  1162,  1165,  1167,   339,  1169,   940,   941,
1342      1128,  1129,  1130,   854,   897,   668,  1131,   670,   783,   323,      1170,  1173,   607,  1166,  1168,  1175,  1172,  1174,  1176,   859,
1343       323,   625,   760,   375,   362,   323,   323,   652,   580,   291,       319,   319,  1177,  1178,  1180,   873,   454,  1181,   873,  1183,
1344       397,   323,   521,   524,     0,     0,   367,     0,     0,   323,      1184,  1186,  1187,  1185,  1188,  1189,  1192,  1194,  1193,  1195,
1345       363,     0,   377,     0,     0,     0,     0,     0,     0,     0,       890,  1199,   895,   873,   873,  1198,   940,   941,  1179,  1197,
1346         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1196,  1201,  1200,  1202,  1205,  1204,  1203,  1215,   319,   319,
1347       323,     0,   323,     0,     0,     0,     0,     0,     0,     0,       339,   339,  1214,  1216,  1016,  1217,  1219,  1220,  1222,  1218,
1348         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1223,  1221,  1225,  1228,  1229,  1227,  1234,   339,  1224,  1226,
1349         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1236,  1231,   437,   437,  1030,  1230,   987,  1232,  1233,  1237,
1350         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1239,  1240,  1241,  1235,   872,   454,   454,   872,   319,  1242,
1351         0,     0,     0,   736,     0,     0,     0,   740,     0,     0,      1243,  1244,  1245,  1246,   339,  1250,  1247,  1248,  1249,  1253,
1352         0,   744,     0,     0,     0,     0,     0,     0,     0,     0,      1252,  1254,   872,   872,  1251,  1255,   898,  1256,  1258,  1259,
1353         0,     0,     0,     0,     0,     0,     0,   771,   323,     0,      1260,  1261,  1262,  1263,  1264,  1265,  1267,  1020,  1021,  1266,
1354         0,   778,   323,     0,     0,   786,   323,   788,     0,     0,      1270,  1271,  1076,  1272,  1269,  1273,  1276,  1274,  1278,   319,
1355       323,     0,     0,     0,     0,     0,     0,     0,     0,     0,       319,  1275,   454,  1268,  1277,   580,  1283,   716,   717,  1279,
1356         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1280,  1281,  1282,   722,  1284,   724,  1286,  1285,  1288,  1289,
1357         0,     0,     0,   323,     0,     0,     0,     0,     0,     0,      1290,  1292,   744,   734,   734,  1287,  1291,  1293,  1294,  1295,
1358       323,     0,     0,     0,     0,     0,     0,     0,   323,     0,       509,   509,  1296,  1297,  1298,   454,   454,  1299,  1300,  1301,
1359       323,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1302,  1304,  1303,  1305,  1307,  1310,  1308,  1313,  1129,  1315,
1360         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1316,  1309,  1306,  1348,   765,  1311,   767,  1318,  1317,  1312,
1361         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1314,  1319,  1321,  1322,  1320,  1323,  1324,  1325,  1330,  1326,
1362         0,     0,     0,     0,     0,     0,   639,   835,   836,   639,      1336,  1329,  1332,   339,   339,   907,  1335,  1327,  1328,   339,
1363         0,     0,     0,     0,     0,     0,     0,   323,   323,   312,      1331,   339,  1334,  1333,  1337,  1338,  1339,  1340,  1341,  1342,
1364        45,    46,    47,    48,   313,   314,   315,   316,   317,   318,      1343,   339,  1344,  1346,  1347,  1345,  1350,  1349,  1352,  1353,
1365       319,   320,   321,   322,    59,    60,    61,    62,    63,    64,      1354,  1182,  1351,  1355,  1356,  1357,  1363,  1358,  1359,  1360,
1366        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,      1361,  1364,   999,  1362,  1058,  1156,  1257,   430,   986,     0,
1367        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,         0,     0,   339,   307,   339,   392,   393,   592,   394,     0,
1368        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,       595,     0,   402,   395,   431,     0,     0,     0,     0,     0,
1369        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,       396,   397,   411,     0,   872,     0,     0,     0,     0,     0,
1370       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,         0,     0,   413,  1238,     0,     0,     0,     0,     0,   850,
1371       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,       436,     0,     0,   854,     0,     0,     0,     0,     0,     0,
1372       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,         0,     0,   864,     0,     0,     0,     0,     0,     0,     0,
1373       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1374       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       892,     0,     0,     0,   901,     0,     0,   607,   607,     0,
1375       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       911,     0,   913,     0,     0,     0,     0,   339,     0,     0,
1376       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,         0,   339,     0,     0,     0,     0,     0,     0,     0,     0,
1377       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,         0,   339,     0,     0,     0,     0,   339,     0,     0,     0,
1378       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1379       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,         0,     0,     0,     0,     0,     0,     0,     0,     0,   339,
1380       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,         0,     0,     0,     0,     0,     0,     0,     0,   339,     0,
1381       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,         0,     0,     0,     0,     0,     0,     0,     0,   339,     0,
1382       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       339,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1383       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1384       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,         0,     0,     0,     0,     0,     0,     0,     0,     0,   734,
1385       255,   256,   257,   258,   259,   260,   261,   646,     0,   262,       974,   975,   734,     0,     0,   580,     0,     0,     0,     0,
1386       312,    45,    46,    47,    48,   313,   314,   315,   316,   317,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1387       318,   319,   320,   321,   322,    59,    60,    61,    62,    63,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1388           0,   339,   339,   328,    52,    53,    54,    55,    56,   329,
1389         330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
1390          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1391          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1392          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1393          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1394         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1395         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1396         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1397         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1398         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1399         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1400         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1401         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1402         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1403         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1404         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1405         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1406         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1407         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1408         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1409         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1410         268,   269,   741,     0,   270,   328,    52,    53,    54,    55,
1411          56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1412         338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1413          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1414          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1415          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1416         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1417         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1418         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1419         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1420         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1421         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1422         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1423         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1424         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1425         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1426         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1427         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1428         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1429         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1430         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1431         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1432         266,   267,   268,   269,     0,   742,   270,    51,    52,    53,
1433          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1434        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1435        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1436        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1149  static const short yytable[] = Line 1450  static const short yytable[] =
1450       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1451       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1452       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1453       254,   255,   256,   257,   258,   259,   260,   261,     0,   649,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1454       262,    44,    45,    46,    47,    48,    49,    50,    51,    52,       264,   265,   266,   267,   268,   269,     0,     0,   270,   328,
1455        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,        52,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1456        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
       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,     0,  
        0,   262,   312,    45,    46,    47,    48,   313,   314,   315,  
      316,   317,   318,   319,   320,   321,   322,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
1457        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1458        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1459        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
# Line 1194  static const short yytable[] = Line 1473  static const short yytable[] =
1473       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1474       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1475       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1476         0,     0,   262,   312,    45,    46,   745,   746,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,     0,     0,
1477        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,       270,   328,    52,    53,    54,   865,   866,    57,    58,    59,
1478        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1479        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1480        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1481        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1482       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1483       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1484       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1485       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1486       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1487       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1488       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1489       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1490       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1491       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1492       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1493       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1494       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1495       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1496       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1497       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1498       261,   502,   503,   312,    45,    46,    47,    48,   313,   314,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1499       315,   316,   317,   318,   319,   320,   321,   322,    59,    60,       572,   573,   328,    52,    53,    54,    55,    56,   329,   330,
1500        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,       331,   332,   333,   334,   335,   336,   337,   338,    67,    68,
       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,   312,    45,    46,    47,    48,    49,    50,    51,    52,  
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,  
       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,  
       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,  
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,  
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,  
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,   312,  
      696,    46,    47,    48,   313,   314,   315,   316,   317,   318,  
      319,   320,   321,   322,    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,   312,   718,    46,  
       47,    48,   313,   314,   315,   316,   317,   318,   319,   320,  
      321,   322,    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,   312,   720,    46,    47,    48,  
      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,  
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,  
1501        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1502        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1503        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1325  static const short yytable[] = Line 1517  static const short yytable[] =
1517       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1518       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1519       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1520       259,   260,   261,   312,   806,    46,    47,    48,   313,   314,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1521       315,   316,   317,   318,   319,   320,   321,   322,    59,    60,       269,   328,    52,    53,    54,    55,    56,    57,    58,    59,
1522        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1523          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1524          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1525          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1526         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1527         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1528         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1529         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1530         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1531         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1532         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1533         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1534         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1535         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1536         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1537         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1538         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1539         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1540         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1541         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1542         260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1543         328,   803,    53,    54,    55,    56,   329,   330,   331,   332,
1544         333,   334,   335,   336,   337,   338,    67,    68,    69,    70,
1545        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1546        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1547        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
# Line 1347  static const short yytable[] = Line 1561  static const short yytable[] =
1561       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1562       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1563       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1564       261,   312,   822,    46,    47,    48,   313,   314,   315,   316,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1565       317,   318,   319,   320,   321,   322,    59,    60,    61,    62,       829,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1566        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1567          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1568          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1569          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1570         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1571         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1572         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1573         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1574         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1575         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1576         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1577         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1578         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1579         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1580         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1581         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1582         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1583         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1584         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1585         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1586         262,   263,   264,   265,   266,   267,   268,   269,   328,   831,
1587          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1588         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1589        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1590        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1591        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1368  static const short yytable[] = Line 1604  static const short yytable[] =
1604       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1605       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1606       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1607       253,   254,   255,   256,   257,   258,   259,   260,   261,   312,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1608       823,    46,    47,    48,   313,   314,   315,   316,   317,   318,       263,   264,   265,   266,   267,   268,   269,   328,   939,    53,
1609       319,   320,   321,   322,    59,    60,    61,    62,    63,    64,        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1610        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1611          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1612          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1613          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1614         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1615         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1616         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1617         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1618         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1619         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1620         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1621         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1622         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1623         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1624         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1625         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1626         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1627         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1628         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1629         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1630         264,   265,   266,   267,   268,   269,   328,   957,    53,    54,
1631          55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1632         337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1633        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1634        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1635        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1390  static const short yytable[] = Line 1648  static const short yytable[] =
1648       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1649       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1650       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1651       255,   256,   257,   258,   259,   260,   261       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1652         265,   266,   267,   268,   269,   328,   958,    53,    54,    55,
1653          56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1654         338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1655          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1656          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1657          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1658         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1659         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1660         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1661         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1662         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1663         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1664         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1665         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1666         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1667         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1668         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1669         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1670         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1671         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1672         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1673         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1674         266,   267,   268,   269
1675  };  };
1676    
1677  static const short yycheck[] =  static const yytype_int16 yycheck[] =
1678  {  {
1679        14,   571,    14,    31,    16,    17,    18,    19,    20,    21,        15,    15,    17,    18,    19,    20,    21,    22,    23,    24,
1680        22,    23,    24,    25,    26,   454,   270,   271,   270,   271,        25,    26,    27,    28,    29,    30,    31,   511,   491,   826,
1681        19,   718,   277,   720,    26,    30,    22,   437,   224,   225,       635,   663,   654,   810,     1,     5,     3,   281,   282,    32,
1682        32,    36,    20,    21,    33,   277,   277,   277,    18,    35,       288,   281,   282,    33,    34,   288,   288,   479,   798,   829,
1683        50,    51,    52,    53,    54,    55,    56,    57,    58,    37,        22,   831,    19,    19,    21,    22,   649,    39,    25,    21,
1684        30,    35,    22,    21,   712,     1,    26,     3,   716,    39,        22,    19,    23,    30,    31,    31,    20,    21,    35,    36,
1685        20,    21,    38,    50,    51,    52,    53,    54,    55,    56,        37,    37,    39,    31,    40,    20,    38,    31,    39,    19,
1686        57,    58,    18,    33,    20,    21,    31,    37,    24,    19,        23,    21,    27,    37,    38,    19,    40,    21,    20,    23,
1687        19,    20,    18,    29,    20,    22,    26,    26,    34,    35,        23,    31,    37,    21,    22,    40,    23,    31,    34,    30,
1688        36,    30,    38,    22,    30,    22,    36,    36,    22,    39,        30,    37,    34,    37,    38,    36,    34,    23,    38,    36,
1689        39,    38,    22,    18,     0,    20,    35,    22,    18,   806,        38,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1690        20,    18,    22,   269,   553,    30,   555,   556,   274,   275,        36,    27,    19,    58,    59,    60,    61,    62,    63,    64,
1691        30,   223,   278,    30,     5,   822,   823,     8,     9,    10,        65,    66,   277,    39,    19,    23,    21,    32,    23,    19,
1692        11,    12,    13,    14,    15,    16,    17,    21,    18,    38,       285,   286,     0,    23,    22,   290,    31,   631,    27,   633,
1693        39,   272,    22,    21,   583,   276,   277,   221,   222,    33,       634,    31,    21,    23,    33,   224,    34,    27,    27,   939,
1694        30,   590,   591,   592,   593,   594,   595,   596,   597,   598,       464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
1695       415,   416,   417,   418,   419,   420,   421,   422,   423,   424,       474,   475,   476,    22,    22,    31,    31,   957,   958,    23,
1696       425,   426,   582,   415,   415,   415,     5,    22,    21,     8,       664,    37,    37,   933,   821,    34,   225,   226,   825,   673,
1697         9,    10,    11,    12,    13,    14,    15,    16,    17,   443,       674,   675,   676,   677,   678,   679,   680,   681,   682,   683,
1698        33,   443,     5,   221,   222,     8,     9,    10,    11,    12,       663,   794,     9,    10,    11,    12,    13,    14,    15,    16,
1699        13,    14,    15,    16,    17,     6,     7,     8,     9,    10,        17,    18,   644,    34,   280,   463,    37,   283,    21,    22,
1700        11,    12,    13,    14,    15,    16,    17,     8,     9,    10,       463,   463,    39,    40,    39,    40,   222,   223,    23,   222,
1701        11,    12,    13,    14,    15,    16,    17,    20,    21,    36,       223,     6,   222,   223,     9,    10,    11,    12,    13,    14,
1702       800,    20,    21,   803,     8,     9,    10,    11,    12,    13,        15,    16,    17,    18,    21,    22,   827,   828,   572,   573,
1703        14,    15,    16,    17,   223,   224,   225,   686,    18,    37,       287,   288,    37,   497,   224,   225,   226,   497,   225,   226,
1704        36,    26,    37,    19,    36,   224,    20,    18,    37,    37,         6,   278,   279,     9,    10,    11,    12,    13,    14,    15,
1705        37,    21,    38,   702,    32,    22,    25,    36,    31,    25,        16,    17,    18,    38,    37,    19,    34,    27,    20,   225,
1706        37,    26,    26,    38,    25,    20,    38,    26,   224,   225,        21,    19,     6,    31,   289,     9,    10,    11,    12,    13,
1707        38,    31,    26,    31,    26,    38,    32,    39,    20,    19,        14,    15,    16,    17,    18,    31,    19,    22,    38,  1076,
1708        37,    18,   302,    21,   304,   305,   306,   307,   308,   309,        33,    38,    23,    38,   788,    23,    37,   929,    19,    39,
1709       310,   311,    35,    37,    18,    18,    24,    26,    25,    21,       932,     7,     8,     9,    10,    11,    12,    13,    14,    15,
1710        21,    21,    21,    18,    21,    36,    36,    21,    21,   331,        16,    17,    18,    26,    26,   809,    32,    27,    23,    33,
1711        35,    23,    23,   335,    22,   337,   338,   339,   340,   341,       935,    39,  1129,     9,    10,    11,    12,    13,    14,    15,
1712        14,   343,    26,   345,   346,   347,   348,    32,    35,    22,        16,    17,    18,    19,   349,    27,    27,    27,    26,    32,
1713       352,   353,    31,   355,   356,    36,    26,    26,    26,    31,       355,    39,   357,   358,   359,   360,   361,    27,   363,    21,
1714        26,    26,    26,    26,   366,   367,   368,    26,    26,    31,       365,   366,   367,    27,   369,   370,   371,    39,    26,   374,
1715        37,   373,   374,   375,   376,   377,   378,    32,    32,    26,        27,   376,    38,    33,    33,    36,    19,    40,   383,   384,
1716        26,    38,    32,    23,    32,   814,    20,    22,    20,    42,        36,   386,   387,   318,  1016,   320,   321,   322,   323,   324,
1717        26,    20,    31,    35,    32,    32,   398,    19,    29,    88,       325,   326,   327,    38,    38,    21,   401,   402,    21,   404,
1718        21,    31,    88,    31,    21,    32,    31,    31,    88,    32,        34,    20,    22,    19,   409,   410,   411,   412,   413,   414,
1719        88,    29,    22,    22,    18,    22,    35,    22,    18,    22,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1720        22,    35,    42,    22,    22,    26,    38,   431,   432,    26,        25,    19,    22,    36,    38,    27,    22,    22,    22,    19,
1721        26,    26,    88,    26,    26,    29,    88,    88,    26,    88,        22,    22,    36,   438,    22,    15,   441,    22,    22,    26,
1722       444,   445,   446,   447,   448,    88,    30,    38,    22,    29,        37,    24,    19,    89,    23,    27,   954,    23,    37,    89,
1723        32,    19,    29,    31,    37,    88,    35,    32,    31,    29,        89,    19,    38,    89,    21,    33,    27,    38,    27,    32,
1724        32,    32,    31,    30,    30,   467,   468,   469,   470,   471,        32,    36,    27,    37,   948,    27,    32,    27,    27,    27,
1725       472,   473,   474,   475,   476,   477,   478,   479,   480,   481,        40,    27,    27,    19,   478,   479,    27,    38,    32,    27,
1726        31,    30,   484,   485,    32,    29,   486,   487,   488,   489,        33,   485,   486,    33,    27,    24,    33,    39,    33,    23,
1727       490,   491,   492,   493,   494,    20,    19,    38,    88,    88,        32,    21,    27,    21,   498,   499,   500,   501,   502,    43,
1728       502,   503,    88,   505,    36,   507,    33,   509,    29,   486,        32,    30,    33,    23,    40,    32,    32,    30,    24,    33,
1729       487,   488,   489,   490,   491,   492,   493,   494,   520,   521,        22,    33,    22,    32,    32,    36,    33,    30,    23,    30,
1730       522,   523,   524,   525,   526,   527,   528,   529,   530,   531,        23,    19,    23,    38,    32,   530,   531,   532,   533,   534,
1731       532,    22,    20,    38,    33,    38,    33,    22,    32,    26,       535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1732        38,    33,    88,    22,    18,    23,    32,    20,    37,    31,       545,    30,    20,    36,    23,    19,    23,    23,    89,    89,
1733        22,    22,    36,    22,   558,    38,    37,   561,   562,   563,        36,    89,   557,  1016,   559,    27,    89,    23,   563,   564,
1734       564,    38,    37,   567,    21,   263,    32,    31,    38,    37,        33,    43,    27,    27,    89,    27,    23,   572,   573,    27,
1735        26,    38,    31,    38,    32,    88,   578,   581,   580,    33,       575,    39,   577,    27,   579,    89,    27,    27,    23,    39,
1736        31,    33,    37,    33,    37,    18,    33,    29,    37,    37,        89,    33,    89,    36,    23,    31,   591,   592,   593,   594,
1737        33,    37,    22,    38,    38,    31,   600,    38,   602,    37,       595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1738        29,    38,    29,    38,    38,    37,    32,    38,    88,    31,       605,   548,   549,   550,   551,   552,   553,   554,   555,   556,
1739        38,    31,    88,    37,    37,    26,    18,    21,   620,    37,        30,    23,    27,   548,   549,   550,   551,   552,   553,   554,
1740        37,    21,    37,    33,    37,   627,    88,   629,   630,   631,       555,   556,    89,    30,    33,    20,    89,    30,    32,    30,
1741        38,   633,    37,   635,    21,    24,    21,    32,    24,    22,        38,    36,   636,    32,    32,   639,   640,   641,   642,    33,
1742        22,    22,    32,    36,    38,    22,    26,    26,   650,    88,       644,    32,   646,    33,   648,   649,    32,    31,    31,    89,
1743       652,    26,    26,    21,    21,    39,    32,   659,   660,   661,        31,    33,    32,    89,    33,   660,   661,    30,   662,    30,
1744       662,   663,   664,   665,   666,   667,    35,   669,    39,   671,        89,    21,    40,    20,    39,    30,    33,    37,    23,    21,
1745        35,    25,    88,    39,    88,    39,    88,    37,    31,    88,        39,    37,    34,    37,     5,    23,    39,    33,   271,    89,
1746        26,    88,    88,    39,   688,   689,   690,    37,   692,    22,        39,   685,    27,   687,    34,    23,    30,    24,    21,    89,
1747        26,    22,   696,    22,    26,    25,   696,    37,    26,   703,        19,    33,    33,    23,    40,    38,    23,    89,    37,    39,
1748        88,    25,    18,    42,    39,   709,   710,    32,   712,   713,        23,    27,    38,    38,   709,    39,    38,    32,    22,   289,
1749       714,    26,   716,   717,   718,    88,   720,   717,   718,    22,        38,   716,    33,   718,   719,   720,    38,   722,   723,  1182,
1750       720,    26,    20,    22,    20,    88,    39,    39,    20,    18,       725,    39,   727,    38,   729,    32,    39,    30,    27,    33,
1751        39,    18,    20,    35,   736,   737,    33,   739,   740,    39,        32,    27,    21,    39,    34,    19,    34,    38,   743,    36,
1752        31,    26,    32,    36,    22,   745,   746,    31,    31,    35,       745,    32,    36,    36,    34,    30,    38,    34,    34,   754,
1753       750,    33,    26,    22,    26,   429,   430,    22,   760,    26,       755,   756,   757,   758,   759,   760,   761,   762,   763,   764,
1754        22,    25,    42,    31,   438,    22,   768,    37,   745,   746,        38,   766,    38,   768,    38,    33,    39,    32,    23,    39,
1755        31,    20,    22,    33,   448,    38,    18,   779,    36,    20,        21,    32,    39,    89,    23,  1238,    39,    39,    38,    89,
1756       780,   781,    88,    20,    31,    20,   484,   485,    18,    33,        39,    39,    39,    30,    89,    39,   790,   791,   792,    39,
1757        22,    31,    35,    88,    22,    22,    22,    33,    37,    22,       794,   795,    38,   797,   798,    30,    39,    24,    32,   803,
1758        38,    35,   806,   780,   781,    22,   806,   807,   808,   809,        33,    89,    23,    39,    32,    27,   810,    38,    38,    89,
1759        31,    33,   510,    22,    22,    29,   820,   821,   822,   823,        19,    31,    31,    31,   818,   819,    22,   821,   822,   823,
1760        36,    33,   822,   823,    37,    18,    18,    29,   502,   503,        22,   825,   826,   827,   828,   829,    38,   831,    38,    34,
1761        18,    31,   809,    88,    88,    29,   534,    88,    33,    38,        38,    38,    32,    89,    33,    39,    89,    38,    22,    25,
1762        88,   841,   842,   843,    35,    30,    33,    22,    18,    35,        22,    33,    23,    21,   437,   850,   851,    23,   853,   854,
1763        33,    22,   854,    37,    21,    18,    18,    18,    18,    35,       855,    25,    23,   858,    23,    23,    23,    89,   438,    39,
1764        29,    35,    30,    88,   841,   842,    30,   867,   868,    18,        89,    33,    37,    89,    89,    38,    21,    27,   803,    27,
1765        35,    37,    26,   877,    21,    18,    35,    22,    22,   577,        27,    27,    36,    32,    23,    22,   881,    40,    22,    33,
1766        22,    18,    30,   557,    35,   559,   560,    39,    22,    35,        32,    32,    27,    26,   889,    27,    89,    40,    36,    19,
1767        30,   565,   566,    26,    30,    22,   570,   571,    37,    37,        40,   826,    38,    33,   829,    33,   831,   902,    32,    40,
1768        22,    22,    22,    22,   578,    37,   580,    35,    39,    35,        39,    38,    38,   483,   484,    38,    38,    23,    23,    27,
1769        22,    35,    37,    22,    37,    22,    22,   820,    36,    35,        27,    23,   492,    26,    38,    26,   509,    43,   865,   866,
1770        35,    35,    35,   821,   877,   599,    36,   601,   717,   627,        39,    27,   502,    89,    33,    23,    40,    89,    27,   933,
1771       628,   557,   703,   275,   272,   633,   634,   582,   503,    43,       865,   866,    21,    23,    37,   939,   871,    32,   942,    40,
1772       277,   639,   443,   443,    -1,    -1,   273,    -1,    -1,   647,        21,    21,    19,    40,    40,    21,    19,    34,    36,    32,
1773       272,    -1,   275,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       954,    33,   956,   957,   958,    40,   903,   904,    89,    27,
1774        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        32,    32,    37,    23,    38,    34,    36,    23,   903,   904,
1775       668,    -1,   670,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       563,   564,    27,    27,   979,    23,    27,    23,    43,    32,
1776        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        32,    26,    23,    21,    23,    32,    19,   580,    38,    38,
1777          32,    34,   572,   573,   999,    39,   943,    37,    89,    23,
1778          21,    21,    32,    89,   939,   940,   941,   942,   943,    21,
1779          89,    19,    34,    32,   607,    38,    23,    23,    36,    36,
1780          34,    31,   957,   958,    39,    89,  1030,    36,    23,    23,
1781          23,    23,    34,    32,    23,    23,    37,   984,   985,    30,
1782          38,    19,  1047,    19,    34,    19,    30,    22,    19,   984,
1783         985,    37,   987,    89,    89,   635,    39,   637,   638,    32,
1784          30,    89,    34,   643,    89,   645,    31,    36,    23,    27,
1785          34,    23,  1076,   653,   654,    42,    36,    34,    19,    38,
1786         660,   661,    22,    19,    23,  1020,  1021,    31,    37,    19,
1787          19,    19,    30,    36,    36,    19,    31,    31,  1103,    19,
1788          22,    38,    89,    26,   684,    38,   686,    23,    27,    36,
1789          36,    23,    23,    19,    32,    23,    19,    31,    22,    36,
1790          27,    36,    31,   716,   717,  1129,    23,    40,    38,   722,
1791          32,   724,    31,    38,    23,    23,    89,    38,    23,    23,
1792          23,   734,    38,    36,    36,    40,    36,    38,    23,    23,
1793          37,  1156,    38,    33,    23,    23,    37,    36,    36,    30,
1794          36,    22,   956,    36,  1030,  1129,  1238,   288,   942,    -1,
1795          -1,    -1,   765,    50,   767,   283,   283,   497,   283,    -1,
1796         497,    -1,   284,   283,   288,    -1,    -1,    -1,    -1,    -1,
1797         283,   283,   286,    -1,  1129,    -1,    -1,    -1,    -1,    -1,
1798          -1,    -1,   286,  1208,    -1,    -1,    -1,    -1,    -1,   789,
1799         288,    -1,    -1,   793,    -1,    -1,    -1,    -1,    -1,    -1,
1800          -1,    -1,   802,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1801        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1802         820,    -1,    -1,    -1,   824,    -1,    -1,   827,   828,    -1,
1803         830,    -1,   832,    -1,    -1,    -1,    -1,   850,    -1,    -1,
1804          -1,   854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1805          -1,   864,    -1,    -1,    -1,    -1,   869,    -1,    -1,    -1,
1806        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1807        -1,    -1,    -1,   687,    -1,    -1,    -1,   691,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   892,
1808        -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   901,    -1,
1809        -1,    -1,    -1,    -1,    -1,    -1,    -1,   711,   736,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   911,    -1,
1810        -1,   715,   740,    -1,    -1,   719,   744,   721,    -1,    -1,       913,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
1811        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1812        -1,    -1,    -1,   771,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   929,
1813       778,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   786,    -1,       930,   931,   932,    -1,    -1,   935,    -1,    -1,    -1,    -1,
      788,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
1814        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1815        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1816        -1,    -1,    -1,    -1,    -1,    -1,   800,   801,   802,   803,        -1,   974,   975,     3,     4,     5,     6,     7,     8,     9,
1817        -1,    -1,    -1,    -1,    -1,    -1,    -1,   835,   836,     3,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1818          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1819          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1820          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1821          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1822          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1823          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1824          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1825          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1826         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1827         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1828         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1829         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1830         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1831         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1832         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1833         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1834         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1835         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1836         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1837         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1838         220,   221,   222,    -1,   224,     3,     4,     5,     6,     7,
1839           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1840          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1841          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1842          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1843          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1844          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1845          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1846          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1847          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1848          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1849         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1850         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1851         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1852         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1853         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1854         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1855         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1856         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1857         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1858         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1859         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1860         218,   219,   220,   221,    -1,   223,   224,     3,     4,     5,
1861           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
1862          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1863          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1864          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1865          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1866          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1867          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1868          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1869          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1870          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1871         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1872         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1873         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1874         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1875         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1876         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1877         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1878         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1879         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1880         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1881         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1882         216,   217,   218,   219,   220,   221,    -1,    -1,   224,     3,
1883         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
1884        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1885        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
# Line 1529  static const short yycheck[] = Line 1901  static const short yycheck[] =
1901       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1902       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1903       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1904       214,   215,   216,   217,   218,   219,   220,   221,    -1,   223,       214,   215,   216,   217,   218,   219,   220,   221,    -1,    -1,
1905         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       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,    -1,   222,  
      223,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
1906        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1907        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1908        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1573  static const short yycheck[] = Line 1923  static const short yycheck[] =
1923       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1924       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1925       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1926       212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1927        -1,   223,     3,     4,     5,     6,     7,     8,     9,    10,       222,   223,     3,     4,     5,     6,     7,     8,     9,    10,
1928        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1929        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1930        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1596  static const short yycheck[] = Line 1946  static const short yycheck[] =
1946       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1947       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1948       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1949        -1,    -1,   223,     3,     4,     5,     6,     7,     8,     9,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       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,     3,     4,     5,     6,     7,     8,     9,  
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,  
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,  
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,  
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,  
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
1950        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1951        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1952        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1661  static const short yycheck[] = Line 1967  static const short yycheck[] =
1967       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1968       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1969       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1970       212,   213,   214,   215,   216,   217,   218,   219,   220,     3,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1971           3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
1972          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1973          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1974          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1975          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1976          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1977          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1978          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1979          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1980          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1981         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1982         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1983         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1984         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1985         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1986         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1987         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1988         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1989         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1990         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1991         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1992         213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
1993         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
1994        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1995        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
# Line 1683  static const short yycheck[] = Line 2011  static const short yycheck[] =
2011       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2012       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2013       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2014       214,   215,   216,   217,   218,   219,   220,     3,     4,     5,       214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2015           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2016          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2017          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2018          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2019          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2020          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2021          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2022          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2023          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2024          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2025         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2026         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2027         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2028         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2029         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2030         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2031         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2032         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2033         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2034         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2035         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2036         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2037         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2038        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2039        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
# Line 1705  static const short yycheck[] = Line 2055  static const short yycheck[] =
2055       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2056       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2057       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2058       216,   217,   218,   219,   220,     3,     4,     5,     6,     7,       216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2059           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2060          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2061          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2062          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2063          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2064          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2065          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2066          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2067          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2068          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2069         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2070         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2071         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2072         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2073         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2074         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2075         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2076         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2077         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2078         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2079         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2080         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2081         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2082        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2083        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1727  static const short yycheck[] = Line 2099  static const short yycheck[] =
2099       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2100       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2101       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2102       218,   219,   220,     3,     4,     5,     6,     7,     8,     9,       218,   219,   220,   221
2103        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,  };
2104        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,  
2105        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2106        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,     symbol of state STATE-NUM.  */
2107        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  static const yytype_uint16 yystos[] =
2108        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  {
2109        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2110        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        36,    37,    39,   228,   229,   230,   231,   280,   281,   282,
2111        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,       283,   284,   285,   286,   287,   288,   291,   292,   293,   294,
2112       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       295,   340,   343,    22,    30,    36,    23,    23,    27,    33,
2113       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,        19,    39,    23,    23,    39,    32,     0,   225,   226,   278,
2114       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       279,     3,     4,     5,     6,     7,     8,     9,    10,    11,
      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,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
2115        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2116        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2117        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1770  static const short yycheck[] = Line 2132  static const short yycheck[] =
2132       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2133       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2134       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2135       212,   213,   214,   215,   216,   217,   218,   219,   220,     3,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2136         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,       224,   269,   272,   273,   274,   277,   277,   277,   277,   277,
2137        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,       277,   277,   277,   277,   277,   277,   277,   277,   277,   277,
2138        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,       277,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2139        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        31,    37,    30,    38,    20,    31,    37,   278,     9,    10,
2140        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,        11,    12,    13,    14,    15,    16,    17,    18,   271,   272,
2141        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,       271,   271,   271,   271,   271,   271,   271,   271,     3,     9,
2142        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        10,    11,    12,    13,    14,    15,    16,    17,    18,   274,
2143        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        21,   296,    19,    21,    23,    31,    37,    38,   237,   296,
2144        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,       297,   298,   299,   306,   307,   309,   314,   315,   316,   317,
2145        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,       318,   319,   321,   323,   324,   325,   326,   327,   328,   329,
2146       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,       330,   334,    31,   234,   327,   235,   327,    31,   241,   328,
2147       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,        19,    31,   239,   315,   325,   242,   315,   325,    19,    21,
2148       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,        31,   247,   297,   298,   299,   314,   321,   324,   328,    27,
2149       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       243,   308,   309,   236,   296,    19,    23,    31,   238,   296,
2150       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       313,   318,   322,   323,   342,    20,    21,    31,    37,    38,
2151       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,        40,   232,   301,   302,   303,   304,   305,   306,   341,   233,
2152       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       301,   302,   303,   304,   305,   306,   341,   269,   275,   277,
2153       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,       240,   296,    19,    19,    38,    38,    22,    38,    33,    23,
2154       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,        23,    37,    19,    39,   272,    26,    39,    40,    26,    32,
2155       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,        27,    23,    33,   277,   277,   277,   277,   277,   277,   277,
2156       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       277,   277,   277,   277,   277,   277,   277,    27,   277,   277,
2157       214,   215,   216,   217,   218,   219,   220        27,    39,    27,   277,   277,   277,   277,    39,    26,    27,
2158  };        32,   277,   277,   277,    39,    21,    27,   277,   277,   277,
2159         277,   277,   277,    39,    26,    27,    38,    33,    33,   269,
2160  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing       277,   277,    36,    38,    36,    40,    38,    21,    21,    34,
2161     symbol of state STATE-NUM.  */        20,    19,    22,    19,    19,    25,    22,    36,    38,    27,
2162  static const unsigned short yystos[] =       300,   303,   304,   305,   300,   300,   300,   300,   300,   300,
2163  {       300,   300,   300,   300,   300,   300,   300,    22,    10,    11,
2164         0,     1,     3,    18,    20,    21,    24,    29,    34,    35,        12,    13,    14,    15,    16,    17,    18,   257,   273,   257,
2165        36,    38,   227,   228,   229,   230,   268,   269,   270,   271,        22,    22,    22,   269,   269,   273,   273,    22,    19,    22,
2166       272,   273,   275,   276,   277,   278,   311,   314,    21,    35,        37,    32,   222,   223,   248,   264,   276,   290,   249,   263,
2167        22,    22,    26,    32,    38,    22,    22,    38,    31,     0,       269,   261,   273,    22,    26,    22,    19,    31,    37,    40,
2168       224,   225,   266,   267,     3,     4,     5,     6,     7,     8,       244,   315,   319,   320,   325,   330,   331,   332,   333,   335,
2169         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,       336,   337,   273,   273,   273,   273,   268,   269,   273,    24,
2170        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    37,    36,    38,    27,   261,    23,    33,    23,    38,
2171        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        36,    37,    32,    27,    27,    32,    27,    27,    40,    19,
2172        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,        32,   277,   277,   277,   277,   277,   277,   277,   277,   277,
2173        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,       277,   277,   277,   277,   277,   277,   277,    27,   277,   277,
2174        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        27,    27,    27,   277,   277,    27,    32,    27,    38,    33,
2175        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,       275,   275,   277,   277,   277,    27,    33,    27,    39,    27,
2176        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        39,    33,    33,   277,   277,   277,   277,   277,   277,   277,
2177        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,       277,   277,   277,   277,   277,   277,   277,   277,    24,    32,
2178        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,        21,    23,    19,    21,    43,    27,    21,    32,    33,    30,
2179       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,        32,    32,    89,    23,    30,    24,   261,    20,    34,   246,
2180       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       338,   339,   261,   261,   263,   273,   269,   269,   273,   273,
2181       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       273,   273,   269,   257,   269,   273,    89,   258,   273,   258,
2182       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,        89,    33,    89,   245,   269,   245,    33,    32,    89,    36,
2183       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,        32,   222,   223,   262,   273,   264,   261,    33,    89,    22,
2184       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,        22,    38,    30,    30,   261,   261,   261,   261,   261,   261,
2185       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       261,   261,   261,   261,   261,   269,   273,   269,   273,    23,
2186       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,        32,    23,    19,    30,    23,    20,    36,    23,    89,    19,
2187       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,        23,    23,    27,    36,    89,    33,    43,    23,   277,   277,
2188       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       277,   277,   277,   277,   277,   277,    27,   277,   277,    27,
2189       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,        89,    27,   277,     4,    89,    23,    27,    39,    89,   277,
2190       219,   220,   223,   257,   260,   261,   262,   265,   265,   265,       277,    89,    27,    27,    27,    23,    33,    39,   277,   277,
2191       265,   265,   265,   265,   265,   265,   265,   265,   265,    21,       277,   277,   277,   277,   277,   277,   277,   277,   277,     4,
2192        22,    36,    37,    36,    18,    26,    30,    36,    37,    19,       277,     4,   277,    36,    23,    30,    31,    89,    89,    23,
2193        36,   266,     8,     9,    10,    11,    12,    13,    14,    15,        27,    30,    33,    20,    30,    32,    40,    38,    36,   261,
2194        16,    17,   259,   260,   259,   259,   259,   259,   259,   259,       269,   273,   273,   273,   269,   258,   273,    32,   259,   273,
2195       259,   259,     3,     8,     9,    10,    11,    12,    13,    14,       259,    32,    33,    32,   269,     7,     8,   266,   267,   269,
2196        15,    16,    17,   262,    20,   279,    18,    20,    22,    30,       270,   271,   272,   273,   276,    33,    30,    32,    31,    31,
2197       233,   279,   280,   281,   282,   288,   290,   291,   292,   293,       261,   262,    33,    32,    33,    89,    31,   251,   273,   252,
2198       294,   295,   297,   299,   300,   301,   302,   303,   304,    18,       273,   253,   269,   251,   254,   273,    19,   255,   273,   289,
2199        30,   235,   291,   301,   236,   291,   301,    18,    20,    30,       256,   269,   251,     7,     8,   260,   270,   273,   268,   268,
2200       241,   282,   290,   300,    26,   237,   287,   288,   279,    18,       266,   269,   266,   269,    89,    30,    30,    89,    40,    21,
2201        22,    30,   234,   279,   289,   294,   298,   299,   313,    19,        20,    39,    30,    37,    34,    37,    33,    23,    21,   277,
2202        26,    30,    36,    39,   231,   282,   283,   284,   285,   286,       277,   277,   277,   277,    37,   277,    37,    39,    34,     4,
2203       312,   232,   282,   283,   284,   285,   286,   312,   279,    18,       271,   271,     5,     6,    39,    34,    23,    33,   277,    39,
2204        37,    37,    21,    37,    32,    22,    36,    38,   260,    25,        34,    89,    27,    23,   277,    30,   277,     4,     4,    24,
2205        38,    39,    25,    31,    26,   265,   265,   265,   265,   265,        89,    19,    21,    33,    33,    23,    38,    23,    39,    38,
2206       265,   265,   265,   265,   265,   265,   265,    38,    26,   265,        27,    37,    23,   245,   269,   269,   245,   259,    38,   263,
2207       265,   265,   265,    38,    25,    26,    31,   265,   265,   265,        38,    38,    39,   266,     6,     6,   267,   271,    38,    39,
2208        38,    20,    26,   265,   265,   265,   265,   265,   265,    38,        32,    22,   261,    38,    39,    33,    32,   252,    30,   254,
2209        31,    26,    37,    32,   265,    37,    35,    39,    37,    20,       266,   266,    27,    21,    27,    32,    33,    27,    39,    34,
2210        19,    18,    21,    18,    18,    24,    21,   283,   284,   285,        89,    38,    36,    21,    32,    36,   277,    36,    34,    38,
2211       286,   283,   283,   283,   283,   283,   283,   283,   283,   283,       271,   271,    34,    38,    38,    19,    34,    38,    39,    34,
2212       283,   283,    21,    21,   257,   257,     9,    10,    11,    12,       277,    30,    33,    32,    23,    39,    21,    32,    39,    19,
2213        13,    14,    15,    16,    17,   261,   261,    21,    18,    21,        23,    31,    89,    39,    23,    38,    39,   264,    39,    39,
2214        36,    31,   221,   222,   242,   254,   264,   274,   243,   253,        89,    39,    89,    30,    39,    89,    38,    39,   255,    30,
2215       257,   251,   261,    21,    25,    21,    18,    30,    39,   238,        39,    24,    33,    32,    23,    38,    38,    39,    32,    27,
2216       291,   295,   296,   301,   304,   305,   306,   307,   308,   261,        22,    34,    31,    89,    19,    31,   277,    31,    38,    22,
2217       261,   261,   261,   256,   257,   261,    23,    23,    36,    35,        38,    22,    38,    22,    34,    34,    38,    32,    33,    39,
2218        26,   251,    22,    32,    22,    35,    36,    31,    26,    26,        38,    89,    89,    22,    25,    22,    23,    36,    33,    23,
2219        31,    26,    26,   265,   265,   265,   265,   265,   265,   265,        21,    25,    23,   262,    23,    89,    23,    89,    23,    89,
2220       265,   265,   265,   265,   265,   265,   265,   265,    26,    26,        23,    33,    39,    89,    38,    37,    21,    21,    22,    27,
2221       265,   265,    26,    31,    26,    37,    32,   257,   263,   265,        27,    27,    40,    27,    36,    32,    33,    23,    32,   277,
2222       263,   265,   265,   265,    26,    32,    26,    38,    26,    32,        32,    22,    40,    22,    40,    21,    22,    40,    36,    38,
2223       265,   265,   265,   265,   265,   265,   265,   265,   265,   265,        21,    34,    38,    33,    26,    23,    36,    33,    32,    89,
2224       265,   265,   265,    23,    32,    20,    22,    20,    42,    26,        27,    40,    38,    38,    39,    38,   260,    38,    23,    27,
2225        20,    31,    32,    29,    31,    31,    88,   251,    19,    33,        23,    27,    26,    23,    27,    38,    89,    26,    33,    43,
2226       240,   309,   310,   251,   251,   253,   261,   257,   257,   261,        39,    19,    40,    27,    89,    23,    27,    21,    23,    89,
2227       261,   261,   261,   257,   257,   261,    32,    88,   239,   257,        37,    32,   277,    40,    21,    40,    21,    19,    40,    21,
2228       239,    32,    31,    88,    35,    31,   221,   257,   265,   222,        21,    38,    19,    36,    34,    32,    32,    27,    40,    33,
2229       252,   261,   254,   251,    32,    88,    21,    21,    29,   251,        37,    32,    23,    36,    34,    38,    33,    34,   250,   265,
2230       251,   251,   251,   251,   251,   251,   251,   251,   257,   261,       276,   310,   311,   312,    27,    23,    27,    23,    32,    27,
2231       257,   261,    22,    22,    18,    22,    19,    35,    22,    88,        23,    26,    43,    32,    38,    23,    38,    32,    21,    23,
2232        18,    22,    22,    26,    42,    22,   265,   265,   265,   265,        39,    34,    37,    89,    19,    89,    32,    23,   277,    21,
2233       265,   265,   265,    88,    26,   265,     4,    88,    22,    26,        21,    32,    21,    89,    19,    34,    32,    23,    23,    36,
2234        38,    88,   265,   265,    88,    26,    26,    26,    38,   265,        38,    39,    34,    36,    31,    89,    36,   265,    23,    23,
2235       265,   265,   265,   265,   265,   265,   265,   265,     4,   265,        23,    23,    34,    32,    23,    23,    30,    37,    89,    34,
2236         4,   265,    35,    29,    30,    88,    22,    26,    29,    32,        38,    19,    19,    19,    22,    37,    30,    89,    19,    32,
2237        19,    29,    31,    37,    35,   251,   257,   261,   261,   261,        30,    89,    34,    39,    89,    36,    31,    42,    23,    27,
2238       257,   261,    32,    31,   257,     6,     7,   255,   257,   258,        34,    36,    23,    34,    19,    38,    22,    19,    23,    31,
2239       259,   260,   261,   264,    32,    29,    31,    30,    30,   251,        37,    19,    19,    30,    19,    36,    89,    36,    31,    38,
2240       252,    32,    31,    32,    88,    30,   244,   261,   245,   261,        19,    38,    36,    31,    36,    19,    22,    27,    23,    23,
2241       246,   257,   244,   247,   261,   248,   261,   249,   257,   244,        32,    23,    19,    23,    19,    31,    36,    40,    38,    36,
2242         6,     7,   250,   258,   261,   255,   257,   255,   257,    88,        22,    32,    31,    38,    31,    23,    27,    23,    23,    89,
2243        29,    88,    20,    19,    38,    29,    36,    33,    22,    20,        38,    23,    23,    23,    38,    40,    36,    36,    26,    38,
2244       265,   265,   265,   265,    38,    33,     4,   259,   259,     5,        36,    38,    23,    23,    37,    33,    23,    23,    36,    36,
2245        38,    33,    22,    32,   265,    38,    33,    88,    26,    22,        30,    36,    36,    37,    22
      265,   265,     4,     4,    23,    18,    20,    32,    22,    37,  
       22,    38,    36,    22,   239,   257,   257,   239,    37,    38,  
      255,     5,     5,   259,    37,    38,    31,    21,   251,    37,  
       38,    32,    31,   245,   247,   255,   255,    26,    31,    32,  
       38,    33,    88,    37,    31,    33,    37,   259,   259,    33,  
       37,    37,    18,    33,    37,    38,    33,   265,    29,    22,  
       38,    31,    38,    18,    22,    30,    88,    37,    38,    88,  
       38,    88,    29,    38,    88,    37,    38,   248,    29,    32,  
       31,    37,    37,    38,    31,    26,    21,    33,    18,    37,  
       21,    37,    21,    37,    21,    33,    33,    37,    38,    37,  
       88,    21,    24,    21,    22,    35,    32,    24,    88,    22,  
       88,    22,    88,    22,    32,    38,    88,    36,    20,    21,  
       26,    26,    26,    39,    26,    35,    22,    21,    39,    21,  
       39,    20,    21,    39,    35,    37,    20,    33,    37,    25,  
       22,    35,    32,    31,    88,    26,    39,    37,    22,    26,  
       22,    26,    25,    22,    26,    37,    88,    25,    32,    42,  
       18,    39,    26,    88,    22,    26,    20,    22,    88,    39,  
       20,    39,    20,    18,    39,    20,    20,    37,    18,    35,  
       33,    31,    26,    39,    32,    36,    31,    22,    35,    33,  
       26,    22,    26,    22,    31,    26,    22,    25,    42,    31,  
       37,    22,    31,    20,    22,    38,    33,    36,    88,    18,  
       20,    20,    31,    20,    88,    18,    33,    31,    22,    22,  
       35,    37,    38,    33,    35,    22,    22,    22,    22,    33,  
       31,    22,    22,    29,    36,    88,    33,    37,    18,    18,  
       29,    88,    18,    31,    29,    88,    33,    38,    88,    35,  
       30,    33,    35,    22,    33,    18,    37,    21,    18,    22,  
       18,    18,    29,    18,    35,    88,    35,    30,    37,    35,  
       30,    35,    18,    21,    26,    22,    22,    18,    22,    18,  
       30,    35,    39,    37,    35,    30,    37,    30,    22,    26,  
       22,    22,    22,    22,    22,    37,    39,    35,    35,    37,  
       35,    37,    22,    22,    36,    22,    22,    35,    35,    35,  
       35,    36  
2246  };  };
2247    
 #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  
   
2248  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2249  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2250  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 1938  static const unsigned short yystos[] = Line 2252  static const unsigned short yystos[] =
2252    
2253  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2254  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2255  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2256    
2257    
2258  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 1956  do                                                             \ Line 2270  do                                                             \
2270        yychar = (Token);                                         \        yychar = (Token);                                         \
2271        yylval = (Value);                                         \        yylval = (Value);                                         \
2272        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2273        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2274        goto yybackup;                                            \        goto yybackup;                                            \
2275      }                                                           \      }                                                           \
2276    else                                                          \    else                                                          \
2277      {                                                           \      {                                                           \
2278        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2279        YYERROR;                                                  \        YYERROR;                                                  \
2280      }                                                           \      }                                                           \
2281  while (0)  while (YYID (0))
2282    
2283    
2284  #define YYTERROR        1  #define YYTERROR        1
2285  #define YYERRCODE       256  #define YYERRCODE       256
2286    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2287    
2288    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2289       If N is 0, then set CURRENT to the empty location which ends
2290       the previous symbol: RHS[0] (always defined).  */
2291    
2292    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2293  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2294  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2295    Current.first_line   = Rhs[1].first_line;      \      do                                                                  \
2296    Current.first_column = Rhs[1].first_column;    \        if (YYID (N))                                                    \
2297    Current.last_line    = Rhs[N].last_line;       \          {                                                               \
2298    Current.last_column  = Rhs[N].last_column;            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2299              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2300              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2301              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2302            }                                                               \
2303          else                                                              \
2304            {                                                               \
2305              (Current).first_line   = (Current).last_line   =              \
2306                YYRHSLOC (Rhs, 0).last_line;                                \
2307              (Current).first_column = (Current).last_column =              \
2308                YYRHSLOC (Rhs, 0).last_column;                              \
2309            }                                                               \
2310        while (YYID (0))
2311    #endif
2312    
2313    
2314    /* YY_LOCATION_PRINT -- Print the location on the stream.
2315       This macro was not mandated originally: define only if we know
2316       we won't break user code: when these are the locations we know.  */
2317    
2318    #ifndef YY_LOCATION_PRINT
2319    # if YYLTYPE_IS_TRIVIAL
2320    #  define YY_LOCATION_PRINT(File, Loc)                  \
2321         fprintf (File, "%d.%d-%d.%d",                      \
2322                  (Loc).first_line, (Loc).first_column,     \
2323                  (Loc).last_line,  (Loc).last_column)
2324    # else
2325    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2326    # endif
2327  #endif  #endif
2328    
2329    
2330  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2331    
2332  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2000  while (0) Line 2347  while (0)
2347  do {                                            \  do {                                            \
2348    if (yydebug)                                  \    if (yydebug)                                  \
2349      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2350  } while (0)  } while (YYID (0))
2351    
2352  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2353  do {                                            \  do {                                                                      \
2354    if (yydebug)                                  \    if (yydebug)                                                            \
2355      yysymprint Args;                            \      {                                                                     \
2356  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2357          yy_symbol_print (stderr,                                            \
2358                      Type, Value); \
2359          YYFPRINTF (stderr, "\n");                                           \
2360        }                                                                     \
2361    } while (YYID (0))
2362    
2363  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2364  do {                                                            \  /*--------------------------------.
2365    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2366      {                                                           \  `--------------------------------*/
2367        YYFPRINTF (stderr, "%s ", Title);                         \  
2368        yysymprint (stderr,                                       \  /*ARGSUSED*/
2369                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2370        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2371      }                                                           \  static void
2372  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep)
2373    #else
2374    static void
2375    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2376        FILE *yyoutput;
2377        int yytype;
2378        const YYSTYPE * const yyvaluep;
2379    #endif
2380    {
2381      if (!yyvaluep)
2382        return;
2383    # ifdef YYPRINT
2384      if (yytype < YYNTOKENS)
2385        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2386    # else
2387      YYUSE (yyoutput);
2388    # endif
2389      switch (yytype)
2390        {
2391          default:
2392            break;
2393        }
2394    }
2395    
2396    
2397    /*--------------------------------.
2398    | Print this symbol on YYOUTPUT.  |
2399    `--------------------------------*/
2400    
2401    #if (defined __STDC__ || defined __C99__FUNC__ \
2402         || defined __cplusplus || defined _MSC_VER)
2403    static void
2404    yy_symbol_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep)
2405    #else
2406    static void
2407    yy_symbol_print (yyoutput, yytype, yyvaluep)
2408        FILE *yyoutput;
2409        int yytype;
2410        const YYSTYPE * const yyvaluep;
2411    #endif
2412    {
2413      if (yytype < YYNTOKENS)
2414        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2415      else
2416        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2417    
2418      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2419      YYFPRINTF (yyoutput, ")");
2420    }
2421    
2422  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2423  | 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 |
2424  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2425  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2426    
2427  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2428         || defined __cplusplus || defined _MSC_VER)
2429  static void  static void
2430  yy_stack_print (short *bottom, short *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2431  #else  #else
2432  static void  static void
2433  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2434      short *bottom;      yytype_int16 *bottom;
2435      short *top;      yytype_int16 *top;
2436  #endif  #endif
2437  {  {
2438    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2439    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2440      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2441    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2442  }  }
# Line 2044  yy_stack_print (bottom, top) Line 2445  yy_stack_print (bottom, top)
2445  do {                                                            \  do {                                                            \
2446    if (yydebug)                                                  \    if (yydebug)                                                  \
2447      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2448  } while (0)  } while (YYID (0))
2449    
2450    
2451  /*------------------------------------------------.  /*------------------------------------------------.
2452  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2453  `------------------------------------------------*/  `------------------------------------------------*/
2454    
2455  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2456         || defined __cplusplus || defined _MSC_VER)
2457  static void  static void
2458  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp,
2459                       int yyrule)
2460  #else  #else
2461  static void  static void
2462  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule
2463      int yyrule;                     )
2464        YYSTYPE *yyvsp;
2465        
2466                       int yyrule;
2467  #endif  #endif
2468  {  {
2469      int yynrhs = yyr2[yyrule];
2470    int yyi;    int yyi;
2471    unsigned int yylineno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2472    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2473               yyrule - 1, yylineno);               yyrule - 1, yylno);
2474    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2475    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2476      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2477    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2478          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2479                           &(yyvsp[(yyi + 1) - (yynrhs)])
2480                                           );
2481          fprintf (stderr, "\n");
2482        }
2483  }  }
2484    
2485  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2486  do {                                    \  do {                                    \
2487    if (yydebug)                          \    if (yydebug)                          \
2488      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2489  } while (0)  } while (YYID (0))
2490    
2491  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2492     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2493  int yydebug;  int yydebug;
2494  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2495  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2496  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2497  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2498  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2499  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2097  int yydebug; Line 2508  int yydebug;
2508     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2509    
2510     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2511     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2512     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2513    
 #if YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2514  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2515  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2516  #endif  #endif
# Line 2113  int yydebug; Line 2520  int yydebug;
2520  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2521    
2522  # ifndef yystrlen  # ifndef yystrlen
2523  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2524  #   define yystrlen strlen  #   define yystrlen strlen
2525  #  else  #  else
2526  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2527    #if (defined __STDC__ || defined __C99__FUNC__ \
2528         || defined __cplusplus || defined _MSC_VER)
2529  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2530  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2531  #   else  #else
2532    static YYSIZE_T
2533  yystrlen (yystr)  yystrlen (yystr)
2534       const char *yystr;      const char *yystr;
2535  #   endif  #endif
2536  {  {
2537    register const char *yys = yystr;    YYSIZE_T yylen;
2538      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2539      continue;      continue;
2540      return yylen;
   return yys - yystr - 1;  
2541  }  }
2542  #  endif  #  endif
2543  # endif  # endif
2544    
2545  # ifndef yystpcpy  # ifndef yystpcpy
2546  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2547  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2548  #  else  #  else
2549  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2550     YYDEST.  */     YYDEST.  */
2551    #if (defined __STDC__ || defined __C99__FUNC__ \
2552         || defined __cplusplus || defined _MSC_VER)
2553  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2554  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2555  #   else  #else
2556    static char *
2557  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2558       char *yydest;      char *yydest;
2559       const char *yysrc;      const char *yysrc;
2560  #   endif  #endif
2561  {  {
2562    register char *yyd = yydest;    char *yyd = yydest;
2563    register const char *yys = yysrc;    const char *yys = yysrc;
2564    
2565    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2566      continue;      continue;
# Line 2161  yystpcpy (yydest, yysrc) Line 2570  yystpcpy (yydest, yysrc)
2570  #  endif  #  endif
2571  # endif  # endif
2572    
2573  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2574    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2575       quotes and backslashes, so that it's suitable for yyerror.  The
2576       heuristic is that double-quoting is unnecessary unless the string
2577       contains an apostrophe, a comma, or backslash (other than
2578       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2579       null, do not copy; instead, return the length of what the result
2580       would have been.  */
2581    static YYSIZE_T
2582    yytnamerr (char *yyres, const char *yystr)
2583    {
2584      if (*yystr == '"')
2585        {
2586          YYSIZE_T yyn = 0;
2587          char const *yyp = yystr;
2588    
2589          for (;;)
2590            switch (*++yyp)
2591              {
2592              case '\'':
2593              case ',':
2594                goto do_not_strip_quotes;
2595    
2596              case '\\':
2597                if (*++yyp != '\\')
2598                  goto do_not_strip_quotes;
2599                /* Fall through.  */
2600              default:
2601                if (yyres)
2602                  yyres[yyn] = *yyp;
2603                yyn++;
2604                break;
2605    
2606              case '"':
2607                if (yyres)
2608                  yyres[yyn] = '\0';
2609                return yyn;
2610              }
2611        do_not_strip_quotes: ;
2612        }
2613    
2614  #if YYDEBUG    if (! yyres)
2615  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2616    
2617  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2618  static void  }
2619  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2620  #else  
2621  static void  /* Copy into YYRESULT an error message about the unexpected token
2622  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2623      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2624      int yytype;     copy anything; just return the number of bytes that would be
2625      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2626  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2627       size calculation.  */
2628    static YYSIZE_T
2629    yysyntax_error (char *yyresult, int yystate, int yychar)
2630  {  {
2631    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2632    
2633    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2634        return 0;
2635      else
2636      {      {
2637        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
2638  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2639        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
2640          YYSIZE_T yysize1;
2641          int yysize_overflow = 0;
2642          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2643          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2644          int yyx;
2645    
2646    # if 0
2647          /* This is so xgettext sees the translatable formats that are
2648             constructed on the fly.  */
2649          YY_("syntax error, unexpected %s");
2650          YY_("syntax error, unexpected %s, expecting %s");
2651          YY_("syntax error, unexpected %s, expecting %s or %s");
2652          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2653          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2654  # endif  # endif
2655      }        char *yyfmt;
2656    else        char const *yyf;
2657      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
2658          static char const yyexpecting[] = ", expecting %s";
2659          static char const yyor[] = " or %s";
2660          char yyformat[sizeof yyunexpected
2661                        + sizeof yyexpecting - 1
2662                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2663                           * (sizeof yyor - 1))];
2664          char const *yyprefix = yyexpecting;
2665    
2666          /* Start YYX at -YYN if negative to avoid negative indexes in
2667             YYCHECK.  */
2668          int yyxbegin = yyn < 0 ? -yyn : 0;
2669    
2670          /* Stay within bounds of both yycheck and yytname.  */
2671          int yychecklim = YYLAST - yyn + 1;
2672          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2673          int yycount = 1;
2674    
2675          yyarg[0] = yytname[yytype];
2676          yyfmt = yystpcpy (yyformat, yyunexpected);
2677    
2678          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2679            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2680              {
2681                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2682                  {
2683                    yycount = 1;
2684                    yysize = yysize0;
2685                    yyformat[sizeof yyunexpected - 1] = '\0';
2686                    break;
2687                  }
2688                yyarg[yycount++] = yytname[yyx];
2689                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2690                yysize_overflow |= (yysize1 < yysize);
2691                yysize = yysize1;
2692                yyfmt = yystpcpy (yyfmt, yyprefix);
2693                yyprefix = yyor;
2694              }
2695    
2696          yyf = YY_(yyformat);
2697          yysize1 = yysize + yystrlen (yyf);
2698          yysize_overflow |= (yysize1 < yysize);
2699          yysize = yysize1;
2700    
2701    switch (yytype)        if (yysize_overflow)
2702      {          return YYSIZE_MAXIMUM;
2703        default:  
2704          break;        if (yyresult)
2705            {
2706              /* Avoid sprintf, as that infringes on the user's name space.
2707                 Don't have undefined behavior even if the translation
2708                 produced a string with the wrong number of "%s"s.  */
2709              char *yyp = yyresult;
2710              int yyi = 0;
2711              while ((*yyp = *yyf) != '\0')
2712                {
2713                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2714                    {
2715                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2716                      yyf += 2;
2717                    }
2718                  else
2719                    {
2720                      yyp++;
2721                      yyf++;
2722                    }
2723                }
2724            }
2725          return yysize;
2726      }      }
   YYFPRINTF (yyoutput, ")");  
2727  }  }
2728    #endif /* YYERROR_VERBOSE */
2729    
2730    
 #endif /* ! YYDEBUG */  
2731  /*-----------------------------------------------.  /*-----------------------------------------------.
2732  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
2733  `-----------------------------------------------*/  `-----------------------------------------------*/
2734    
2735  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
2736    #if (defined __STDC__ || defined __C99__FUNC__ \
2737         || defined __cplusplus || defined _MSC_VER)
2738  static void  static void
2739  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2740  #else  #else
2741  static void  static void
2742  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
2743        const char *yymsg;
2744      int yytype;      int yytype;
2745      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
2746  #endif  #endif
2747  {  {
2748    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
2749    (void) yyvaluep;  
2750      if (!yymsg)
2751        yymsg = "Deleting";
2752      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2753    
2754    switch (yytype)    switch (yytype)
2755      {      {
2756    
2757        default:        default:
2758          break;          break;
2759      }      }
2760  }  }
2761    
# Line 2232  yydestruct (yytype, yyvaluep) Line 2763  yydestruct (yytype, yyvaluep)
2763  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
2764    
2765  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
2766  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
2767  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
2768  # else  #else
2769  int yyparse ();  int yyparse ();
2770  # endif  #endif
2771  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
2772  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
2773  int yyparse (void);  int yyparse (void);
2774  #else  #else
2775  int yyparse ();  int yyparse ();
# Line 2255  int yyparse (); Line 2786  int yyparse ();
2786  `----------*/  `----------*/
2787    
2788  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
2789  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2790  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
2791  # else  int
2792  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
2793    void *YYPARSE_PARAM;  #else
2794  # endif  int
2795    yyparse (YYPARSE_PARAM)
2796        void *YYPARSE_PARAM;
2797    #endif
2798  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
2799  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2800         || defined __cplusplus || defined _MSC_VER)
2801  int  int
2802  yyparse (void)  yyparse (void)
2803  #else  #else
# Line 2272  yyparse () Line 2807  yyparse ()
2807  #endif  #endif
2808  #endif  #endif
2809  {  {
2810    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
2811  int yychar;  int yychar;
2812    
2813  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
2814  YYSTYPE yylval;  YYSTYPE yylval;
2815    
2816  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
2817  int yynerrs;  int yynerrs;
2818    
2819    register int yystate;    int yystate;
2820    register int yyn;    int yyn;
2821    int yyresult;    int yyresult;
2822    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
2823    int yyerrstatus;    int yyerrstatus;
2824    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
2825    int yytoken = 0;    int yytoken = 0;
2826    #if YYERROR_VERBOSE
2827      /* Buffer for error messages, and its allocated size.  */
2828      char yymsgbuf[128];
2829      char *yymsg = yymsgbuf;
2830      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2831    #endif
2832    
2833    /* Three stacks and their tools:    /* Three stacks and their tools:
2834       `yyss': related to states,       `yyss': related to states,
# Line 2298  int yynerrs; Line 2839  int yynerrs;
2839       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
2840    
2841    /* The state stack.  */    /* The state stack.  */
2842    short yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
2843    short *yyss = yyssa;    yytype_int16 *yyss = yyssa;
2844    register short *yyssp;    yytype_int16 *yyssp;
2845    
2846    /* The semantic value stack.  */    /* The semantic value stack.  */
2847    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
2848    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
2849    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
2850    
2851    
2852    
2853  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
2854    
2855    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
2856    
# Line 2318  int yynerrs; Line 2859  int yynerrs;
2859    YYSTYPE yyval;    YYSTYPE yyval;
2860    
2861    
2862    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
2863       rule.  */       Keep to zero when no symbol should be popped.  */
2864    int yylen;    int yylen = 0;
2865    
2866    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
2867    
# Line 2344  int yynerrs; Line 2885  int yynerrs;
2885  `------------------------------------------------------------*/  `------------------------------------------------------------*/
2886   yynewstate:   yynewstate:
2887    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
2888       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
2889    yyssp++;    yyssp++;
2890    
2891   yysetstate:   yysetstate:
# Line 2358  int yynerrs; Line 2898  int yynerrs;
2898    
2899  #ifdef yyoverflow  #ifdef yyoverflow
2900        {        {
2901          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
2902             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
2903             memory.  */             memory.  */
2904          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
2905          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
2906    
2907    
2908          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
2909             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
2910             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
2911             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
2912          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
2913                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
2914                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
2915    
# Line 2380  int yynerrs; Line 2920  int yynerrs;
2920        }        }
2921  #else /* no yyoverflow */  #else /* no yyoverflow */
2922  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
2923        goto yyoverflowlab;        goto yyexhaustedlab;
2924  # else  # else
2925        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
2926        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
2927          goto yyoverflowlab;          goto yyexhaustedlab;
2928        yystacksize *= 2;        yystacksize *= 2;
2929        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
2930          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
2931    
2932        {        {
2933          short *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
2934          union yyalloc *yyptr =          union yyalloc *yyptr =
2935            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2936          if (! yyptr)          if (! yyptr)
2937            goto yyoverflowlab;            goto yyexhaustedlab;
2938          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
2939          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
2940    
# Line 2425  int yynerrs; Line 2965  int yynerrs;
2965  `-----------*/  `-----------*/
2966  yybackup:  yybackup:
2967    
2968  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
2969  /* 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.  */  
2970    
2971      /* First try to decide what to do without reference to look-ahead token.  */
2972    yyn = yypact[yystate];    yyn = yypact[yystate];
2973    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
2974      goto yydefault;      goto yydefault;
2975    
2976    /* 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.  */
2977    
2978    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
2979    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
2980      {      {
2981        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2452  yybackup: Line 2990  yybackup:
2990    else    else
2991      {      {
2992        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
2993        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2994      }      }
2995    
2996    /* 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 2472  yybackup: Line 3010  yybackup:
3010    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3011      YYACCEPT;      YYACCEPT;
3012    
   /* 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;  
   
   
3013    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3014       status.  */       status.  */
3015    if (yyerrstatus)    if (yyerrstatus)
3016      yyerrstatus--;      yyerrstatus--;
3017    
3018      /* Shift the look-ahead token.  */
3019      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3020    
3021      /* Discard the shifted token unless it is eof.  */
3022      if (yychar != YYEOF)
3023        yychar = YYEMPTY;
3024    
3025    yystate = yyn;    yystate = yyn;
3026      *++yyvsp = yylval;
3027    
3028    goto yynewstate;    goto yynewstate;
3029    
3030    
# Line 2523  yyreduce: Line 3060  yyreduce:
3060    switch (yyn)    switch (yyn)
3061      {      {
3062          case 4:          case 4:
3063  #line 85 "lscp.y"  #line 99 "lscp.y"
3064      { return LSCP_DONE; }      { return LSCP_DONE; }
3065      break;      break;
3066    
3067    case 5:    case 5:
3068  #line 86 "lscp.y"  #line 100 "lscp.y"
3069      { return LSCP_DONE; }      { return LSCP_DONE; }
3070      break;      break;
3071    
3072    case 6:    case 6:
3073  #line 87 "lscp.y"  #line 101 "lscp.y"
3074      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3075      break;      break;
3076    
3077    case 7:    case 7:
3078  #line 88 "lscp.y"  #line 102 "lscp.y"
3079      { 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; }
3080      break;      break;
3081    
3082    case 13:    case 13:
3083  #line 98 "lscp.y"  #line 112 "lscp.y"
3084      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = LSCPSERVER->AddChannel(); }
3085      break;      break;
3086    
3087    case 14:    case 14:
3088  #line 99 "lscp.y"  #line 113 "lscp.y"
3089      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3090      break;      break;
3091    
3092    case 15:    case 15:
3093  #line 100 "lscp.y"  #line 114 "lscp.y"
3094      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3095      break;      break;
3096    
3097    case 16:    case 16:
3098  #line 101 "lscp.y"  #line 115 "lscp.y"
3099      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3100      break;      break;
3101    
3102    case 17:    case 17:
3103  #line 102 "lscp.y"  #line 116 "lscp.y"
3104      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3105      break;      break;
3106    
3107    case 18:    case 18:
3108  #line 103 "lscp.y"  #line 117 "lscp.y"
3109      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3110      break;      break;
3111    
3112    case 19:    case 19:
3113  #line 104 "lscp.y"  #line 118 "lscp.y"
3114      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3115      break;      break;
3116    
3117    case 20:    case 20:
3118  #line 105 "lscp.y"  #line 119 "lscp.y"
3119      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3120      break;      break;
3121    
3122    case 21:    case 21:
3123  #line 106 "lscp.y"  #line 120 "lscp.y"
3124      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }
3125      break;      break;
3126    
3127    case 22:    case 22:
3128  #line 107 "lscp.y"  #line 122 "lscp.y"
3129      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3130      break;      break;
3131    
3132    case 23:    case 23:
3133  #line 108 "lscp.y"  #line 123 "lscp.y"
3134      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3135      break;      break;
3136    
3137    case 24:    case 24:
3138  #line 109 "lscp.y"  #line 124 "lscp.y"
3139      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3140      break;      break;
3141    
3142    case 25:    case 25:
3143  #line 110 "lscp.y"  #line 125 "lscp.y"
3144      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3145      break;      break;
3146    
3147    case 26:    case 26:
3148  #line 113 "lscp.y"  #line 126 "lscp.y"
3149      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3150      break;      break;
3151    
3152    case 27:    case 27:
3153  #line 114 "lscp.y"  #line 127 "lscp.y"
3154      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3155      break;      break;
3156    
3157    case 28:    case 28:
3158  #line 115 "lscp.y"  #line 128 "lscp.y"
3159      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3160      break;      break;
3161    
3162    case 29:    case 29:
3163  #line 116 "lscp.y"  #line 129 "lscp.y"
3164      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3165      break;      break;
3166    
3167    case 30:    case 30:
3168  #line 117 "lscp.y"  #line 132 "lscp.y"
3169      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }
3170      break;      break;
3171    
3172    case 31:    case 31:
3173  #line 118 "lscp.y"  #line 133 "lscp.y"
3174      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }
3175      break;      break;
3176    
3177    case 32:    case 32:
3178  #line 121 "lscp.y"  #line 134 "lscp.y"
3179      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }
3180      break;      break;
3181    
3182    case 33:    case 33:
3183  #line 122 "lscp.y"  #line 135 "lscp.y"
3184      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }
3185      break;      break;
3186    
3187    case 34:    case 34:
3188  #line 123 "lscp.y"  #line 136 "lscp.y"
3189      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }
3190      break;      break;
3191    
3192    case 35:    case 35:
3193  #line 124 "lscp.y"  #line 137 "lscp.y"
3194      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }
3195      break;      break;
3196    
3197    case 36:    case 36:
3198  #line 125 "lscp.y"  #line 138 "lscp.y"
3199      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }
3200      break;      break;
3201    
3202    case 37:    case 37:
3203  #line 126 "lscp.y"  #line 141 "lscp.y"
3204      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }
3205      break;      break;
3206    
3207    case 38:    case 38:
3208  #line 129 "lscp.y"  #line 142 "lscp.y"
3209      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }
3210      break;      break;
3211    
3212    case 39:    case 39:
3213  #line 130 "lscp.y"  #line 143 "lscp.y"
3214      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }
3215      break;      break;
3216    
3217    case 40:    case 40:
3218  #line 131 "lscp.y"  #line 144 "lscp.y"
3219      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }
3220      break;      break;
3221    
3222    case 41:    case 41:
3223  #line 132 "lscp.y"  #line 145 "lscp.y"
3224      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }
3225      break;      break;
3226    
3227    case 42:    case 42:
3228  #line 133 "lscp.y"  #line 146 "lscp.y"
3229      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }
3230      break;      break;
3231    
3232    case 43:    case 43:
3233  #line 134 "lscp.y"  #line 147 "lscp.y"
3234      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }
3235      break;      break;
3236    
3237    case 44:    case 44:
3238  #line 135 "lscp.y"  #line 150 "lscp.y"
3239      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(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,""); }
3240      break;      break;
3241    
3242    case 45:    case 45:
3243  #line 136 "lscp.y"  #line 151 "lscp.y"
3244      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(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),""); }
3245      break;      break;
3246    
3247    case 46:    case 46:
3248  #line 137 "lscp.y"  #line 152 "lscp.y"
3249      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (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)); }
3250      break;      break;
3251    
3252    case 47:    case 47:
3253  #line 138 "lscp.y"  #line 153 "lscp.y"
3254      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (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)); }
3255      break;      break;
3256    
3257    case 48:    case 48:
3258  #line 139 "lscp.y"  #line 156 "lscp.y"
3259      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3260      break;      break;
3261    
3262    case 49:    case 49:
3263  #line 140 "lscp.y"  #line 159 "lscp.y"
3264      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number)); }
3265      break;      break;
3266    
3267    case 50:    case 50:
3268  #line 141 "lscp.y"  #line 162 "lscp.y"
3269      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3270      break;      break;
3271    
3272    case 51:    case 51:
3273  #line 142 "lscp.y"  #line 163 "lscp.y"
3274      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3275      break;      break;
3276    
3277    case 52:    case 52:
3278  #line 143 "lscp.y"  #line 164 "lscp.y"
3279      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3280      break;      break;
3281    
3282    case 53:    case 53:
3283  #line 144 "lscp.y"  #line 165 "lscp.y"
3284      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3285      break;      break;
3286    
3287    case 54:    case 54:
3288  #line 145 "lscp.y"  #line 166 "lscp.y"
3289      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3290      break;      break;
3291    
3292    case 55:    case 55:
3293  #line 146 "lscp.y"  #line 167 "lscp.y"
3294      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3295      break;      break;
3296    
3297    case 56:    case 56:
3298  #line 147 "lscp.y"  #line 168 "lscp.y"
3299      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3300      break;      break;
3301    
3302    case 57:    case 57:
3303  #line 148 "lscp.y"  #line 169 "lscp.y"
3304      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3305      break;      break;
3306    
3307    case 58:    case 58:
3308  #line 149 "lscp.y"  #line 170 "lscp.y"
3309      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3310      break;      break;
3311    
3312    case 59:    case 59:
3313  #line 150 "lscp.y"  #line 171 "lscp.y"
3314      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3315      break;      break;
3316    
3317    case 60:    case 60:
3318  #line 151 "lscp.y"  #line 172 "lscp.y"
3319      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3320      break;      break;
3321    
3322    case 61:    case 61:
3323  #line 154 "lscp.y"  #line 173 "lscp.y"
3324      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3325      break;      break;
3326    
3327    case 62:    case 62:
3328  #line 155 "lscp.y"  #line 174 "lscp.y"
3329      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3330      break;      break;
3331    
3332    case 63:    case 63:
3333  #line 156 "lscp.y"  #line 175 "lscp.y"
3334      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3335      break;      break;
3336    
3337    case 64:    case 64:
3338  #line 157 "lscp.y"  #line 176 "lscp.y"
3339      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3340      break;      break;
3341    
3342    case 65:    case 65:
3343  #line 158 "lscp.y"  #line 177 "lscp.y"
3344      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3345      break;      break;
3346    
3347    case 66:    case 66:
3348  #line 159 "lscp.y"  #line 178 "lscp.y"
3349      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3350      break;      break;
3351    
3352    case 67:    case 67:
3353  #line 162 "lscp.y"  #line 179 "lscp.y"
3354      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3355      break;      break;
3356    
3357    case 68:    case 68:
3358  #line 163 "lscp.y"  #line 180 "lscp.y"
3359      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3360      break;      break;
3361    
3362    case 69:    case 69:
3363  #line 164 "lscp.y"  #line 181 "lscp.y"
3364      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3365      break;      break;
3366    
3367    case 70:    case 70:
3368  #line 165 "lscp.y"  #line 182 "lscp.y"
3369      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3370      break;      break;
3371    
3372    case 71:    case 71:
3373  #line 168 "lscp.y"  #line 183 "lscp.y"
3374      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3375      break;      break;
3376    
3377    case 72:    case 72:
3378  #line 169 "lscp.y"  #line 184 "lscp.y"
3379      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3380      break;      break;
3381    
3382    case 73:    case 73:
3383  #line 172 "lscp.y"  #line 185 "lscp.y"
3384      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3385      break;      break;
3386    
3387    case 74:    case 74:
3388  #line 173 "lscp.y"  #line 186 "lscp.y"
3389      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3390      break;      break;
3391    
3392    case 75:    case 75:
3393  #line 176 "lscp.y"  #line 187 "lscp.y"
3394      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3395      break;      break;
3396    
3397    case 76:    case 76:
3398  #line 177 "lscp.y"  #line 188 "lscp.y"
3399      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->GetMidiIstrumentMappings();                     }
3400      break;      break;
3401    
3402    case 77:    case 77:
3403  #line 178 "lscp.y"  #line 189 "lscp.y"
3404      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3405      break;      break;
3406    
3407    case 78:    case 78:
3408  #line 179 "lscp.y"  #line 192 "lscp.y"
3409      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3410      break;      break;
3411    
3412    case 79:    case 79:
3413  #line 180 "lscp.y"  #line 193 "lscp.y"
3414      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3415      break;      break;
3416    
3417    case 80:    case 80:
3418  #line 181 "lscp.y"  #line 194 "lscp.y"
3419      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3420      break;      break;
3421    
3422    case 81:    case 81:
3423  #line 182 "lscp.y"  #line 195 "lscp.y"
3424      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3425      break;      break;
3426    
3427    case 82:    case 82:
3428  #line 183 "lscp.y"  #line 196 "lscp.y"
3429      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3430      break;      break;
3431    
3432    case 83:    case 83:
3433  #line 184 "lscp.y"  #line 197 "lscp.y"
3434      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3435      break;      break;
3436    
3437    case 84:    case 84:
3438  #line 187 "lscp.y"  #line 200 "lscp.y"
3439      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3440      break;      break;
3441    
3442    case 85:    case 85:
3443  #line 188 "lscp.y"  #line 201 "lscp.y"
3444      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3445      break;      break;
3446    
3447    case 86:    case 86:
3448  #line 191 "lscp.y"  #line 202 "lscp.y"
3449      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3450      break;      break;
3451    
3452    case 87:    case 87:
3453  #line 192 "lscp.y"  #line 203 "lscp.y"
3454      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3455      break;      break;
3456    
3457    case 88:    case 88:
3458  #line 195 "lscp.y"  #line 206 "lscp.y"
3459      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3460      break;      break;
3461    
3462    case 89:    case 89:
3463  #line 196 "lscp.y"  #line 209 "lscp.y"
3464      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings(); }
3465      break;      break;
3466    
3467    case 90:    case 90:
3468  #line 197 "lscp.y"  #line 212 "lscp.y"
3469      { yyval.String = LSCPSERVER->ListChannels();          }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3470      break;      break;
3471    
3472    case 91:    case 91:
3473  #line 200 "lscp.y"  #line 213 "lscp.y"
3474      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3475      break;      break;
3476    
3477    case 92:    case 92:
3478  #line 201 "lscp.y"  #line 216 "lscp.y"
3479      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3480      break;      break;
3481    
3482    case 93:    case 93:
3483  #line 204 "lscp.y"  #line 217 "lscp.y"
3484      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3485      break;      break;
3486    
3487    case 101:    case 94:
3488  #line 226 "lscp.y"  #line 220 "lscp.y"
3489      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3490      break;      break;
3491    
3492    case 108:    case 95:
3493  #line 243 "lscp.y"  #line 221 "lscp.y"
3494      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
     break;  
   
   case 109:  
 #line 244 "lscp.y"  
     { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }  
     break;  
   
   case 110:  
 #line 250 "lscp.y"  
     { yyval.Dotnum = yyvsp[0].Number; }  
3495      break;      break;
3496    
3497    case 111:    case 96:
3498  #line 251 "lscp.y"  #line 222 "lscp.y"
3499      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3500      break;      break;
3501    
3502    case 112:    case 97:
3503  #line 254 "lscp.y"  #line 223 "lscp.y"
3504      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3505      break;      break;
3506    
3507    case 113:    case 98:
3508  #line 255 "lscp.y"  #line 224 "lscp.y"
3509      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3510      break;      break;
3511    
3512    case 114:    case 99:
3513  #line 258 "lscp.y"  #line 225 "lscp.y"
3514      { yyval.Dotnum = atoi(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3515      break;      break;
3516    
3517    case 115:    case 100:
3518  #line 259 "lscp.y"  #line 226 "lscp.y"
3519      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3520      break;      break;
3521    
3522    case 116:    case 101:
3523  #line 260 "lscp.y"  #line 227 "lscp.y"
3524      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3525      break;      break;
3526    
3527    case 117:    case 102:
3528  #line 264 "lscp.y"  #line 228 "lscp.y"
3529      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3530      break;      break;
3531    
3532    case 118:    case 103:
3533  #line 265 "lscp.y"  #line 229 "lscp.y"
3534      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3535      break;      break;
3536    
3537    case 119:    case 104:
3538  #line 268 "lscp.y"  #line 230 "lscp.y"
3539      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3540      break;      break;
3541    
3542    case 120:    case 105:
3543  #line 269 "lscp.y"  #line 233 "lscp.y"
3544      { yyval.Char = '1'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
3545      break;      break;
3546    
3547    case 121:    case 106:
3548  #line 270 "lscp.y"  #line 234 "lscp.y"
3549      { yyval.Char = '2'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
3550      break;      break;
3551    
3552    case 122:    case 107:
3553  #line 271 "lscp.y"  #line 237 "lscp.y"
3554      { yyval.Char = '3'; }      { (yyval.FillResponse) = fill_response_bytes;      }
3555      break;      break;
3556    
3557    case 123:    case 108:
3558  #line 272 "lscp.y"  #line 238 "lscp.y"
3559      { yyval.Char = '4'; }      { (yyval.FillResponse) = fill_response_percentage; }
     break;  
   
   case 124:  
 #line 273 "lscp.y"  
     { yyval.Char = '5'; }  
3560      break;      break;
3561    
3562    case 125:    case 109:
3563  #line 274 "lscp.y"  #line 241 "lscp.y"
3564      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
3565      break;      break;
3566    
3567    case 126:    case 110:
3568  #line 275 "lscp.y"  #line 242 "lscp.y"
3569      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
3570      break;      break;
3571    
3572    case 127:    case 111:
3573  #line 276 "lscp.y"  #line 243 "lscp.y"
3574      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
3575      break;      break;
3576    
3577    case 128:    case 112:
3578  #line 277 "lscp.y"  #line 244 "lscp.y"
3579      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
3580      break;      break;
3581    
3582    case 129:    case 113:
3583  #line 280 "lscp.y"  #line 245 "lscp.y"
3584      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
3585      break;      break;
3586    
3587    case 130:    case 114:
3588  #line 281 "lscp.y"  #line 246 "lscp.y"
3589      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
3590      break;      break;
3591    
3592    case 131:    case 115:
3593  #line 282 "lscp.y"  #line 247 "lscp.y"
3594      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings();      }
3595      break;      break;
3596    
3597    case 132:    case 116:
3598  #line 283 "lscp.y"  #line 250 "lscp.y"
3599      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
3600      break;      break;
3601    
3602    case 133:    case 117:
3603  #line 284 "lscp.y"  #line 251 "lscp.y"
3604      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
3605      break;      break;
3606    
3607    case 134:    case 118:
3608  #line 285 "lscp.y"  #line 254 "lscp.y"
3609      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
3610      break;      break;
3611    
3612    case 135:    case 119:
3613  #line 286 "lscp.y"  #line 257 "lscp.y"
3614      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
3615      break;      break;
3616    
3617    case 136:    case 120:
3618  #line 287 "lscp.y"  #line 258 "lscp.y"
3619      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
3620      break;      break;
3621    
3622    case 137:    case 121:
3623  #line 288 "lscp.y"  #line 259 "lscp.y"
3624      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
3625      break;      break;
3626    
3627    case 138:    case 127:
3628  #line 289 "lscp.y"  #line 275 "lscp.y"
3629      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.Number) = 16; }
3630      break;      break;
3631    
3632    case 139:    case 133:
3633  #line 291 "lscp.y"  #line 291 "lscp.y"
3634      { yyval.Char = 'A'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3635      break;      break;
3636    
3637    case 140:    case 140:
3638  #line 291 "lscp.y"  #line 310 "lscp.y"
3639      { yyval.Char = 'B'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 141:  
 #line 291 "lscp.y"  
     { yyval.Char = 'C'; }  
     break;  
   
   case 142:  
 #line 291 "lscp.y"  
     { yyval.Char = 'D'; }  
3640      break;      break;
3641    
3642    case 143:    case 143:
3643  #line 291 "lscp.y"  #line 315 "lscp.y"
3644      { yyval.Char = 'E'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
3645      break;      break;
3646    
3647    case 144:    case 144:
3648  #line 291 "lscp.y"  #line 316 "lscp.y"
3649      { yyval.Char = 'F'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
3650      break;      break;
3651    
3652    case 145:    case 145:
3653  #line 291 "lscp.y"  #line 324 "lscp.y"
3654      { yyval.Char = 'G'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3655      break;      break;
3656    
3657    case 146:    case 146:
3658  #line 291 "lscp.y"  #line 325 "lscp.y"
3659      { yyval.Char = 'H'; }      { (yyval.Dotnum) = -1; }
3660      break;      break;
3661    
3662    case 147:    case 147:
3663  #line 291 "lscp.y"  #line 328 "lscp.y"
3664      { yyval.Char = 'I'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
3665      break;      break;
3666    
3667    case 148:    case 148:
3668  #line 291 "lscp.y"  #line 329 "lscp.y"
3669      { yyval.Char = 'J'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
3670      break;      break;
3671    
3672    case 149:    case 149:
3673  #line 291 "lscp.y"  #line 332 "lscp.y"
3674      { yyval.Char = 'K'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
3675      break;      break;
3676    
3677    case 150:    case 150:
3678  #line 291 "lscp.y"  #line 333 "lscp.y"
3679      { yyval.Char = 'L'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
3680      break;      break;
3681    
3682    case 151:    case 151:
3683  #line 291 "lscp.y"  #line 334 "lscp.y"
3684      { yyval.Char = 'M'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
3685      break;      break;
3686    
3687    case 152:    case 152:
3688  #line 291 "lscp.y"  #line 338 "lscp.y"
3689      { yyval.Char = 'N'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
3690      break;      break;
3691    
3692    case 153:    case 153:
3693  #line 291 "lscp.y"  #line 339 "lscp.y"
3694      { yyval.Char = 'O'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
3695      break;      break;
3696    
3697    case 154:    case 154:
3698  #line 291 "lscp.y"  #line 342 "lscp.y"
3699      { yyval.Char = 'P'; }      { (yyval.Char) = '0'; }
3700      break;      break;
3701    
3702    case 155:    case 155:
3703  #line 291 "lscp.y"  #line 343 "lscp.y"
3704      { yyval.Char = 'Q'; }      { (yyval.Char) = '1'; }
3705      break;      break;
3706    
3707    case 156:    case 156:
3708  #line 291 "lscp.y"  #line 344 "lscp.y"
3709      { yyval.Char = 'R'; }      { (yyval.Char) = '2'; }
3710      break;      break;
3711    
3712    case 157:    case 157:
3713  #line 291 "lscp.y"  #line 345 "lscp.y"
3714      { yyval.Char = 'S'; }      { (yyval.Char) = '3'; }
3715      break;      break;
3716    
3717    case 158:    case 158:
3718  #line 291 "lscp.y"  #line 346 "lscp.y"
3719      { yyval.Char = 'T'; }      { (yyval.Char) = '4'; }
3720      break;      break;
3721    
3722    case 159:    case 159:
3723  #line 291 "lscp.y"  #line 347 "lscp.y"
3724      { yyval.Char = 'U'; }      { (yyval.Char) = '5'; }
3725      break;      break;
3726    
3727    case 160:    case 160:
3728  #line 291 "lscp.y"  #line 348 "lscp.y"
3729      { yyval.Char = 'V'; }      { (yyval.Char) = '6'; }
3730      break;      break;
3731    
3732    case 161:    case 161:
3733  #line 291 "lscp.y"  #line 349 "lscp.y"
3734      { yyval.Char = 'W'; }      { (yyval.Char) = '7'; }
3735      break;      break;
3736    
3737    case 162:    case 162:
3738  #line 291 "lscp.y"  #line 350 "lscp.y"
3739      { yyval.Char = 'X'; }      { (yyval.Char) = '8'; }
3740      break;      break;
3741    
3742    case 163:    case 163:
3743  #line 291 "lscp.y"  #line 351 "lscp.y"
3744      { yyval.Char = 'Y'; }      { (yyval.Char) = '9'; }
3745      break;      break;
3746    
3747    case 164:    case 164:
3748  #line 291 "lscp.y"  #line 354 "lscp.y"
3749      { yyval.Char = 'Z'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
3750      break;      break;
3751    
3752    case 165:    case 165:
3753  #line 292 "lscp.y"  #line 355 "lscp.y"
3754      { yyval.Char = 'a'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
3755      break;      break;
3756    
3757    case 166:    case 166:
3758  #line 292 "lscp.y"  #line 356 "lscp.y"
3759      { yyval.Char = 'b'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
3760      break;      break;
3761    
3762    case 167:    case 167:
3763  #line 292 "lscp.y"  #line 357 "lscp.y"
3764      { yyval.Char = 'c'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
3765      break;      break;
3766    
3767    case 168:    case 168:
3768  #line 292 "lscp.y"  #line 358 "lscp.y"
3769      { yyval.Char = 'd'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
3770      break;      break;
3771    
3772    case 169:    case 169:
3773  #line 292 "lscp.y"  #line 359 "lscp.y"
3774      { yyval.Char = 'e'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
3775      break;      break;
3776    
3777    case 170:    case 170:
3778  #line 292 "lscp.y"  #line 360 "lscp.y"
3779      { yyval.Char = 'f'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
3780      break;      break;
3781    
3782    case 171:    case 171:
3783  #line 292 "lscp.y"  #line 361 "lscp.y"
3784      { yyval.Char = 'g'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
3785      break;      break;
3786    
3787    case 172:    case 172:
3788  #line 292 "lscp.y"  #line 362 "lscp.y"
3789      { yyval.Char = 'h'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
3790      break;      break;
3791    
3792    case 173:    case 173:
3793  #line 292 "lscp.y"  #line 363 "lscp.y"
3794      { yyval.Char = 'i'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
3795      break;      break;
3796    
3797    case 174:    case 174:
3798  #line 292 "lscp.y"  #line 365 "lscp.y"
3799      { yyval.Char = 'j'; }      { (yyval.Char) = 'A'; }
3800      break;      break;
3801    
3802    case 175:    case 175:
3803  #line 292 "lscp.y"  #line 365 "lscp.y"
3804      { yyval.Char = 'k'; }      { (yyval.Char) = 'B'; }
3805      break;      break;
3806    
3807    case 176:    case 176:
3808  #line 292 "lscp.y"  #line 365 "lscp.y"
3809      { yyval.Char = 'l'; }      { (yyval.Char) = 'C'; }
3810      break;      break;
3811    
3812    case 177:    case 177:
3813  #line 292 "lscp.y"  #line 365 "lscp.y"
3814      { yyval.Char = 'm'; }      { (yyval.Char) = 'D'; }
3815      break;      break;
3816    
3817    case 178:    case 178:
3818  #line 292 "lscp.y"  #line 365 "lscp.y"
3819      { yyval.Char = 'n'; }      { (yyval.Char) = 'E'; }
3820      break;      break;
3821    
3822    case 179:    case 179:
3823  #line 292 "lscp.y"  #line 365 "lscp.y"
3824      { yyval.Char = 'o'; }      { (yyval.Char) = 'F'; }
3825      break;      break;
3826    
3827    case 180:    case 180:
3828  #line 292 "lscp.y"  #line 365 "lscp.y"
3829      { yyval.Char = 'p'; }      { (yyval.Char) = 'G'; }
3830      break;      break;
3831    
3832    case 181:    case 181:
3833  #line 292 "lscp.y"  #line 365 "lscp.y"
3834      { yyval.Char = 'q'; }      { (yyval.Char) = 'H'; }
3835      break;      break;
3836    
3837    case 182:    case 182:
3838  #line 292 "lscp.y"  #line 365 "lscp.y"
3839      { yyval.Char = 'r'; }      { (yyval.Char) = 'I'; }
3840      break;      break;
3841    
3842    case 183:    case 183:
3843  #line 292 "lscp.y"  #line 365 "lscp.y"
3844      { yyval.Char = 's'; }      { (yyval.Char) = 'J'; }
3845      break;      break;
3846    
3847    case 184:    case 184:
3848  #line 292 "lscp.y"  #line 365 "lscp.y"
3849      { yyval.Char = 't'; }      { (yyval.Char) = 'K'; }
3850      break;      break;
3851    
3852    case 185:    case 185:
3853  #line 292 "lscp.y"  #line 365 "lscp.y"
3854      { yyval.Char = 'u'; }      { (yyval.Char) = 'L'; }
3855      break;      break;
3856    
3857    case 186:    case 186:
3858  #line 292 "lscp.y"  #line 365 "lscp.y"
3859      { yyval.Char = 'v'; }      { (yyval.Char) = 'M'; }
3860      break;      break;
3861    
3862    case 187:    case 187:
3863  #line 292 "lscp.y"  #line 365 "lscp.y"
3864      { yyval.Char = 'w'; }      { (yyval.Char) = 'N'; }
3865      break;      break;
3866    
3867    case 188:    case 188:
3868  #line 292 "lscp.y"  #line 365 "lscp.y"
3869      { yyval.Char = 'x'; }      { (yyval.Char) = 'O'; }
3870      break;      break;
3871    
3872    case 189:    case 189:
3873  #line 292 "lscp.y"  #line 365 "lscp.y"
3874      { yyval.Char = 'y'; }      { (yyval.Char) = 'P'; }
3875      break;      break;
3876    
3877    case 190:    case 190:
3878  #line 292 "lscp.y"  #line 365 "lscp.y"
3879      { yyval.Char = 'z'; }      { (yyval.Char) = 'Q'; }
3880      break;      break;
3881    
3882    case 191:    case 191:
3883  #line 293 "lscp.y"  #line 365 "lscp.y"
3884      { yyval.Char = '0'; }      { (yyval.Char) = 'R'; }
3885      break;      break;
3886    
3887    case 192:    case 192:
3888  #line 293 "lscp.y"  #line 365 "lscp.y"
3889      { yyval.Char = '1'; }      { (yyval.Char) = 'S'; }
3890      break;      break;
3891    
3892    case 193:    case 193:
3893  #line 293 "lscp.y"  #line 365 "lscp.y"
3894      { yyval.Char = '2'; }      { (yyval.Char) = 'T'; }
3895      break;      break;
3896    
3897    case 194:    case 194:
3898  #line 293 "lscp.y"  #line 365 "lscp.y"
3899      { yyval.Char = '3'; }      { (yyval.Char) = 'U'; }
3900      break;      break;
3901    
3902    case 195:    case 195:
3903  #line 293 "lscp.y"  #line 365 "lscp.y"
3904      { yyval.Char = '4'; }      { (yyval.Char) = 'V'; }
3905      break;      break;
3906    
3907    case 196:    case 196:
3908  #line 293 "lscp.y"  #line 365 "lscp.y"
3909      { yyval.Char = '5'; }      { (yyval.Char) = 'W'; }
3910      break;      break;
3911    
3912    case 197:    case 197:
3913  #line 293 "lscp.y"  #line 365 "lscp.y"
3914      { yyval.Char = '6'; }      { (yyval.Char) = 'X'; }
3915      break;      break;
3916    
3917    case 198:    case 198:
3918  #line 293 "lscp.y"  #line 365 "lscp.y"
3919      { yyval.Char = '7'; }      { (yyval.Char) = 'Y'; }
3920      break;      break;
3921    
3922    case 199:    case 199:
3923  #line 293 "lscp.y"  #line 365 "lscp.y"
3924      { yyval.Char = '8'; }      { (yyval.Char) = 'Z'; }
3925      break;      break;
3926    
3927    case 200:    case 200:
3928  #line 293 "lscp.y"  #line 366 "lscp.y"
3929      { yyval.Char = '9'; }      { (yyval.Char) = 'a'; }
3930      break;      break;
3931    
3932    case 201:    case 201:
3933  #line 294 "lscp.y"  #line 366 "lscp.y"
3934      { yyval.Char = '!'; }      { (yyval.Char) = 'b'; }
3935      break;      break;
3936    
3937    case 202:    case 202:
3938  #line 294 "lscp.y"  #line 366 "lscp.y"
3939      { yyval.Char = '#'; }      { (yyval.Char) = 'c'; }
3940      break;      break;
3941    
3942    case 203:    case 203:
3943  #line 294 "lscp.y"  #line 366 "lscp.y"
3944      { yyval.Char = '$'; }      { (yyval.Char) = 'd'; }
3945      break;      break;
3946    
3947    case 204:    case 204:
3948  #line 294 "lscp.y"  #line 366 "lscp.y"
3949      { yyval.Char = '%'; }      { (yyval.Char) = 'e'; }
3950      break;      break;
3951    
3952    case 205:    case 205:
3953  #line 294 "lscp.y"  #line 366 "lscp.y"
3954      { yyval.Char = '&'; }      { (yyval.Char) = 'f'; }
3955      break;      break;
3956    
3957    case 206:    case 206:
3958  #line 294 "lscp.y"  #line 366 "lscp.y"
3959      { yyval.Char = '('; }      { (yyval.Char) = 'g'; }
3960      break;      break;
3961    
3962    case 207:    case 207:
3963  #line 294 "lscp.y"  #line 366 "lscp.y"
3964      { yyval.Char = ')'; }      { (yyval.Char) = 'h'; }
3965      break;      break;
3966    
3967    case 208:    case 208:
3968  #line 294 "lscp.y"  #line 366 "lscp.y"
3969      { yyval.Char = '*'; }      { (yyval.Char) = 'i'; }
3970      break;      break;
3971    
3972    case 209:    case 209:
3973  #line 294 "lscp.y"  #line 366 "lscp.y"
3974      { yyval.Char = '+'; }      { (yyval.Char) = 'j'; }
3975      break;      break;
3976    
3977    case 210:    case 210:
3978  #line 294 "lscp.y"  #line 366 "lscp.y"
3979      { yyval.Char = '-'; }      { (yyval.Char) = 'k'; }
3980      break;      break;
3981    
3982    case 211:    case 211:
3983  #line 294 "lscp.y"  #line 366 "lscp.y"
3984      { yyval.Char = '.'; }      { (yyval.Char) = 'l'; }
3985      break;      break;
3986    
3987    case 212:    case 212:
3988  #line 294 "lscp.y"  #line 366 "lscp.y"
3989      { yyval.Char = '/'; }      { (yyval.Char) = 'm'; }
3990      break;      break;
3991    
3992    case 213:    case 213:
3993  #line 295 "lscp.y"  #line 366 "lscp.y"
3994      { yyval.Char = ':'; }      { (yyval.Char) = 'n'; }
3995      break;      break;
3996    
3997    case 214:    case 214:
3998  #line 295 "lscp.y"  #line 366 "lscp.y"
3999      { yyval.Char = ';'; }      { (yyval.Char) = 'o'; }
4000      break;      break;
4001    
4002    case 215:    case 215:
4003  #line 295 "lscp.y"  #line 366 "lscp.y"
4004      { yyval.Char = '<'; }      { (yyval.Char) = 'p'; }
4005      break;      break;
4006    
4007    case 216:    case 216:
4008  #line 295 "lscp.y"  #line 366 "lscp.y"
4009      { yyval.Char = '='; }      { (yyval.Char) = 'q'; }
4010      break;      break;
4011    
4012    case 217:    case 217:
4013  #line 295 "lscp.y"  #line 366 "lscp.y"
4014      { yyval.Char = '>'; }      { (yyval.Char) = 'r'; }
4015      break;      break;
4016    
4017    case 218:    case 218:
4018  #line 295 "lscp.y"  #line 366 "lscp.y"
4019      { yyval.Char = '?'; }      { (yyval.Char) = 's'; }
4020      break;      break;
4021    
4022    case 219:    case 219:
4023  #line 295 "lscp.y"  #line 366 "lscp.y"
4024      { yyval.Char = '@'; }      { (yyval.Char) = 't'; }
4025      break;      break;
4026    
4027    case 220:    case 220:
4028  #line 296 "lscp.y"  #line 366 "lscp.y"
4029      { yyval.Char = '['; }      { (yyval.Char) = 'u'; }
4030      break;      break;
4031    
4032    case 221:    case 221:
4033  #line 296 "lscp.y"  #line 366 "lscp.y"
4034      { yyval.Char = '\\'; }      { (yyval.Char) = 'v'; }
4035      break;      break;
4036    
4037    case 222:    case 222:
4038  #line 296 "lscp.y"  #line 366 "lscp.y"
4039      { yyval.Char = ']'; }      { (yyval.Char) = 'w'; }
4040      break;      break;
4041    
4042    case 223:    case 223:
4043  #line 296 "lscp.y"  #line 366 "lscp.y"
4044      { yyval.Char = '^'; }      { (yyval.Char) = 'x'; }
4045      break;      break;
4046    
4047    case 224:    case 224:
4048  #line 296 "lscp.y"  #line 366 "lscp.y"
4049      { yyval.Char = '_'; }      { (yyval.Char) = 'y'; }
4050      break;      break;
4051    
4052    case 225:    case 225:
4053  #line 297 "lscp.y"  #line 366 "lscp.y"
4054      { yyval.Char = '{'; }      { (yyval.Char) = 'z'; }
4055      break;      break;
4056    
4057    case 226:    case 226:
4058  #line 297 "lscp.y"  #line 367 "lscp.y"
4059      { yyval.Char = '|'; }      { (yyval.Char) = '0'; }
4060      break;      break;
4061    
4062    case 227:    case 227:
4063  #line 297 "lscp.y"  #line 367 "lscp.y"
4064      { yyval.Char = '}'; }      { (yyval.Char) = '1'; }
4065      break;      break;
4066    
4067    case 228:    case 228:
4068  #line 297 "lscp.y"  #line 367 "lscp.y"
4069      { yyval.Char = '~'; }      { (yyval.Char) = '2'; }
4070      break;      break;
4071    
4072    case 229:    case 229:
4073  #line 298 "lscp.y"  #line 367 "lscp.y"
4074      { yyval.Char = '\200'; }      { (yyval.Char) = '3'; }
4075      break;      break;
4076    
4077    case 230:    case 230:
4078  #line 298 "lscp.y"  #line 367 "lscp.y"
4079      { yyval.Char = '\201'; }      { (yyval.Char) = '4'; }
4080      break;      break;
4081    
4082    case 231:    case 231:
4083  #line 298 "lscp.y"  #line 367 "lscp.y"
4084      { yyval.Char = '\202'; }      { (yyval.Char) = '5'; }
4085      break;      break;
4086    
4087    case 232:    case 232:
4088  #line 299 "lscp.y"  #line 367 "lscp.y"
4089      { yyval.Char = '\203'; }      { (yyval.Char) = '6'; }
4090      break;      break;
4091    
4092    case 233:    case 233:
4093  #line 299 "lscp.y"  #line 367 "lscp.y"
4094      { yyval.Char = '\204'; }      { (yyval.Char) = '7'; }
4095      break;      break;
4096    
4097    case 234:    case 234:
4098  #line 299 "lscp.y"  #line 367 "lscp.y"
4099      { yyval.Char = '\205'; }      { (yyval.Char) = '8'; }
4100      break;      break;
4101    
4102    case 235:    case 235:
4103  #line 300 "lscp.y"  #line 367 "lscp.y"
4104      { yyval.Char = '\206'; }      { (yyval.Char) = '9'; }
4105      break;      break;
4106    
4107    case 236:    case 236:
4108  #line 300 "lscp.y"  #line 368 "lscp.y"
4109      { yyval.Char = '\207'; }      { (yyval.Char) = '!'; }
4110      break;      break;
4111    
4112    case 237:    case 237:
4113  #line 300 "lscp.y"  #line 368 "lscp.y"
4114      { yyval.Char = '\210'; }      { (yyval.Char) = '#'; }
4115      break;      break;
4116    
4117    case 238:    case 238:
4118  #line 301 "lscp.y"  #line 368 "lscp.y"
4119      { yyval.Char = '\211'; }      { (yyval.Char) = '$'; }
4120      break;      break;
4121    
4122    case 239:    case 239:
4123  #line 301 "lscp.y"  #line 368 "lscp.y"
4124      { yyval.Char = '\212'; }      { (yyval.Char) = '%'; }
4125      break;      break;
4126    
4127    case 240:    case 240:
4128  #line 301 "lscp.y"  #line 368 "lscp.y"
4129      { yyval.Char = '\213'; }      { (yyval.Char) = '&'; }
4130      break;      break;
4131    
4132    case 241:    case 241:
4133  #line 302 "lscp.y"  #line 368 "lscp.y"
4134      { yyval.Char = '\214'; }      { (yyval.Char) = '('; }
4135      break;      break;
4136    
4137    case 242:    case 242:
4138  #line 302 "lscp.y"  #line 368 "lscp.y"
4139      { yyval.Char = '\215'; }      { (yyval.Char) = ')'; }
4140      break;      break;
4141    
4142    case 243:    case 243:
4143  #line 302 "lscp.y"  #line 368 "lscp.y"
4144      { yyval.Char = '\216'; }      { (yyval.Char) = '*'; }
4145      break;      break;
4146    
4147    case 244:    case 244:
4148  #line 303 "lscp.y"  #line 368 "lscp.y"
4149      { yyval.Char = '\217'; }      { (yyval.Char) = '+'; }
4150      break;      break;
4151    
4152    case 245:    case 245:
4153  #line 303 "lscp.y"  #line 368 "lscp.y"
4154      { yyval.Char = '\220'; }      { (yyval.Char) = '-'; }
4155      break;      break;
4156    
4157    case 246:    case 246:
4158  #line 303 "lscp.y"  #line 368 "lscp.y"
4159      { yyval.Char = '\221'; }      { (yyval.Char) = '.'; }
4160      break;      break;
4161    
4162    case 247:    case 247:
4163  #line 304 "lscp.y"  #line 368 "lscp.y"
4164      { yyval.Char = '\222'; }      { (yyval.Char) = ','; }
4165      break;      break;
4166    
4167    case 248:    case 248:
4168  #line 304 "lscp.y"  #line 368 "lscp.y"
4169      { yyval.Char = '\223'; }      { (yyval.Char) = '/'; }
4170      break;      break;
4171    
4172    case 249:    case 249:
4173  #line 304 "lscp.y"  #line 369 "lscp.y"
4174      { yyval.Char = '\224'; }      { (yyval.Char) = ':'; }
4175      break;      break;
4176    
4177    case 250:    case 250:
4178  #line 305 "lscp.y"  #line 369 "lscp.y"
4179      { yyval.Char = '\225'; }      { (yyval.Char) = ';'; }
4180      break;      break;
4181    
4182    case 251:    case 251:
4183  #line 305 "lscp.y"  #line 369 "lscp.y"
4184      { yyval.Char = '\226'; }      { (yyval.Char) = '<'; }
4185      break;      break;
4186    
4187    case 252:    case 252:
4188  #line 305 "lscp.y"  #line 369 "lscp.y"
4189      { yyval.Char = '\227'; }      { (yyval.Char) = '='; }
4190      break;      break;
4191    
4192    case 253:    case 253:
4193  #line 306 "lscp.y"  #line 369 "lscp.y"
4194      { yyval.Char = '\230'; }      { (yyval.Char) = '>'; }
4195      break;      break;
4196    
4197    case 254:    case 254:
4198  #line 306 "lscp.y"  #line 369 "lscp.y"
4199      { yyval.Char = '\231'; }      { (yyval.Char) = '?'; }
4200      break;      break;
4201    
4202    case 255:    case 255:
4203  #line 306 "lscp.y"  #line 369 "lscp.y"
4204      { yyval.Char = '\232'; }      { (yyval.Char) = '@'; }
4205      break;      break;
4206    
4207    case 256:    case 256:
4208  #line 307 "lscp.y"  #line 370 "lscp.y"
4209      { yyval.Char = '\233'; }      { (yyval.Char) = '['; }
4210      break;      break;
4211    
4212    case 257:    case 257:
4213  #line 307 "lscp.y"  #line 370 "lscp.y"
4214      { yyval.Char = '\234'; }      { (yyval.Char) = '\\'; }
4215      break;      break;
4216    
4217    case 258:    case 258:
4218  #line 307 "lscp.y"  #line 370 "lscp.y"
4219      { yyval.Char = '\235'; }      { (yyval.Char) = ']'; }
4220      break;      break;
4221    
4222    case 259:    case 259:
4223  #line 308 "lscp.y"  #line 370 "lscp.y"
4224      { yyval.Char = '\236'; }      { (yyval.Char) = '^'; }
4225      break;      break;
4226    
4227    case 260:    case 260:
4228  #line 308 "lscp.y"  #line 370 "lscp.y"
4229      { yyval.Char = '\237'; }      { (yyval.Char) = '_'; }
4230      break;      break;
4231    
4232    case 261:    case 261:
4233  #line 308 "lscp.y"  #line 371 "lscp.y"
4234      { yyval.Char = '\240'; }      { (yyval.Char) = '{'; }
4235      break;      break;
4236    
4237    case 262:    case 262:
4238  #line 309 "lscp.y"  #line 371 "lscp.y"
4239      { yyval.Char = '\241'; }      { (yyval.Char) = '|'; }
4240      break;      break;
4241    
4242    case 263:    case 263:
4243  #line 309 "lscp.y"  #line 371 "lscp.y"
4244      { yyval.Char = '\242'; }      { (yyval.Char) = '}'; }
4245      break;      break;
4246    
4247    case 264:    case 264:
4248  #line 309 "lscp.y"  #line 371 "lscp.y"
4249      { yyval.Char = '\243'; }      { (yyval.Char) = '~'; }
4250      break;      break;
4251    
4252    case 265:    case 265:
4253  #line 310 "lscp.y"  #line 372 "lscp.y"
4254      { yyval.Char = '\244'; }      { (yyval.Char) = '\200'; }
4255      break;      break;
4256    
4257    case 266:    case 266:
4258  #line 310 "lscp.y"  #line 372 "lscp.y"
4259      { yyval.Char = '\245'; }      { (yyval.Char) = '\201'; }
4260      break;      break;
4261    
4262    case 267:    case 267:
4263  #line 310 "lscp.y"  #line 372 "lscp.y"
4264      { yyval.Char = '\246'; }      { (yyval.Char) = '\202'; }
4265      break;      break;
4266    
4267    case 268:    case 268:
4268  #line 311 "lscp.y"  #line 373 "lscp.y"
4269      { yyval.Char = '\247'; }      { (yyval.Char) = '\203'; }
4270      break;      break;
4271    
4272    case 269:    case 269:
4273  #line 311 "lscp.y"  #line 373 "lscp.y"
4274      { yyval.Char = '\250'; }      { (yyval.Char) = '\204'; }
4275      break;      break;
4276    
4277    case 270:    case 270:
4278  #line 311 "lscp.y"  #line 373 "lscp.y"
4279      { yyval.Char = '\251'; }      { (yyval.Char) = '\205'; }
4280      break;      break;
4281    
4282    case 271:    case 271:
4283  #line 312 "lscp.y"  #line 374 "lscp.y"
4284      { yyval.Char = '\252'; }      { (yyval.Char) = '\206'; }
4285      break;      break;
4286    
4287    case 272:    case 272:
4288  #line 312 "lscp.y"  #line 374 "lscp.y"
4289      { yyval.Char = '\253'; }      { (yyval.Char) = '\207'; }
4290      break;      break;
4291    
4292    case 273:    case 273:
4293  #line 312 "lscp.y"  #line 374 "lscp.y"
4294      { yyval.Char = '\254'; }      { (yyval.Char) = '\210'; }
4295      break;      break;
4296    
4297    case 274:    case 274:
4298  #line 313 "lscp.y"  #line 375 "lscp.y"
4299      { yyval.Char = '\255'; }      { (yyval.Char) = '\211'; }
4300      break;      break;
4301    
4302    case 275:    case 275:
4303  #line 313 "lscp.y"  #line 375 "lscp.y"
4304      { yyval.Char = '\256'; }      { (yyval.Char) = '\212'; }
4305      break;      break;
4306    
4307    case 276:    case 276:
4308  #line 313 "lscp.y"  #line 375 "lscp.y"
4309      { yyval.Char = '\257'; }      { (yyval.Char) = '\213'; }
4310      break;      break;
4311    
4312    case 277:    case 277:
4313  #line 314 "lscp.y"  #line 376 "lscp.y"
4314      { yyval.Char = '\260'; }      { (yyval.Char) = '\214'; }
4315      break;      break;
4316    
4317    case 278:    case 278:
4318  #line 314 "lscp.y"  #line 376 "lscp.y"
4319      { yyval.Char = '\261'; }      { (yyval.Char) = '\215'; }
4320      break;      break;
4321    
4322    case 279:    case 279:
4323  #line 314 "lscp.y"  #line 376 "lscp.y"
4324      { yyval.Char = '\262'; }      { (yyval.Char) = '\216'; }
4325      break;      break;
4326    
4327    case 280:    case 280:
4328  #line 315 "lscp.y"  #line 377 "lscp.y"
4329      { yyval.Char = '\263'; }      { (yyval.Char) = '\217'; }
4330      break;      break;
4331    
4332    case 281:    case 281:
4333  #line 315 "lscp.y"  #line 377 "lscp.y"
4334      { yyval.Char = '\264'; }      { (yyval.Char) = '\220'; }
4335      break;      break;
4336    
4337    case 282:    case 282:
4338  #line 315 "lscp.y"  #line 377 "lscp.y"
4339      { yyval.Char = '\265'; }      { (yyval.Char) = '\221'; }
4340      break;      break;
4341    
4342    case 283:    case 283:
4343  #line 316 "lscp.y"  #line 378 "lscp.y"
4344      { yyval.Char = '\266'; }      { (yyval.Char) = '\222'; }
4345      break;      break;
4346    
4347    case 284:    case 284:
4348  #line 316 "lscp.y"  #line 378 "lscp.y"
4349      { yyval.Char = '\267'; }      { (yyval.Char) = '\223'; }
4350      break;      break;
4351    
4352    case 285:    case 285:
4353  #line 316 "lscp.y"  #line 378 "lscp.y"
4354      { yyval.Char = '\270'; }      { (yyval.Char) = '\224'; }
4355      break;      break;
4356    
4357    case 286:    case 286:
4358  #line 317 "lscp.y"  #line 379 "lscp.y"
4359      { yyval.Char = '\271'; }      { (yyval.Char) = '\225'; }
4360      break;      break;
4361    
4362    case 287:    case 287:
4363  #line 317 "lscp.y"  #line 379 "lscp.y"
4364      { yyval.Char = '\272'; }      { (yyval.Char) = '\226'; }
4365      break;      break;
4366    
4367    case 288:    case 288:
4368  #line 317 "lscp.y"  #line 379 "lscp.y"
4369      { yyval.Char = '\273'; }      { (yyval.Char) = '\227'; }
4370      break;      break;
4371    
4372    case 289:    case 289:
4373  #line 318 "lscp.y"  #line 380 "lscp.y"
4374      { yyval.Char = '\274'; }      { (yyval.Char) = '\230'; }
4375      break;      break;
4376    
4377    case 290:    case 290:
4378  #line 318 "lscp.y"  #line 380 "lscp.y"
4379      { yyval.Char = '\275'; }      { (yyval.Char) = '\231'; }
4380      break;      break;
4381    
4382    case 291:    case 291:
4383  #line 318 "lscp.y"  #line 380 "lscp.y"
4384      { yyval.Char = '\276'; }      { (yyval.Char) = '\232'; }
4385      break;      break;
4386    
4387    case 292:    case 292:
4388  #line 319 "lscp.y"  #line 381 "lscp.y"
4389      { yyval.Char = '\277'; }      { (yyval.Char) = '\233'; }
4390      break;      break;
4391    
4392    case 293:    case 293:
4393  #line 319 "lscp.y"  #line 381 "lscp.y"
4394      { yyval.Char = '\300'; }      { (yyval.Char) = '\234'; }
4395      break;      break;
4396    
4397    case 294:    case 294:
4398  #line 319 "lscp.y"  #line 381 "lscp.y"
4399      { yyval.Char = '\301'; }      { (yyval.Char) = '\235'; }
4400      break;      break;
4401    
4402    case 295:    case 295:
4403  #line 320 "lscp.y"  #line 382 "lscp.y"
4404      { yyval.Char = '\302'; }      { (yyval.Char) = '\236'; }
4405      break;      break;
4406    
4407    case 296:    case 296:
4408  #line 320 "lscp.y"  #line 382 "lscp.y"
4409      { yyval.Char = '\303'; }      { (yyval.Char) = '\237'; }
4410      break;      break;
4411    
4412    case 297:    case 297:
4413  #line 320 "lscp.y"  #line 382 "lscp.y"
4414      { yyval.Char = '\304'; }      { (yyval.Char) = '\240'; }
4415      break;      break;
4416    
4417    case 298:    case 298:
4418  #line 321 "lscp.y"  #line 383 "lscp.y"
4419      { yyval.Char = '\305'; }      { (yyval.Char) = '\241'; }
4420      break;      break;
4421    
4422    case 299:    case 299:
4423  #line 321 "lscp.y"  #line 383 "lscp.y"
4424      { yyval.Char = '\306'; }      { (yyval.Char) = '\242'; }
4425      break;      break;
4426    
4427    case 300:    case 300:
4428  #line 321 "lscp.y"  #line 383 "lscp.y"
4429      { yyval.Char = '\307'; }      { (yyval.Char) = '\243'; }
4430      break;      break;
4431    
4432    case 301:    case 301:
4433  #line 322 "lscp.y"  #line 384 "lscp.y"
4434      { yyval.Char = '\310'; }      { (yyval.Char) = '\244'; }
4435      break;      break;
4436    
4437    case 302:    case 302:
4438  #line 322 "lscp.y"  #line 384 "lscp.y"
4439      { yyval.Char = '\311'; }      { (yyval.Char) = '\245'; }
4440      break;      break;
4441    
4442    case 303:    case 303:
4443  #line 322 "lscp.y"  #line 384 "lscp.y"
4444      { yyval.Char = '\312'; }      { (yyval.Char) = '\246'; }
4445      break;      break;
4446    
4447    case 304:    case 304:
4448  #line 323 "lscp.y"  #line 385 "lscp.y"
4449      { yyval.Char = '\313'; }      { (yyval.Char) = '\247'; }
4450      break;      break;
4451    
4452    case 305:    case 305:
4453  #line 323 "lscp.y"  #line 385 "lscp.y"
4454      { yyval.Char = '\314'; }      { (yyval.Char) = '\250'; }
4455      break;      break;
4456    
4457    case 306:    case 306:
4458  #line 323 "lscp.y"  #line 385 "lscp.y"
4459      { yyval.Char = '\315'; }      { (yyval.Char) = '\251'; }
4460      break;      break;
4461    
4462    case 307:    case 307:
4463  #line 324 "lscp.y"  #line 386 "lscp.y"
4464      { yyval.Char = '\316'; }      { (yyval.Char) = '\252'; }
4465      break;      break;
4466    
4467    case 308:    case 308:
4468  #line 324 "lscp.y"  #line 386 "lscp.y"
4469      { yyval.Char = '\317'; }      { (yyval.Char) = '\253'; }
4470      break;      break;
4471    
4472    case 309:    case 309:
4473  #line 324 "lscp.y"  #line 386 "lscp.y"
4474      { yyval.Char = '\320'; }      { (yyval.Char) = '\254'; }
4475      break;      break;
4476    
4477    case 310:    case 310:
4478  #line 325 "lscp.y"  #line 387 "lscp.y"
4479      { yyval.Char = '\321'; }      { (yyval.Char) = '\255'; }
4480      break;      break;
4481    
4482    case 311:    case 311:
4483  #line 325 "lscp.y"  #line 387 "lscp.y"
4484      { yyval.Char = '\322'; }      { (yyval.Char) = '\256'; }
4485      break;      break;
4486    
4487    case 312:    case 312:
4488  #line 325 "lscp.y"  #line 387 "lscp.y"
4489      { yyval.Char = '\323'; }      { (yyval.Char) = '\257'; }
4490      break;      break;
4491    
4492    case 313:    case 313:
4493  #line 326 "lscp.y"  #line 388 "lscp.y"
4494      { yyval.Char = '\324'; }      { (yyval.Char) = '\260'; }
4495      break;      break;
4496    
4497    case 314:    case 314:
4498  #line 326 "lscp.y"  #line 388 "lscp.y"
4499      { yyval.Char = '\325'; }      { (yyval.Char) = '\261'; }
4500      break;      break;
4501    
4502    case 315:    case 315:
4503  #line 326 "lscp.y"  #line 388 "lscp.y"
4504      { yyval.Char = '\326'; }      { (yyval.Char) = '\262'; }
4505      break;      break;
4506    
4507    case 316:    case 316:
4508  #line 327 "lscp.y"  #line 389 "lscp.y"
4509      { yyval.Char = '\327'; }      { (yyval.Char) = '\263'; }
4510      break;      break;
4511    
4512    case 317:    case 317:
4513  #line 327 "lscp.y"  #line 389 "lscp.y"
4514      { yyval.Char = '\330'; }      { (yyval.Char) = '\264'; }
4515      break;      break;
4516    
4517    case 318:    case 318:
4518  #line 327 "lscp.y"  #line 389 "lscp.y"
4519      { yyval.Char = '\331'; }      { (yyval.Char) = '\265'; }
4520      break;      break;
4521    
4522    case 319:    case 319:
4523  #line 328 "lscp.y"  #line 390 "lscp.y"
4524      { yyval.Char = '\332'; }      { (yyval.Char) = '\266'; }
4525      break;      break;
4526    
4527    case 320:    case 320:
4528  #line 328 "lscp.y"  #line 390 "lscp.y"
4529      { yyval.Char = '\333'; }      { (yyval.Char) = '\267'; }
4530      break;      break;
4531    
4532    case 321:    case 321:
4533  #line 328 "lscp.y"  #line 390 "lscp.y"
4534      { yyval.Char = '\334'; }      { (yyval.Char) = '\270'; }
4535      break;      break;
4536    
4537    case 322:    case 322:
4538  #line 329 "lscp.y"  #line 391 "lscp.y"
4539      { yyval.Char = '\335'; }      { (yyval.Char) = '\271'; }
4540      break;      break;
4541    
4542    case 323:    case 323:
4543  #line 329 "lscp.y"  #line 391 "lscp.y"
4544      { yyval.Char = '\336'; }      { (yyval.Char) = '\272'; }
4545      break;      break;
4546    
4547    case 324:    case 324:
4548  #line 329 "lscp.y"  #line 391 "lscp.y"
4549      { yyval.Char = '\337'; }      { (yyval.Char) = '\273'; }
4550      break;      break;
4551    
4552    case 325:    case 325:
4553  #line 330 "lscp.y"  #line 392 "lscp.y"
4554      { yyval.Char = '\340'; }      { (yyval.Char) = '\274'; }
4555      break;      break;
4556    
4557    case 326:    case 326:
4558  #line 330 "lscp.y"  #line 392 "lscp.y"
4559      { yyval.Char = '\341'; }      { (yyval.Char) = '\275'; }
4560      break;      break;
4561    
4562    case 327:    case 327:
4563  #line 330 "lscp.y"  #line 392 "lscp.y"
4564      { yyval.Char = '\342'; }      { (yyval.Char) = '\276'; }
4565      break;      break;
4566    
4567    case 328:    case 328:
4568  #line 331 "lscp.y"  #line 393 "lscp.y"
4569      { yyval.Char = '\343'; }      { (yyval.Char) = '\277'; }
4570      break;      break;
4571    
4572    case 329:    case 329:
4573  #line 331 "lscp.y"  #line 393 "lscp.y"
4574      { yyval.Char = '\344'; }      { (yyval.Char) = '\300'; }
4575      break;      break;
4576    
4577    case 330:    case 330:
4578  #line 331 "lscp.y"  #line 393 "lscp.y"
4579      { yyval.Char = '\345'; }      { (yyval.Char) = '\301'; }
4580      break;      break;
4581    
4582    case 331:    case 331:
4583  #line 332 "lscp.y"  #line 394 "lscp.y"
4584      { yyval.Char = '\346'; }      { (yyval.Char) = '\302'; }
4585      break;      break;
4586    
4587    case 332:    case 332:
4588  #line 332 "lscp.y"  #line 394 "lscp.y"
4589      { yyval.Char = '\347'; }      { (yyval.Char) = '\303'; }
4590      break;      break;
4591    
4592    case 333:    case 333:
4593  #line 332 "lscp.y"  #line 394 "lscp.y"
4594      { yyval.Char = '\350'; }      { (yyval.Char) = '\304'; }
4595      break;      break;
4596    
4597    case 334:    case 334:
4598  #line 333 "lscp.y"  #line 395 "lscp.y"
4599      { yyval.Char = '\351'; }      { (yyval.Char) = '\305'; }
4600      break;      break;
4601    
4602    case 335:    case 335:
4603  #line 333 "lscp.y"  #line 395 "lscp.y"
4604      { yyval.Char = '\352'; }      { (yyval.Char) = '\306'; }
4605      break;      break;
4606    
4607    case 336:    case 336:
4608  #line 333 "lscp.y"  #line 395 "lscp.y"
4609      { yyval.Char = '\353'; }      { (yyval.Char) = '\307'; }
4610      break;      break;
4611    
4612    case 337:    case 337:
4613  #line 334 "lscp.y"  #line 396 "lscp.y"
4614      { yyval.Char = '\354'; }      { (yyval.Char) = '\310'; }
4615      break;      break;
4616    
4617    case 338:    case 338:
4618  #line 334 "lscp.y"  #line 396 "lscp.y"
4619      { yyval.Char = '\355'; }      { (yyval.Char) = '\311'; }
4620      break;      break;
4621    
4622    case 339:    case 339:
4623  #line 334 "lscp.y"  #line 396 "lscp.y"
4624      { yyval.Char = '\356'; }      { (yyval.Char) = '\312'; }
4625      break;      break;
4626    
4627    case 340:    case 340:
4628  #line 335 "lscp.y"  #line 397 "lscp.y"
4629      { yyval.Char = '\357'; }      { (yyval.Char) = '\313'; }
4630      break;      break;
4631    
4632    case 341:    case 341:
4633  #line 335 "lscp.y"  #line 397 "lscp.y"
4634      { yyval.Char = '\360'; }      { (yyval.Char) = '\314'; }
4635      break;      break;
4636    
4637    case 342:    case 342:
4638  #line 335 "lscp.y"  #line 397 "lscp.y"
4639      { yyval.Char = '\361'; }      { (yyval.Char) = '\315'; }
4640      break;      break;
4641    
4642    case 343:    case 343:
4643  #line 336 "lscp.y"  #line 398 "lscp.y"
4644      { yyval.Char = '\362'; }      { (yyval.Char) = '\316'; }
4645      break;      break;
4646    
4647    case 344:    case 344:
4648  #line 336 "lscp.y"  #line 398 "lscp.y"
4649      { yyval.Char = '\363'; }      { (yyval.Char) = '\317'; }
4650      break;      break;
4651    
4652    case 345:    case 345:
4653  #line 336 "lscp.y"  #line 398 "lscp.y"
4654      { yyval.Char = '\364'; }      { (yyval.Char) = '\320'; }
4655      break;      break;
4656    
4657    case 346:    case 346:
4658  #line 337 "lscp.y"  #line 399 "lscp.y"
4659      { yyval.Char = '\365'; }      { (yyval.Char) = '\321'; }
4660      break;      break;
4661    
4662    case 347:    case 347:
4663  #line 337 "lscp.y"  #line 399 "lscp.y"
4664      { yyval.Char = '\366'; }      { (yyval.Char) = '\322'; }
4665      break;      break;
4666    
4667    case 348:    case 348:
4668  #line 337 "lscp.y"  #line 399 "lscp.y"
4669      { yyval.Char = '\367'; }      { (yyval.Char) = '\323'; }
4670      break;      break;
4671    
4672    case 349:    case 349:
4673  #line 338 "lscp.y"  #line 400 "lscp.y"
4674      { yyval.Char = '\370'; }      { (yyval.Char) = '\324'; }
4675      break;      break;
4676    
4677    case 350:    case 350:
4678  #line 338 "lscp.y"  #line 400 "lscp.y"
4679      { yyval.Char = '\371'; }      { (yyval.Char) = '\325'; }
4680      break;      break;
4681    
4682    case 351:    case 351:
4683  #line 338 "lscp.y"  #line 400 "lscp.y"
4684      { yyval.Char = '\372'; }      { (yyval.Char) = '\326'; }
4685      break;      break;
4686    
4687    case 352:    case 352:
4688  #line 339 "lscp.y"  #line 401 "lscp.y"
4689      { yyval.Char = '\373'; }      { (yyval.Char) = '\327'; }
4690      break;      break;
4691    
4692    case 353:    case 353:
4693  #line 339 "lscp.y"  #line 401 "lscp.y"
4694      { yyval.Char = '\374'; }      { (yyval.Char) = '\330'; }
4695      break;      break;
4696    
4697    case 354:    case 354:
4698  #line 339 "lscp.y"  #line 401 "lscp.y"
4699      { yyval.Char = '\375'; }      { (yyval.Char) = '\331'; }
4700      break;      break;
4701    
4702    case 355:    case 355:
4703  #line 340 "lscp.y"  #line 402 "lscp.y"
4704      { yyval.Char = '\376'; }      { (yyval.Char) = '\332'; }
4705      break;      break;
4706    
4707    case 356:    case 356:
4708  #line 340 "lscp.y"  #line 402 "lscp.y"
4709      { yyval.Char = '\377'; }      { (yyval.Char) = '\333'; }
4710      break;      break;
4711    
4712    case 357:    case 357:
4713  #line 343 "lscp.y"  #line 402 "lscp.y"
4714      { yyval.String = " ";      }      { (yyval.Char) = '\334'; }
4715        break;
4716    
4717      case 358:
4718    #line 403 "lscp.y"
4719        { (yyval.Char) = '\335'; }
4720      break;      break;
4721    
4722    case 359:    case 359:
4723  #line 345 "lscp.y"  #line 403 "lscp.y"
4724      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\336'; }
4725      break;      break;
4726    
4727    case 360:    case 360:
4728  #line 346 "lscp.y"  #line 403 "lscp.y"
4729      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\337'; }
4730      break;      break;
4731    
4732    case 361:    case 361:
4733  #line 349 "lscp.y"  #line 404 "lscp.y"
4734      { yyval.String = '\'' + yyvsp[-1].String + '\''; }      { (yyval.Char) = '\340'; }
4735      break;      break;
4736    
4737    case 362:    case 362:
4738  #line 350 "lscp.y"  #line 404 "lscp.y"
4739      { yyval.String = '\"' + yyvsp[-1].String + '\"'; }      { (yyval.Char) = '\341'; }
4740        break;
4741    
4742      case 363:
4743    #line 404 "lscp.y"
4744        { (yyval.Char) = '\342'; }
4745      break;      break;
4746    
4747      case 364:
4748    #line 405 "lscp.y"
4749        { (yyval.Char) = '\343'; }
4750        break;
4751    
4752      }    case 365:
4753    #line 405 "lscp.y"
4754        { (yyval.Char) = '\344'; }
4755        break;
4756    
4757  /* Line 999 of yacc.c.  */    case 366:
4758  #line 4230 "y.tab.c"  #line 405 "lscp.y"
4759        { (yyval.Char) = '\345'; }
4760    yyvsp -= yylen;      break;
4761    yyssp -= yylen;  
4762      case 367:
4763    #line 406 "lscp.y"
4764        { (yyval.Char) = '\346'; }
4765        break;
4766    
4767      case 368:
4768    #line 406 "lscp.y"
4769        { (yyval.Char) = '\347'; }
4770        break;
4771    
4772      case 369:
4773    #line 406 "lscp.y"
4774        { (yyval.Char) = '\350'; }
4775        break;
4776    
4777      case 370:
4778    #line 407 "lscp.y"
4779        { (yyval.Char) = '\351'; }
4780        break;
4781    
4782      case 371:
4783    #line 407 "lscp.y"
4784        { (yyval.Char) = '\352'; }
4785        break;
4786    
4787      case 372:
4788    #line 407 "lscp.y"
4789        { (yyval.Char) = '\353'; }
4790        break;
4791    
4792      case 373:
4793    #line 408 "lscp.y"
4794        { (yyval.Char) = '\354'; }
4795        break;
4796    
4797      case 374:
4798    #line 408 "lscp.y"
4799        { (yyval.Char) = '\355'; }
4800        break;
4801    
4802      case 375:
4803    #line 408 "lscp.y"
4804        { (yyval.Char) = '\356'; }
4805        break;
4806    
4807      case 376:
4808    #line 409 "lscp.y"
4809        { (yyval.Char) = '\357'; }
4810        break;
4811    
4812      case 377:
4813    #line 409 "lscp.y"
4814        { (yyval.Char) = '\360'; }
4815        break;
4816    
4817      case 378:
4818    #line 409 "lscp.y"
4819        { (yyval.Char) = '\361'; }
4820        break;
4821    
4822      case 379:
4823    #line 410 "lscp.y"
4824        { (yyval.Char) = '\362'; }
4825        break;
4826    
4827      case 380:
4828    #line 410 "lscp.y"
4829        { (yyval.Char) = '\363'; }
4830        break;
4831    
4832      case 381:
4833    #line 410 "lscp.y"
4834        { (yyval.Char) = '\364'; }
4835        break;
4836    
4837      case 382:
4838    #line 411 "lscp.y"
4839        { (yyval.Char) = '\365'; }
4840        break;
4841    
4842      case 383:
4843    #line 411 "lscp.y"
4844        { (yyval.Char) = '\366'; }
4845        break;
4846    
4847      case 384:
4848    #line 411 "lscp.y"
4849        { (yyval.Char) = '\367'; }
4850        break;
4851    
4852      case 385:
4853    #line 412 "lscp.y"
4854        { (yyval.Char) = '\370'; }
4855        break;
4856    
4857      case 386:
4858    #line 412 "lscp.y"
4859        { (yyval.Char) = '\371'; }
4860        break;
4861    
4862      case 387:
4863    #line 412 "lscp.y"
4864        { (yyval.Char) = '\372'; }
4865        break;
4866    
4867      case 388:
4868    #line 413 "lscp.y"
4869        { (yyval.Char) = '\373'; }
4870        break;
4871    
4872      case 389:
4873    #line 413 "lscp.y"
4874        { (yyval.Char) = '\374'; }
4875        break;
4876    
4877      case 390:
4878    #line 413 "lscp.y"
4879        { (yyval.Char) = '\375'; }
4880        break;
4881    
4882      case 391:
4883    #line 414 "lscp.y"
4884        { (yyval.Char) = '\376'; }
4885        break;
4886    
4887      case 392:
4888    #line 414 "lscp.y"
4889        { (yyval.Char) = '\377'; }
4890        break;
4891    
4892      case 393:
4893    #line 417 "lscp.y"
4894        { (yyval.String) = " ";      }
4895        break;
4896    
4897      case 395:
4898    #line 419 "lscp.y"
4899        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
4900        break;
4901    
4902      case 396:
4903    #line 420 "lscp.y"
4904        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
4905        break;
4906    
4907      case 397:
4908    #line 423 "lscp.y"
4909        { (yyval.String) = (yyvsp[(2) - (3)].String); }
4910        break;
4911    
4912      case 398:
4913    #line 424 "lscp.y"
4914        { (yyval.String) = (yyvsp[(2) - (3)].String); }
4915        break;
4916    
4917    
4918    /* Line 1267 of yacc.c.  */
4919    #line 4920 "y.tab.c"
4920          default: break;
4921        }
4922      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4923    
4924      YYPOPSTACK (yylen);
4925      yylen = 0;
4926    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
4927    
4928    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4260  yyerrlab: Line 4951  yyerrlab:
4951    if (!yyerrstatus)    if (!yyerrstatus)
4952      {      {
4953        ++yynerrs;        ++yynerrs;
4954  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
4955        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
4956    #else
4957        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
4958          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4959            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
4960            int yytype = YYTRANSLATE (yychar);            {
4961            char *yymsg;              YYSIZE_T yyalloc = 2 * yysize;
4962            int yyx, yycount;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
4963                  yyalloc = YYSTACK_ALLOC_MAXIMUM;
4964            yycount = 0;              if (yymsg != yymsgbuf)
           /* Start YYX at -YYN if negative to avoid negative indexes in  
              YYCHECK.  */  
           for (yyx = yyn < 0 ? -yyn : 0;  
                yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
               yysize += yystrlen (yytname[yyx]) + 15, yycount++;  
           yysize += yystrlen ("syntax error, unexpected ") + 1;  
           yysize += yystrlen (yytname[yytype]);  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
   
               if (yycount < 5)  
                 {  
                   yycount = 0;  
                   for (yyx = yyn < 0 ? -yyn : 0;  
                        yyx < (int) (sizeof (yytname) / sizeof (char *));  
                        yyx++)  
                     if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
                       {  
                         const char *yyq = ! yycount ? ", expecting " : " or ";  
                         yyp = yystpcpy (yyp, yyq);  
                         yyp = yystpcpy (yyp, yytname[yyx]);  
                         yycount++;  
                       }  
                 }  
               yyerror (yymsg);  
4965                YYSTACK_FREE (yymsg);                YYSTACK_FREE (yymsg);
4966              }              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
4967            else              if (yymsg)
4968              yyerror ("syntax error; also virtual memory exhausted");                yymsg_alloc = yyalloc;
4969          }              else
4970        else                {
4971  #endif /* YYERROR_VERBOSE */                  yymsg = yymsgbuf;
4972          yyerror ("syntax error");                  yymsg_alloc = sizeof yymsgbuf;
4973                  }
4974              }
4975    
4976            if (0 < yysize && yysize <= yymsg_alloc)
4977              {
4978                (void) yysyntax_error (yymsg, yystate, yychar);
4979                yyerror (yymsg);
4980              }
4981            else
4982              {
4983                yyerror (YY_("syntax error"));
4984                if (yysize != 0)
4985                  goto yyexhaustedlab;
4986              }
4987          }
4988    #endif
4989      }      }
4990    
4991    
4992    
4993    if (yyerrstatus == 3)    if (yyerrstatus == 3)
4994      {      {
4995        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
4996           error, discard it.  */           error, discard it.  */
4997    
4998        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
4999        if (yychar == YYEOF)          {
5000          {            /* Return failure if at end of input.  */
5001            /* Pop the error token.  */            if (yychar == YYEOF)
5002            YYPOPSTACK;              YYABORT;
5003            /* Pop the rest of the stack.  */          }
5004            while (yyss < yyssp)        else
5005              {          {
5006                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);            yydestruct ("Error: discarding",
5007                yydestruct (yystos[*yyssp], yyvsp);                        yytoken, &yylval);
5008                YYPOPSTACK;            yychar = YYEMPTY;
5009              }          }
           YYABORT;  
         }  
   
       YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);  
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
5010      }      }
5011    
5012    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5013       token.  */       token.  */
5014    goto yyerrlab1;    goto yyerrlab1;
5015    
5016    
5017  /*----------------------------------------------------.  /*---------------------------------------------------.
5018  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
5019  `----------------------------------------------------*/  `---------------------------------------------------*/
5020    yyerrorlab:
5021    
5022      /* Pacify compilers like GCC when the user code never invokes
5023         YYERROR and the label yyerrorlab therefore never appears in user
5024         code.  */
5025      if (/*CONSTCOND*/ 0)
5026         goto yyerrorlab;
5027    
5028      /* Do not reclaim the symbols of the rule which action triggered
5029         this YYERROR.  */
5030      YYPOPSTACK (yylen);
5031      yylen = 0;
5032      YY_STACK_PRINT (yyss, yyssp);
5033      yystate = *yyssp;
5034      goto yyerrlab1;
5035    
5036    
5037    /*-------------------------------------------------------------.
5038    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
5039    `-------------------------------------------------------------*/
5040  yyerrlab1:  yyerrlab1:
5041    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
5042    
# Line 4367  yyerrlab1: Line 5058  yyerrlab1:
5058        if (yyssp == yyss)        if (yyssp == yyss)
5059          YYABORT;          YYABORT;
5060    
       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
       yydestruct (yystos[yystate], yyvsp);  
       yyvsp--;  
       yystate = *--yyssp;  
5061    
5062          yydestruct ("Error: popping",
5063                      yystos[yystate], yyvsp);
5064          YYPOPSTACK (1);
5065          yystate = *yyssp;
5066        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5067      }      }
5068    
5069    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5070      YYACCEPT;      YYACCEPT;
5071    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5072    *++yyvsp = yylval;    *++yyvsp = yylval;
5073    
5074    
5075      /* Shift the error token.  */
5076      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5077    
5078    yystate = yyn;    yystate = yyn;
5079    goto yynewstate;    goto yynewstate;
5080    
# Line 4402  yyabortlab: Line 5094  yyabortlab:
5094    goto yyreturn;    goto yyreturn;
5095    
5096  #ifndef yyoverflow  #ifndef yyoverflow
5097  /*----------------------------------------------.  /*-------------------------------------------------.
5098  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5099  `----------------------------------------------*/  `-------------------------------------------------*/
5100  yyoverflowlab:  yyexhaustedlab:
5101    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5102    yyresult = 2;    yyresult = 2;
5103    /* Fall through.  */    /* Fall through.  */
5104  #endif  #endif
5105    
5106  yyreturn:  yyreturn:
5107      if (yychar != YYEOF && yychar != YYEMPTY)
5108         yydestruct ("Cleanup: discarding lookahead",
5109                     yytoken, &yylval);
5110      /* Do not reclaim the symbols of the rule which action triggered
5111         this YYABORT or YYACCEPT.  */
5112      YYPOPSTACK (yylen);
5113      YY_STACK_PRINT (yyss, yyssp);
5114      while (yyssp != yyss)
5115        {
5116          yydestruct ("Cleanup: popping",
5117                      yystos[*yyssp], yyvsp);
5118          YYPOPSTACK (1);
5119        }
5120  #ifndef yyoverflow  #ifndef yyoverflow
5121    if (yyss != yyssa)    if (yyss != yyssa)
5122      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5123  #endif  #endif
5124    #if YYERROR_VERBOSE
5125      if (yymsg != yymsgbuf)
5126        YYSTACK_FREE (yymsg);
5127    #endif
5128    return yyresult;    return yyresult;
5129  }  }
5130    
5131    
5132  #line 506 "lscp.y"  #line 631 "lscp.y"
5133    
5134    
5135  /**  /**
# Line 4438  void restart(yyparse_param_t* pparam, in Line 5147  void restart(yyparse_param_t* pparam, in
5147      ptr   = 0;      ptr   = 0;
5148  }  }
5149    
   

Legend:
Removed from v.221  
changed lines
  Added in v.947

  ViewVC Help
Powered by ViewVC