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

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

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

revision 556 by schoenebeck, Sat May 21 01:10:12 2005 UTC revision 1200 by iliev, Thu May 24 14:04:18 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875d.  */  /* A Bison parser, made by GNU Bison 2.3.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton implementation for Bison's Yacc-like parsers in C
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.  
5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6       Free Software Foundation, Inc.
7    
8     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
# Line 15  Line 17 
17    
18     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place - Suite 330,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02111-1307, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23    /* As a special exception, you may create a larger work that contains
24       part or all of the Bison parser skeleton and distribute that work
25       under terms of your choice, so long as that work isn't itself a
26       parser generator using the skeleton or a modified version thereof
27       as a parser skeleton.  Alternatively, if you modify or redistribute
28       the parser skeleton itself, you may (at your option) remove this
29       special exception, which will cause the skeleton and the resulting
30       Bison output files to be licensed under the GNU General Public
31       License without this special exception.
32    
33  /* As a special exception, when this file is copied by Bison into a     This special exception was added by the Free Software Foundation in
34     Bison output file, you may use that output file without restriction.     version 2.2 of Bison.  */
    This special exception was added by the Free Software Foundation  
    in version 1.24 of Bison.  */  
35    
36  /* Written by Richard Stallman by simplifying the original so called  /* C LALR(1) parser skeleton written by Richard Stallman, by
37     ``semantic'' parser.  */     simplifying the original so-called "semantic" parser.  */
38    
39  /* All symbols defined below should begin with yy or YY, to avoid  /* All symbols defined below should begin with yy or YY, to avoid
40     infringing on user name space.  This should be done even for local     infringing on user name space.  This should be done even for local
# Line 36  Line 46 
46  /* Identify Bison output.  */  /* Identify Bison output.  */
47  #define YYBISON 1  #define YYBISON 1
48    
49    /* Bison version.  */
50    #define YYBISON_VERSION "2.3"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
54    
# Line 50  Line 63 
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 27 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 104  int yylex(YYSTYPE* yylval) { Line 118  int yylex(YYSTYPE* yylval) {
118  # define YYERROR_VERBOSE 0  # define YYERROR_VERBOSE 0
119  #endif  #endif
120    
121  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  /* Enabling the token table.  */
122    #ifndef YYTOKEN_TABLE
123    # define YYTOKEN_TABLE 0
124    #endif
125    
126    #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127  typedef int YYSTYPE;  typedef int YYSTYPE;
128  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
# Line 116  typedef int YYSTYPE; Line 135  typedef int YYSTYPE;
135  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
136    
137    
138  /* Line 214 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 121 "y.tab.c"  #line 140 "y.tab.c"
140    
141  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #ifdef short
142    # undef short
143    #endif
144    
145  # ifndef YYFREE  #ifdef YYTYPE_UINT8
146  #  define YYFREE free  typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151    #ifdef YYTYPE_INT8
152    typedef YYTYPE_INT8 yytype_int8;
153    #elif (defined __STDC__ || defined __C99__FUNC__ \
154         || defined __cplusplus || defined _MSC_VER)
155    typedef signed char yytype_int8;
156    #else
157    typedef short int yytype_int8;
158    #endif
159    
160    #ifdef YYTYPE_UINT16
161    typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164    #endif
165    
166    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #endif
171    
172    #ifndef YYSIZE_T
173    # ifdef __SIZE_TYPE__
174    #  define YYSIZE_T __SIZE_TYPE__
175    # elif defined size_t
176    #  define YYSIZE_T size_t
177    # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178         || defined __cplusplus || defined _MSC_VER)
179    #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180    #  define YYSIZE_T size_t
181    # else
182    #  define YYSIZE_T unsigned int
183  # endif  # endif
184  # ifndef YYMALLOC  #endif
185  #  define YYMALLOC malloc  
186    #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188    #ifndef YY_
189    # if YYENABLE_NLS
190    #  if ENABLE_NLS
191    #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192    #   define YY_(msgid) dgettext ("bison-runtime", msgid)
193    #  endif
194    # endif
195    # ifndef YY_
196    #  define YY_(msgid) msgid
197  # endif  # endif
198    #endif
199    
200    /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
229  # ifdef YYSTACK_USE_ALLOCA  # ifdef YYSTACK_USE_ALLOCA
230  #  if YYSTACK_USE_ALLOCA  #  if YYSTACK_USE_ALLOCA
 #   define YYSTACK_ALLOC alloca  
 #  endif  
 # else  
 #  if defined (alloca) || defined (_ALLOCA_H)  
 #   define YYSTACK_ALLOC alloca  
 #  else  
231  #   ifdef __GNUC__  #   ifdef __GNUC__
232  #    define YYSTACK_ALLOC __builtin_alloca  #    define YYSTACK_ALLOC __builtin_alloca
233    #   elif defined __BUILTIN_VA_ARG_INCR
234    #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235    #   elif defined _AIX
236    #    define YYSTACK_ALLOC __alloca
237    #   elif defined _MSC_VER
238    #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239    #    define alloca _alloca
240    #   else
241    #    define YYSTACK_ALLOC alloca
242    #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243         || defined __cplusplus || defined _MSC_VER)
244    #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245    #     ifndef _STDLIB_H
246    #      define _STDLIB_H 1
247    #     endif
248    #    endif
249  #   endif  #   endif
250  #  endif  #  endif
251  # endif  # endif
252    
253  # ifdef YYSTACK_ALLOC  # ifdef YYSTACK_ALLOC
254     /* Pacify GCC's `empty if-body' warning. */     /* Pacify GCC's `empty if-body' warning.  */
255  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256  # else  #  ifndef YYSTACK_ALLOC_MAXIMUM
257  #  if defined (__STDC__) || defined (__cplusplus)      /* The OS might guarantee only one guard page at the bottom of the stack,
258  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */         and a page size can be as small as 4096 bytes.  So we cannot safely
259  #   define YYSIZE_T size_t         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260           to allow for a few compiler-allocated temporary stack slots.  */
261    #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262  #  endif  #  endif
263    # else
264  #  define YYSTACK_ALLOC YYMALLOC  #  define YYSTACK_ALLOC YYMALLOC
265  #  define YYSTACK_FREE YYFREE  #  define YYSTACK_FREE YYFREE
266    #  ifndef YYSTACK_ALLOC_MAXIMUM
267    #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268    #  endif
269    #  if (defined __cplusplus && ! defined _STDLIB_H \
270           && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272    #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273    #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276    #  endif
277    #  ifndef YYMALLOC
278    #   define YYMALLOC malloc
279    #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280         || defined __cplusplus || defined _MSC_VER)
281    void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282    #   endif
283    #  endif
284    #  ifndef YYFREE
285    #   define YYFREE free
286    #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287         || defined __cplusplus || defined _MSC_VER)
288    void free (void *); /* INFRINGES ON USER NAME SPACE */
289    #   endif
290    #  endif
291  # endif  # endif
292  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293    
294    
295  #if (! defined (yyoverflow) \  #if (! defined yyoverflow \
296       && (! defined (__cplusplus) \       && (! defined __cplusplus \
297           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))           || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298    
299  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
300  union yyalloc  union yyalloc
301  {  {
302    short int yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 175  union yyalloc Line 309  union yyalloc
309  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
310     N elements.  */     N elements.  */
311  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
312       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
314    
315  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
316     not overlap.  */     not overlap.  */
317  # ifndef YYCOPY  # ifndef YYCOPY
318  #  if defined (__GNUC__) && 1 < __GNUC__  #  if defined __GNUC__ && 1 < __GNUC__
319  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
320        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321  #  else  #  else
322  #   define YYCOPY(To, From, Count)              \  #   define YYCOPY(To, From, Count)              \
323        do                                        \        do                                        \
324          {                                       \          {                                       \
325            register YYSIZE_T yyi;                \            YYSIZE_T yyi;                         \
326            for (yyi = 0; yyi < (Count); yyi++)   \            for (yyi = 0; yyi < (Count); yyi++)   \
327              (To)[yyi] = (From)[yyi];            \              (To)[yyi] = (From)[yyi];            \
328          }                                       \          }                                       \
329        while (0)        while (YYID (0))
330  #  endif  #  endif
331  # endif  # endif
332    
# Line 210  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
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  52
 #else  
    typedef short int yysigned_char;  
 #endif  
   
 /* YYFINAL -- State number of the termination state. */  
 #define YYFINAL  40  
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4475  #define YYLAST   5505
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  94  #define YYNNTS  168
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  425  #define YYNRULES  611
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1172  #define YYNSTATES  2074
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       218,   219,   220,   221,   222,   223,     1,     2       216,   217,   218,   219,   220,   221,     1,     2
401  };  };
402    
403  #if YYDEBUG  #if YYDEBUG
404  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405     YYRHS.  */     YYRHS.  */
406  static const unsigned short int yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    95,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        99,   101,   103,   105,   109,   119,   127,   135,   145,   151,
412       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,       159,   161,   165,   167,   169,   171,   173,   175,   177,   179,
413       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,       181,   183,   185,   187,   189,   191,   193,   195,   197,   199,
414       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,       201,   203,   205,   207,   209,   211,   213,   215,   217,   219,
415       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,       221,   223,   225,   227,   229,   231,   233,   235,   237,   239,
416       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,       241,   243,   245,   247,   249,   251,   253,   255,   257,   274,
417       407,   409,   411,   413,   415,   417,   423,   431,   435,   437,       293,   312,   333,   341,   345,   349,   353,   359,   363,   367,
418       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,       369,   371,   377,   385,   395,   397,   403,   411,   421,   423,
419       459,   461,   463,   467,   469,   473,   477,   479,   481,   483,       425,   431,   437,   445,   455,   463,   473,   475,   481,   489,
420       485,   487,   490,   494,   499,   504,   506,   509,   511,   513,       495,   501,   507,   511,   513,   515,   519,   523,   533,   535,
421       515,   517,   519,   521,   523,   525,   527,   529,   531,   534,       541,   545,   553,   559,   563,   569,   575,   579,   585,   591,
422       537,   540,   543,   546,   549,   552,   555,   558,   560,   562,       593,   601,   611,   619,   629,   633,   641,   651,   663,   673,
423       564,   566,   568,   570,   572,   574,   576,   578,   580,   582,       683,   691,   699,   707,   715,   719,   723,   729,   733,   739,
424       584,   586,   588,   590,   592,   594,   596,   598,   600,   602,       743,   749,   757,   761,   765,   769,   777,   783,   791,   797,
425       604,   606,   608,   610,   612,   614,   616,   618,   620,   622,       803,   809,   815,   821,   825,   829,   835,   839,   843,   849,
426       624,   626,   628,   630,   632,   634,   636,   638,   640,   642,       857,   863,   873,   879,   885,   891,   897,   903,   909,   915,
427       644,   646,   648,   650,   652,   654,   656,   658,   660,   662,       921,   927,   933,   934,   937,   941,   947,   949,   951,   953,
428       664,   666,   668,   670,   672,   674,   676,   678,   680,   682,       955,   957,   959,   961,   963,   967,   971,   973,   977,   983,
429       684,   686,   688,   690,   692,   694,   696,   698,   700,   702,       987,   993,   997,  1003,  1011,  1015,  1017,  1019,  1021,  1023,
430       704,   706,   708,   710,   712,   714,   716,   718,   720,   722,      1025,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
431       724,   726,   728,   730,   732,   734,   736,   738,   740,   742,      1045,  1047,  1049,  1051,  1053,  1055,  1057,  1059,  1061,  1063,
432       744,   746,   748,   750,   752,   754,   756,   758,   760,   762,      1065,  1067,  1069,  1073,  1075,  1077,  1079,  1081,  1085,  1091,
433       764,   766,   768,   770,   772,   774,   776,   778,   780,   782,      1093,  1095,  1097,  1099,  1101,  1103,  1105,  1107,  1110,  1114,
434       784,   786,   788,   790,   792,   794,   796,   798,   800,   802,      1119,  1124,  1126,  1129,  1131,  1133,  1135,  1137,  1139,  1141,
435       804,   806,   808,   810,   812,   814,   816,   818,   820,   822,      1143,  1145,  1147,  1149,  1151,  1154,  1157,  1160,  1163,  1166,
436       824,   826,   828,   830,   832,   834,   836,   838,   840,   842,      1169,  1172,  1175,  1178,  1180,  1182,  1184,  1186,  1188,  1190,
437       844,   846,   848,   850,   852,   854,   856,   858,   860,   862,      1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,  1210,
438       864,   866,   868,   870,   872,   874,   876,   878,   880,   882,      1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,  1230,
439       884,   886,   888,   890,   892,   894,   896,   898,   900,   902,      1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,  1250,
440       904,   906,   908,   910,   912,   914,   916,   918,   920,   922,      1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,  1270,
441       924,   926,   928,   930,   932,   934,   936,   938,   940,   942,      1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,  1290,
442       944,   946,   948,   950,   952,   954,   956,   958,   960,   962,      1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,  1310,
443       964,   966,   968,   970,   972,   974,   976,   978,   980,   982,      1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,
444       984,   986,   988,   990,   992,   994,   996,   998,  1000,  1003,      1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,
445      1006,  1010,  1014,  1016,  1018,  1020,  1024,  1028,  1035,  1043,      1352,  1354,  1356,  1358,  1360,  1362,  1364,  1366,  1368,  1370,
446      1048,  1053,  1057,  1067,  1074,  1078,  1088,  1100,  1107,  1115,      1372,  1374,  1376,  1378,  1380,  1382,  1384,  1386,  1388,  1390,
447      1133,  1164,  1173,  1178,  1192,  1205,  1217,  1230,  1242,  1253,      1392,  1394,  1396,  1398,  1400,  1402,  1404,  1406,  1408,  1410,
448      1260,  1290,  1311,  1331,  1361,  1381,  1412,  1433,  1451,  1480,      1412,  1414,  1416,  1418,  1420,  1422,  1424,  1426,  1428,  1430,
449      1508,  1534,  1553,  1571,  1599,  1617,  1633,  1652,  1668,  1679,      1432,  1434,  1436,  1438,  1440,  1442,  1444,  1446,  1448,  1450,
450      1686,  1692,  1703,  1709,  1723,  1728      1452,  1454,  1456,  1458,  1460,  1462,  1464,  1466,  1468,  1470,
451        1472,  1474,  1476,  1478,  1480,  1482,  1484,  1486,  1488,  1490,
452        1492,  1494,  1496,  1498,  1500,  1502,  1504,  1506,  1508,  1510,
453        1512,  1514,  1516,  1518,  1520,  1522,  1524,  1526,  1528,  1530,
454        1532,  1534,  1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,
455        1552,  1554,  1556,  1558,  1560,  1562,  1564,  1566,  1568,  1570,
456        1572,  1574,  1576,  1578,  1580,  1582,  1584,  1586,  1588,  1590,
457        1592,  1594,  1596,  1598,  1600,  1602,  1604,  1606,  1608,  1610,
458        1612,  1614,  1616,  1618,  1620,  1623,  1626,  1630,  1634,  1636,
459        1638,  1640,  1644,  1648,  1652,  1658,  1664,  1669,  1674,  1679,
460        1686,  1694,  1699,  1704,  1708,  1713,  1721,  1731,  1738,  1742,
461        1752,  1764,  1772,  1790,  1821,  1830,  1835,  1861,  1886,  1910,
462        1933,  1959,  1984,  2006,  2027,  2057,  2086,  2106,  2125,  2149,
463        2163,  2176,  2190,  2203,  2215,  2228,  2240,  2258,  2280,  2292,
464        2303,  2310,  2320,  2335,  2346,  2376,  2397,  2417,  2447,  2467,
465        2498,  2519,  2537,  2566,  2594,  2620,  2639,  2657,  2685,  2701,
466        2718,  2738,  2759,  2777,  2793,  2812,  2828,  2839,  2855,  2863,
467        2872,  2896,  2922,  2937,  2951,  2970,  2982,  2988,  2993,  3003,
468        3017,  3024,  3031,  3037,  3042,  3047,  3053,  3064,  3070,  3084,
469        3089,  3094
470  };  };
471    
472  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
473  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
474  {  {
475       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   292,    -1,   229,   293,   292,    -1,
476        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
477         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   291,    -1,   230,   287,    -1,   230,   283,
478        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   294,   291,   232,    -1,   296,   291,   235,    -1,   297,
479       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       291,   236,    -1,   295,   291,   238,    -1,   302,   291,   240,
480        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   303,   291,   246,    -1,   304,   291,   252,    -1,   305,
481        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       291,   247,    -1,   310,   291,   237,    -1,   311,   291,   239,
482       267,   233,    -1,   282,   267,   265,    -1,   317,   267,   283,        -1,   312,   291,   233,    -1,   313,   291,   234,    -1,   390,
483       267,   252,    -1,   317,    -1,   320,    -1,   288,    -1,   292,       291,   241,    -1,   298,   291,   242,    -1,   299,   291,   243,
484        -1,   291,    -1,   290,    -1,   289,    -1,   318,    -1,   288,        -1,   300,   291,   244,    -1,   301,   291,   245,    -1,   390,
485        -1,   292,    -1,   291,    -1,   290,    -1,   289,    -1,   318,        -1,   394,    -1,   314,    -1,   373,   291,   271,    -1,   375,
486        -1,   284,    -1,   303,    -1,   309,   267,   287,   267,   259,       291,   309,   291,   281,   291,   271,   291,   271,    -1,   375,
487        -1,   308,   267,   287,   267,   259,   267,   259,    -1,   308,       291,   281,   291,   271,   291,   271,    -1,   375,   291,   309,
488       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,       291,   271,   291,   271,    -1,   375,   291,   309,   291,   271,
489        -1,   299,   267,   287,   267,   259,    -1,   298,   267,   287,       291,   271,   291,   268,    -1,   375,   291,   271,   291,   271,
490       267,   259,   267,   259,    -1,   298,   267,   287,   267,   259,        -1,   375,   291,   271,   291,   271,   291,   268,    -1,   363,
491       267,   259,   267,   240,    -1,   296,    -1,   306,    -1,   297,        -1,   363,   291,   274,    -1,   319,    -1,   320,    -1,   321,
492       267,   287,   267,   263,    -1,   307,   267,   287,   267,   263,        -1,   322,    -1,   332,    -1,   338,    -1,   337,    -1,   336,
493        -1,   310,   267,   287,   267,   263,   267,   263,    -1,   305,        -1,   333,    -1,   334,    -1,   335,    -1,   323,    -1,   324,
494       267,   287,   267,   263,   267,   263,   267,   259,    -1,   301,        -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,   329,
495       267,   287,   267,   263,   267,   263,    -1,   300,   267,   287,        -1,   330,    -1,   331,    -1,   391,    -1,   339,    -1,   341,
496       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,        -1,   319,    -1,   320,    -1,   321,    -1,   322,    -1,   332,
497       267,   287,   267,   252,    -1,   283,   267,   290,   267,   241,        -1,   338,    -1,   337,    -1,   336,    -1,   333,    -1,   334,
498       267,   252,    -1,   283,   267,   291,   267,   252,    -1,   283,        -1,   335,    -1,   323,    -1,   324,    -1,   325,    -1,   326,
499       267,   292,   267,   252,    -1,   294,   267,   287,   267,   254,        -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
500        -1,   295,   267,   263,   267,   259,     4,   256,    -1,   300,        -1,   391,    -1,   339,    -1,   341,    -1,   361,   291,   249,
501       267,   263,   267,   263,   267,   259,     4,   256,    -1,   304,       262,   291,   263,   291,   264,   291,   270,   291,   273,   291,
502       267,   263,   267,   259,     4,   256,    -1,   305,   267,   263,       268,   291,   266,    -1,   361,   291,   249,   262,   291,   263,
503       267,   263,   267,   259,     4,   256,    -1,   283,   267,   239,       291,   264,   291,   270,   291,   273,   291,   268,   291,   266,
504        -1,   319,   267,   258,    -1,   297,   267,   259,   267,   240,       291,   255,    -1,   361,   291,   249,   262,   291,   263,   291,
505        -1,   297,   267,   259,    -1,   307,   267,   259,   267,   240,       264,   291,   270,   291,   273,   291,   268,   291,   266,   291,
506        -1,   307,   267,   259,    -1,   297,   267,   263,    -1,   307,       275,    -1,   361,   291,   249,   262,   291,   263,   291,   264,
507       267,   263,    -1,   293,   267,   243,    -1,   294,   267,   244,       291,   270,   291,   273,   291,   268,   291,   266,   291,   255,
508        -1,   297,   267,   252,   267,   245,    -1,   301,   267,   252,       291,   275,    -1,   361,   291,   262,   291,   263,   291,   264,
509       267,   246,   267,   246,    -1,   302,   267,   252,   267,   247,        -1,   314,   291,   267,    -1,   363,   291,   262,    -1,   363,
510        -1,   313,   267,   252,   267,   245,   267,   248,   267,   249,       291,   306,    -1,   373,   291,   379,   291,   271,    -1,   373,
511        -1,   307,   267,   252,   267,   245,    -1,   310,   267,   252,       291,   271,    -1,   376,   291,   271,    -1,   315,    -1,   355,
512       267,   248,    -1,   311,   267,   252,   267,   249,    -1,   312,        -1,   365,   291,   318,   291,   283,    -1,   360,   291,   318,
513       267,   252,   267,   250,    -1,   314,   267,   252,   267,   251,       291,   283,   291,   283,    -1,   360,   291,   318,   291,   283,
514        -1,   259,     4,   256,    -1,   240,   267,   259,     4,   256,       291,   283,   291,   250,    -1,   316,    -1,   351,   291,   318,
515        -1,   315,    -1,   316,    -1,   296,    -1,   306,    -1,   286,       291,   283,    -1,   350,   291,   318,   291,   283,   291,   283,
516        -1,   284,    -1,   303,    -1,   285,    -1,   255,   267,   253,        -1,   350,   291,   318,   291,   283,   291,   283,   291,   250,
517       267,   252,    -1,   277,   267,   255,   267,   253,   267,   252,        -1,   348,    -1,   358,    -1,   349,   291,   318,   291,   287,
518        -1,   254,   267,   252,    -1,   263,    -1,   263,    -1,   259,        -1,   359,   291,   318,   291,   287,    -1,   366,   291,   318,
519        -1,   263,    -1,   263,    -1,   276,    -1,   259,    -1,   260,       291,   287,   291,   287,    -1,   357,   291,   318,   291,   287,
520        -1,   263,    -1,   263,    -1,   263,    -1,   259,    -1,   266,       291,   287,   291,   283,    -1,   353,   291,   318,   291,   287,
521        -1,   257,    -1,   256,     5,   257,    -1,   259,    -1,     6,       291,   287,    -1,   352,   291,   318,   291,   287,   291,   287,
522       259,     6,    -1,     7,   259,     7,    -1,   263,    -1,   260,       291,   283,    -1,   317,    -1,   314,   291,   318,   291,   267,
523        -1,   263,    -1,   259,    -1,   264,    -1,   259,   264,    -1,        -1,   314,   291,   336,   291,   251,   291,   267,    -1,   314,
524       261,     8,   261,    -1,     9,   261,     8,   261,    -1,    10,       291,   337,   291,   267,    -1,   314,   291,   338,   291,   267,
525       261,     8,   261,    -1,   262,    -1,   261,   262,    -1,    11,        -1,   343,   291,   318,   291,   270,    -1,   383,   291,   318,
526        -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,        -1,   339,    -1,   340,    -1,   362,   291,   262,    -1,   362,
527        -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,   262,       291,   306,    -1,   361,   291,   318,   291,   262,   291,   263,
528        -1,    12,   261,    -1,    13,   261,    -1,    14,   261,    -1,       291,   264,    -1,   364,    -1,   363,   291,   318,   291,   262,
529        15,   261,    -1,    16,   261,    -1,    17,   261,    -1,    18,        -1,   372,   291,   267,    -1,   371,   291,   318,   291,   267,
530       261,    -1,    19,   261,    -1,    20,   261,    -1,    21,    -1,       291,   269,    -1,   374,   291,   381,   291,   271,    -1,   374,
531        22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,       291,   271,    -1,   373,   291,   318,   291,   271,    -1,   375,
532        27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,    -1,       291,   381,   291,   271,    -1,   375,   291,   271,    -1,   376,
533        32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,       291,   318,   291,   271,    -1,   377,   291,   318,   291,   287,
534        37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,        -1,   384,    -1,   347,   291,   287,   291,   283,     4,   277,
535        42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,        -1,   352,   291,   287,   291,   287,   291,   283,     4,   277,
536        47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,        -1,   356,   291,   287,   291,   283,     4,   277,    -1,   357,
537        52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,    -1,       291,   287,   291,   287,   291,   283,     4,   277,    -1,   314,
538        57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,       291,   248,    -1,   363,   291,   392,   291,   262,   291,   274,
539        62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,    -1,        -1,   371,   291,   392,   291,   267,   291,   269,   291,   276,
540        67,    -1,    68,    -1,    69,    -1,    70,    -1,    71,    -1,        -1,   371,   291,   353,   291,   267,   291,   269,   291,   257,
541        72,    -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,       291,   257,    -1,   371,   291,   370,   291,   267,   291,   269,
542        15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,    -1,       291,   265,    -1,   371,   291,   385,   291,   267,   291,   269,
543        20,    -1,    73,    -1,     3,    -1,    74,    -1,    75,    -1,       291,   266,    -1,   373,   291,   392,   291,   271,   291,   272,
544        76,    -1,    77,    -1,    78,    -1,    79,    -1,     9,    -1,        -1,   373,   291,   378,   291,   271,   291,   290,    -1,   376,
545        10,    -1,     8,    -1,     5,    -1,    80,    -1,    81,    -1,       291,   392,   291,   271,   291,   272,    -1,   376,   291,   378,
546        82,    -1,    83,    -1,     4,    -1,    84,    -1,    85,    -1,       291,   271,   291,   290,    -1,   393,   291,   282,    -1,   384,
547        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,       291,   266,    -1,   349,   291,   283,   291,   250,    -1,   349,
548        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,       291,   283,    -1,   359,   291,   283,   291,   250,    -1,   359,
549        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,       291,   283,    -1,   371,   291,   267,   291,   265,    -1,   371,
550       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,       291,   267,   291,   265,   291,   276,    -1,   314,   291,   267,
551       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,        -1,   362,   291,   262,    -1,   362,   291,   306,    -1,   375,
552       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,       291,   382,   291,   271,   291,   279,    -1,   375,   291,   271,
553       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,       291,   279,    -1,   374,   291,   382,   291,   271,   291,   279,
554       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,        -1,   374,   291,   271,   291,   279,    -1,   373,   291,   271,
555       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,       291,   271,    -1,   376,   291,   271,   291,   271,    -1,   373,
556       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,       291,   271,   291,   271,    -1,   376,   291,   271,   291,   271,
557       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,        -1,   349,   291,   287,    -1,   359,   291,   287,    -1,   371,
558       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,       291,   267,   291,   269,    -1,   342,   291,   253,    -1,   343,
559       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,       291,   254,    -1,   349,   291,   267,   291,   256,    -1,   353,
560       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,       291,   267,   291,   257,   291,   257,    -1,   354,   291,   267,
561       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,       291,   258,    -1,   369,   291,   267,   291,   256,   291,   259,
562       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,       291,   260,    -1,   359,   291,   267,   291,   256,    -1,   366,
563       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,       291,   267,   291,   259,    -1,   367,   291,   267,   291,   260,
564       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,        -1,   368,   291,   267,   291,   261,    -1,   384,   291,   267,
565       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,       291,   266,    -1,   386,   291,   267,   291,   282,    -1,   387,
566       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,       291,   267,   291,   282,    -1,   363,   291,   267,   291,   262,
567       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,        -1,   363,   291,   267,   291,   307,    -1,   363,   291,   267,
568       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,       291,   308,    -1,    -1,   309,   291,    -1,   283,     4,   277,
569       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,        -1,   250,   291,   283,     4,   277,    -1,   388,    -1,   389,
570       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,        -1,   348,    -1,   358,    -1,   317,    -1,   315,    -1,   355,
571       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,        -1,   316,    -1,   362,   291,   262,    -1,   362,   291,   306,
572       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,        -1,   364,    -1,   372,   291,   267,    -1,   374,   291,   381,
573       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,       291,   271,    -1,   374,   291,   271,    -1,   375,   291,   381,
574       221,    -1,   222,    -1,   223,    -1,   267,    -1,   259,    -1,       291,   271,    -1,   375,   291,   271,    -1,   273,   291,   268,
575       265,   267,    -1,   265,   259,    -1,     6,   265,     6,    -1,       291,   267,    -1,   309,   291,   273,   291,   268,   291,   267,
576         7,   265,     7,    -1,   224,    -1,   225,    -1,   226,    -1,        -1,   270,   291,   267,    -1,   344,    -1,   345,    -1,   346,
577        21,    24,    24,    -1,    27,    25,    40,    -1,    23,    38,        -1,   287,    -1,   287,    -1,   283,    -1,   287,    -1,   287,
578        25,    21,    40,    25,    -1,    24,    25,    39,    40,    38,        -1,   306,    -1,   283,    -1,   287,    -1,   287,    -1,   287,
579        35,    45,    -1,    32,    29,    39,    40,    -1,    32,    35,        -1,   287,    -1,   284,    -1,   287,    -1,   287,    -1,   287,
580        21,    24,    -1,    21,    32,    32,    -1,    34,    35,    34,        -1,   287,    -1,   283,    -1,   290,    -1,   290,    -1,   290,
581        91,    33,    35,    24,    21,    32,    -1,    38,    25,    33,        -1,   290,    -1,   290,    -1,   290,    -1,   278,    -1,   277,
582        35,    42,    25,    -1,    39,    25,    40,    -1,    39,    41,         5,   278,    -1,   283,    -1,   290,    -1,   287,    -1,   284,
583        22,    39,    23,    38,    29,    22,    25,    -1,    41,    34,        -1,   283,     4,   280,    -1,   279,   291,   283,     4,   280,
584        39,    41,    22,    39,    23,    38,    29,    22,    25,    -1,        -1,   283,    -1,   290,    -1,   381,    -1,   382,    -1,   380,
585        39,    25,    32,    25,    23,    40,    -1,    23,    28,    21,        -1,   287,    -1,   283,    -1,   288,    -1,   283,   288,    -1,
586        34,    34,    25,    32,    -1,    21,    42,    21,    29,    32,       285,     6,   285,    -1,     7,   285,     6,   285,    -1,     8,
587        21,    22,    32,    25,    91,    25,    34,    27,    29,    34,       285,     6,   285,    -1,   286,    -1,   285,   286,    -1,     9,
588        25,    39,    -1,    21,    42,    21,    29,    32,    21,    22,        -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,
589        32,    25,    91,    21,    41,    24,    29,    35,    91,    35,        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,   286,
590        41,    40,    36,    41,    40,    91,    24,    38,    29,    42,        -1,    10,   285,    -1,    11,   285,    -1,    12,   285,    -1,
591        25,    38,    39,    -1,    23,    28,    21,    34,    34,    25,        13,   285,    -1,    14,   285,    -1,    15,   285,    -1,    16,
592        32,    39,    -1,    29,    34,    26,    35,    -1,    23,    28,       285,    -1,    17,   285,    -1,    18,   285,    -1,    19,    -1,
593        21,    34,    34,    25,    32,    91,    23,    35,    41,    34,        20,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,
594        40,    -1,    23,    28,    21,    34,    34,    25,    32,    91,        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,
595        29,    34,    26,    35,    -1,    22,    41,    26,    26,    25,        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,
596        38,    91,    26,    29,    32,    32,    -1,    39,    40,    38,        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,
597        25,    21,    33,    91,    23,    35,    41,    34,    40,    -1,        40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,
598        42,    35,    29,    23,    25,    91,    23,    35,    41,    34,        45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,
599        40,    -1,    29,    34,    39,    40,    38,    41,    33,    25,        50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,
600        34,    40,    -1,    25,    34,    27,    29,    34,    25,    -1,        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,
601        21,    41,    24,    29,    35,    91,    35,    41,    40,    36,        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
602        41,    40,    91,    24,    25,    42,    29,    23,    25,    91,        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,
603        36,    21,    38,    21,    33,    25,    40,    25,    38,    -1,        70,    -1,     9,    -1,    10,    -1,    11,    -1,    12,    -1,
604        21,    41,    24,    29,    35,    91,    35,    41,    40,    36,        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,
605        41,    40,    91,    24,    25,    42,    29,    23,    25,    39,        18,    -1,    71,    -1,     3,    -1,    72,    -1,    73,    -1,
606        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        74,    -1,    75,    -1,    76,    -1,    77,    -1,     7,    -1,
607        36,    41,    40,    91,    24,    25,    42,    29,    23,    25,         8,    -1,     6,    -1,     5,    -1,    78,    -1,    79,    -1,
608        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        80,    -1,    81,    -1,     4,    -1,    82,    -1,    83,    -1,
609        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,
610        91,    36,    21,    38,    21,    33,    25,    40,    25,    38,        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,
611        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,
612        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,
613        -1,    21,    41,    24,    29,    35,    91,    35,    41,    40,       104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,
614        36,    41,    40,    91,    23,    28,    21,    34,    34,    25,       109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,
615        32,    91,    36,    21,    38,    21,    33,    25,    40,    25,       114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,
616        38,    -1,    21,    41,    24,    29,    35,    91,    35,    41,       119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,
617        40,    36,    41,    40,    91,    23,    28,    21,    34,    34,       124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,
618        25,    32,    -1,    21,    41,    24,    29,    35,    91,    35,       129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,
619        41,    40,    36,    41,    40,    91,    40,    45,    36,    25,       134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,
620        -1,    21,    42,    21,    29,    32,    21,    22,    32,    25,       139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,
621        91,    33,    29,    24,    29,    91,    29,    34,    36,    41,       144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,
622        40,    91,    24,    38,    29,    42,    25,    38,    39,    -1,       149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,
623        33,    29,    24,    29,    91,    29,    34,    36,    41,    40,       154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,
624        91,    24,    25,    42,    29,    23,    25,    91,    36,    21,       159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,
625        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,       164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,
626        24,    29,    91,    29,    34,    36,    41,    40,    91,    36,       169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,
627        35,    38,    40,    91,    36,    21,    38,    21,    33,    25,       174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,
628        40,    25,    38,    -1,    33,    29,    24,    29,    91,    29,       179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,
629        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,       184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,
630        25,    39,    -1,    33,    29,    24,    29,    91,    29,    34,       189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,
631        36,    41,    40,    91,    24,    25,    42,    29,    23,    25,       194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,
632        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,       199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,
633        40,    91,    24,    38,    29,    42,    25,    38,    91,    36,       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,
634        21,    38,    21,    33,    25,    40,    25,    38,    -1,    33,       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,
635        29,    24,    29,    91,    29,    34,    36,    41,    40,    91,       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,
636        24,    38,    29,    42,    25,    38,    -1,    33,    29,    24,       219,    -1,   220,    -1,   221,    -1,   291,    -1,   283,    -1,
637        29,    91,    29,    34,    36,    41,    40,    91,    36,    35,       289,   291,    -1,   289,   283,    -1,   222,   289,   222,    -1,
638        38,    40,    -1,    33,    29,    24,    29,    91,    29,    34,       223,   289,   223,    -1,   224,    -1,   225,    -1,   226,    -1,
639        36,    41,    40,    91,    23,    28,    21,    34,    34,    25,        19,    22,    22,    -1,    25,    23,    38,    -1,    31,    19,
640        32,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        34,    -1,    39,    32,    31,    19,    34,    -1,    21,    30,
641        41,    40,    91,    40,    45,    36,    25,    -1,    33,    29,        23,    19,    36,    -1,    24,    27,    32,    22,    -1,    31,
642        24,    29,    91,    29,    34,    36,    41,    40,    -1,    42,        33,    40,    23,    -1,    21,    33,    34,    43,    -1,    21,
643        35,    32,    41,    33,    25,    -1,    22,    45,    40,    25,        36,    23,    19,    38,    23,    -1,    22,    23,    37,    38,
644        39,    -1,    36,    25,    38,    23,    25,    34,    40,    21,        36,    33,    43,    -1,    30,    27,    37,    38,    -1,    30,
645        27,    25,    -1,    38,    25,    39,    25,    40,    -1,    33,        33,    19,    22,    -1,    19,    30,    30,    -1,    32,    33,
646        29,    39,    23,    25,    32,    32,    21,    34,    25,    35,        32,    23,    -1,    22,    23,    24,    19,    39,    30,    38,
647        41,    39,    -1,    25,    23,    28,    35,    -1,    37,    41,        -1,    32,    33,    32,    89,    31,    33,    22,    19,    30,
648        29,    40,    -1        -1,    36,    23,    31,    33,    40,    23,    -1,    37,    23,
649          38,    -1,    37,    39,    20,    37,    21,    36,    27,    20,
650          23,    -1,    39,    32,    37,    39,    20,    37,    21,    36,
651          27,    20,    23,    -1,    21,    26,    19,    32,    32,    23,
652          30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
653          23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
654          19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
655          19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
656          39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
657          -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
658          27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
659          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
660          40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
661          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
662          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
663          89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
664          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
665          27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
666          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
667          89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
668          24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
669          37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
670          19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
671          27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
672          31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
673          32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
674          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
675          21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
676          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
677          38,    89,    27,    32,    24,    33,    -1,    22,    20,    89,
678          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
679          89,    22,    27,    36,    23,    21,    38,    33,    36,    43,
680          89,    21,    33,    39,    32,    38,    -1,    22,    20,    89,
681          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
682          89,    22,    27,    36,    23,    21,    38,    33,    36,    43,
683          89,    27,    32,    24,    33,    -1,    22,    20,    89,    27,
684          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
685          21,    33,    39,    32,    38,    -1,    22,    20,    89,    27,
686          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
687          27,    32,    24,    33,    -1,    22,    20,    89,    27,    32,
688          37,    38,    36,    39,    31,    23,    32,    38,    37,    89,
689          28,    33,    20,    89,    27,    32,    24,    33,    -1,    21,
690          26,    19,    32,    32,    23,    30,    89,    21,    33,    39,
691          32,    38,    -1,    21,    26,    19,    32,    32,    23,    30,
692          89,    27,    32,    24,    33,    -1,    24,    42,    89,    37,
693          23,    32,    22,    89,    21,    33,    39,    32,    38,    -1,
694          24,    42,    89,    37,    23,    32,    22,    89,    27,    32,
695          24,    33,    -1,    20,    39,    24,    24,    23,    36,    89,
696          24,    27,    30,    30,    -1,    37,    38,    36,    23,    19,
697          31,    89,    21,    33,    39,    32,    38,    -1,    40,    33,
698          27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
699          38,    33,    38,    19,    30,    89,    40,    33,    27,    21,
700          23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,
701          38,    19,    30,    89,    40,    33,    27,    21,    23,    89,
702          21,    33,    39,    32,    38,    89,    31,    19,    42,    -1,
703          25,    30,    33,    20,    19,    30,    89,    27,    32,    24,
704          33,    -1,    27,    32,    37,    38,    36,    39,    31,    23,
705          32,    38,    -1,    23,    32,    25,    27,    32,    23,    -1,
706          33,    32,    89,    22,    23,    31,    19,    32,    22,    -1,
707          33,    32,    89,    22,    23,    31,    19,    32,    22,    89,
708          26,    33,    30,    22,    -1,    34,    23,    36,    37,    27,
709          37,    38,    23,    32,    38,    -1,    19,    39,    22,    27,
710          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
711          23,    40,    27,    21,    23,    89,    34,    19,    36,    19,
712          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
713          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
714          23,    40,    27,    21,    23,    37,    -1,    19,    39,    22,
715          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
716          22,    23,    40,    27,    21,    23,    -1,    19,    39,    22,
717          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
718          22,    36,    27,    40,    23,    36,    89,    34,    19,    36,
719          19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,
720          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
721          22,    36,    27,    40,    23,    36,    -1,    19,    39,    22,
722          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
723          21,    26,    19,    32,    32,    23,    30,    89,    34,    19,
724          36,    19,    31,    23,    38,    23,    36,    -1,    19,    39,
725          22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
726          89,    21,    26,    19,    32,    32,    23,    30,    -1,    19,
727          39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
728          38,    89,    38,    43,    34,    23,    -1,    19,    40,    19,
729          27,    30,    19,    20,    30,    23,    89,    31,    27,    22,
730          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
731          27,    40,    23,    36,    37,    -1,    31,    27,    22,    27,
732          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
733          27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
734          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
735          32,    34,    39,    38,    89,    34,    33,    36,    38,    89,
736          34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
737          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
738          89,    22,    23,    40,    27,    21,    23,    37,    -1,    31,
739          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
740          22,    23,    40,    27,    21,    23,    -1,    31,    27,    22,
741          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
742          27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
743          23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,
744          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
745          -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
746          36,    39,    31,    23,    32,    38,    37,    -1,    31,    27,
747          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
748          23,    32,    38,    89,    31,    19,    34,    -1,    31,    27,
749          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
750          23,    32,    38,    89,    31,    19,    34,    37,    -1,    31,
751          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
752          22,    36,    27,    40,    23,    36,    -1,    31,    27,    22,
753          27,    89,    27,    32,    34,    39,    38,    89,    34,    33,
754          36,    38,    -1,    31,    27,    22,    27,    89,    27,    32,
755          34,    39,    38,    89,    21,    26,    19,    32,    32,    23,
756          30,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
757          39,    38,    89,    38,    43,    34,    23,    -1,    31,    27,
758          22,    27,    89,    27,    32,    34,    39,    38,    -1,    31,
759          27,    22,    27,    89,    21,    33,    32,    38,    36,    33,
760          30,    30,    23,    36,    -1,    24,    42,    89,    37,    23,
761          32,    22,    -1,    24,    42,    89,    37,    23,    32,    22,
762          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
763          39,    31,    23,    32,    38,    89,    22,    27,    36,    23,
764          21,    38,    33,    36,    43,    -1,    22,    20,    89,    27,
765          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
766          22,    27,    36,    23,    21,    38,    33,    36,    27,    23,
767          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
768          39,    31,    23,    32,    38,    37,    -1,    22,    20,    89,
769          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
770          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
771          31,    23,    32,    38,    37,    89,    28,    33,    20,    -1,
772          22,    23,    37,    21,    36,    27,    34,    38,    27,    33,
773          32,    -1,    24,    33,    36,    21,    23,    -1,    24,    30,
774          19,    38,    -1,    36,    23,    21,    39,    36,    37,    27,
775          40,    23,    -1,    32,    33,    32,    89,    36,    23,    21,
776          39,    36,    37,    27,    40,    23,    -1,    37,    23,    36,
777          40,    23,    36,    -1,    40,    33,    30,    39,    31,    23,
778          -1,    30,    23,    40,    23,    30,    -1,    31,    39,    38,
779          23,    -1,    37,    33,    30,    33,    -1,    20,    43,    38,
780          23,    37,    -1,    34,    23,    36,    21,    23,    32,    38,
781          19,    25,    23,    -1,    36,    23,    37,    23,    38,    -1,
782          31,    27,    37,    21,    23,    30,    30,    19,    32,    23,
783          33,    39,    37,    -1,    32,    19,    31,    23,    -1,    23,
784          21,    26,    33,    -1,    35,    39,    27,    38,    -1
785  };  };
786    
787  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
788  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
789  {  {
790         0,    82,    82,    83,    86,    87,    88,    89,    92,    93,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
791        94,    95,    96,    99,   100,   101,   102,   103,   104,   105,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
792       106,   107,   108,   109,   110,   111,   112,   115,   116,   117,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
793       118,   119,   120,   123,   124,   125,   126,   127,   128,   131,       131,   132,   135,   136,   137,   138,   139,   140,   141,   142,
794       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       143,   144,   147,   148,   149,   150,   151,   152,   153,   154,
795       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
796       152,   153,   156,   157,   158,   159,   160,   161,   164,   165,       165,   166,   167,   168,   169,   172,   173,   174,   175,   176,
797       166,   167,   170,   171,   174,   175,   178,   179,   180,   181,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
798       182,   183,   184,   185,   186,   189,   190,   193,   194,   197,       187,   188,   189,   190,   191,   192,   193,   194,   197,   198,
799       198,   199,   200,   201,   202,   205,   206,   209,   212,   215,       199,   200,   203,   206,   207,   208,   209,   210,   211,   214,
800       218,   221,   224,   225,   228,   231,   232,   235,   238,   241,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
801       244,   247,   248,   251,   252,   253,   254,   255,   261,   262,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
802       265,   266,   269,   270,   271,   275,   276,   279,   280,   281,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
803       282,   283,   284,   285,   286,   287,   288,   291,   292,   293,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
804       294,   295,   296,   297,   298,   299,   300,   302,   302,   302,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
805       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,       267,   268,   269,   270,   271,   272,   275,   276,   277,   278,
806       302,   302,   302,   302,   302,   302,   302,   302,   302,   302,       279,   280,   283,   286,   287,   290,   291,   292,   293,   296,
807       302,   302,   302,   303,   303,   303,   303,   303,   303,   303,       297,   300,   301,   304,   305,   306,   309,   310,   313,   314,
808       303,   303,   303,   303,   303,   303,   303,   303,   303,   303,       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
809       303,   303,   303,   303,   303,   303,   303,   303,   303,   304,       325,   326,   329,   330,   333,   334,   337,   338,   341,   342,
810       304,   304,   304,   304,   304,   304,   304,   304,   304,   305,       343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
811       305,   305,   305,   305,   305,   305,   305,   305,   305,   305,       353,   354,   357,   358,   361,   364,   365,   366,   369,   372,
812       305,   305,   306,   306,   306,   306,   306,   306,   306,   307,       375,   378,   381,   382,   385,   388,   391,   394,   397,   400,
813       307,   307,   307,   307,   308,   308,   308,   308,   309,   309,       401,   404,   407,   410,   413,   416,   419,   422,   425,   428,
814       309,   310,   310,   310,   311,   311,   311,   312,   312,   312,       431,   434,   435,   438,   439,   440,   441,   444,   445,   448,
815       313,   313,   313,   314,   314,   314,   315,   315,   315,   316,       449,   452,   453,   454,   462,   463,   466,   467,   470,   471,
816       316,   316,   317,   317,   317,   318,   318,   318,   319,   319,       472,   476,   477,   480,   481,   482,   483,   484,   485,   486,
817       319,   320,   320,   320,   321,   321,   321,   322,   322,   322,       487,   488,   489,   492,   493,   494,   495,   496,   497,   498,
818       323,   323,   323,   324,   324,   324,   325,   325,   325,   326,       499,   500,   501,   503,   503,   503,   503,   503,   503,   503,
819       326,   326,   327,   327,   327,   328,   328,   328,   329,   329,       503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
820       329,   330,   330,   330,   331,   331,   331,   332,   332,   332,       503,   503,   503,   503,   503,   503,   503,   503,   503,   504,
821       333,   333,   333,   334,   334,   334,   335,   335,   335,   336,       504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
822       336,   336,   337,   337,   337,   338,   338,   338,   339,   339,       504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
823       339,   340,   340,   340,   341,   341,   341,   342,   342,   342,       504,   504,   504,   504,   504,   505,   505,   505,   505,   505,
824       343,   343,   343,   344,   344,   344,   345,   345,   345,   346,       505,   505,   505,   505,   505,   506,   506,   506,   506,   506,
825       346,   346,   347,   347,   347,   348,   348,   348,   349,   349,       506,   506,   506,   506,   506,   506,   506,   506,   507,   507,
826       349,   350,   350,   350,   351,   351,   354,   355,   356,   357,       507,   507,   507,   507,   507,   508,   508,   508,   508,   508,
827       360,   361,   367,   370,   373,   376,   379,   382,   385,   388,       509,   509,   509,   509,   510,   510,   510,   511,   511,   511,
828       391,   394,   397,   400,   403,   406,   409,   412,   415,   418,       512,   512,   512,   513,   513,   513,   514,   514,   514,   515,
829       421,   424,   427,   430,   433,   436,   439,   442,   445,   448,       515,   515,   516,   516,   516,   517,   517,   517,   518,   518,
830       451,   454,   457,   460,   463,   466,   469,   472,   475,   478,       518,   519,   519,   519,   520,   520,   520,   521,   521,   521,
831       481,   484,   487,   490,   493,   496,   499,   502,   505,   508,       522,   522,   522,   523,   523,   523,   524,   524,   524,   525,
832       511,   514,   517,   520,   523,   526       525,   525,   526,   526,   526,   527,   527,   527,   528,   528,
833         528,   529,   529,   529,   530,   530,   530,   531,   531,   531,
834         532,   532,   532,   533,   533,   533,   534,   534,   534,   535,
835         535,   535,   536,   536,   536,   537,   537,   537,   538,   538,
836         538,   539,   539,   539,   540,   540,   540,   541,   541,   541,
837         542,   542,   542,   543,   543,   543,   544,   544,   544,   545,
838         545,   545,   546,   546,   546,   547,   547,   547,   548,   548,
839         548,   549,   549,   549,   550,   550,   550,   551,   551,   551,
840         552,   552,   555,   556,   557,   558,   561,   562,   568,   571,
841         574,   577,   580,   583,   586,   589,   592,   595,   598,   601,
842         604,   607,   610,   613,   616,   619,   622,   625,   628,   631,
843         634,   637,   640,   643,   646,   649,   652,   655,   658,   661,
844         664,   667,   670,   673,   676,   679,   682,   685,   688,   691,
845         694,   697,   700,   703,   706,   709,   712,   715,   718,   721,
846         724,   727,   730,   733,   736,   739,   742,   745,   748,   751,
847         754,   757,   760,   763,   766,   769,   772,   775,   778,   781,
848         784,   787,   790,   793,   796,   799,   802,   805,   808,   811,
849         814,   817,   820,   823,   826,   829,   832,   835,   838,   841,
850         844,   847,   850,   853,   856,   859,   862,   865,   868,   871,
851         874,   877
852  };  };
853  #endif  #endif
854    
855  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
856  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
857     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
858  static const char *const yytname[] =  static const char *const yytname[] =
859  {  {
860    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
861    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
862    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
863    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
864    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
865    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
866    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
867    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
868    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
869    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
870    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
871    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
872    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
873    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
874    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
875    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
876    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
877    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
878    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
879    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
880    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
881    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
882    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
883    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
884    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
885    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
886    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
887    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
888    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
889    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
890    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
891    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
892    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
893    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
894    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "get_instruction", "set_instruction", "create_instruction",
895    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "reset_instruction", "clear_instruction", "find_instruction",
896    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "move_instruction", "copy_instruction", "destroy_instruction",
897    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
898    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "buffer_size_type", "list_instruction", "load_instr_args",
899    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "load_engine_args", "instr_load_mode", "device_index",
900    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
901    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
902    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
903    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",    "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
904    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",    "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
905    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",    "param_val", "query_val_list", "query_val", "scan_mode", "boolean",
906    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",    "string", "dotnum", "digits", "digit", "number", "char", "text",
907    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
908    "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME", "BYTES", "PERCENTAGE",    "FIND", "MOVE", "COPY", "CREATE", "DESTROY", "LIST", "LOAD", "ALL",
909    "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
910      "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",
911      "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO",
912      "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
913      "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
914      "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
915      "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
916      "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
917      "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "DB_INSTRUMENTS_JOB_INFO",
918      "CHANNEL_COUNT", "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO",
919      "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
920      "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
921      "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
922      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
923      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
924      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
925      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
926      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
927      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
928      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
929      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
930      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
931      "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
932      "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
933      "DB_INSTRUMENTS_JOB", "DESCRIPTION", "FORCE", "FLAT", "RECURSIVE",
934      "NON_RECURSIVE", "SERVER", "VOLUME", "LEVEL", "MUTE", "SOLO", "BYTES",
935      "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
936  };  };
937  #endif  #endif
938    
939  # ifdef YYPRINT  # ifdef YYPRINT
940  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
941     token YYLEX-NUM.  */     token YYLEX-NUM.  */
942  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
943  {  {
944         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
945        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
946        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
947        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
948        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
949       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
950       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
951       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
952        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
953        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
954       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
955       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
956       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
957       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
958       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
959       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
960       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
961       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
962       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
963       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
964       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
965       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
966       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
967  };  };
968  # endif  # endif
969    
970  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
971  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
972  {  {
973         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
974       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
975       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
976       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,       231,   231,   232,   232,   232,   232,   232,   232,   232,   232,
977       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       232,   232,   233,   233,   233,   233,   233,   233,   233,   233,
978         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
979         233,   233,   233,   233,   233,   234,   234,   234,   234,   234,
980       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
981       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,       234,   234,   234,   234,   234,   234,   234,   234,   235,   235,
982       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,       235,   235,   236,   237,   237,   237,   237,   237,   237,   238,
983       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
984       242,   242,   242,   242,   242,   243,   243,   244,   245,   246,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
985       247,   248,   249,   249,   250,   251,   251,   252,   253,   254,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
986       255,   256,   256,   257,   257,   257,   257,   257,   258,   258,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
987       259,   259,   260,   260,   260,   261,   261,   262,   262,   262,       239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
988       262,   262,   262,   262,   262,   262,   262,   263,   263,   263,       239,   239,   239,   239,   239,   239,   240,   240,   240,   240,
989       263,   263,   263,   263,   263,   263,   263,   264,   264,   264,       240,   240,   241,   242,   242,   243,   243,   243,   243,   244,
990       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       244,   245,   245,   246,   246,   246,   247,   247,   248,   248,
991       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
992       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       248,   248,   249,   249,   250,   250,   251,   251,   252,   252,
993       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
994       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       252,   252,   253,   253,   254,   255,   255,   255,   256,   257,
995       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       258,   259,   260,   260,   261,   262,   263,   264,   265,   266,
996       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
997       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   277,   277,   278,   278,   278,   278,   279,   279,   280,
998       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   281,   281,   281,   282,   282,   283,   283,   284,   284,
999       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       284,   285,   285,   286,   286,   286,   286,   286,   286,   286,
1000       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       286,   286,   286,   287,   287,   287,   287,   287,   287,   287,
1001       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   288,   288,   288,   288,   288,   288,   288,
1002       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1003       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1004       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1005       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1006       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1007       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1008       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1009       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1010       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1011       264,   264,   264,   264,   264,   264,   265,   265,   265,   265,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1012       266,   266,   267,   268,   269,   270,   271,   272,   273,   274,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1013       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1014       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1015       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1016       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1017       315,   316,   317,   318,   319,   320       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1018         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1019         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1020         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1021         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1022         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1023         288,   288,   289,   289,   289,   289,   290,   290,   291,   292,
1024         293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
1025         303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1026         313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
1027         323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
1028         333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
1029         343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
1030         353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
1031         363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
1032         373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
1033         383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
1034         393,   394
1035  };  };
1036    
1037  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1038  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
1039  {  {
1040         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
1041         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
1042         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1043           1,     1,     1,     3,     9,     7,     7,     9,     5,     7,
1044           1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1045         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1046           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1047           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1048           1,     1,     1,     1,     1,     1,     1,     1,    16,    18,
1049          18,    20,     7,     3,     3,     3,     5,     3,     3,     1,
1050         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,
1051         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,
1052         5,     5,     7,     9,     7,     9,     3,     3,     5,     3,         5,     5,     3,     1,     1,     3,     3,     9,     1,     5,
1053         5,     3,     3,     3,     3,     3,     5,     7,     5,     9,         3,     7,     5,     3,     5,     5,     3,     5,     5,     1,
1054         5,     5,     5,     5,     5,     3,     5,     1,     1,     1,         7,     9,     7,     9,     3,     7,     9,    11,     9,     9,
1055         1,     1,     1,     1,     1,     5,     7,     3,     1,     1,         7,     7,     7,     7,     3,     3,     5,     3,     5,     3,
1056           5,     7,     3,     3,     3,     7,     5,     7,     5,     5,
1057           5,     5,     5,     3,     3,     5,     3,     3,     5,     7,
1058           5,     9,     5,     5,     5,     5,     5,     5,     5,     5,
1059           5,     5,     0,     2,     3,     5,     1,     1,     1,     1,
1060           1,     1,     1,     1,     3,     3,     1,     3,     5,     3,
1061           5,     3,     5,     7,     3,     1,     1,     1,     1,     1,
1062         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     3,     1,     3,     3,     1,     1,     1,     1,  
        1,     2,     3,     4,     4,     1,     2,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,  
        2,     2,     2,     2,     2,     2,     2,     1,     1,     1,  
1063         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1064           1,     1,     3,     1,     1,     1,     1,     3,     5,     1,
1065           1,     1,     1,     1,     1,     1,     1,     2,     3,     4,
1066           4,     1,     2,     1,     1,     1,     1,     1,     1,     1,
1067           1,     1,     1,     1,     2,     2,     2,     2,     2,     2,
1068           2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
1069         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1070         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1071         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 726  static const unsigned char yyr2[] = Line 1086  static const unsigned char yyr2[] =
1086         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1087         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1088         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1089         1,     1,     1,     1,     1,     1,     1,     1,     2,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1090         3,     3,     1,     1,     1,     3,     3,     6,     7,     4,         1,     1,     1,     1,     2,     2,     3,     3,     1,     1,
1091         4,     3,     9,     6,     3,     9,    11,     6,     7,    17,         1,     3,     3,     3,     5,     5,     4,     4,     4,     6,
1092        30,     8,     4,    13,    12,    11,    12,    11,    10,     6,         7,     4,     4,     3,     4,     7,     9,     6,     3,     9,
1093        29,    20,    19,    29,    19,    30,    20,    17,    28,    27,        11,     7,    17,    30,     8,     4,    25,    24,    23,    22,
1094        25,    18,    17,    27,    17,    15,    18,    15,    10,     6,        25,    24,    21,    20,    29,    28,    19,    18,    23,    13,
1095         5,    10,     5,    13,     4,     4        12,    13,    12,    11,    12,    11,    17,    21,    11,    10,
1096           6,     9,    14,    10,    29,    20,    19,    29,    19,    30,
1097          20,    17,    28,    27,    25,    18,    17,    27,    15,    16,
1098          19,    20,    17,    15,    18,    15,    10,    15,     7,     8,
1099          23,    25,    14,    13,    18,    11,     5,     4,     9,    13,
1100           6,     6,     5,     4,     4,     5,    10,     5,    13,     4,
1101           4,     4
1102  };  };
1103    
1104  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1105     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1106     means the default is an error.  */     means the default is an error.  */
1107  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1108  {  {
1109         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1110         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     5,     6,     0,     0,
1111         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1112           0,     0,     0,     0,    30,    31,     0,     0,     0,     0,
1113           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114           0,     0,     1,   509,   510,     2,     0,     9,   361,   356,
1115         355,   353,   354,   263,   264,   265,   266,   267,   268,   269,
1116         270,   271,   272,   283,   284,   285,   286,   287,   288,   289,
1117         290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
1118         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
1119         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
1120         320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
1121         330,   331,   332,   333,   334,   345,   347,   348,   349,   350,
1122         351,   352,   357,   358,   359,   360,   362,   363,   364,   365,
1123         366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
1124         376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
1125         386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
1126         396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
1127         406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
1128         416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
1129         426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
1130         436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
1131         446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1132         456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1133         466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1134         476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
1135         486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
1136         496,   497,   498,   499,   500,   501,   508,    12,   273,    11,
1137         256,    10,     0,     0,     0,     0,     0,     0,     0,     0,
1138           0,     0,     0,     0,     0,     0,     0,     0,     0,   511,
1139           0,     0,     0,     0,     0,   512,     0,     0,   513,     0,
1140           0,     0,     0,   528,     0,     0,     0,     3,   263,   264,
1141         265,   266,   267,   268,   269,   270,   271,   272,   274,   261,
1142         275,   276,   277,   278,   279,   280,   281,   282,   346,   335,
1143         336,   337,   338,   339,   340,   341,   342,   343,   344,   257,
1144           0,     0,     0,    13,    32,    40,     0,     0,     0,     0,
1145           0,     0,     0,     0,     0,     0,     0,    16,     0,    99,
1146         104,   116,   123,   124,     0,   108,     0,     0,     0,     0,
1147           0,   100,     0,   109,     0,     0,     0,     0,     0,   128,
1148           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1149         139,     0,    14,     0,    15,     0,     0,    26,     0,     0,
1150          27,     0,     0,     0,    28,     0,     0,    29,     0,     0,
1151           0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1152           0,     0,     0,     0,     0,    19,   201,   203,   200,   198,
1153         202,   199,     0,   206,     0,     0,     0,     0,    20,     0,
1154           0,    21,     0,     0,     0,     0,     0,     0,     0,    22,
1155         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        1,   373,   374,     2,     0,     9,   225,   220,   219,   217,  
      218,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   209,   211,   212,   213,   214,   215,   216,  
      221,   222,   223,   224,   226,   227,   228,   229,   230,   231,  
      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,  
      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,  
      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,  
      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,  
      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,  
      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,  
      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,  
      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,  
      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,  
      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,  
      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,  
      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,  
      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,  
      362,   363,   364,   365,   372,    12,   137,    11,   120,    10,  
1156         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1157         0,     0,   375,     0,     0,   376,     0,     0,     0,     0,         0,    23,    42,    43,    44,    45,    53,    54,    55,    56,
1158         0,     0,   384,     0,     0,     3,   127,   128,   129,   130,        57,    58,    59,    60,    61,    46,    50,    51,    52,    49,
1159       131,   132,   133,   134,   135,   136,   138,   125,   139,   140,        48,    47,    63,    64,    62,    24,    65,    66,    67,    68,
1160       141,   142,   143,   144,   145,   146,   210,   199,   200,   201,        76,    77,    78,    79,    80,    81,    82,    83,    84,    69,
1161       202,   203,   204,   205,   206,   207,   208,   121,     0,    13,        73,    74,    75,    72,    71,    70,    86,    87,    85,    25,
1162         0,     0,     0,     0,    14,     0,    39,    44,    56,     0,         0,     0,   518,     0,     0,   516,   521,   522,   517,   611,
1163        48,     0,     0,     0,     0,     0,    40,     0,    49,     0,         0,     0,     0,     0,     0,   262,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    15,     0,     0,    16,     0,  
        0,     0,     0,     0,    17,    92,    94,    91,    89,    93,  
       90,     0,    18,     0,     0,     0,     0,     0,     0,    20,  
1164         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    21,    27,    31,    30,    29,    28,    32,    22,    33,  
       37,    36,    35,    34,    38,   367,    23,   366,     0,     0,  
        0,   379,   380,   425,     0,     0,     0,     0,     0,   126,  
1165         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1166         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1167           0,     0,     0,     0,     0,     0,   192,     0,     0,     0,
1168         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1169         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   369,   368,     0,     0,     0,  
        0,   422,     0,     0,     0,     0,     0,     0,     0,     0,  
1170         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,    69,  
       71,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
       72,    73,     0,     0,     0,     0,     0,     0,     0,    74,  
        0,   110,     0,    75,     0,   109,    19,   107,     0,     0,  
        0,     0,     0,     0,    66,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,    67,   119,  
      118,     0,     0,     0,     0,     0,    24,   377,     0,   383,  
      387,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1171         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1172         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1173           0,     0,     0,     0,     0,     0,     0,   515,     0,     0,
1174           0,   607,     0,   514,     0,     0,     0,     0,     0,     0,
1175          41,   238,    33,   235,     0,     0,     0,     0,     0,     0,
1176         253,   251,   252,     0,     0,     0,     0,     0,     0,     0,
1177         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1178       424,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   264,   265,
1179         266,   267,   268,   269,   270,   271,   272,     0,   125,   225,
1180         126,     0,     0,     0,     0,   130,   231,     0,   133,     0,
1181         136,     0,     0,     0,   122,     0,     0,     0,     0,     0,
1182           0,   163,   164,     0,     0,     0,     0,     0,     0,     0,
1183           0,     0,     0,     0,     0,     0,     0,   157,   159,     0,
1184         173,   174,     0,     0,     0,     0,     0,   204,   205,   207,
1185         209,     0,   211,     0,     0,   176,     0,   237,     0,   177,
1186           0,   234,    93,    94,    95,     0,    97,     0,    98,     0,
1187           0,     0,     0,     0,     0,   144,     0,     0,     0,     0,
1188         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   378,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,    57,     0,     0,     0,    87,    88,    59,  
       60,    61,    50,     0,    45,     0,     0,     0,    51,     0,  
       41,     0,     0,     0,    68,     0,    70,     0,     0,     0,  
        0,   370,   371,     0,     0,   108,     0,    97,     0,     0,  
1189         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1190           0,     0,     0,     0,     0,     0,     0,     0,   155,   229,
1191           0,   261,   230,   154,   255,   254,     0,     0,     0,     0,
1192           0,     0,     0,     0,     0,     0,     0,   162,   519,     0,
1193         527,     0,     0,     0,     0,     0,   503,     0,   502,     0,
1194         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   399,     0,   392,  
1195         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1196         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1197         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1198           0,     0,     0,     0,   193,     0,     0,     0,     0,     0,
1199         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   385,     0,   388,     0,     0,   388,     0,  
        0,     0,    58,    46,     0,    54,     0,    42,    52,     0,  
        0,     0,     0,     0,   217,   218,    85,   111,   113,   117,  
        0,   125,   116,     0,     0,     0,     0,     0,    95,     0,  
        0,     0,     0,     0,     0,    76,    98,     0,    99,    78,  
      100,    80,    81,   101,     0,    82,   102,   103,    83,   104,  
        0,     0,     0,    84,   105,   106,    62,     0,    64,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   391,     0,  
1200         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1201           0,     0,     0,     0,     0,     0,     0,     0,   610,     0,
1202         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   419,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,   386,     0,     0,     0,   420,  
        0,    47,    55,    53,    43,     0,     0,    86,   114,   115,  
        0,     0,   112,   122,     0,     0,     0,     0,    96,     0,  
        0,     0,     0,    77,   381,     0,    63,    65,     0,     0,  
1203         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      123,   124,     0,     0,   398,     0,     0,     0,     0,     0,  
1204         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   382,     0,     0,  
        0,     0,    79,   395,     0,     0,     0,     0,   397,     0,  
1205         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1206         0,     0,     0,     0,   418,     0,   394,     0,   396,     0,         0,     0,     0,     0,     0,     0,     0,     0,   520,     0,
1207           0,     0,     0,     0,   506,   505,   504,   507,     0,     0,
1208           0,    38,     0,     0,     0,     0,     0,     0,     0,     0,
1209           0,     0,     0,     0,     0,     0,   117,     0,     0,     0,
1210         196,   197,   119,   120,   121,   110,     0,   105,     0,     0,
1211           0,   111,     0,     0,   523,   129,   101,     0,     0,   134,
1212         132,   135,   137,   138,     0,     0,     0,     0,   226,     0,
1213           0,     0,   168,     0,     0,   166,     0,     0,   169,   170,
1214         171,   172,     0,     0,     0,   156,     0,   158,   160,   228,
1215         175,   233,     0,     0,     0,     0,   208,   210,     0,     0,
1216         232,     0,   214,     0,    96,     0,     0,     0,     0,     0,
1217         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   393,   423,     0,     0,  
        0,     0,     0,     0,     0,     0,   421,     0,     0,     0,  
1218         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   415,     0,     0,  
1219         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1220           0,     0,     0,   258,     0,     0,     0,     0,     0,     0,
1221         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1222         597,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1223           0,   560,     0,     0,   600,     0,   601,   535,     0,     0,
1224         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   389,     0,   412,   414,     0,  
        0,   412,     0,     0,     0,     0,     0,     0,     0,     0,  
      415,   417,     0,     0,     0,     0,     0,   411,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   402,  
      404,     0,     0,     0,     0,   402,     0,     0,     0,     0,  
        0,   407,     0,   406,   401,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   416,     0,     0,     0,     0,     0,  
1225         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   406,     0,     0,     0,     0,     0,     0,     0,  
1226         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1227         0,     0,     0,     0,   410,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   603,
1228         0,     0,     0,     0,     0,     0,     0,     0,   413,     0,       604,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1229       409,     0,     0,     0,   408,     0,     0,   403,     0,   400,         0,     0,     0,     0,     0,     0,     0,   609,     0,     0,
1230       405,   390         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1231           0,   259,   260,     0,     0,     0,     0,     0,     0,     0,
1232           0,     0,     0,     0,   529,     0,   531,     0,     0,     0,
1233           0,     0,    39,    35,    36,     0,     0,     0,   531,     0,
1234         588,     0,     0,     0,     0,   118,   106,     0,   114,     0,
1235         102,     0,   112,   131,     0,     0,    92,   227,     0,     0,
1236           0,   247,   249,   250,   167,   165,     0,     0,   588,     0,
1237           0,   353,   354,   194,   241,   243,   246,   245,   244,   161,
1238         240,     0,     0,     0,     0,     0,   212,     0,   596,     0,
1239           0,     0,     0,   178,   218,     0,   219,   180,   220,   182,
1240           0,     0,   189,   190,   191,   183,   221,   184,   222,   223,
1241         185,   224,     0,   186,   187,   188,   140,     0,   142,     0,
1242         145,     0,   602,     0,     0,     0,     0,     0,     0,   151,
1243         150,   236,   153,   152,     0,     0,     0,     0,     0,     0,
1244           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1245           0,     0,     0,     0,     0,   534,     0,   589,     0,     0,
1246           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1247           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1248           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1249           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1250           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1251           0,     0,   530,     0,     0,     0,     0,     0,    37,    34,
1252           0,     0,     0,     0,     0,     0,   605,     0,   107,   115,
1253         113,   103,   127,     0,     0,     0,     0,   248,     0,     0,
1254           0,   195,   242,     0,     0,     0,     0,   213,     0,     0,
1255           0,     0,   179,     0,     0,     0,   141,   143,     0,     0,
1256           0,   148,   149,   146,     0,     0,     0,     0,     0,     0,
1257           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1258           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1259           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1260           0,   559,     0,     0,     0,     0,     0,   524,     0,     0,
1261           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1262           0,     0,     0,     0,     0,     0,     0,     0,     0,   526,
1263           0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
1264           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1265           0,     0,     0,     0,     0,     0,   181,     0,     0,   147,
1266           0,     0,   553,     0,     0,     0,     0,     0,   558,     0,
1267           0,     0,     0,     0,   555,     0,     0,     0,     0,     0,
1268           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1269           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1270           0,     0,   586,     0,     0,     0,     0,     0,     0,   550,
1271           0,     0,   552,     0,     0,     0,   554,     0,     0,     0,
1272           0,     0,     0,     0,     0,   593,     0,     0,     0,     0,
1273           0,     0,     0,     0,     0,     0,   593,     0,     0,     0,
1274           0,     0,     0,     0,     0,     0,     0,   525,     0,     0,
1275         595,     0,   549,     0,   551,     0,     0,   608,     0,   592,
1276           0,     0,     0,     0,     0,     0,     0,     0,   592,     0,
1277           0,     0,     0,     0,     0,   606,     0,     0,     0,     0,
1278           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1279           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1280           0,     0,     0,   599,     0,     0,     0,     0,     0,     0,
1281           0,     0,     0,     0,   583,   578,     0,   578,     0,     0,
1282           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1283           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1284           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1285           0,     0,     0,     0,     0,     0,     0,   579,     0,     0,
1286          88,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1287           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1288           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1289         532,     0,     0,     0,   576,   582,     0,     0,   556,     0,
1290           0,     0,   576,     0,     0,     0,     0,     0,     0,     0,
1291           0,     0,   583,   585,   587,     0,     0,     0,     0,     0,
1292           0,     0,     0,     0,   556,     0,     0,     0,     0,     0,
1293           0,     0,   594,     0,   575,     0,     0,     0,     0,     0,
1294           0,    89,    90,   239,   215,   216,   217,     0,     0,     0,
1295           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1296           0,   547,     0,     0,     0,     0,     0,   580,     0,   566,
1297         568,     0,     0,     0,     0,     0,   580,     0,     0,     0,
1298           0,     0,   566,     0,     0,     0,     0,     0,     0,   571,
1299           0,     0,     0,   546,     0,     0,     0,     0,     0,     0,
1300           0,   570,   565,     0,     0,     0,     0,     0,     0,   581,
1301           0,     0,     0,    91,     0,     0,     0,     0,     0,   584,
1302           0,     0,     0,     0,     0,     0,   543,     0,     0,     0,
1303           0,     0,     0,     0,     0,     0,   557,     0,     0,     0,
1304           0,     0,     0,     0,     0,     0,     0,     0,     0,   542,
1305           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1306           0,     0,     0,     0,     0,   570,     0,     0,     0,     0,
1307           0,   539,     0,     0,   590,     0,     0,     0,     0,     0,
1308           0,     0,     0,     0,     0,     0,     0,     0,   548,     0,
1309         538,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1310           0,     0,     0,     0,     0,   537,     0,     0,   541,     0,
1311           0,     0,     0,   591,     0,   574,     0,     0,     0,     0,
1312         536,     0,     0,   540,     0,     0,     0,     0,     0,   561,
1313           0,     0,     0,     0,     0,     0,     0,     0,     0,   577,
1314           0,   563,     0,   573,     0,     0,     0,     0,     0,   572,
1315           0,     0,     0,   545,     0,   567,     0,     0,   564,   544,
1316         569,   533,     0,   562
1317  };  };
1318    
1319  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1320  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1321  {  {
1322        -1,    12,    13,    14,    15,   391,   398,   334,   379,   355,        -1,    14,    15,    16,    17,   353,   481,   505,   402,   404,
1323       358,   372,   534,   654,   636,   364,   519,   523,   785,   787,       451,   367,   459,   423,   529,   407,   410,   414,   417,   427,
1324       789,   792,   795,   798,   803,   526,   664,   524,   520,   766,       448,   785,   727,  1055,  1009,   435,   765,   769,  1851,  1303,
1325       767,   548,   768,   769,   770,   266,   527,   268,   406,   521,      1305,  1307,  1315,  1317,  1320,   708,  1037,  1266,  1058,   818,
1326       711,    43,    44,    16,    17,    18,    19,    20,    21,   797,       715,  1069,  1060,   770,   662,  1340,   766,   660,  1852,  1289,
1327       522,    22,    23,    24,    25,    26,   329,   336,   337,   338,      1283,  1284,  1042,  1271,   668,   823,  1285,  1286,   820,   278,
1328       482,   392,   393,   394,   395,   396,   373,   339,   381,   340,       716,   280,   847,   663,  1166,    55,    56,    18,    19,    20,
1329       341,   342,   343,   344,   345,   537,   346,   383,   347,   348,        21,    22,    23,    24,    25,    26,    27,    28,    29,  1319,
1330       349,   350,   351,   352,   540,   541,   542,   543,   637,   638,      1313,  1314,   669,    30,    31,    32,    33,   354,   369,   370,
1331        27,   397,   385,    28       371,   684,   482,   483,   484,   485,   486,   487,   488,   489,
1332         490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
1333         500,   501,   372,   373,   503,   449,   374,  1854,  1855,  1856,
1334         461,   375,   376,   377,   378,   379,   380,   788,   381,   463,
1335         382,   383,   384,   385,   386,   387,   355,   389,   390,   391,
1336         792,   793,   794,   808,   392,   393,   356,   395,   357,   397,
1337         398,   812,   777,   670,   671,   672,   399,   400,   809,   796,
1338         797,  1010,  1011,    34,   504,   803,   470,    35
1339  };  };
1340    
1341  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1342     STATE-NUM.  */     STATE-NUM.  */
1343  #define YYPACT_NINF -712  #define YYPACT_NINF -1336
1344  static const short int yypact[] =  static const yytype_int16 yypact[] =
1345  {  {
1346        51,  -712,  -712,    34,    23,    75,   109,    27,    38,   111,        44, -1336, -1336,   110,   317,   138,   158,   188,   106,    81,
1347        61,    48,    95,  -192,  1598,  -712,   -92,   -92,   -92,   -92,       189,   229,    85,   230,   298,   130,  2405, -1336,    48,    48,
1348       -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,  -712,   126,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1349       158,   127,   150,   153,   180,   212,    70,    -3,   220,   204,        48,    48,    48,    48,    48, -1336,   296,   311,   302,   325,
1350      -712,  -712,  -712,  -712,    19,  -712,  -712,  -712,  -712,  -712,       336,   354,   360,   369,   412,   447,   400,   465,   125,   496,
1351      -712,  -712,   216,   216,   216,   216,   216,   216,   216,   216,       509,   195, -1336, -1336, -1336, -1336,   314, -1336, -1336, -1336,
1352       216,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336,   495,   495,   495,   495,   495,   495,
1353      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,       495,   495,   495, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1354      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1355      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1356      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1357      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1358      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1359      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1360      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1361      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1362      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1363      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1364      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1365      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1366      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1367      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1368      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1369      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1370      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1371      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1372      -712,  -712,  -712,  -712,  -712,  2705,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1373       222,   163,    73,    73,   170,     6,   222,   164,    54,    54,     -1336, -1336, -1336, -1336, -1336, -1336, -1336,  3291, -1336, -1336,
1374      1820,   222,  -712,   225,   207,  -712,   208,   226,   211,   230,     -1336, -1336,   183,   136,   516,   516,   529,   539,   540,   540,
1375       241,   243,  -712,   231,   228,  -712,  -712,  -712,  -712,  -712,       214,   214,   285,   370,   257,   242,    82,    82,   542, -1336,
1376      -712,  -712,  -712,  -712,  -712,  -712,   216,  -712,   216,   216,       545,   523,   546,   530,   547, -1336,   532,   549, -1336,   544,
1377       216,   216,   216,   216,   216,   216,  -712,  -712,  -712,  -712,       535,   541,   552, -1336,   543,   553,   537, -1336, -1336, -1336,
1378      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,   244,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   495, -1336,
1379        69,   245,   237,   246,  -712,   -92,  -712,  -712,  -712,   -92,       495,   495,   495,   495,   495,   495,   495,   495, -1336, -1336,
1380      -712,   -92,   -92,   -92,   -92,   -92,  -712,   -92,  -712,   -92,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1381       -92,   -92,   -92,   233,   259,  -712,   -92,   -92,  -712,   -92,       551,   558,   554, -1336, -1336,    48,    48,    48,   403,   556,
1382       -92,    72,   261,   262,  -712,  -712,  -712,  -712,  -712,  -712,       559,   561,   548,   557,   562,   565,   568, -1336,    48, -1336,
1383      -712,   256,  -712,   -92,   -92,   -92,   251,   270,   265,  -712,     -1336, -1336, -1336, -1336,    48, -1336,    48,    48,    48,    48,
1384       -92,   -92,   -92,   -92,   -92,   -92,   254,   269,   277,   268,        48, -1336,    48, -1336,    48,    48,    48,    48,    48, -1336,
1385       272,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1386      -712,  -712,  -712,  -712,  -712,  2705,  1820,  -712,   -92,   271,     -1336,   564, -1336,    48, -1336,    48,   567, -1336,    48,   575,
1387       274,  -712,  -712,  -712,   273,   276,   286,   287,   291,  -712,     -1336,    48,    48,   583, -1336,    48,    48, -1336,    48,    48,
1388       293,   294,   296,   298,   297,   299,    62,   292,   292,   292,       569,   570,   582, -1336,    48,    48,    48, -1336,    48,    48,
1389       292,   292,   292,   292,   292,   292,   292,   292,   301,   303,        48,   417,   584,   571,   589, -1336, -1336, -1336, -1336, -1336,
1390      2705,  2705,   267,   267,   309,   314,   316,   281,    21,  2705,     -1336, -1336,    48, -1336,    48,    48,    48,   579, -1336,    48,
1391       267,   317,   320,   318,    18,   267,   267,   267,   267,  2926,        48, -1336,    48,    48,    48,    48,   578,   597,   595, -1336,
1392       323,   329,   312,   315,   325,  2705,  -712,   267,   327,   321,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1393       330,  -712,   319,   326,   324,   332,   328,   336,   339,   346,        48,   585,   586,   601,   603,   590,   598,   604,   596,   600,
1394       347,   343,   -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,       602, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1395       -92,   -92,   -92,   -92,   -92,   -92,   -92,   349,   350,  1820,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1396      1820,   216,   216,   216,   216,   216,   216,   216,   216,   216,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1397      -712,  -712,   351,   348,   352,   344,  1820,  1820,   353,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1398       -92,  -712,   -92,  -712,   -92,  2705,  -712,  -712,   354,   355,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1399       356,   345,   358,   357,  -712,   -92,   -92,   -92,   -92,   -92,        48,   605, -1336,   608,   611, -1336, -1336, -1336, -1336, -1336,
1400       -92,   -92,   -92,   -92,   -92,   -92,   -92,   -92,  -712,  2705,       610,   616,   619,   621,   636, -1336,   638,   576,   637,   318,
1401      -712,   363,   360,   335,   366,   373,  -712,  -712,   359,  -712,       318,     7,   642,   639,   647,   593,   667,   613,   645,   657,
1402      -712,   368,   375,   365,   367,   369,   371,   372,   322,   374,       656,   669,    72,   673,   673,   673,   673,   673,   673,   673,
1403       267,    37,   267,   267,  2705,   267,  2705,  2705,   267,   267,       673,   673,   673,   406,   673,   673,   673,   673,   506,   673,
1404       267,   267,  2705,  2705,   267,   376,   333,  2705,  2705,   377,        31,    31,   673,   673,   673,   682,   676,   506,   687,   406,
1405       380,   334,   370,  1154,  1376,   381,   267,   124,   267,   382,       622,    12,    12,   625,   318,   318,   318,   318,   688,   626,
1406      -712,   340,   379,   383,   378,   267,   267,   267,   267,   267,       694,  3291,  3291,   506,   506,   506,   506,   695,   699,   634,
1407       267,   267,   267,   267,  2705,   267,  2705,   267,   384,   385,       706,   406,   506,    31,    31,   692,    14,  3291,   506,   406,
1408       391,   397,   395,  -712,   399,   388,   398,   341,   401,   402,        17,   318,   708,   709,   712,   144,   506,   506,   506,   506,
1409       405,   404,   400,  -712,   389,   411,   -92,  -712,  -712,  -712,       707,   147,   228,   228,   461,  3510,   716,   717,   721,   653,
1410      -712,  -712,  -712,  1820,  2705,   -92,   -92,   -92,  -712,  1820,       654,   711,   101,   710,   713,   722,   506, -1336,   730,   723,
1411      2705,   -92,   361,   408,   -92,  3147,   -92,   362,   413,   410,       732, -1336,   724, -1336,   720,   726,   735,   736,  2627,  2627,
1412       406,  -712,  -712,   364,   -92,  -712,   -92,  -712,   393,   417,     -1336, -1336, -1336, -1336,   729,   731,   742,    48,    48,    48,
1413       419,   420,   409,   -92,   -92,   -92,   -92,   -92,   -92,   -92,     -1336, -1336, -1336,   739,   740,   737,   741,   761,   752,   763,
1414       -92,   -92,  3368,   -92,  3589,   -92,   416,   415,   424,   418,       755,   781,   765,   773,    48,    48,    48,    48,    48,    48,
1415       394,   432,   429,   427,   425,   439,   430,  -712,   431,  -712,        48,    48,    48,    48,    48,    48,    48,    48,   495,   495,
1416       423,   426,   267,  2705,   267,   267,   267,  2705,   267,   433,       495,   495,   495,   495,   495,   495,   495,   776, -1336, -1336,
1417       454,  2705,  2042,   455,   434,   466,   456,   468,   267,   267,     -1336,    48,    48,    48,    48, -1336, -1336,    48, -1336,    48,
1418       467,   471,   473,   444,   477,   267,   267,  2705,   267,   267,     -1336,    48,    48,    48, -1336,   780,   775,   506,    48,    48,
1419       205,  2705,   267,   195,  2042,  2705,  2042,  2705,   445,   435,       782, -1336, -1336,   783,   778,    48,    48,    48,    48,   785,
1420       474,   446,   498,  -712,   516,  -712,   499,   507,   502,   506,        48,    48,    48,    48,   786,   777,   788,  2627,  2627,    48,
1421       518,   521,  -712,  1820,   -92,  -712,   -92,  1820,  -712,   504,     -1336, -1336,    48,   789,   787,   784,   790, -1336, -1336, -1336,
1422       510,  3810,  2705,  2705,   216,   216,   542,  -712,  2705,  -712,     -1336,    48, -1336,    48,   791, -1336,    48, -1336,    48, -1336,
1423       107,    14,  -712,   508,   502,   514,   526,   517,  -712,   -92,        48,  3291, -1336, -1336, -1336,   792, -1336,    48, -1336,   793,
1424       512,   519,   463,   527,   532,  -712,  -712,   -92,  -712,  -712,       794,   795,   779,   143,   797, -1336,    48,    48,    48,    48,
1425      2705,  -712,  -712,  -712,   528,  -712,  -712,  -712,  -712,  2705,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1426       -92,   216,   216,  -712,  -712,  -712,   542,  4031,   542,  4252,        48,    48,   804,    48,   798,   801,   799,    48,    48,    48,
1427       533,   472,   537,   539,   534,   543,   531,   547,  -712,   535,        48,   805,    48,    48,    48,    48,   495,   495, -1336, -1336,
1428       536,   548,  2705,  2705,  2705,  2705,   538,   544,  2042,  2263,       313,    32, -1336, -1336,  3291, -1336,   811,   808,   807,   813,
1429      2484,   141,   162,  2042,   216,   546,   549,   540,   553,   267,       806,   821,   815,   823,   822,   827,   826, -1336, -1336,   816,
1430       551,   552,   554,   545,  -712,   267,   555,   267,  2042,  2042,     -1336,   833,   828,   829,   830,   759,  3291,  1961, -1336,  2183,
1431       559,   106,   550,   557,   556,  -712,   558,   492,   560,  -712,       844,   832,   845,   318,   318,    54,   834,   835,   836,   837,
1432       561,   -92,  2705,  2705,   -92,   562,   564,   542,  -712,  -712,       838,   848,   800,   849,   843,   847,   850,   506,   117,   506,
1433       216,   216,  -712,   216,   563,   565,   566,   575,  -712,   571,       506,  3291,   506,  3291,  3291,   506,   506,   506,   506,  3291,
1434       568,   569,   573,  -712,  -712,   -92,   542,   542,   570,   577,       506,   846,   506,  3291,   506,   506,   318,   318,   318,   318,
1435       579,   589,   574,   582,   576,     5,   529,   578,   580,   567,       506,   802,   851,    48, -1336,   506,   809,   852,   863,  3291,
1436       216,   216,   581,   583,  -712,   587,   584,   585,   586,   588,       318,  3291,   318,   864,   318,   318,   318,   318,   842,   856,
1437       205,   592,   590,   601,   593,   603,   595,   599,   600,   606,       810,  3291,  3291,   506,   506,   870,   865,   857,   817,   318,
1438       613,    92,   622,   604,   621,   607,   624,  -712,   609,   115,       318,   868,   506,   318,   506,   871,   318,   875, -1336,   820,
1439       610,   612,  -712,  -712,   616,   619,   614,   617,  -712,   591,       859,   888,   873,   882,   506,   506,   506,   506,   506,   506,
1440       632,   642,   635,    60,   636,   646,   594,   650,   596,   652,       506,   506,   506,   506,   506,   506,  3291,   506,  3291,   506,
1441       598,   653,   644,   639,   602,   641,  -712,   645,  -712,   140,       883,   506,   891,   876,   893,   506,   506,   506,   506,   880,
1442       654,   657,   666,   655,   667,   661,   675,   677,   662,   679,       318,   318,   318,   318,   449,   485,   495,   885,   896,   889,
1443       664,   171,   665,   670,   669,    17,  -712,  -712,   682,    74,       890,   897,   906,   839,   903,   908,   900,   910, -1336,   915,
1444       678,   683,   630,   696,   685,   688,  -712,   704,   701,   706,       901,   913,   902,   911, -1336,  3291, -1336, -1336,   904,   858,
1445       703,   705,   709,   707,   695,   647,   711,   710,   697,   725,       909,    48,    48,    48,    48,   860,   921,   918,   916,   927,
1446       708,   718,   658,   726,   723,   730,   731,   668,   715,   735,       920,   928,   922,   867,   931,   929, -1336,   917,   940,    48,
1447       719,   739,   742,   722,   744,   668,    57,   747,   727,   733,     -1336, -1336, -1336, -1336, -1336, -1336,  2627,  3291,    48,    48,
1448       736,   748,   737,   738,   745,   751,   753,   743,   750,   759,        48, -1336,  2627,    48, -1336, -1336,  3291,    48,    48, -1336,
1449       764,   765,   768,   761,   767,   772,   770,   754,   766,   762,     -1336, -1336, -1336, -1336,   937,   877,   506,    48, -1336,   938,
1450       776,   769,   781,   780,   774,  -712,   771,   777,   720,   785,       930,   881,    48,  3729,    48,    48,    48,   934, -1336, -1336,
1451       786,  -712,   787,   777,   783,   797,   734,   805,   791,   794,     -1336, -1336,   884,   942,   952,    48,  3948,    48,    48, -1336,
1452      -712,  -712,   804,   811,   792,   800,   796,  -712,   806,   803,     -1336, -1336,   892,   957,   950,   956, -1336, -1336,   945,    48,
1453       818,   819,   821,   824,   814,   817,   827,   828,   822,   816,     -1336,    48, -1336,   964, -1336,   898,   959,   961,   962,   967,
1454       773,   820,   825,   836,   837,  -712,   816,   830,   775,   838,       958,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1455       833,  -712,   839,   778,  -712,   832,   829,   782,   840,   841,        48,    48,    48,  4167,    48,  4386,    48,   969,    48,   968,
1456       778,   843,   842,   850,  -712,   847,   855,   844,   853,   864,       971,   970,    48,    48,    48,    48,   975,    48,    48,    48,
1457       861,   866,   867,   857,   871,   856,   802,   859,   862,   858,        48,   495,   495,   495,   912,   963,   982,   972,   966,   978,
1458       863,   869,  -712,   865,   878,   876,   875,   881,   884,   889,       983,   984,   985,   924,   926,   994,   991,   989,   986,   988,
1459       886,   891,   882,   879,   874,   880,   883,   890,   888,   896,     -1336,   279,   987,   506,   318,   318,   318,   992,  1002,   996,
1460       897,   901,   906,   909,  -712,   910,   911,   912,   899,   898,       993, -1336,  1005,   997, -1336,   995, -1336, -1336,   998,  1001,
1461       903,   904,   908,   905,   913,   919,   921,   915,  -712,   924,       506,  3291,   506,   506,   506,  3291,   506,   506,   506,  1000,
1462      -712,   925,   914,   917,  -712,   918,   920,  -712,   922,  -712,      1003,    48,   506,  1006,  1007,  1004,  3291,  2849,  3291,  3291,
1463      -712,  -712      1009,  1010,  1011,  1012,  3291,  3070,   318,  1015,  1019,  1028,
1464        1020,  1023,   506,   506,  1033,  1018,  1025,  1026,   974, -1336,
1465       -1336,   506,   506,  3291,   506,   132,   506,   406,  3291,   506,
1466         461,  3510,  3510,  3070,  3291,  3070,  3291, -1336,   318,  1027,
1467        1031,   990,   506,   506,   506,   506,  1022,   318,   318,   318,
1468         318,   495,   495,  1044,  1013,  1034,  1043,  1061,  1014,  1052,
1469        1055,  1016,  1050,  1074, -1336,  1078, -1336,  1063,  1064,  1067,
1470        1081,  1069, -1336, -1336,    48,    48,  1068,  1079,  1073,  1075,
1471        1077,    59,  1082,  1096,  1101, -1336,  2627,    48, -1336,    48,
1472        2627,    48, -1336, -1336,  1086,   506, -1336, -1336,  1088,  1090,
1473        4605, -1336,  3291, -1336,    48,    48,  1093,  1091, -1336,  1097,
1474        4824,   495,   495,  1127, -1336,  3291, -1336, -1336, -1336, -1336,
1475       -1336,  1094,  1073,  1077,   175,  1112, -1336,    48, -1336,  1099,
1476         207,  1053,  1114, -1336, -1336,    48, -1336, -1336,  3291, -1336,
1477        1116,  1111, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1478       -1336,  3291,    48, -1336, -1336, -1336,  1127,  5043,  1127,  5262,
1479       -1336,  1058, -1336,  1128,    48,    48,    48,    48,  1121, -1336,
1480       -1336, -1336, -1336, -1336,  1117,  1126,  1062,  1119,  1070,  1130,
1481         237,  1134,  1137,  1132,  1136,  1138,  1131,  1122,  1149,  1152,
1482        1147,   506,   318,  1141,  1153, -1336,  1142, -1336,  1143,  1145,
1483        1148,  1150,  1161,  3291,  3291,  3291,  3291,   506,  1151,    48,
1484        1154,  1155,  2849,  1156,  1158,  1159,  3070,  3070,  1162,  1160,
1485        1165,  1176,   506,  1178,  1175,  1157,  1185,   506,  1164,  1188,
1486         506,  3070,  3070,  1193,  1194,   506,   506,   461,   318,  1163,
1487        1183,  1203,   290,  1192,   367,  1200,  1195,  1197,  1201,  1204,
1488        1209,  1199, -1336,  1208,  1210,  1167,  1211,  1207, -1336, -1336,
1489        1214,  1102,  1218,  1213,  1216,  1232, -1336,  1222,    48,  3291,
1490        3291,    48, -1336,  1219,  3291,  1220,  1226, -1336,  1227,  1225,
1491        1223,  1127, -1336,  1228,  1230,  1224,  1231, -1336,  1236,  1233,
1492        1234,   491, -1336,  1253,  1251,    48,  1127,  1127,  1237,  1245,
1493          48, -1336, -1336, -1336,  1241,  1246,  1252,  1250,  1254,  1256,
1494        1255,  1258,  1260,  1247,  1257,  1268,  1259,  1271,  1262,  1273,
1495        1261,  1267,  1263,  1278,  1264,   236,  1279,  1215,  1266,  1284,
1496        1270,  1272,    48,  1274,  1286,  1287,  1275,  1235,  1276,  1239,
1497        1277, -1336,  1283,  1240,  1285,  1291,  1292, -1336,   406,  1288,
1498        1294,   506,  1298,  1295,  1282,  1296,  1309,  1313,  1299,  1315,
1499        1304,  1265,  1301,  1308,  1310,  1320,  1306,  1314,  1316, -1336,
1500        1311, -1336,  1307,  1312,  1317,  1323,  1321,   149,  1325,  1269,
1501        1340,  1329,   318,  1330,  1332,  1333,  1324,  1345,  1331,  1348,
1502        1341,  1337,   191,  1342,  1339,  1349, -1336,  1344,  1346, -1336,
1503        1347,  1343, -1336,  1351,  1352,  1354,  1356,  1358, -1336,  1362,
1504        1363,  1350,  1357,  1319, -1336,  1361,  1377,  1378,  1334,  1384,
1505        1388,  1387,  1376,   174,  1391,  1398,  1405,  1402,  1406,    48,
1506        1409,  1390,  1397,  1353,  1413,  1355,  1414,  1415,  1359,  1416,
1507        1407,  1404,  1364,  1403,  1408,  1412,  1418,  1366,  1419, -1336,
1508        1421,  1422, -1336,  1423,  1428,  1424, -1336,  1431,    36,  1430,
1509        1426,   522,  1436,  1437,  1453,    39,  1441,  1455,  1447,  1452,
1510        1461,  1462,  1463,   506,  1464,    40,  1410,  1476,  1460,  1479,
1511        1465,  1470,   524,  1466,  1467,  1469,   131, -1336,  1471,  1474,
1512       -1336,  1486, -1336,    45, -1336,  1472,  1478, -1336,  1480, -1336,
1513        1489,  1477,  1493,  1491,   179,  1485,  1487,  1432,  1433,  1498,
1514        1496,  1484,  1488,  1492,  1490, -1336,  1494,    48,  1495,  1503,
1515        1511,  1509,  1514,  1513,  1504,  1515,  1520,  1517,  1507,  1457,
1516        1521,  1516,  1505,  1468,  1522,  1527,  1473,   278,  1524,  1518,
1517        1519,  1528,  1481, -1336,  1541,  1523,  1534,  1482,  1542,  1540,
1518        1544,  1546,  1547,  1551,  1497,    47,  1537, -1336,   461,  1538,
1519        1549,  1539,  1556,  1545,  1557,    51,  1561,  1548,  1560,  1497,
1520          73,  1563,  1553,  1550,  1566,  1567,  1552,  1565,  1558,  1568,
1521        1562,  1575,  1508,  1569,  1564,  1571,  1572,  1576,  1559,  1573,
1522        1570,  1577,  1578,  1574,  1582,  1579,  1580, -1336,  1581,  1583,
1523          48,  1584,  1586,  1585,  1590,  1595,  1588,  1591,  1597,  1599,
1524        1600,  1555,  1593,  1589,  1605,  1594,  1602,  1598,  1596,  1601,
1525        1608,  1610,   281,  1603,  1611,  1617,  1606,  1618,  1619,  1604,
1526       -1336,  1612,  1620,  1621,  1613,  1587,  1626,  1628,  1592,    25,
1527        1625,  1630, -1336,  1631,  1613,  1635,  1623,  1636,  1607,  1637,
1528        1615,  1627, -1336, -1336, -1336,  1639,  1638,  1629,  1640,  1632,
1529        1609,  1633,  1641,  1643, -1336,  1646,  1634,  1649,  1652,  1642,
1530        1644,  1650, -1336,  1648, -1336,  1645,  1647,  1656,  1660,  1662,
1531        1654,    48, -1336, -1336, -1336, -1336, -1336,  1659,  1669,  1672,
1532        1663,  1676,  1677,  1667,  1670,  1680,  1681,  1682,  1622,  1668,
1533        1686, -1336,   380,  1671,  1684,  1675,  1688, -1336,  1683,  1678,
1534        1651,  1685,  1690,  1691,  1695,  1699,  1687,  1703,  1653,  1694,
1535         318,  1696, -1336,  1678,  1687,  1702,  1655,  1714,  1704, -1336,
1536        1705,  1657,  1710, -1336,  1701,  1712,  1715,  1716,  1717,  1664,
1537        1719,  1666, -1336,  1723,  1720,  1673,  1725,  1713,  1729, -1336,
1538        1721,  1739,  1727, -1336,  1732,  1666,  1733,  1730,  1745, -1336,
1539         384,  1737,  1738,  1731,  1748,  1735, -1336,   414,  1740,  1741,
1540        1755,  1742,  1756,  1746,  1758,  1760, -1336,  1761,  1754,  1749,
1541        1767,  1768,  1759,  1757,  1762,  1764,  1763,  1765,  1769, -1336,
1542        1770,  1772,  1750,  1776,  1771,  1707,  1773,    83,  1774,  1753,
1543        1775,  1777,  1781,  1779,  1780, -1336,  1778,  1786,  1783,  1782,
1544        1784, -1336,  1785,  1788, -1336,  1787,  1794,  1796,  1792,  1797,
1545        1798,  1803,  1808,  1790,  1810,  1807,  1799,  1800, -1336,  1743,
1546       -1336,  1802,  1804,  1817,  1809,  1805,  1624,  1801,  1806,  1811,
1547        1813,  1816,  1812,  1814,  1815, -1336,   505,  1818, -1336,  1819,
1548        1823,  1821,  1826, -1336,  1828, -1336,  1820,  1822,  1832,  1834,
1549       -1336,  1825,  1827, -1336,  1837,  1824,  1829,  1830,  1831,  1789,
1550        1833,  1835,  1836,  1838,  1839,  1841,  1842,  1845,  1844, -1336,
1551        1848, -1336,  1847, -1336,  1843,  1849,  1853,  1850,  1851, -1336,
1552        1852,  1854,  1846, -1336,  1855, -1336,  1859,  1858, -1336, -1336,
1553       -1336, -1336,  1861, -1336
1554  };  };
1555    
1556  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1557  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1558  {  {
1559      -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1560      -712,  -712,  -712,  -573,  -712,  -712,  -712,  -712,  -696,   112,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1561      -712,   104,    49,  -712,  -712,  -465,   247,   386,   387,  -711,     -1336, -1336, -1336,  -883, -1336, -1336, -1336, -1336, -1336,  -848,
1562       129,  -712,   331,   235,    11,   -10,   -14,   283,  -317,  -712,     -1335, -1336,   401,   343, -1336,  -547,  -988, -1205,   458, -1180,
1563       -13,   926,  -712,  -712,  -712,  -712,  -712,  -712,  -712,  -712,       534, -1112, -1097,  -852,  -300,   677,  -922,   681,     8,   492,
1564      -712,  -712,  -712,  -712,  -712,  -712,  -109,   689,   690,   698,     -1118,   512,  -879,   520,  1048,  -652,   519,  -604,   -15,   152,
1565      -173,   692,   694,  -261,  -257,  -255,  -712,   699,  -712,   702,        10,   471,  1248,  -274,   -16,  1856, -1336, -1336, -1336, -1336,
1566      -256,  -712,  -712,   700,   515,  -712,   712,  -712,   713,   714,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,  -484,
1567      -252,  -712,  -712,   524,  -712,  -712,  -712,  -712,  -712,  -712,     -1336, -1336,  -495, -1336, -1336, -1336, -1336,   -52,  1614,  1616,
1568      -712,   716,  -712,  -712      1658,  -376,  1661,  1665,  1887,  2108,  2330,  2331,  2552,  2553,
1569        5187,  5188,  5189,  5190,  5191,  5192,  5193,  5194,  5195,  -269,
1570        -261,  -259,   255, -1336,  5196, -1336,  5201, -1336, -1336, -1336,
1571       -1336,  5203,  -266, -1336, -1336,  5202,   -98, -1336,  5204, -1336,
1572        5205,  5206,  -258, -1336,   272,   244,  -260,  5207, -1336,  1280,
1573       -1336, -1336, -1336, -1336,   247,  5209,    49,   140,    62,    96,
1574       -1336,  1281, -1336, -1336,  -483,   -33, -1336,  -268, -1336, -1336,
1575       -1336, -1336, -1336, -1336,  5208,  -346, -1336, -1336
1576  };  };
1577    
1578  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1579     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1580     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1581     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1582  #define YYTABLE_NINF -138  #define YYTABLE_NINF -274
1583  static const short int yytable[] =  static const yytype_int16 yytable[] =
1584  {  {
1585       267,   269,   556,   270,   271,   272,   273,   274,   275,   276,       281,  1071,   282,   283,   284,   285,   286,   287,   288,   289,
1586       277,   278,   279,   280,   281,   656,   356,   359,   401,  -137,       290,   291,   292,   293,   294,   295,   296,   297,   298,  1014,
1587       357,   360,   402,   806,   403,   808,   918,   516,   517,   291,      1323,  1242,  1045,   388,   424,   428,   279,   469,   523,  1057,
1588       919,   332,   791,    41,    42,   371,   800,   292,   920,   531,       819,   664,   425,   429,   453,   465,   524,  -273,   525,   665,
1589       996,   947,   307,   307,   307,   307,   307,   307,   307,   307,       729,   775,   731,   666,   734,     1,   726,     2,  1161,   328,
1590       307,   532,     1,   997,     2,   518,    33,   998,    29,   634,       330,   331,   332,   333,   334,   335,   336,   337,  1849,  1850,
1591       533,    30,    34,   306,   308,   309,   310,   311,   312,   313,      1379,  1263,  1462,     3,   757,     4,     5,   666,     6,     7,
1592       314,   315,     3,   635,     4,     5,   386,   387,     6,    35,      1470,  1297,   773,  1669,     8,     9,  1678,  1669,   664,    10,
1593      1036,   987,    39,     7,   386,   963,    37,   388,     8,     9,        11,    12,  1706,    13,  1767,  1326,   734,  1328,  1767,   710,
1594        10,   481,    11,   389,   353,    40,   390,  1037,   964,  1000,       666,   728,   472,  1368,  1780,  1690,  1369,   719,   721,   683,
1595        31,   389,    38,   289,   390,   633,   354,   639,   640,   290,        45,   471,   472,   473,   474,   732,   475,   476,    49,   478,
1596       421,   422,  1001,   444,   422,   834,   943,   867,   296,   297,      1989,  1781,   480,   477,    46,  1334,  1335,  1336,  1337,   478,
1597       298,   299,   300,   301,   302,   303,   304,   305,   944,   889,       479,   768,   480,   832,    50,  1670,  1984,   758,  1679,  1689,
1598       516,   517,   264,   667,    32,   890,    36,   886,   887,   951,       761,   763,    36,    43,  1707,   774,  1768,  1007,   833,    44,
1599       673,   674,   675,   676,   677,   678,   679,   680,   681,   870,      1776,   318,   698,   699,   700,   701,   702,   703,   704,   705,
1600       282,   952,   296,   297,   298,   299,   300,   301,   302,   303,       706,  1008,  1700,  1604,  1310,   358,   311,   359,   360,   361,
1601       304,   305,   335,   978,   979,   483,   284,   375,   380,   484,       362,    40,   312,   782,  1311,  1701,   804,   363,  1261,  1702,
1602       871,   485,   408,   296,   297,   298,   299,   300,   301,   302,       931,  1593,  1442,   364,   365,   783,   366,   805,   806,   802,
1603       303,   304,   305,   283,   330,   376,   331,   328,   332,   377,       893,   784,   932,  1594,   366,    41,  1569,   688,   689,   690,
1604       285,   361,   286,   362,   991,   992,   333,   378,   535,   593,       691,   692,   693,   694,   695,   696,   697,  1636,   711,   712,
1605       594,   287,   538,   363,   801,   802,   296,   501,   502,   503,       713,   714,  1715,   717,   350,   351,   722,   723,   724,  1389,
1606       504,   505,   506,   507,   508,   509,   296,   501,   502,   503,      1637,    42,  1390,  1609,   352,  1716,   329,   329,   329,   329,
1607       504,   505,   506,   507,   508,   509,   794,   296,   297,   298,       329,   329,   329,   329,   329,  1610,   315,  1472,    47,   658,
1608       299,   300,   301,   302,   303,   304,   305,   752,  -137,  -137,       659,   368,   316,   420,   658,   659,   658,   659,   421,   658,
1609      -137,   288,   293,   294,    41,   328,   409,   410,   411,   861,       659,  1394,   452,   460,  1357,   422,   530,   658,   659,  1428,
1610       412,   413,   864,   778,   486,   487,   488,   489,   490,   491,       811,   667,    48,   658,   659,  1543,  -273,  -273,  -273,  1544,
1611       492,   493,   494,   495,   496,   414,   415,   407,   416,   418,       802,   456,    51,   350,   413,   457,   421,  1545,  1451,    -4,
1612       417,   424,   420,   423,   438,   425,    -4,    -4,   296,   501,        -4,  1416,   276,   458,  1417,   661,   658,   659,   350,   413,
1613       502,   503,   504,   505,   506,   507,   508,   509,   439,   445,       718,   720,   366,  1466,  1467,   810,   813,   815,   352,  1274,
1614       447,   446,   451,   452,   453,   460,   419,   461,   419,   419,      1275,   735,   737,   685,   740,   741,   742,   743,    52,  1748,
1615       419,   419,   419,   419,   419,   419,   462,   464,   463,   472,      1749,   686,  1831,   687,   431,  1750,   432,   409,  1832,   433,
1616       473,   468,   469,   474,   475,   470,   471,   477,   476,   478,      1239,  1477,  1833,   760,   762,  1240,   434,  1478,   299,   966,
1617       515,   481,   426,   480,   479,   497,   427,   498,   428,   429,       776,   778,   318,   319,   320,   321,   322,   323,   324,   325,
1618       430,   431,   432,   512,   433,   513,   434,   435,   436,   437,       326,   327,   394,  1023,   300,  1025,   301,   415,   418,   549,
1619       514,   528,   530,   440,   441,   265,   442,   443,   529,   551,       550,   551,   767,   454,   467,   396,  1309,    37,   302,   412,
1620       552,   553,   557,   554,   555,   559,   558,   564,   620,   560,        38,  1322,   562,    39,   446,    53,    54,   795,   563,   786,
1621       448,   449,   450,   562,   561,   565,   563,   454,   455,   456,       564,   565,   566,   567,   568,   790,   569,   789,   570,   571,
1622       457,   458,   459,   566,   878,   567,   568,   569,   585,   586,       572,   573,   574,   303,   575,   576,   577,   578,   579,   580,
1623       589,   591,   590,   599,   592,   601,   602,   603,   595,   618,       581,   582,   583,   584,   416,   419,   304,   586,  1480,   587,
1624       600,   621,   604,   466,   619,   467,   622,   624,   625,   626,       455,   468,   589,   361,  1481,   591,   592,   447,   305,   594,
1625       632,   628,   627,   670,   623,   629,   630,   671,   660,   686,       595,  1905,   596,   597,  1098,  1953,   306,  1906,   601,   602,
1626       672,   652,   657,   631,   658,   663,   688,   668,   689,   687,       603,  1954,   604,   605,   606,   318,   698,   699,   700,   701,
1627       690,   691,   695,   693,   653,   659,   692,   696,   510,   511,       702,   703,   704,   705,   706,   707,   611,   411,   612,   613,
1628       697,   669,   694,   698,   700,   699,   701,   710,   714,   715,       614,   307,   445,   616,   617,  1960,   618,   619,   620,   621,
1629       739,   544,   545,   546,   547,   550,   721,   716,   722,   723,       309,  1961,   552,   553,   625,   626,   627,   628,   629,   630,
1630       724,   741,   709,   713,   738,   717,   740,   743,   744,   745,       631,   632,   633,   634,   635,  1111,   607,   553,   318,   319,
1631       746,   747,   748,   750,   751,   749,   774,   811,   759,   570,       320,   321,   322,   323,   324,   325,   326,   327,   816,   817,
1632       571,   572,   573,   574,   575,   576,   577,   578,   579,   580,       318,   698,   699,   700,   701,   702,   703,   704,   705,   706,
1633       581,   582,   583,   584,   720,   742,   587,   588,   760,   776,       545,   308,   545,   545,   545,   545,   545,   545,   545,   545,
1634       773,   307,   307,   307,   307,   307,   307,   307,   307,   307,      1438,  1112,   310,  1441,   318,   319,   320,   321,   322,   323,
1635       775,   777,   780,   407,   407,   781,   812,   596,   782,   597,       324,   325,   326,   327,   318,   319,   320,   321,   322,   323,
1636       784,   598,   306,   308,   309,   310,   311,   312,   313,   314,       324,   325,   326,   327,   646,   318,   698,   699,   700,   701,
1637       315,   814,   605,   606,   607,   608,   609,   610,   611,   612,       702,   703,   704,   705,   706,  1515,  2031,   787,  1357,   314,
1638       613,   614,   615,   616,   617,   783,   810,   813,   815,   817,       408,  1687,  2032,   807,   313,   277,   442,   426,   430,    53,
1639       816,   818,   819,   820,   821,   826,   827,   833,   327,   835,       658,   659,   466,  1673,  1674,  1695,  1696,   401,  1770,  1324,
1640       836,   837,   838,   840,   842,   841,   843,   844,   852,   850,      1325,   502,   526,   991,   992,   993,   403,   405,   736,   738,
1641       846,   642,   853,   851,   645,   646,   647,   648,   855,   854,       406,   409,   413,   350,   531,   533,   532,   538,   534,   535,
1642       651,   856,   857,   860,   876,   859,   858,   877,   865,   882,       536,   537,   543,   539,   540,   541,   544,   546,   547,   555,
1643       466,   466,   665,   895,   891,   866,   874,   884,   888,   881,       542,   548,   554,   709,   558,   559,  1029,  1030,  1031,  1032,
1644       875,   879,   892,   880,   894,   897,   905,   893,   898,   902,       557,   585,  1502,   556,   588,   590,   819,   709,   560,   709,
1645       896,   683,   911,   685,   899,   903,   904,   906,   907,   909,      1044,   561,  1046,   593,  1048,  1049,  1050,  1051,   598,   600,
1646       908,   405,   912,   913,   914,   915,   916,   917,   922,   927,       608,   615,   599,   609,   750,   751,   610,   622,   623,  1066,
1647       921,   923,   925,   702,   933,   928,   930,   935,   936,   931,      1067,   709,   624,   639,   636,   637,  1074,   638,   641,   709,
1648       703,   934,   704,   705,   706,   938,   707,   937,   708,   939,      1599,   642,   640,   644,   643,   645,   798,   799,   800,   801,
1649       941,   940,   942,   945,   946,   947,   953,   948,   949,   950,       652,   647,   848,   848,   822,   825,   648,   649,  1312,   767,
1650       955,   718,   954,   719,   956,   957,   960,   958,   924,   962,       650,   853,   854,   855,   651,   653,   654,   655,   674,   657,
1651       725,   726,   727,   728,   729,   730,   731,   732,   733,   961,      1107,  1108,  1109,  1110,   673,   656,   675,   679,   867,   868,
1652       735,   965,   737,   966,   926,   968,   929,   970,   972,   973,       869,   870,   871,   872,   873,   874,   875,   876,   877,   878,
1653       974,   976,   959,   980,   977,   967,   981,   969,   327,   971,       879,   880,   676,   328,   330,   331,   332,   333,   334,   335,
1654       754,   755,   756,   975,   758,   982,   984,   983,   772,   985,       336,   337,   677,   680,   681,   882,   883,   884,   885,   682,
1655       986,   987,   771,   989,   988,   665,   990,   993,   994,   995,       683,   886,   678,   887,   725,   888,   889,   890,   726,   730,
1656       999,   786,   788,  1002,   786,   793,   796,  1003,   786,   805,       744,   733,   894,   895,   739,   745,   746,   753,   754,   899,
1657       772,  1004,   772,   771,   771,  1005,   771,  1006,  1007,  1008,       900,   901,   902,   755,   904,   905,   906,   907,   756,   764,
1658      1009,  1010,  1011,  1012,  1013,  1015,  1014,   465,  1016,  1017,       779,   911,   912,   913,   781,   780,   914,   709,   826,   802,
1659       822,   823,  1019,   824,   825,  1018,  1020,  1022,   327,  1023,       828,   827,   829,   830,   831,   919,   834,   920,   349,   836,
1660      1021,  1024,  1025,  1026,   307,   307,  1027,  1029,  1030,  1028,       922,   835,   923,   838,   924,   840,   839,   842,   843,   850,
1661       419,  1031,  1032,  1033,  1034,  1039,   839,  1035,  1038,  1040,       841,   926,   844,   845,   851,   852,   856,   857,   859,   858,
1662      1041,   499,   500,  1044,   845,   831,   832,  1042,  1047,  1043,       934,   935,   936,   937,   938,   939,   940,   941,   942,   943,
1663       525,  1048,   327,   327,  1045,  1046,  1049,   847,  1050,  1051,       944,   945,   946,   947,   948,   949,   821,   951,   860,   861,
1664       549,   307,   307,  1053,  1052,  1054,  1055,  1056,  1057,  1058,       862,   955,   956,   957,   958,   863,   960,   961,   962,   963,
1665      1059,  1061,  1060,  1062,  1063,  1064,  1069,  1066,   327,  1070,       864,   964,   965,   819,   865,   866,   881,   891,   892,   896,
1666      1071,  1068,   831,   832,   772,  1065,  1067,  1072,   771,   772,       897,   898,   903,   908,   909,   910,   915,   918,   930,   916,
1667      1073,   419,   419,   771,   307,  1074,  1075,  1076,  1077,  1078,       927,   917,   929,   950,   953,   925,   954,   928,   959,   921,
1668      1080,   788,   327,   793,   772,   772,  1079,  1082,   771,   771,       933,   986,   968,   986,  1243,  1244,  1245,   952,   967,   969,
1669      1081,  1084,  1083,  1085,  1086,   873,  1087,   405,   405,  1088,       970,   972,   973,   971,   974,   975,   976,   977,   983,   980,
1670      1089,  1090,  1091,  1092,  1093,  1094,  1096,  1098,  1099,  1102,       329,   329,   329,   329,   329,   329,   329,   329,   329,   978,
1671       307,   307,  1100,   419,  1095,  1097,  1101,  1103,  1106,  1105,       979,   981,   982,   988,   989,   996,   990,   995,   997,   998,
1672      1107,  1104,   910,  1108,  1110,  1113,  1115,  1117,  1109,  1111,       999,  1000,  1002,  1003,  1005,  1052,  1024,  1036,  1004,  1053,
1673      1112,   900,   901,  1114,  1116,  1118,  1119,  1120,  1121,  1122,      1064,  1077,  1015,  1035,  1040,  1018,  1019,  1020,  1021,  1001,
1674       419,   419,  1123,  1125,  1124,  1127,   796,  1126,  1128,  1132,       709,  1034,   709,  1273,  1027,  1041,  1047,  1063,  1039,  1054,
1675      1133,  1129,  1130,  1131,  1134,   525,  1135,   643,   644,  1136,      1033,  1288,  1290,  1062,  1068,  1038,  1065,  1073,  1075,  1076,
1676      1137,  1138,  1139,   649,   650,  1140,  1142,  1141,   655,   655,      1078,  1079,  1080,  1099,  1097,  1101,  1100,  1106,  1114,  1115,
1677      1143,  1144,  1148,  1145,   465,   465,   327,   327,  1146,  1147,      1118,  1116,  1117,  1059,  1061,  1119,  1121,  1122,  1120,  1288,
1678      1149,  1150,   327,   327,  1151,  1152,  1153,  1154,   327,  1155,      1123,  1288,  1070,  1124,   661,  1125,  1127,  1126,  1129,  1128,
1679      1156,  1157,  1158,  1160,  1162,   682,  1163,   684,  1159,  1165,      1138,  1139,  1130,  1339,  1341,  1342,  1341,  1131,  1132,  1137,
1680      1166,   885,  1167,  1161,  1164,  1168,  1169,   883,  1170,   932,      1141,  1113,  1142,  1140,  1146,  1143,  1145,  1094,  1144,  1096,
1681       641,  1171,   872,   365,   366,   327,   779,   327,   804,   536,      1148,   709,  1147,  1149,  1159,  1163,  1160,  1164,   329,   329,
1682       295,   399,   367,   400,   374,     0,   368,   382,   539,     0,      1165,  1170,   545,  1171,  1172,  1133,  1134,  1135,  1136,  1173,
1683         0,     0,     0,     0,   666,     0,   369,     0,   370,     0,      1178,  1177,  1179,  1180,  1181,  1184,  1186,  1185,  1187,  1188,
1684       384,     0,     0,     0,     0,   404,     0,     0,     0,     0,      1189,  1190,  1207,  1150,  1210,  1209,  1216,  1211,  1227,  1224,
1685         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1151,  1223,  1152,  1153,  1154,  1225,  1155,  1156,  1228,  1226,
1686         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1229,  1157,  1158,  1232,  1230,  1233,  1231,  1234,  1235,  1236,
1687         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1238,  1162,  1247,  1241,  1237,  1246,  1248,  1250,  1168,  1251,
1688         0,     0,     0,     0,   753,     0,   327,     0,   757,     0,      1169,  1249,  1264,  1278,  1239,  1252,  1253,  1254,  1268,  1174,
1689       327,     0,   761,     0,   327,     0,     0,     0,     0,     0,      1240,  1174,  1176,  1277,  1279,  1269,  1038,  1276,  1291,  1292,
1690         0,   327,     0,     0,     0,     0,     0,     0,   790,     0,      1293,  1299,  1294,  1182,  1295,  1183,  1298,  1300,  1338,  1301,
1691         0,     0,   799,     0,     0,     0,   807,     0,   809,     0,      1331,  1332,  1429,  1302,  1346,  1191,  1192,  1193,  1194,  1195,
1692         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,      1196,  1197,  1198,  1199,  1200,  1201,  1202,  1344,  1204,  1333,
1693         0,     0,   327,     0,     0,     0,     0,     0,     0,     0,      1206,  1347,  1208,  1348,  1350,  1351,  1212,  1213,  1214,  1215,
1694       327,     0,   327,   829,   830,     0,     0,     0,     0,     0,      1353,  1217,  1218,  1219,  1220,  1354,  1221,  1222,  1355,  1356,
1695         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1358,  1357,  1345,  1349,  1359,  1352,  1360,  1363,  1273,  1364,
1696         0,     0,   327,   327,     0,     0,     0,     0,     0,     0,      1365,  1366,  1288,  1288,  1367,  1370,   545,   545,   329,  1371,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       747,   748,  1372,  1378,   819,  1380,  1381,  1288,  1288,  1383,
1698         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1384,  1385,  1387,  1388,  1290,  1391,   771,   749,  1393,  1398,
1699         0,     0,     0,     0,     0,   327,   327,     0,     0,     0,       752,  1396,  1395,  1070,  1399,  1265,   759,  1403,  1409,  1404,
1700         0,     0,     0,   655,   862,   863,   655,   316,    46,    47,      1411,  1412,   772,  1418,   824,  1413,  1410,  1415,  1419,  1414,
1701       661,     0,    48,    49,    50,   317,   318,   319,   320,   321,      1424,  1422,  1257,  1258,  1259,  1420,  1038,  1262,  1061,  1421,
1702       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,      1423,  1425,  1267,  1426,  1427,  1435,  1431,   846,   846,  1430,
1703        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       837,  1432,  1433,  1434,  1437,  1287,  1491,  1436,  1463,  1443,
1704        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,      1460,  1495,  1445,  1070,  1446,  1448,  1449,  1474,  1450,  1454,
1705        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,      1453,  1304,  1306,  1455,  1304,   709,  1316,  1318,  1456,  1304,
1706        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,       822,   825,   825,  1287,  1459,  1287,  1458,  1461,   349,   349,
1707       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,      1464,  1475,  1061,  1061,  1061,  1061,  1468,  1469,  1361,  1362,
1708       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,      1476,  1479,  1482,  1485,  1483,  1484,  1487,  1486,  1488,  1489,
1709       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,      1373,  1374,   349,  1375,  1376,  1377,  1490,  1493,  1494,  1496,
1710       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,      1492,  1497,  1498,  1499,  1500,  1501,  1503,  1504,  1505,  1506,
1711       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,      1510,  1507,  1508,   329,   329,   545,   964,   965,  1509,  1511,
1712       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,      1512,  1513,  1516,  1514,  1517,  1267,  1519,  1520,   767,  1522,
1713       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,      1523,  1392,  1524,  1525,  1530,  1531,  1526,  1527,  1528,  1397,
1714       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,      1529,  1533,  1535,  1532,  1536,   349,  1537,  1539,  1534,  1540,
1715       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,      1538,  1541,  1546,  1542,  1547,  1548,  1400,  1549,  1550,  1554,
1716       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,      1555,  1551,  1572,  1553,  1556,  1558,  1560,   349,  1405,  1406,
1717       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,      1407,  1408,  1561,  1563,  1557,  1570,  1567,   821,  1559,  1562,
1718       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,      1564,  1565,  1568,  1574,  1571,  1573,  1575,  1578,  1576,  1577,
1719       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,      1580,  1581,  1582,  1583,  1584,  1588,  1585,  1586,  1587,  1590,
1720       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,      1591,  1589,   821,  1592,  1579,   821,  1595,   821,  1596,  1597,
1721       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,      1598,  1600,  1603,  1444,  1601,  1602,   985,  1604,   985,  1605,
1722       256,   257,   258,   259,   260,   261,   262,   263,   264,   316,      1606,  1070,  1607,   545,   545,  1608,  1611,  1612,  1614,  1613,
1723        46,    47,     0,   662,    48,    49,    50,   317,   318,   319,      1616,  1617,  1615,  1618,  1623,  1619,  1620,  1267,  1621,  1625,
1724       320,   321,   322,   323,   324,   325,   326,    61,    62,    63,       771,  1622,  1016,  1017,  1624,  1626,  1287,  1287,  1022,  1628,
1725        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,      1629,  1006,  1026,  1012,  1013,  1630,  1632,  1306,  1627,  1634,
1726        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,      1316,  1287,  1287,  1633,  1635,  1306,  1059,   822,  1043,  1028,
1727        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,      1043,  1639,  1174,  1631,  1638,  1174,  1640,  1641,  1645,  1642,
1728        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,      1056,  1056,  1644,   329,   329,  1646,  1648,  1650,  1651,  1653,
1729       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,      1654,  1657,  1647,  1655,  1649,  1659,  1665,  1658,  1652,  1518,
1730       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,      1660,  1666,  1668,  1656,  1521,  1661,   349,  1662,  1072,  1663,
1731       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,      1664,  1667,  1671,  1675,  1676,  1093,  1672,  1095,  1081,  1082,
1732       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,      1083,  1084,  1085,  1086,  1087,  1088,  1089,  1090,  1091,  1092,
1733       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,      1677,  1680,  1681,  1682,  1683,  1685,  1552,   349,   349,  1102,
1734       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,      1103,  1104,  1105,   349,  1684,  1686,  1688,   349,  1690,  1670,
1735       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,      1691,  1692,  1694,  1698,  1704,  1693,  1697,  1699,  1705,  1703,
1736       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,      1709,  1711,  1708,  1710,   349,  1712,  1713,  1714,  1717,  1718,
1737       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,      1721,  1719,  1720,  1722,  1723,  1730,  1724,   349,  1318,  1726,
1738       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,      1725,  1306,  1727,  1729,  1731,  1853,  1732,  1733,   821,   821,
1739       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,      1734,  1736,  1735,  1737,  1738,  1739,  1740,  1741,  1743,  1742,
1740       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,      1746,  1751,  1745,   821,   821,  1754,  1752,  1744,  1753,   821,
1741       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,      1756,  1758,  1747,  1757,   349,  1760,   349,  1761,  1764,  1769,
1742       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,      1755,  1759,  1762,  1763,  1765,  1767,  1771,  1773,  1775,  1772,
1743       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,      1777,  1779,  1782,  1643,  1784,  1774,  1766,  1780,  1778,  1783,
1744       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,      1785,  1788,  1786,  1787,  1790,  1789,  1791,  1792,  1820,  1798,
1745       264,    45,    46,    47,     0,     0,    48,    49,    50,    51,      1794,  1793,  1795,  1797,  1796,  1804,  1799,  1800,  1812,  1801,
1746        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,      1803,  1802,  1807,  1811,  1806,  1805,  1853,  1813,  1814,  1815,
1747        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,      1810,  1808,  1818,  1816,  1817,  1821,  1819,  1822,  1823,  1825,
1748        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,      1824,  1826,  1829,  1830,  1835,  1827,  1836,  1828,  1837,  1838,
1749        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,      1842,  1834,  1839,  1840,  1843,  1846,  1841,  1847,  1857,  1865,
1750        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,      1844,  1858,  1859,  1070,  1860,  1861,  1864,  1862,  1868,  1866,
1751       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,      1867,  1869,  1875,  1870,  2022,  1871,  1873,  1876,  1877,  1883,
1752       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,      1256,  1728,  1878,  1874,  1260,  1879,  1845,  1889,  1880,  1884,
1753       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,      1891,  1848,  1881,  1885,  1255,  1270,  1272,  1043,  1043,  1882,
1754       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,      1886,  1887,  1892,  1280,  1888,  1893,  1863,  1894,  1872,  1895,
1755       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,      1896,  1897,  1898,  1899,  1900,  1901,  1903,  1904,  1908,  1909,
1756       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,      1907,  1902,  1308,  1911,  1917,  1912,  1296,  1321,  1918,  1914,
1757       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       824,   824,  1920,  1327,  1919,  1329,  1910,   349,  1915,  1916,
1758       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,      1922,   349,  1925,  1927,  1924,  1929,  1928,  1931,   822,  1932,
1759       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,      1913,   349,  1921,   349,  1926,  1933,  1930,  1934,  1935,  1944,
1760       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,      1936,   349,  1938,  1937,  1809,  1939,   349,  1940,  1943,  1941,
1761       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,      1945,  1947,  1942,  1946,  1948,  1949,  1951,  1950,  1952,  1955,
1762       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,      1957,  1956,  1958,  1959,  1964,  1963,  1962,  1968,  1966,   349,
1763       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,      1965,  1971,  1967,  1969,  1970,  1972,  1973,  1974,  1978,  1975,
1764       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,      1976,  1991,   349,  1984,  1977,  1985,  1987,  1980,   349,  1979,
1765       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       349,  1465,  1981,  1982,  1983,  1990,  1992,  1986,  1989,  1988,
1766       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,      1997,  1995,  2002,  2004,  1993,  1994,  1998,  1996,  2005,  2006,
1767       262,   263,   264,   316,    46,    47,     0,     0,    48,    49,      2007,  2008,  2000,  2003,  2001,  1999,  2009,  2010,  2011,  2012,
1768        50,   317,   318,   319,   320,   321,   322,   323,   324,   325,      2013,  2014,  2016,  2015,  2017,  1890,  2019,  2018,  2023,  2027,
1769       326,    61,    62,    63,    64,    65,    66,    67,    68,    69,      2020,  2021,  2039,  2028,  2024,  2026,  2035,  2025,  2036,  2037,
1770        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,      2034,  2038,  2029,  2030,  2040,  2041,  2033,  2042,  2043,  2044,
1771        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,      2045,  1566,  2046,  2055,  1471,  2057,  2048,  2049,  2058,  2047,
1772        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,      2061,  2051,  2053,  2052,  2060,  2062,  2064,  2054,  2050,  2056,
1773       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       821,  2059,  2063,  2073,  2069,  2067,  2065,  2066,  2072,  1330,
1774       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,      2068,  2070,  1056,  1439,  1440,  1056,  2071,  1343,  1923,  1452,
1775       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,      1473,  1272,  1447,   994,     0,   791,   436,   849,   437,     0,
1776       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       349,   349,   317,     0,   814,     0,     0,     0,     0,     0,
1777       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,         0,     0,     0,     0,     0,     0,  1457,     0,     0,     0,
1778       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1779       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1780       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       438,     0,     0,     0,     0,     0,     0,     0,   506,     0,
1781       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,         0,     0,   507,   771,   338,    58,    59,    60,    61,    62,
1782       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1783       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1784       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1785       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1786       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1787       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1788       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1789       260,   261,   262,   263,   264,   316,    46,    47,   762,   763,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1790        48,   764,   765,    51,    52,    53,    54,    55,    56,    57,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1791        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1792        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1793        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1794        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1795        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1796       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1797       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1798       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1799       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1800       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1801       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1802       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1803       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       273,   274,   275,   984,   508,   276,   338,    58,    59,    60,
1804       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,        61,    62,   339,   340,   341,   342,   343,   344,   345,   346,
1805       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       347,   348,    73,    74,    75,    76,    77,    78,    79,    80,
1806       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1807       218,   219,   220,   221,   222,   223,   224,   225,   226,   227,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1808       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1809       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1810       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1811       258,   259,   260,   261,   262,   263,   316,    46,    47,   868,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1812         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1813       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1814        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1815         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1816         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1817         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1818         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1819         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1820         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1821         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1822         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1823         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1824         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1825         271,   272,   273,   274,   275,   509,   987,   276,    57,    58,
1826          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1827          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1828          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1829          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1830          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1831         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1832         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1833         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1834         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1835         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1836         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1837         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1838         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1839         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1840         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1841         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1842         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1843         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1844         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1845         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1846         259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1847         269,   270,   271,   272,   273,   274,   275,   510,   511,   276,
1848         338,    58,    59,    60,    61,    62,   339,   340,   341,   342,
1849         343,   344,   345,   346,   347,   348,    73,    74,    75,    76,
1850        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1851        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1852        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
# Line 1270  static const short int yytable[] = Line 1865  static const short int yytable[] =
1865       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1866       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1867       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1868       257,   258,   259,   260,   261,   262,   263,   316,    46,    47,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1869         0,   869,    48,    49,    50,   317,   318,   319,   320,   321,       267,   268,   269,   270,   271,   272,   273,   274,   275,   512,
1870       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,       513,   276,   338,    58,    59,    60,    61,    62,   339,   340,
1871        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       341,   342,   343,   344,   345,   346,   347,   348,    73,    74,
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,  
      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,  
      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,  
      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,  
      256,   257,   258,   259,   260,   261,   262,   263,   316,    46,  
       47,     0,     0,    48,    49,    50,   317,   318,   319,   320,  
      321,   322,   323,   324,   325,   326,    61,    62,    63,    64,  
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
1872        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1873        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1874        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1314  static const short int yytable[] = Line 1887  static const short int yytable[] =
1887       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1888       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1889       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1890       255,   256,   257,   258,   259,   260,   261,   262,   263,   316,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1891        46,    47,     0,     0,    48,    49,    50,    51,    52,    53,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1892        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,       275,   658,   659,   338,    58,    59,    60,  1281,  1282,    63,
1893        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1894        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1895        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1337  static const short int yytable[] = Line 1910  static const short int yytable[] =
1910       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1911       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1912       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1913       316,   712,    47,     0,     0,    48,    49,    50,   317,   318,       264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
1914       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,       274,   275,   658,   659,   338,    58,    59,    60,    61,    62,
1915        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1916        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1917        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1918        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1359  static const short int yytable[] = Line 1932  static const short int yytable[] =
1932       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1933       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1934       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1935       263,   316,   734,    47,     0,     0,    48,    49,    50,   317,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1936       318,   319,   320,   321,   322,   323,   324,   325,   326,    61,       273,   274,   275,   338,    58,    59,    60,    61,    62,    63,
1937        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1938        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1939        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1940        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1941       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1942       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1943       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1944       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1945       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1946       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1947       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1948       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1949       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1950       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1951       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1952       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1953       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1954       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1955       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1956       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1957       262,   263,   316,   736,    47,     0,     0,    48,    49,    50,       264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
1958       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       274,   275,   338,  1167,    59,    60,    61,    62,   339,   340,
1959        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,       341,   342,   343,   344,   345,   346,   347,   348,    73,    74,
1960        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1961        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1962        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1963       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1964       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1965       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1966       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1967       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1968       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1969       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1970       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1971       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1972       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1973       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1974       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1975       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1976       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1977       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1978       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1979       261,   262,   263,   316,   828,    47,     0,     0,    48,    49,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1980        50,   317,   318,   319,   320,   321,   322,   323,   324,   325,       275,   338,  1175,    59,    60,    61,    62,   339,   340,   341,
1981       326,    61,    62,    63,    64,    65,    66,    67,    68,    69,       342,   343,   344,   345,   346,   347,   348,    73,    74,    75,
1982        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1983          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1984          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1985         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1986         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1987         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1988         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1989         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1990         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1991         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1992         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1993         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1994         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1995         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1996         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1997         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1998         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1999         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2000         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2001         266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2002         338,  1203,    59,    60,    61,    62,   339,   340,   341,   342,
2003         343,   344,   345,   346,   347,   348,    73,    74,    75,    76,
2004          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2005          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2006          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2007         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2008         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2009         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2010         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2011         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2012         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2013         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2014         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2015         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2016         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2017         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2018         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
2019         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
2020         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
2021         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2022         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2023         267,   268,   269,   270,   271,   272,   273,   274,   275,   338,
2024        1205,    59,    60,    61,    62,   339,   340,   341,   342,   343,
2025         344,   345,   346,   347,   348,    73,    74,    75,    76,    77,
2026          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2027          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2028          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2029         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2030         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2031         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2032         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2033         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2034         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2035         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2036         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2037         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2038         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2039         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2040         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
2041         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
2042         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
2043         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2044         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2045         268,   269,   270,   271,   272,   273,   274,   275,   338,  1382,
2046          59,    60,    61,    62,   339,   340,   341,   342,   343,   344,
2047         345,   346,   347,   348,    73,    74,    75,    76,    77,    78,
2048          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2049          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2050          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2051         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2052         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2053         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2054         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2055         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2056         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2057         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2058         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2059         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2060         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2061         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2062         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
2063         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
2064         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2065         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
2066         259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
2067         269,   270,   271,   272,   273,   274,   275,   338,  1386,    59,
2068          60,    61,    62,   339,   340,   341,   342,   343,   344,   345,
2069         346,   347,   348,    73,    74,    75,    76,    77,    78,    79,
2070        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2071        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2072       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
# Line 1425  static const short int yytable[] = Line 2085  static const short int yytable[] =
2085       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
2086       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
2087       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
2088       260,   261,   262,   263,   316,   848,    47,     0,     0,    48,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
2089        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       270,   271,   272,   273,   274,   275,   338,  1401,    59,    60,
2090       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,        61,    62,   339,   340,   341,   342,   343,   344,   345,   346,
2091         347,   348,    73,    74,    75,    76,    77,    78,    79,    80,
2092          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2093          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2094         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2095         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2096         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2097         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2098         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2099         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2100         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2101         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2102         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2103         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2104         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2105         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2106         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
2107         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
2108         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
2109         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
2110         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
2111         271,   272,   273,   274,   275,   338,  1402,    59,    60,    61,
2112          62,   339,   340,   341,   342,   343,   344,   345,   346,   347,
2113         348,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2114          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2115          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2116         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2117         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2118         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2119         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2120         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2121         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2122         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2123         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2124         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2125         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2126         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2127         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2128         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
2129         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
2130         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
2131         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2132         262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2133         272,   273,   274,   275,   514,   515,   516,   517,   518,   519,
2134         520,   521,   522,   527,   450,   439,   440,   462,   441,   443,
2135         464,   444,     0,     0,     0,   528
2136    };
2137    
2138    static const yytype_int16 yycheck[] =
2139    {
2140          16,   923,    18,    19,    20,    21,    22,    23,    24,    25,
2141          26,    27,    28,    29,    30,    31,    32,    33,    34,   871,
2142        1200,  1133,   901,   283,   290,   291,    16,   295,   297,   912,
2143         634,    24,   290,   291,   294,   295,   297,     5,   297,    32,
2144         587,    24,   589,    36,    32,     1,    32,     3,  1036,    64,
2145          65,    66,    67,    68,    69,    70,    71,    72,    33,    34,
2146        1265,  1158,  1397,    19,   611,    21,    22,    36,    24,    25,
2147        1405,  1183,   619,    37,    30,    31,    37,    37,    24,    35,
2148          36,    37,    37,    39,    37,  1203,    32,  1205,    37,   573,
2149          36,   586,    20,    34,    21,    22,    37,   580,   581,    27,
2150          19,    19,    20,    21,    22,   589,    24,    25,    23,    37,
2151          27,    38,    40,    31,    33,  1212,  1213,  1214,  1215,    37,
2152          38,   616,    40,    22,    39,    89,    43,   611,    89,    89,
2153         613,   614,    22,    27,    89,   619,    89,    20,    37,    33,
2154          89,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2155          18,    34,    21,    22,    22,    19,    31,    21,    22,    23,
2156          24,    23,    37,    19,    32,    34,    19,    31,  1156,    38,
2157          27,    22,  1377,    37,    38,    31,    40,    30,    31,    32,
2158         727,    37,    39,    34,    40,    27,  1521,   563,   564,   565,
2159         566,   567,   568,   569,   570,   571,   572,    23,   574,   575,
2160         576,   577,    23,   579,    21,    22,   582,   583,   584,    34,
2161          36,    23,    37,    22,    31,    36,    64,    65,    66,    67,
2162          68,    69,    70,    71,    72,    34,    31,  1407,    39,   222,
2163         223,   283,    37,    19,   222,   223,   222,   223,    24,   222,
2164         223,    34,   294,   295,    37,    31,   298,   222,   223,  1361,
2165          22,   551,    23,   222,   223,    19,   224,   225,   226,    23,
2166          32,    19,    32,    21,    22,    23,    24,    31,  1386,   225,
2167         226,    34,   224,    31,    37,   549,   222,   223,    21,    22,
2168         580,   581,    40,  1401,  1402,   631,   632,   633,    31,  1168,
2169        1169,   591,   592,   562,   594,   595,   596,   597,     0,    21,
2170          22,   562,    21,   562,    19,    27,    21,    22,    27,    24,
2171          31,    21,    31,   613,   614,    36,    31,    27,    22,     6,
2172         620,   621,     9,    10,    11,    12,    13,    14,    15,    16,
2173          17,    18,   283,   880,    23,   882,    34,   288,   289,   355,
2174         356,   357,   616,   294,   295,   283,  1194,    30,    23,   287,
2175          33,  1199,   368,    36,   292,   225,   226,   625,   374,   625,
2176         376,   377,   378,   379,   380,   625,   382,   625,   384,   385,
2177         386,   387,   388,    37,   390,   391,   392,   393,   394,   395,
2178         396,   397,   398,   399,   288,   289,    32,   403,    21,   405,
2179         294,   295,   408,    23,    27,   411,   412,    27,    38,   415,
2180         416,    21,   418,   419,   951,    21,    37,    27,   424,   425,
2181         426,    27,   428,   429,   430,     9,    10,    11,    12,    13,
2182          14,    15,    16,    17,    18,    19,   442,   287,   444,   445,
2183         446,    19,   292,   449,   450,    21,   452,   453,   454,   455,
2184          40,    27,    39,    40,   460,   461,   462,   463,   464,   465,
2185         466,   467,   468,   469,   470,     6,    39,    40,     9,    10,
2186          11,    12,    13,    14,    15,    16,    17,    18,     7,     8,
2187           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2188         328,    34,   330,   331,   332,   333,   334,   335,   336,   337,
2189        1373,     6,    27,  1376,     9,    10,    11,    12,    13,    14,
2190          15,    16,    17,    18,     9,    10,    11,    12,    13,    14,
2191          15,    16,    17,    18,   530,     9,    10,    11,    12,    13,
2192          14,    15,    16,    17,    18,    34,    21,   625,    37,    20,
2193         286,  1643,    27,   631,    38,    16,   292,   290,   291,   225,
2194         222,   223,   295,    21,    22,    21,    22,    31,  1728,  1201,
2195        1202,   296,   297,   853,   854,   855,   284,   285,   591,   592,
2196          31,    22,    22,    21,    19,    19,    43,    23,    38,    22,
2197          38,    22,    19,    38,    33,    23,    39,    26,    20,    20,
2198          37,    27,    26,   573,    27,    23,   886,   887,   888,   889,
2199          42,    27,  1444,    32,    27,    20,  1200,   587,    33,   589,
2200         900,    33,   902,    20,   904,   905,   906,   907,    39,    27,
2201          26,    32,    42,    42,   604,   605,    27,    39,    21,   919,
2202         920,   611,    27,    20,    39,    39,   926,    26,    30,   619,
2203        1552,    27,    42,    33,    38,    33,   626,   627,   628,   629,
2204          21,    36,   658,   659,   634,   635,    38,    36,  1195,   923,
2205          40,   667,   668,   669,    38,    34,    20,    19,    19,    22,
2206         960,   961,   962,   963,    22,    89,    19,    22,   684,   685,
2207         686,   687,   688,   689,   690,   691,   692,   693,   694,   695,
2208         696,   697,    89,   698,   699,   700,   701,   702,   703,   704,
2209         705,   706,    25,    36,    38,   711,   712,   713,   714,    30,
2210          27,   717,    89,   719,    22,   721,   722,   723,    32,    22,
2211          22,    89,   728,   729,    89,    89,    22,    22,    19,   735,
2212         736,   737,   738,    89,   740,   741,   742,   743,    22,    37,
2213          22,   747,   748,   749,    22,    26,   752,   727,    22,    32,
2214          19,    24,    89,    89,    33,   761,    36,   763,   277,    27,
2215         766,    38,   768,    23,   770,    23,    33,    37,    32,    30,
2216          36,   777,    27,    27,    33,    23,    27,    27,    27,    32,
2217         786,   787,   788,   789,   790,   791,   792,   793,   794,   795,
2218         796,   797,   798,   799,   800,   801,   634,   803,    27,    37,
2219          27,   807,   808,   809,   810,    40,   812,   813,   814,   815,
2220          19,   816,   817,  1407,    39,    32,    30,    27,    33,    27,
2221          27,    33,    27,    27,    37,    27,    27,    27,    39,    32,
2222          27,    37,    27,    19,    23,    33,    27,    33,    23,    38,
2223          33,   847,    24,   849,  1134,  1135,  1136,    39,    27,    32,
2224          27,    20,    27,    37,    21,    23,    19,    21,    89,    21,
2225         698,   699,   700,   701,   702,   703,   704,   705,   706,    43,
2226          27,    32,    32,    19,    32,    30,    21,    33,    32,    32,
2227          32,    23,    23,    30,    24,    33,    30,   893,    31,    23,
2228          23,    22,   872,    32,    32,   875,   876,   877,   878,    89,
2229         880,    89,   882,  1167,   884,    32,    32,    32,    89,    89,
2230         890,  1175,  1176,    33,    36,   895,    89,    36,    33,    89,
2231          22,    38,    30,    22,    31,    22,    40,    37,    33,    23,
2232          23,    32,    32,   913,   914,    19,    23,    19,    89,  1203,
2233          30,  1205,   922,    23,  1208,    20,    23,    36,    27,    37,
2234          19,    23,    38,  1217,  1218,  1219,  1220,    89,    39,    89,
2235          23,   966,    32,    37,    23,    27,    89,   947,    36,   949,
2236          43,   951,    33,    23,    27,    27,    89,    37,   816,   817,
2237          89,    37,   820,    89,    32,   991,   992,   993,   994,    27,
2238          23,    89,    32,    27,    39,    21,    27,    89,    27,    27,
2239          23,    33,    23,  1009,    23,    27,    21,    27,    32,    36,
2240        1016,    89,  1018,  1019,  1020,    23,  1022,  1023,    30,    37,
2241          27,  1027,  1028,    89,    30,    89,    31,    23,    27,    30,
2242          32,  1037,    20,    36,    38,    33,    30,    22,  1044,    32,
2243        1046,    38,    32,    22,    31,    40,    38,    36,    32,  1055,
2244          36,  1057,  1058,    33,    32,    38,  1036,    38,    33,    30,
2245          22,    33,    32,  1069,    31,  1071,    23,    32,    36,    33,
2246          33,    30,  1362,    89,    30,  1081,  1082,  1083,  1084,  1085,
2247        1086,  1087,  1088,  1089,  1090,  1091,  1092,    33,  1094,    89,
2248        1096,    38,  1098,    22,    32,    30,  1102,  1103,  1104,  1105,
2249          40,  1107,  1108,  1109,  1110,    21,  1111,  1112,    20,    36,
2250          33,    37,    89,    89,    23,    89,    37,    39,  1382,    30,
2251          37,    36,  1386,  1387,    37,    33,   964,   965,   966,    23,
2252         601,   602,    21,    37,  1728,    37,    36,  1401,  1402,    36,
2253          39,    34,     5,    39,  1408,    23,   617,   603,    39,    23,
2254         606,    27,    89,  1133,    33,  1161,   612,    89,    27,    21,
2255          24,    89,   618,    19,   635,    36,    39,    27,    21,    89,
2256          38,    23,  1152,  1153,  1154,    33,  1156,  1157,  1158,    33,
2257          39,    22,  1162,    21,    27,    27,    23,   658,   659,    38,
2258         646,    39,    39,    38,    23,  1175,    19,    37,    24,    38,
2259          33,    89,    38,  1183,    39,    39,    38,    34,    39,    39,
2260          38,  1191,  1192,    38,  1194,  1195,  1196,  1197,    32,  1199,
2261        1200,  1201,  1202,  1203,    39,  1205,    38,    32,   747,   748,
2262          32,    38,  1212,  1213,  1214,  1215,    33,    33,  1244,  1245,
2263          27,    39,    32,    32,    39,    38,    27,    33,    39,    31,
2264        1256,  1257,   771,  1259,  1260,  1261,    36,    40,    34,    31,
2265          39,    38,    36,    21,    32,    36,    36,    31,    31,    34,
2266          36,    38,    34,  1111,  1112,  1113,  1281,  1282,    38,    38,
2267          34,    38,    19,    39,    23,  1265,    39,    32,  1552,    38,
2268          34,  1297,    30,    33,    24,    38,    32,    31,    33,  1305,
2269          32,    23,    21,    36,    32,   824,    23,    30,    39,    36,
2270          39,    23,    23,    39,    89,    39,  1322,    23,    38,    23,
2271          23,    39,    30,    39,    39,    39,    39,   846,  1334,  1335,
2272        1336,  1337,    39,    38,    89,    27,    38,  1175,    89,    89,
2273          39,    39,    38,    24,    39,    39,    23,    33,    39,    24,
2274          39,    33,    32,    23,    38,    38,    32,    31,    37,    32,
2275          27,    39,  1200,    32,    89,  1203,    31,  1205,    89,    19,
2276          31,    31,    38,  1379,    32,    32,   847,    22,   849,    38,
2277          22,  1361,    31,  1221,  1222,    38,    34,    38,    34,    30,
2278          33,    38,    36,    32,    22,    33,    32,  1377,    32,    39,
2279         871,    33,   873,   874,    31,    38,  1386,  1387,   879,    38,
2280          23,   867,   883,   869,   870,    27,    22,  1397,    89,    22,
2281        1400,  1401,  1402,    25,    38,  1405,  1406,  1407,   899,   885,
2282         901,    23,  1438,    89,    33,  1441,    21,    25,    38,    23,
2283         911,   912,    23,  1281,  1282,    38,    23,    23,    23,    23,
2284          33,    38,    89,    39,    89,    33,    23,    39,    89,  1465,
2285          32,    23,    21,    89,  1470,    89,   985,    38,   924,    38,
2286          38,    37,    32,    27,    27,   946,    40,   948,   934,   935,
2287         936,   937,   938,   939,   940,   941,   942,   943,   944,   945,
2288          27,    40,    27,    36,    32,    23,  1502,  1016,  1017,   955,
2289         956,   957,   958,  1022,    33,    32,    32,  1026,    22,    89,
2290          40,    22,    32,    36,    30,    40,    40,    38,    22,    38,
2291          32,    22,    40,    33,  1043,    38,    23,    26,    33,    32,
2292          22,    89,    89,    27,    40,    22,    38,  1056,  1518,    39,
2293          38,  1521,    38,    38,    23,  1809,    27,    23,  1386,  1387,
2294          27,    26,    38,    23,    27,    38,    89,    26,    43,    33,
2295          23,    27,    30,  1401,  1402,    27,    38,    89,    39,  1407,
2296          19,    27,    89,    40,  1093,    23,  1095,    27,    21,    32,
2297          89,    89,    28,    27,    23,    37,    27,    21,    21,    40,
2298          19,    21,    19,  1599,    34,    40,    89,    21,    40,    36,
2299          23,    33,    40,    28,    32,    27,    21,    89,    43,    40,
2300          36,    32,    31,    27,    32,    23,    33,    37,    23,    32,
2301          36,    33,    31,    27,    34,    36,  1890,    27,    23,    31,
2302          36,    38,    23,    32,    27,    32,    26,    38,    23,    27,
2303          36,    33,    24,    23,    23,    39,    19,    36,    32,    21,
2304          20,    38,    23,    39,    23,    19,    34,    19,    23,    34,
2305          37,    21,    21,  1643,    19,    32,    19,    21,    20,    32,
2306          21,    32,    19,    23,    40,    33,    33,    21,    34,    21,
2307        1151,  1687,    23,    32,  1155,    23,    89,    23,    36,    34,
2308          21,    89,    38,    36,  1150,  1166,  1167,  1168,  1169,    39,
2309          34,    31,    23,  1174,    32,    23,    89,    34,    89,    23,
2310          23,    34,    32,    23,    23,    23,    38,    21,    24,    34,
2311          39,    89,  1193,    30,    19,    37,  1182,  1198,    19,    34,
2312        1201,  1202,    19,  1204,    37,  1206,    38,  1256,    38,    38,
2313          36,  1260,    30,    19,    38,    30,    32,    27,  1728,    38,
2314          89,  1270,    89,  1272,    89,    33,    89,    32,    32,    36,
2315          33,  1280,    33,    89,  1770,    89,  1285,    34,    33,    39,
2316          31,    22,    89,    42,    37,    33,    36,    34,    23,    32,
2317          39,    33,    24,    38,    19,    34,    36,    19,    22,  1308,
2318          38,    27,    36,    23,    23,    36,    19,    19,    24,    30,
2319          33,    38,  1321,    43,    32,    19,    89,    32,  1327,    36,
2320        1329,  1400,    33,    33,    32,    31,    31,    36,    27,    36,
2321          24,    31,    24,    19,    37,    36,    33,    39,    22,    27,
2322          23,    23,    38,    36,    39,    43,    23,    19,    38,    19,
2323          23,    32,    89,    33,    32,  1851,    19,    33,    37,    23,
2324          31,    36,    22,    31,    38,    32,    23,    36,    27,    23,
2325          31,    23,    38,    38,    32,    23,    38,    23,    33,    32,
2326          23,  1518,    38,    24,  1406,    23,    36,    36,    23,    40,
2327          23,    38,    36,    38,    26,    32,    23,    39,    89,    38,
2328        1728,    37,    33,    22,    38,    33,    36,    36,    30,  1208,
2329          36,    36,  1373,  1374,  1375,  1376,    37,  1220,  1890,  1387,
2330        1408,  1382,  1382,   855,    -1,   625,   292,   659,   292,    -1,
2331        1439,  1440,    56,    -1,   633,    -1,    -1,    -1,    -1,    -1,
2332          -1,    -1,    -1,    -1,    -1,    -1,  1392,    -1,    -1,    -1,
2333          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2334          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2335         292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   297,    -1,
2336          -1,    -1,   297,  1444,     3,     4,     5,     6,     7,     8,
2337           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2338          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2339          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2340          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2341          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2342          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2343        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2344        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2345        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1443  static const short int yytable[] = Line 2355  static const short int yytable[] =
2355       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2356       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2357       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2358       219,   220,   221,   222,   223,   224,   225,   226,   227,   228,       219,   220,   221,   222,   297,   224,     3,     4,     5,     6,
2359       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,  
      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,  
      259,   260,   261,   262,   263,   316,   849,    47,     0,     0,  
       48,    49,    50,   317,   318,   319,   320,   321,   322,   323,  
      324,   325,   326,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,  
      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,  
      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,  
      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,  
      258,   259,   260,   261,   262,   263  
 };  
   
 static const short int yycheck[] =  
 {  
       14,    14,   467,    16,    17,    18,    19,    20,    21,    22,  
       23,    24,    25,    26,    27,   588,   272,   273,   279,     5,  
      272,   273,   279,   734,   279,   736,    21,     6,     7,    32,  
       25,    25,   728,   225,   226,    29,   732,    40,    33,    21,  
       23,    24,    52,    53,    54,    55,    56,    57,    58,    59,  
       60,    33,     1,    36,     3,    34,    29,    40,    24,    22,  
       42,    38,    35,    52,    53,    54,    55,    56,    57,    58,  
       59,    60,    21,    36,    23,    24,    22,    23,    27,    41,  
       23,    24,    34,    32,    22,    25,    25,    33,    37,    38,  
       39,    29,    41,    39,    21,     0,    42,    40,    38,    25,  
       25,    39,    41,    33,    42,   570,    33,   572,   573,    39,  
       41,    42,    38,    41,    42,     8,    24,   828,    11,    12,  
       13,    14,    15,    16,    17,    18,    19,    20,    36,    23,  
        6,     7,   224,   598,    25,    29,    25,   848,   849,    24,  
      605,   606,   607,   608,   609,   610,   611,   612,   613,     8,  
       24,    36,    11,    12,    13,    14,    15,    16,    17,    18,  
       19,    20,   271,    23,    24,   426,    39,   276,   277,   426,  
        8,   426,   281,    11,    12,    13,    14,    15,    16,    17,  
       18,    19,    20,    25,    21,    21,    23,    23,    25,    25,  
       40,    21,    39,    23,    23,    24,    33,    33,   454,   516,  
      517,    21,   454,    33,     9,    10,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    21,    11,    12,    13,  
       14,    15,    16,    17,    18,    19,    20,   702,   224,   225,  
      226,    29,    22,    39,   225,    23,    21,    40,    40,   822,  
       24,    40,   825,   718,   427,   428,   429,   430,   431,   432,  
      433,   434,   435,   436,   437,    35,    25,   280,    25,    41,  
       39,    34,    28,    28,    41,    29,   225,   226,    11,    12,  
       13,    14,    15,    16,    17,    18,    19,    20,    29,    28,  
       34,    29,    41,    23,    29,    41,   306,    28,   308,   309,  
      310,   311,   312,   313,   314,   315,    29,    35,    40,    23,  
       23,    40,    38,    22,    21,    42,    40,    21,    24,    21,  
       39,    29,   335,    24,    27,    24,   339,    24,   341,   342,  
      343,   344,   345,    24,   347,    21,   349,   350,   351,   352,  
       24,    24,    24,   356,   357,    14,   359,   360,    28,    26,  
       21,    39,    25,    38,    29,    25,    35,    29,    23,    40,  
      373,   374,   375,    39,    38,    29,    34,   380,   381,   382,  
      383,   384,   385,    34,   839,    29,    29,    34,    29,    29,  
       29,    29,    34,    29,    40,    29,    41,    29,    35,    26,  
       35,    25,    35,   406,    34,   408,    23,    29,    23,    34,  
       26,    32,    35,    24,    45,    34,    34,    24,    38,    25,  
       32,    35,    35,    91,    34,    34,    25,    35,    21,    34,  
       25,    22,    21,    25,    91,    91,    38,    25,   442,   443,  
       25,    91,    91,    29,    45,    35,    25,    29,    25,    29,  
       25,   455,   456,   457,   458,   459,    29,    41,    29,    29,  
       41,    33,    91,    91,    38,    91,    32,    25,    29,    32,  
       35,    22,    32,    40,    38,    34,    32,    32,    35,   482,  
      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,  
      493,   494,   495,   496,    91,    91,   499,   500,    34,    33,  
       35,   501,   502,   503,   504,   505,   506,   507,   508,   509,  
       34,    33,    35,   516,   517,    34,    32,   520,    35,   522,  
       33,   524,   501,   502,   503,   504,   505,   506,   507,   508,  
      509,    23,   535,   536,   537,   538,   539,   540,   541,   542,  
      543,   544,   545,   546,   547,    91,    91,    91,    22,    32,  
       41,    39,    36,    25,    23,    41,    36,     5,   265,    41,  
       36,    25,    35,    41,    91,    36,    29,    25,    21,    26,  
       32,   575,    23,    91,   578,   579,   580,   581,    25,    35,  
      584,    40,    25,    25,    34,    39,    41,    24,    40,    34,  
      593,   594,   596,    91,    34,    41,    40,    32,    29,    35,  
       41,    40,    35,    41,    36,    34,    21,    41,    36,    36,  
       40,   615,    32,   617,    40,    40,    40,    36,    40,    36,  
       41,   280,    35,    34,    25,    41,    34,    41,    40,    32,  
       91,    41,    41,   636,    32,    41,    40,    26,    35,    41,  
      643,    41,   645,   646,   647,    40,   649,    34,   651,    40,  
       34,    41,    29,    21,    40,    24,    36,    40,    24,    40,  
       34,   664,    40,   666,    35,    41,    24,    40,    91,    24,  
      673,   674,   675,   676,   677,   678,   679,   680,   681,    27,  
      683,    35,   685,    27,    91,    25,    91,    25,    25,    35,  
       41,    40,    91,    29,    39,    91,    29,    91,   405,    91,  
      704,   705,   706,    91,   708,    29,    29,    42,   712,    38,  
       25,    24,   712,    24,    42,   719,    42,    42,    38,    40,  
       28,   725,   726,    35,   728,   729,   730,    34,   732,   733,  
      734,    91,   736,   733,   734,    29,   736,    42,    40,    25,  
       29,    25,    29,    28,    25,    40,    29,   406,    91,    28,  
      753,   754,    45,   756,   757,    35,    21,    29,   465,    91,  
       42,    25,    29,    23,   764,   765,    25,    42,    23,    91,  
      770,    42,    23,    21,    42,    38,   779,    23,    21,    36,  
       34,   440,   441,    35,   787,   764,   765,    29,    25,    42,  
      449,    38,   499,   500,    39,    34,    36,   800,    29,    25,  
      459,   801,   802,    25,    29,    34,    29,    25,    28,    45,  
       34,    25,    40,    34,    23,    25,    21,    36,   525,    23,  
       23,    91,   801,   802,   828,    41,    39,    34,   828,   833,  
       23,   831,   832,   833,   834,    91,    21,    36,    34,    25,  
       38,   845,   549,   847,   848,   849,    25,    41,   848,   849,  
       40,    38,    36,    25,    25,   834,    25,   516,   517,    25,  
       36,    34,    25,    25,    32,    39,    36,    21,    21,    21,  
      870,   871,    32,   873,    91,    40,    91,    34,    36,    91,  
       41,    32,   885,    91,    33,    25,    21,    24,    38,    36,  
       38,   870,   871,    36,    40,    21,    25,    21,    21,    32,  
      900,   901,    21,    91,    38,    33,   910,    38,    40,    21,  
       24,    38,    33,    38,    29,   574,    25,   576,   577,    25,  
       21,    25,    21,   582,   583,    33,    42,    38,   587,   588,  
       40,    38,    25,    33,   593,   594,   643,   644,    40,    33,  
       29,    25,   649,   650,    25,    25,    25,    25,   655,    40,  
       42,    38,    38,    38,    25,   614,    25,   616,    40,    25,  
       25,   847,    38,    40,    39,    38,    38,   845,    38,   910,  
      574,    39,   833,   274,   274,   682,   719,   684,   733,   454,  
       44,   279,   274,   279,   275,    -1,   274,   277,   454,    -1,  
       -1,    -1,    -1,    -1,   597,    -1,   274,    -1,   274,    -1,  
      277,    -1,    -1,    -1,    -1,   279,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,   703,    -1,   753,    -1,   707,    -1,  
      757,    -1,   711,    -1,   761,    -1,    -1,    -1,    -1,    -1,  
       -1,   768,    -1,    -1,    -1,    -1,    -1,    -1,   727,    -1,  
       -1,    -1,   731,    -1,    -1,    -1,   735,    -1,   737,    -1,  
       -1,    -1,    -1,   790,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
      807,    -1,   809,   762,   763,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   829,   830,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   862,   863,    -1,    -1,    -1,  
       -1,    -1,    -1,   822,   823,   824,   825,     3,     4,     5,  
        6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,  
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,  
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,  
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,  
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,  
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,   224,     3,  
        4,     5,    -1,     7,     8,     9,    10,    11,    12,    13,  
       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,  
       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,  
       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,  
       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,  
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,  
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
      224,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,  
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,  
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,  
       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,   224,     3,     4,     5,    -1,    -1,     8,     9,  
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,  
       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,  
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,  
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,  
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,   223,   224,     3,     4,     5,     6,     7,  
        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,  
       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,  
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,  
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,  
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,  
       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   222,   223,     3,     4,     5,     6,  
       -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,  
2360        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2361        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2362        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
# Line 1722  static const short int yycheck[] = Line 2377  static const short int yycheck[] =
2377       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2378       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2379       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2380       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,       217,   218,   219,   220,   221,   297,   223,   224,     3,     4,
2381        -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,  
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,  
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,  
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,  
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,     3,     4,  
        5,    -1,    -1,     8,     9,    10,    11,    12,    13,    14,  
2382        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2383        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2384        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
# Line 1766  static const short int yycheck[] = Line 2399  static const short int yycheck[] =
2399       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2400       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2401       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2402       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,       215,   216,   217,   218,   219,   220,   221,   297,   297,   224,
2403         4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,  
       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,  
       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,  
       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,  
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,  
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
        3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,  
2404        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2405        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2406        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
# Line 1810  static const short int yycheck[] = Line 2421  static const short int yycheck[] =
2421       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2422       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2423       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2424       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       213,   214,   215,   216,   217,   218,   219,   220,   221,   297,
2425       223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,       297,   224,     3,     4,     5,     6,     7,     8,     9,    10,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,  
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,  
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,  
       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,  
2426        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2427        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2428        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1855  static const short int yycheck[] = Line 2444  static const short int yycheck[] =
2444       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2445       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2446       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2447       221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,       221,   222,   223,     3,     4,     5,     6,     7,     8,     9,
2448        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2449        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2450        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1877  static const short int yycheck[] = Line 2466  static const short int yycheck[] =
2466       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2467       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2468       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2469       220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,       220,   221,   222,   223,     3,     4,     5,     6,     7,     8,
2470         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2471        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2472        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1899  static const short int yycheck[] = Line 2488  static const short int yycheck[] =
2488       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2489       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2490       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2491       219,   220,   221,   222,   223,     3,     4,     5,    -1,    -1,       219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
2492          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2493          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2494          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2495          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2496          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2497          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2498          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2499          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2500          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2501         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2502         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2503         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
2504         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2505         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2506         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2507         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2508         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2509         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
2510         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2511         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2512         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2513         220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
2514          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2515          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2516          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2517          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2518          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2519          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2520          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2521          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2522          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2523         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2524         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2525         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2526         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2527         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2528         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2529         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2530         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2531         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2532         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2533         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2534         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2535         221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2536          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2537          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2538          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2539          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2540          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2541          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2542          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2543          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2544          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2545         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2546         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2547         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2548         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2549         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2550         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2551         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2552         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2553         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2554         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2555         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2556         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2557           3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2558          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2559          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2560          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2561          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2562          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2563          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2564          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2565          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2566          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2567         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2568         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2569         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2570         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2571         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2572         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2573         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2574         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2575         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2576         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2577         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2578         213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
2579           4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2580          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2581          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2582          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2583          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2584          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2585          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2586          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2587          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2588          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2589         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2590         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2591         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2592         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2593         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2594         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2595         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2596         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2597         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2598         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2599         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2600         214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2601           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2602          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2603          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2604          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2605          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2606          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2607          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2608          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2609          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2610          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2611         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2612         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2613         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2614         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2615         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2616         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2617         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2618         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2619         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2620         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2621         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2622         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2623           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2624          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2625          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2626          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2627          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2628          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2629          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2630          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2631          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2632          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2633         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2634         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2635         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2636         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2637         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2638         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2639         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2640         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2641         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2642         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2643         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2644         216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2645           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2646          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2647          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2648          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2649          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2650          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2651          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2652          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2653          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2654          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2655         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2656         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2657         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2658         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2659         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2660         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2661         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2662         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2663         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2664         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2665         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2666         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2667         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2668        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2669        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1921  static const short int yycheck[] = Line 2685  static const short int yycheck[] =
2685       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2686       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2687       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2688       218,   219,   220,   221,   222,   223       218,   219,   220,   221,   297,   297,   297,   297,   297,   297,
2689         297,   297,   297,   297,   293,   292,   292,   295,   292,   292,
2690         295,   292,    -1,    -1,    -1,   297
2691  };  };
2692    
2693  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2694     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2695  static const unsigned short int yystos[] =  static const yytype_uint16 yystos[] =
2696  {  {
2697         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,         0,     1,     3,    19,    21,    22,    24,    25,    30,    31,
2698        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,        35,    36,    37,    39,   228,   229,   230,   231,   294,   295,
2699       274,   275,   278,   279,   280,   281,   282,   317,   320,    24,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2700        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,       310,   311,   312,   313,   390,   394,    22,    30,    33,    36,
2701         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,        23,    27,    23,    27,    33,    19,    33,    39,    23,    23,
2702        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        39,    32,     0,   225,   226,   292,   293,     3,     4,     5,
2703        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2704        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2705        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2706        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2707        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2708        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2709        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2710        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2711       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2712       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2713       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2714       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2715       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2716       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2717       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2718       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2719       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2720       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2721       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2722       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2723       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2724       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       216,   217,   218,   219,   220,   221,   224,   283,   286,   287,
2725       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,       288,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2726        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,       291,   291,   291,   291,   291,   291,   291,   291,   291,    22,
2727        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        23,    34,    23,    37,    32,    38,    37,    19,    34,    40,
2728       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        27,    31,    37,    38,    20,    31,    37,   292,     9,    10,
2729        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,        11,    12,    13,    14,    15,    16,    17,    18,   285,   286,
2730        21,    23,    25,    33,   234,   283,   284,   285,   286,   294,       285,   285,   285,   285,   285,   285,   285,   285,     3,     9,
2731       296,   297,   298,   299,   300,   301,   303,   305,   306,   307,        10,    11,    12,    13,    14,    15,    16,    17,    18,   288,
2732       308,   309,   310,    21,    33,   236,   297,   307,   237,   297,        21,    22,    31,   232,   314,   363,   373,   375,    19,    21,
2733       307,    21,    23,    33,   242,   284,   285,   286,   296,   303,        22,    23,    24,    31,    37,    38,    40,   238,   314,   315,
2734       306,    29,   238,   293,   294,   283,    21,    25,    33,   235,       316,   317,   339,   340,   343,   348,   349,   350,   351,   352,
2735       283,   295,   300,   304,   305,   319,    22,    23,    33,    39,       353,   355,   357,   358,   359,   360,   361,   362,   363,   364,
2736        42,   232,   288,   289,   290,   291,   292,   318,   233,   288,       365,   366,   371,   372,   373,   374,   375,   376,   377,   383,
2737       289,   290,   291,   292,   318,   259,   265,   267,   283,    21,       384,    31,   235,   361,   236,   361,    31,   242,   362,    22,
2738        40,    40,    24,    40,    35,    25,    25,    39,    41,   262,       243,   374,   375,    22,   244,   373,   376,   245,   373,   376,
2739        28,    41,    42,    28,    34,    29,   267,   267,   267,   267,        19,    24,    31,   240,   349,   359,   371,   246,   349,   359,
2740       267,   267,   267,   267,   267,   267,   267,   267,    41,    29,       371,    19,    21,    24,    31,   252,   315,   316,   317,   348,
2741       267,   267,   267,   267,    41,    28,    29,    34,   267,   267,       355,   358,   362,   364,   372,   374,   375,    27,   247,   342,
2742       267,    41,    23,    29,   267,   267,   267,   267,   267,   267,       343,   237,   314,   363,   373,   376,    19,    23,    31,   239,
2743        41,    28,    29,    40,    35,   259,   267,   267,    40,    38,       314,   347,   352,   356,   357,   363,   371,   373,   376,   384,
2744        42,    40,    23,    23,    22,    21,    24,    21,    21,    27,       393,    19,    20,    21,    22,    24,    25,    31,    37,    38,
2745        24,    29,   287,   290,   291,   292,   287,   287,   287,   287,        40,   233,   319,   320,   321,   322,   323,   324,   325,   326,
2746       287,   287,   287,   287,   287,   287,   287,    24,    24,   259,       327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2747       259,    12,    13,    14,    15,    16,    17,    18,    19,    20,       337,   338,   339,   341,   391,   234,   319,   320,   321,   322,
2748       263,   263,    24,    21,    24,    39,     6,     7,    34,   243,       323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
2749       255,   266,   277,   244,   254,   259,   252,   263,    24,    28,       333,   334,   335,   336,   337,   338,   339,   341,   391,   241,
2750        24,    21,    33,    42,   239,   297,   301,   302,   307,   310,       314,    19,    43,    19,    38,    22,    38,    22,    23,    38,
2751       311,   312,   313,   314,   263,   263,   263,   263,   258,   259,        33,    23,    37,    19,    39,   286,    26,    20,    27,   291,
2752       263,    26,    21,    39,    38,    29,   252,    25,    35,    25,       291,   291,    39,    40,    26,    20,    32,    42,    27,    23,
2753        40,    38,    39,    34,    29,    29,    34,    29,    29,    34,        33,    33,   291,   291,   291,   291,   291,   291,   291,   291,
2754       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2755       267,   267,   267,   267,   267,    29,    29,   267,   267,    29,       291,   291,   291,   291,   291,    27,   291,   291,    27,   291,
2756        34,    29,    40,   265,   265,    35,   267,   267,   267,    29,        20,   291,   291,    20,   291,   291,   291,   291,    39,    42,
2757        35,    29,    41,    29,    35,   267,   267,   267,   267,   267,        27,   291,   291,   291,   291,   291,   291,    39,    26,    42,
2758       267,   267,   267,   267,   267,   267,   267,   267,    26,    34,        27,   291,   291,   291,   291,    32,   291,   291,   291,   291,
2759        23,    25,    23,    45,    29,    23,    34,    35,    32,    34,       291,   291,    39,    21,    27,   291,   291,   291,   291,   291,
2760        34,    91,    26,   252,    22,    36,   241,   315,   316,   252,       291,   291,   291,   291,   291,   291,    39,    39,    26,    20,
2761       252,   254,   263,   259,   259,   263,   263,   263,   263,   259,        42,    30,    27,    38,    33,    33,   291,    36,    38,    36,
2762       259,   263,    35,    91,   240,   259,   240,    35,    34,    91,        40,    38,    21,    34,    20,    19,    89,    22,   222,   223,
2763        38,     6,     7,    34,   253,   263,   255,   252,    35,    91,       274,   290,   271,   290,    24,    32,    36,   271,   281,   309,
2764        24,    24,    32,   252,   252,   252,   252,   252,   252,   252,       380,   381,   382,    22,    19,    19,    89,    25,    89,    22,
2765       252,   252,   259,   263,   259,   263,    25,    34,    25,    21,        36,    38,    30,    27,   318,   336,   337,   338,   318,   318,
2766        25,    22,    38,    25,    91,    21,    25,    25,    29,    35,       318,   318,   318,   318,   318,   318,   318,   318,    10,    11,
2767        45,    25,   267,   267,   267,   267,   267,   267,   267,    91,        12,    13,    14,    15,    16,    17,    18,    19,   262,   287,
2768        29,   267,     4,    91,    25,    29,    41,    91,   267,   267,       306,   318,   318,   318,   318,   267,   287,   318,   271,   381,
2769        91,    29,    29,    29,    41,   267,   267,   267,   267,   267,       271,   381,   318,   318,   318,    22,    32,   249,   309,   262,
2770       267,   267,   267,   267,     4,   267,     4,   267,    38,    25,        22,   262,   306,    89,    32,   271,   382,   271,   382,    89,
2771        32,    33,    91,    25,    29,    32,    35,    22,    32,    34,       271,   271,   271,   271,    22,    89,    22,   283,   283,   267,
2772        40,    38,   252,   259,   263,   263,   263,   259,   263,    35,       287,   287,   267,    22,    19,    89,    22,   262,   306,   267,
2773        34,   259,     6,     7,     9,    10,   256,   257,   259,   260,       271,   381,   271,   381,    37,   253,   273,   290,   309,   254,
2774       261,   262,   263,    35,    32,    34,    33,    33,   252,   253,       270,   283,   267,   262,   306,    24,   271,   379,   271,    22,
2775        35,    34,    35,    91,    33,   245,   263,   246,   263,   247,        26,    22,    19,    31,    37,   248,   349,   353,   354,   359,
2776       259,   245,   248,   263,    21,   249,   263,   276,   250,   259,       363,   366,   367,   368,   369,   384,   386,   387,   287,   287,
2777       245,     9,    10,   251,   260,   263,   256,   259,   256,   259,       287,   287,    32,   392,    19,    30,    31,   353,   370,   385,
2778        91,    32,    32,    91,    23,    22,    41,    32,    39,    36,       392,    22,   378,   392,   378,   392,     7,     8,   266,   284,
2779        25,    23,   267,   267,   267,   267,    41,    36,     4,   259,       285,   286,   287,   282,   283,   287,    22,    24,    19,    89,
2780       259,   261,   261,     5,     8,    41,    36,    25,    35,   267,        89,    33,    22,    37,    36,    38,    27,   267,    23,    33,
2781        41,    36,    91,    29,    25,   267,    32,   267,     4,     4,        23,    36,    37,    32,    27,    27,   283,   289,   291,   289,
2782        26,    91,    21,    23,    35,    25,    40,    25,    41,    39,        30,    33,    23,   291,   291,   291,    27,    27,    32,    27,
2783        25,   240,   259,   259,   240,    40,    41,   256,     6,     7,        27,    37,    27,    40,    19,    39,    32,   291,   291,   291,
2784         8,     8,   257,   261,    40,    41,    34,    24,   252,    40,       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2785        41,    35,    34,   246,    32,   248,   256,   256,    29,    23,       291,    30,   291,   291,   291,   291,   291,   291,   291,   291,
2786        29,    34,    35,    41,    36,    91,    40,    34,    36,    40,       291,    27,    33,   262,   291,   291,    27,    27,    33,   291,
2787       261,   261,    36,    40,    40,    21,    36,    40,    41,    36,       291,   291,   291,    27,   291,   291,   291,   291,    27,    37,
2788       267,    32,    35,    34,    25,    41,    34,    41,    21,    25,        27,   291,   291,   291,   291,    27,    32,    37,    27,   291,
2789        33,    91,    40,    41,    91,    41,    91,    32,    41,    91,       291,    38,   291,   291,   291,    33,   291,    27,    33,    27,
2790        40,    41,   249,    32,    41,    26,    35,    34,    40,    40,        39,    27,    39,    33,   291,   291,   291,   291,   291,   291,
2791        41,    34,    29,    24,    36,    21,    40,    24,    40,    24,       291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2792        40,    24,    36,    36,    40,    34,    35,    41,    40,    91,        19,   291,    39,    23,    27,   291,   291,   291,   291,    23,
2793        24,    27,    24,    25,    38,    35,    27,    91,    25,    91,       291,   291,   291,   291,   285,   285,     6,    27,    24,    32,
2794        25,    91,    25,    35,    41,    91,    40,    39,    23,    24,        27,    37,    20,    27,    21,    23,    19,    21,    43,    27,
2795        29,    29,    29,    42,    29,    38,    25,    24,    42,    24,        21,    32,    32,    89,   222,   283,   291,   223,    19,    32,
2796        42,    23,    24,    42,    38,    40,    23,    36,    40,    28,        21,   271,   271,   271,   281,    33,    30,    32,    32,    32,
2797        25,    38,    35,    34,    91,    29,    42,    40,    25,    29,        23,    89,    23,    30,    31,    24,   267,    20,    34,   251,
2798        25,    29,    28,    25,    29,    40,    91,    28,    35,    45,       388,   389,   267,   267,   270,   287,   283,   283,   287,   287,
2799        21,    42,    29,    91,    25,    29,    23,    25,    91,    42,       287,   287,   283,   262,    30,   262,   283,   287,   267,   271,
2800        23,    42,    23,    21,    42,    23,    23,    40,    21,    38,       271,   271,   271,   287,    89,    32,   291,   263,   287,    89,
2801        36,    34,    29,    42,    35,    39,    34,    25,    38,    36,        32,    32,   279,   283,   271,   279,   271,    32,   271,   271,
2802        29,    25,    29,    25,    34,    29,    25,    28,    45,    34,       271,   271,    33,    23,    89,   250,   283,   250,   265,   287,
2803        40,    25,    34,    23,    25,    41,    36,    39,    91,    21,       269,   287,    33,    32,    23,    89,   271,   271,    36,   268,
2804        23,    23,    34,    23,    91,    21,    36,    34,    25,    25,       287,   273,   267,    36,   271,    33,    89,    22,    22,    38,
2805        38,    40,    41,    36,    38,    25,    25,    25,    25,    36,        30,   267,   267,   267,   267,   267,   267,   267,   267,   267,
2806        34,    25,    25,    32,    39,    91,    36,    40,    21,    21,       267,   267,   267,   283,   287,   283,   287,    31,   262,    22,
2807        32,    91,    21,    34,    32,    91,    36,    41,    91,    38,        40,    22,   267,   267,   267,   267,    37,   271,   271,   271,
2808        33,    36,    38,    25,    36,    21,    40,    24,    21,    25,       271,     6,     6,   285,    33,    23,    32,    32,    23,    19,
2809        21,    21,    32,    21,    38,    91,    38,    33,    40,    38,        89,    23,    19,    30,    23,    20,    36,    23,    37,    27,
2810        33,    38,    21,    24,    29,    25,    25,    21,    25,    21,        38,    89,    39,   291,   291,   291,   291,    89,    19,    23,
2811        33,    38,    42,    40,    38,    33,    40,    33,    25,    29,        37,    23,    32,    27,    36,    89,    23,    33,    43,    23,
2812        25,    25,    25,    25,    25,    40,    42,    38,    38,    40,       291,   291,   291,   291,   291,   291,   291,   291,   291,    27,
2813        38,    40,    25,    25,    39,    25,    25,    38,    38,    38,        89,   263,   291,    27,    37,    89,   291,     4,   291,   291,
2814        38,    39        37,    89,    32,    27,   291,     4,   291,    89,    23,    32,
2815          27,    39,   291,   291,    21,    89,    27,    27,    27,    23,
2816          33,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2817         291,   291,   291,     4,   291,     4,   291,    23,   291,    27,
2818          23,    27,   291,   291,   291,   291,    21,   291,   291,   291,
2819         291,   285,   285,    89,    36,    23,    37,    32,    30,    27,
2820          30,    31,    89,    89,    23,    27,    30,    38,    32,    31,
2821          36,    36,   268,   271,   271,   271,    33,    20,    30,    38,
2822          22,    32,    40,    38,    36,   267,   283,   287,   287,   287,
2823         283,   263,   287,   269,    32,   291,   264,   287,    32,    38,
2824         283,   280,   283,   290,   279,   279,    38,    33,    22,    32,
2825         283,     7,     8,   277,   278,   283,   284,   287,   290,   276,
2826         290,    33,    30,    22,    32,    31,   267,   268,    23,    33,
2827          32,    33,    89,   256,   287,   257,   287,   258,   283,   256,
2828          22,    32,   262,   307,   308,   259,   287,   260,   287,   306,
2829         261,   283,   256,   266,   282,   282,   277,   283,   277,   283,
2830         274,    33,    30,    89,   269,   269,   269,   269,    36,   290,
2831         272,   290,   290,   272,    33,    89,    30,    38,    22,    89,
2832          32,    30,    89,    40,    21,    20,    36,    37,    33,    23,
2833          37,   291,   291,    39,    30,    37,    36,    37,    34,    37,
2834          33,    23,    21,   291,   291,   291,   291,   291,    37,   264,
2835          37,    36,     4,    36,    39,    34,     4,     5,    39,    34,
2836          37,    23,   291,    39,    34,    89,    27,   291,    23,    33,
2837         291,     4,     4,    89,    21,   291,   291,   291,   291,    27,
2838          39,    24,    89,    36,    89,    27,    34,    37,    19,    21,
2839          33,    33,    23,    39,    38,    22,    21,    27,   268,   271,
2840          38,    23,    39,    39,    38,    27,    37,    23,   250,   283,
2841         283,   250,   264,    38,   291,    38,    39,   280,    39,    38,
2842          39,   277,   278,    38,    39,    38,    32,   267,    38,    39,
2843          33,    32,   257,    24,    32,   259,   277,   277,    33,    33,
2844         257,   265,   266,   276,    34,    38,    27,    21,    27,    39,
2845          21,    27,    32,    39,    38,    32,    33,    27,    39,    31,
2846          36,    19,    39,    40,    34,    89,    31,    38,    36,    21,
2847          32,    36,   270,    36,    31,    31,    34,    38,    34,    38,
2848          36,    38,    34,    38,    39,    34,    19,    23,   291,    39,
2849          32,   291,    38,    34,    30,    33,    32,    31,    33,    32,
2850          24,    38,    36,    23,    39,    21,    32,    23,    39,    30,
2851          36,    23,    39,    19,    23,    31,    23,    89,    39,    23,
2852          38,    39,   291,    39,    23,    23,    39,    89,    39,    89,
2853          39,    39,    89,    38,    39,    39,   260,    38,    38,   257,
2854          27,    39,    30,    39,    24,    23,    39,    24,    33,    89,
2855          39,    33,    32,    23,    38,    32,    31,    37,    38,    39,
2856          32,    27,    32,    22,    34,    31,    89,    19,    31,   273,
2857          31,    32,    32,    38,    22,    38,    22,    31,    38,    22,
2858          34,    34,    38,    30,    34,    36,    33,    38,    32,    33,
2859          32,    32,    33,    22,    31,    39,    38,    89,    38,    23,
2860          27,    89,    22,    25,    22,    38,    23,    36,    33,    23,
2861          21,    25,    23,   291,    23,    38,    38,    89,    23,    89,
2862          23,    23,    89,    23,    33,    39,    89,    38,    39,    33,
2863          32,    89,    38,    38,    38,    23,    23,    37,    21,    37,
2864          89,    32,    40,    21,    22,    27,    27,    27,    37,    89,
2865          40,    27,    36,    32,    33,    23,    32,   268,    32,    89,
2866          22,    40,    22,    40,    32,    21,    22,    40,    36,    38,
2867          21,    34,    38,    38,    30,    22,    37,    89,    40,    32,
2868          33,    22,    38,    23,    26,    23,    36,    33,    32,    89,
2869          89,    22,    27,    40,    38,    38,    39,    38,   291,    38,
2870          22,    23,    27,    23,    27,    38,    26,    23,    27,    38,
2871          89,    26,    33,    43,    89,    30,    23,    89,    21,    22,
2872          27,    27,    38,    39,    27,    89,    19,    40,    27,    89,
2873          23,    27,    28,    27,    21,    23,    89,    37,    89,    32,
2874         266,    27,    40,    21,    40,    21,    89,    19,    40,    21,
2875          21,    38,    19,    36,    34,    23,    40,    28,    33,    27,
2876          32,    21,    89,    32,    36,    31,    32,    27,    40,    33,
2877          37,    32,    33,    36,    23,    36,    34,    31,    38,   291,
2878          36,    27,    23,    27,    23,    31,    32,    27,    23,    26,
2879          43,    32,    38,    23,    36,    27,    33,    39,    36,    24,
2880          23,    21,    27,    31,    38,    23,    19,    32,    21,    23,
2881          39,    34,    20,    23,    37,    89,    19,    19,    89,    33,
2882          34,   255,   275,   290,   344,   345,   346,    23,    21,    21,
2883          19,    32,    21,    89,    19,    34,    32,    21,    20,    32,
2884          23,    33,    89,    33,    32,    19,    21,    34,    23,    23,
2885          36,    38,    39,    21,    34,    36,    34,    31,    32,    23,
2886         291,    21,    23,    23,    34,    23,    23,    34,    32,    23,
2887          23,    23,    89,    38,    21,    21,    27,    39,    24,    34,
2888          38,    30,    37,    89,    34,    38,    38,    19,    19,    37,
2889          19,    89,    36,   275,    38,    30,    89,    19,    32,    30,
2890          89,    27,    38,    33,    32,    32,    33,    89,    33,    89,
2891          34,    39,    89,    33,    36,    31,    42,    22,    37,    33,
2892          34,    36,    23,    21,    27,    32,    33,    39,    24,    38,
2893          21,    27,    36,    34,    19,    38,    22,    36,    19,    23,
2894          23,    27,    36,    19,    19,    30,    33,    32,    24,    36,
2895          32,    33,    33,    32,    43,    19,    36,    89,    36,    27,
2896          31,    38,    31,    37,    36,    31,    39,    24,    33,    43,
2897          38,    39,    24,    36,    19,    22,    27,    23,    23,    23,
2898          19,    38,    19,    23,    32,    33,    89,    32,    33,    19,
2899          31,    36,    40,    37,    38,    36,    32,    23,    31,    38,
2900          38,    21,    27,    38,    31,    23,    27,    23,    23,    22,
2901          32,    23,    23,    33,    32,    23,    38,    40,    36,    36,
2902          89,    38,    38,    36,    39,    24,    38,    23,    23,    37,
2903          26,    23,    32,    33,    23,    36,    36,    33,    36,    38,
2904          36,    37,    30,    22
2905  };  };
2906    
 #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  
   
2907  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2908  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2909  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 2089  do                                                             \ Line 2929  do                                                             \
2929        yychar = (Token);                                         \        yychar = (Token);                                         \
2930        yylval = (Value);                                         \        yylval = (Value);                                         \
2931        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2932        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2933        goto yybackup;                                            \        goto yybackup;                                            \
2934      }                                                           \      }                                                           \
2935    else                                                          \    else                                                          \
2936      {                                                           \      {                                                           \
2937        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2938        YYERROR;                                                  \        YYERROR;                                                  \
2939      }                                                           \      }                                                           \
2940  while (0)  while (YYID (0))
2941    
2942    
2943  #define YYTERROR        1  #define YYTERROR        1
2944  #define YYERRCODE       256  #define YYERRCODE       256
2945    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2946    
2947    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2948       If N is 0, then set CURRENT to the empty location which ends
2949       the previous symbol: RHS[0] (always defined).  */
2950    
2951    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2952  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2953  # define YYLLOC_DEFAULT(Current, Rhs, N)                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2954     ((Current).first_line   = (Rhs)[1].first_line,       \      do                                                                  \
2955      (Current).first_column = (Rhs)[1].first_column,     \        if (YYID (N))                                                    \
2956      (Current).last_line    = (Rhs)[N].last_line,        \          {                                                               \
2957      (Current).last_column  = (Rhs)[N].last_column)            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2958              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2959              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2960              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2961            }                                                               \
2962          else                                                              \
2963            {                                                               \
2964              (Current).first_line   = (Current).last_line   =              \
2965                YYRHSLOC (Rhs, 0).last_line;                                \
2966              (Current).first_column = (Current).last_column =              \
2967                YYRHSLOC (Rhs, 0).last_column;                              \
2968            }                                                               \
2969        while (YYID (0))
2970  #endif  #endif
2971    
2972    
2973    /* YY_LOCATION_PRINT -- Print the location on the stream.
2974       This macro was not mandated originally: define only if we know
2975       we won't break user code: when these are the locations we know.  */
2976    
2977    #ifndef YY_LOCATION_PRINT
2978    # if YYLTYPE_IS_TRIVIAL
2979    #  define YY_LOCATION_PRINT(File, Loc)                  \
2980         fprintf (File, "%d.%d-%d.%d",                      \
2981                  (Loc).first_line, (Loc).first_column,     \
2982                  (Loc).last_line,  (Loc).last_column)
2983    # else
2984    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2985    # endif
2986    #endif
2987    
2988    
2989  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2990    
2991  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2133  while (0) Line 3006  while (0)
3006  do {                                            \  do {                                            \
3007    if (yydebug)                                  \    if (yydebug)                                  \
3008      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
3009  } while (0)  } while (YYID (0))
3010    
3011  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
3012  do {                                            \  do {                                                                      \
3013    if (yydebug)                                  \    if (yydebug)                                                            \
3014      yysymprint Args;                            \      {                                                                     \
3015  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
3016          yy_symbol_print (stderr,                                            \
3017                      Type, Value); \
3018          YYFPRINTF (stderr, "\n");                                           \
3019        }                                                                     \
3020    } while (YYID (0))
3021    
3022  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
3023  do {                                                            \  /*--------------------------------.
3024    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
3025      {                                                           \  `--------------------------------*/
3026        YYFPRINTF (stderr, "%s ", Title);                         \  
3027        yysymprint (stderr,                                       \  /*ARGSUSED*/
3028                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
3029        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
3030      }                                                           \  static void
3031  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3032    #else
3033    static void
3034    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3035        FILE *yyoutput;
3036        int yytype;
3037        YYSTYPE const * const yyvaluep;
3038    #endif
3039    {
3040      if (!yyvaluep)
3041        return;
3042    # ifdef YYPRINT
3043      if (yytype < YYNTOKENS)
3044        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3045    # else
3046      YYUSE (yyoutput);
3047    # endif
3048      switch (yytype)
3049        {
3050          default:
3051            break;
3052        }
3053    }
3054    
3055    
3056    /*--------------------------------.
3057    | Print this symbol on YYOUTPUT.  |
3058    `--------------------------------*/
3059    
3060    #if (defined __STDC__ || defined __C99__FUNC__ \
3061         || defined __cplusplus || defined _MSC_VER)
3062    static void
3063    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3064    #else
3065    static void
3066    yy_symbol_print (yyoutput, yytype, yyvaluep)
3067        FILE *yyoutput;
3068        int yytype;
3069        YYSTYPE const * const yyvaluep;
3070    #endif
3071    {
3072      if (yytype < YYNTOKENS)
3073        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3074      else
3075        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3076    
3077      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3078      YYFPRINTF (yyoutput, ")");
3079    }
3080    
3081  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
3082  | 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 |
3083  | TOP (included).                                                   |  | TOP (included).                                                   |
3084  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
3085    
3086  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3087         || defined __cplusplus || defined _MSC_VER)
3088  static void  static void
3089  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3090  #else  #else
3091  static void  static void
3092  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
3093      short int *bottom;      yytype_int16 *bottom;
3094      short int *top;      yytype_int16 *top;
3095  #endif  #endif
3096  {  {
3097    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
3098    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
3099      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
3100    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
3101  }  }
# Line 2177  yy_stack_print (bottom, top) Line 3104  yy_stack_print (bottom, top)
3104  do {                                                            \  do {                                                            \
3105    if (yydebug)                                                  \    if (yydebug)                                                  \
3106      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
3107  } while (0)  } while (YYID (0))
3108    
3109    
3110  /*------------------------------------------------.  /*------------------------------------------------.
3111  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
3112  `------------------------------------------------*/  `------------------------------------------------*/
3113    
3114  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3115         || defined __cplusplus || defined _MSC_VER)
3116  static void  static void
3117  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
3118  #else  #else
3119  static void  static void
3120  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
3121        YYSTYPE *yyvsp;
3122      int yyrule;      int yyrule;
3123  #endif  #endif
3124  {  {
3125      int yynrhs = yyr2[yyrule];
3126    int yyi;    int yyi;
3127    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
3128    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3129               yyrule - 1, yylno);               yyrule - 1, yylno);
3130    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
3131    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
3132      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
3133    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
3134          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3135                           &(yyvsp[(yyi + 1) - (yynrhs)])
3136                                           );
3137          fprintf (stderr, "\n");
3138        }
3139  }  }
3140    
3141  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
3142  do {                                    \  do {                                    \
3143    if (yydebug)                          \    if (yydebug)                          \
3144      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
3145  } while (0)  } while (YYID (0))
3146    
3147  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
3148     multiple parsers can coexist.  */     multiple parsers can coexist.  */
3149  int yydebug;  int yydebug;
3150  #else /* !YYDEBUG */  #else /* !YYDEBUG */
3151  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
3152  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
3153  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
3154  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
3155  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2230  int yydebug; Line 3164  int yydebug;
3164     if the built-in stack extension method is used).     if the built-in stack extension method is used).
3165    
3166     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
3167     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3168     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
3169    
 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
3170  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
3171  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
3172  #endif  #endif
# Line 2246  int yydebug; Line 3176  int yydebug;
3176  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
3177    
3178  # ifndef yystrlen  # ifndef yystrlen
3179  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
3180  #   define yystrlen strlen  #   define yystrlen strlen
3181  #  else  #  else
3182  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
3183    #if (defined __STDC__ || defined __C99__FUNC__ \
3184         || defined __cplusplus || defined _MSC_VER)
3185  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
3186  yystrlen (const char *yystr)  yystrlen (const char *yystr)
3187  #   else  #else
3188    static YYSIZE_T
3189  yystrlen (yystr)  yystrlen (yystr)
3190       const char *yystr;      const char *yystr;
3191  #   endif  #endif
3192  {  {
3193    register const char *yys = yystr;    YYSIZE_T yylen;
3194      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
3195      continue;      continue;
3196      return yylen;
   return yys - yystr - 1;  
3197  }  }
3198  #  endif  #  endif
3199  # endif  # endif
3200    
3201  # ifndef yystpcpy  # ifndef yystpcpy
3202  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3203  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
3204  #  else  #  else
3205  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3206     YYDEST.  */     YYDEST.  */
3207    #if (defined __STDC__ || defined __C99__FUNC__ \
3208         || defined __cplusplus || defined _MSC_VER)
3209  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
3210  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
3211  #   else  #else
3212    static char *
3213  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
3214       char *yydest;      char *yydest;
3215       const char *yysrc;      const char *yysrc;
3216  #   endif  #endif
3217  {  {
3218    register char *yyd = yydest;    char *yyd = yydest;
3219    register const char *yys = yysrc;    const char *yys = yysrc;
3220    
3221    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
3222      continue;      continue;
# Line 2294  yystpcpy (yydest, yysrc) Line 3226  yystpcpy (yydest, yysrc)
3226  #  endif  #  endif
3227  # endif  # endif
3228    
3229  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
3230    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3231       quotes and backslashes, so that it's suitable for yyerror.  The
3232       heuristic is that double-quoting is unnecessary unless the string
3233       contains an apostrophe, a comma, or backslash (other than
3234       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3235       null, do not copy; instead, return the length of what the result
3236       would have been.  */
3237    static YYSIZE_T
3238    yytnamerr (char *yyres, const char *yystr)
3239    {
3240      if (*yystr == '"')
3241        {
3242          YYSIZE_T yyn = 0;
3243          char const *yyp = yystr;
3244    
3245          for (;;)
3246            switch (*++yyp)
3247              {
3248              case '\'':
3249              case ',':
3250                goto do_not_strip_quotes;
3251    
3252              case '\\':
3253                if (*++yyp != '\\')
3254                  goto do_not_strip_quotes;
3255                /* Fall through.  */
3256              default:
3257                if (yyres)
3258                  yyres[yyn] = *yyp;
3259                yyn++;
3260                break;
3261    
3262              case '"':
3263                if (yyres)
3264                  yyres[yyn] = '\0';
3265                return yyn;
3266              }
3267        do_not_strip_quotes: ;
3268        }
3269    
3270  #if YYDEBUG    if (! yyres)
3271  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
3272    
3273  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
3274  static void  }
3275  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
3276  #else  
3277  static void  /* Copy into YYRESULT an error message about the unexpected token
3278  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
3279      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
3280      int yytype;     copy anything; just return the number of bytes that would be
3281      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
3282  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
3283       size calculation.  */
3284    static YYSIZE_T
3285    yysyntax_error (char *yyresult, int yystate, int yychar)
3286  {  {
3287    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
3288    
3289    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3290        return 0;
3291      else
3292      {      {
3293        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
3294  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3295        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
3296          YYSIZE_T yysize1;
3297          int yysize_overflow = 0;
3298          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3299          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3300          int yyx;
3301    
3302    # if 0
3303          /* This is so xgettext sees the translatable formats that are
3304             constructed on the fly.  */
3305          YY_("syntax error, unexpected %s");
3306          YY_("syntax error, unexpected %s, expecting %s");
3307          YY_("syntax error, unexpected %s, expecting %s or %s");
3308          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3309          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3310  # endif  # endif
3311      }        char *yyfmt;
3312    else        char const *yyf;
3313      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
3314          static char const yyexpecting[] = ", expecting %s";
3315          static char const yyor[] = " or %s";
3316          char yyformat[sizeof yyunexpected
3317                        + sizeof yyexpecting - 1
3318                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3319                           * (sizeof yyor - 1))];
3320          char const *yyprefix = yyexpecting;
3321    
3322          /* Start YYX at -YYN if negative to avoid negative indexes in
3323             YYCHECK.  */
3324          int yyxbegin = yyn < 0 ? -yyn : 0;
3325    
3326          /* Stay within bounds of both yycheck and yytname.  */
3327          int yychecklim = YYLAST - yyn + 1;
3328          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3329          int yycount = 1;
3330    
3331          yyarg[0] = yytname[yytype];
3332          yyfmt = yystpcpy (yyformat, yyunexpected);
3333    
3334          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3335            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3336              {
3337                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3338                  {
3339                    yycount = 1;
3340                    yysize = yysize0;
3341                    yyformat[sizeof yyunexpected - 1] = '\0';
3342                    break;
3343                  }
3344                yyarg[yycount++] = yytname[yyx];
3345                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3346                yysize_overflow |= (yysize1 < yysize);
3347                yysize = yysize1;
3348                yyfmt = yystpcpy (yyfmt, yyprefix);
3349                yyprefix = yyor;
3350              }
3351    
3352          yyf = YY_(yyformat);
3353          yysize1 = yysize + yystrlen (yyf);
3354          yysize_overflow |= (yysize1 < yysize);
3355          yysize = yysize1;
3356    
3357    switch (yytype)        if (yysize_overflow)
3358      {          return YYSIZE_MAXIMUM;
3359        default:  
3360          break;        if (yyresult)
3361            {
3362              /* Avoid sprintf, as that infringes on the user's name space.
3363                 Don't have undefined behavior even if the translation
3364                 produced a string with the wrong number of "%s"s.  */
3365              char *yyp = yyresult;
3366              int yyi = 0;
3367              while ((*yyp = *yyf) != '\0')
3368                {
3369                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3370                    {
3371                      yyp += yytnamerr (yyp, yyarg[yyi++]);
3372                      yyf += 2;
3373                    }
3374                  else
3375                    {
3376                      yyp++;
3377                      yyf++;
3378                    }
3379                }
3380            }
3381          return yysize;
3382      }      }
   YYFPRINTF (yyoutput, ")");  
3383  }  }
3384    #endif /* YYERROR_VERBOSE */
3385    
3386    
 #endif /* ! YYDEBUG */  
3387  /*-----------------------------------------------.  /*-----------------------------------------------.
3388  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
3389  `-----------------------------------------------*/  `-----------------------------------------------*/
3390    
3391  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
3392    #if (defined __STDC__ || defined __C99__FUNC__ \
3393         || defined __cplusplus || defined _MSC_VER)
3394  static void  static void
3395  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3396  #else  #else
3397  static void  static void
3398  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
3399        const char *yymsg;
3400      int yytype;      int yytype;
3401      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3402  #endif  #endif
3403  {  {
3404    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3405    (void) yyvaluep;  
3406      if (!yymsg)
3407        yymsg = "Deleting";
3408      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3409    
3410    switch (yytype)    switch (yytype)
3411      {      {
3412    
3413        default:        default:
3414          break;          break;
3415      }      }
3416  }  }
3417    
# Line 2365  yydestruct (yytype, yyvaluep) Line 3419  yydestruct (yytype, yyvaluep)
3419  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3420    
3421  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3422  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3423  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3424  # else  #else
3425  int yyparse ();  int yyparse ();
3426  # endif  #endif
3427  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3428  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3429  int yyparse (void);  int yyparse (void);
3430  #else  #else
3431  int yyparse ();  int yyparse ();
# Line 2388  int yyparse (); Line 3442  int yyparse ();
3442  `----------*/  `----------*/
3443    
3444  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3445  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3446  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3447  # else  int
3448  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3449    void *YYPARSE_PARAM;  #else
3450  # endif  int
3451    yyparse (YYPARSE_PARAM)
3452        void *YYPARSE_PARAM;
3453    #endif
3454  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3455  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3456         || defined __cplusplus || defined _MSC_VER)
3457  int  int
3458  yyparse (void)  yyparse (void)
3459  #else  #else
# Line 2405  yyparse () Line 3463  yyparse ()
3463  #endif  #endif
3464  #endif  #endif
3465  {  {
3466    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3467  int yychar;  int yychar;
3468    
3469  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3470  YYSTYPE yylval;  YYSTYPE yylval;
3471    
3472  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3473  int yynerrs;  int yynerrs;
3474    
3475    register int yystate;    int yystate;
3476    register int yyn;    int yyn;
3477    int yyresult;    int yyresult;
3478    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3479    int yyerrstatus;    int yyerrstatus;
3480    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3481    int yytoken = 0;    int yytoken = 0;
3482    #if YYERROR_VERBOSE
3483      /* Buffer for error messages, and its allocated size.  */
3484      char yymsgbuf[128];
3485      char *yymsg = yymsgbuf;
3486      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3487    #endif
3488    
3489    /* Three stacks and their tools:    /* Three stacks and their tools:
3490       `yyss': related to states,       `yyss': related to states,
# Line 2431  int yynerrs; Line 3495  int yynerrs;
3495       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3496    
3497    /* The state stack.  */    /* The state stack.  */
3498    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3499    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3500    register short int *yyssp;    yytype_int16 *yyssp;
3501    
3502    /* The semantic value stack.  */    /* The semantic value stack.  */
3503    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3504    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3505    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3506    
3507    
3508    
3509  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3510    
3511    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3512    
# Line 2451  int yynerrs; Line 3515  int yynerrs;
3515    YYSTYPE yyval;    YYSTYPE yyval;
3516    
3517    
3518    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3519       rule.  */       Keep to zero when no symbol should be popped.  */
3520    int yylen;    int yylen = 0;
3521    
3522    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3523    
# Line 2470  int yynerrs; Line 3534  int yynerrs;
3534    yyssp = yyss;    yyssp = yyss;
3535    yyvsp = yyvs;    yyvsp = yyvs;
3536    
   
3537    goto yysetstate;    goto yysetstate;
3538    
3539  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2478  int yynerrs; Line 3541  int yynerrs;
3541  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3542   yynewstate:   yynewstate:
3543    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3544       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3545    yyssp++;    yyssp++;
3546    
3547   yysetstate:   yysetstate:
# Line 2492  int yynerrs; Line 3554  int yynerrs;
3554    
3555  #ifdef yyoverflow  #ifdef yyoverflow
3556        {        {
3557          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3558             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3559             memory.  */             memory.  */
3560          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3561          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3562    
3563    
3564          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3565             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
3566             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3567             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3568          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3569                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3570                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3571    
# Line 2514  int yynerrs; Line 3576  int yynerrs;
3576        }        }
3577  #else /* no yyoverflow */  #else /* no yyoverflow */
3578  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3579        goto yyoverflowlab;        goto yyexhaustedlab;
3580  # else  # else
3581        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3582        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3583          goto yyoverflowlab;          goto yyexhaustedlab;
3584        yystacksize *= 2;        yystacksize *= 2;
3585        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3586          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3587    
3588        {        {
3589          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3590          union yyalloc *yyptr =          union yyalloc *yyptr =
3591            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3592          if (! yyptr)          if (! yyptr)
3593            goto yyoverflowlab;            goto yyexhaustedlab;
3594          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3595          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3596    
# Line 2559  int yynerrs; Line 3621  int yynerrs;
3621  `-----------*/  `-----------*/
3622  yybackup:  yybackup:
3623    
3624  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3625  /* 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.  */  
3626    
3627      /* First try to decide what to do without reference to look-ahead token.  */
3628    yyn = yypact[yystate];    yyn = yypact[yystate];
3629    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3630      goto yydefault;      goto yydefault;
3631    
3632    /* 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.  */
3633    
3634    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3635    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3636      {      {
3637        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2586  yybackup: Line 3646  yybackup:
3646    else    else
3647      {      {
3648        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3649        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3650      }      }
3651    
3652    /* If the proper action on seeing token YYTOKEN is to reduce or to    /* If the proper action on seeing token YYTOKEN is to reduce or to
# Line 2606  yybackup: Line 3666  yybackup:
3666    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3667      YYACCEPT;      YYACCEPT;
3668    
   /* 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;  
   
   
3669    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3670       status.  */       status.  */
3671    if (yyerrstatus)    if (yyerrstatus)
3672      yyerrstatus--;      yyerrstatus--;
3673    
3674      /* Shift the look-ahead token.  */
3675      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3676    
3677      /* Discard the shifted token unless it is eof.  */
3678      if (yychar != YYEOF)
3679        yychar = YYEMPTY;
3680    
3681    yystate = yyn;    yystate = yyn;
3682      *++yyvsp = yylval;
3683    
3684    goto yynewstate;    goto yynewstate;
3685    
3686    
# Line 2657  yyreduce: Line 3716  yyreduce:
3716    switch (yyn)    switch (yyn)
3717      {      {
3718          case 4:          case 4:
3719  #line 86 "lscp.y"  #line 101 "lscp.y"
3720      { return LSCP_DONE; }      { return LSCP_DONE; }
3721      break;      break;
3722    
3723    case 5:    case 5:
3724  #line 87 "lscp.y"  #line 102 "lscp.y"
3725      { return LSCP_DONE; }      { return LSCP_DONE; }
3726      break;      break;
3727    
3728    case 6:    case 6:
3729  #line 88 "lscp.y"  #line 103 "lscp.y"
3730      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3731      break;      break;
3732    
3733    case 7:    case 7:
3734  #line 89 "lscp.y"  #line 104 "lscp.y"
3735      { 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; }
3736      break;      break;
3737    
3738    case 13:    case 13:
3739  #line 99 "lscp.y"  #line 114 "lscp.y"
3740      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3741      break;      break;
3742    
3743    case 14:    case 14:
3744  #line 100 "lscp.y"  #line 115 "lscp.y"
3745      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3746      break;      break;
3747    
3748    case 15:    case 15:
3749  #line 101 "lscp.y"  #line 116 "lscp.y"
3750      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3751      break;      break;
3752    
3753    case 16:    case 16:
3754  #line 102 "lscp.y"  #line 117 "lscp.y"
3755      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3756      break;      break;
3757    
3758    case 17:    case 17:
3759  #line 103 "lscp.y"  #line 118 "lscp.y"
3760      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3761      break;      break;
3762    
3763    case 18:    case 18:
3764  #line 104 "lscp.y"  #line 119 "lscp.y"
3765      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3766      break;      break;
3767    
3768    case 19:    case 19:
3769  #line 105 "lscp.y"  #line 120 "lscp.y"
3770      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3771      break;      break;
3772    
3773    case 20:    case 20:
3774  #line 106 "lscp.y"  #line 121 "lscp.y"
3775      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3776      break;      break;
3777    
3778    case 21:    case 21:
3779  #line 107 "lscp.y"  #line 122 "lscp.y"
3780      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3781      break;      break;
3782    
3783    case 22:    case 22:
3784  #line 108 "lscp.y"  #line 123 "lscp.y"
3785      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3786      break;      break;
3787    
3788    case 23:    case 23:
3789  #line 109 "lscp.y"  #line 124 "lscp.y"
3790      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3791      break;      break;
3792    
3793    case 24:    case 24:
3794  #line 110 "lscp.y"  #line 125 "lscp.y"
3795      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3796      break;      break;
3797    
3798    case 25:    case 25:
3799  #line 111 "lscp.y"  #line 126 "lscp.y"
3800      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3801      break;      break;
3802    
3803    case 26:    case 26:
3804  #line 112 "lscp.y"  #line 127 "lscp.y"
3805      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3806      break;      break;
3807    
3808    case 27:    case 27:
3809  #line 115 "lscp.y"  #line 128 "lscp.y"
3810      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3811      break;      break;
3812    
3813    case 28:    case 28:
3814  #line 116 "lscp.y"  #line 129 "lscp.y"
3815      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3816      break;      break;
3817    
3818    case 29:    case 29:
3819  #line 117 "lscp.y"  #line 130 "lscp.y"
3820      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3821      break;      break;
3822    
3823    case 30:    case 30:
3824  #line 118 "lscp.y"  #line 131 "lscp.y"
3825      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3826      break;      break;
3827    
3828    case 31:    case 31:
3829  #line 119 "lscp.y"  #line 132 "lscp.y"
3830      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3831      break;      break;
3832    
3833    case 32:    case 32:
3834  #line 120 "lscp.y"  #line 135 "lscp.y"
3835      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3836      break;      break;
3837    
3838    case 33:    case 33:
3839  #line 123 "lscp.y"  #line 136 "lscp.y"
3840      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String));          }
3841      break;      break;
3842    
3843    case 34:    case 34:
3844  #line 124 "lscp.y"  #line 137 "lscp.y"
3845      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (9)].String),(yyvsp[(7) - (9)].String),(yyvsp[(9) - (9)].String), true);  }
3846      break;      break;
3847    
3848    case 35:    case 35:
3849  #line 125 "lscp.y"  #line 138 "lscp.y"
3850      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));        }
3851      break;      break;
3852    
3853    case 36:    case 36:
3854  #line 126 "lscp.y"  #line 139 "lscp.y"
3855      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String), -1, true); }
3856      break;      break;
3857    
3858    case 37:    case 37:
3859  #line 127 "lscp.y"  #line 140 "lscp.y"
3860      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (9)].String),(yyvsp[(7) - (9)].String),(yyvsp[(9) - (9)].Number), true);  }
3861      break;      break;
3862    
3863    case 38:    case 38:
3864  #line 128 "lscp.y"  #line 141 "lscp.y"
3865      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));           }
3866      break;      break;
3867    
3868    case 39:    case 39:
3869  #line 131 "lscp.y"  #line 142 "lscp.y"
3870      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number));        }
3871      break;      break;
3872    
3873    case 40:    case 40:
3874  #line 132 "lscp.y"  #line 143 "lscp.y"
3875      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3876      break;      break;
3877    
3878    case 41:    case 41:
3879  #line 133 "lscp.y"  #line 144 "lscp.y"
3880      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3881      break;      break;
3882    
3883    case 42:    case 42:
3884  #line 134 "lscp.y"  #line 147 "lscp.y"
3885      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3886      break;      break;
3887    
3888    case 43:    case 43:
3889  #line 135 "lscp.y"  #line 148 "lscp.y"
3890      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3891      break;      break;
3892    
3893    case 44:    case 44:
3894  #line 136 "lscp.y"  #line 149 "lscp.y"
3895      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3896      break;      break;
3897    
3898    case 45:    case 45:
3899  #line 137 "lscp.y"  #line 150 "lscp.y"
3900      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3901      break;      break;
3902    
3903    case 46:    case 46:
3904  #line 138 "lscp.y"  #line 151 "lscp.y"
3905      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3906      break;      break;
3907    
3908    case 47:    case 47:
3909  #line 139 "lscp.y"  #line 152 "lscp.y"
3910      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3911      break;      break;
3912    
3913    case 48:    case 48:
3914  #line 140 "lscp.y"  #line 153 "lscp.y"
3915      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3916      break;      break;
3917    
3918    case 49:    case 49:
3919  #line 141 "lscp.y"  #line 154 "lscp.y"
3920      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3921      break;      break;
3922    
3923    case 50:    case 50:
3924  #line 142 "lscp.y"  #line 155 "lscp.y"
3925      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3926      break;      break;
3927    
3928    case 51:    case 51:
3929  #line 143 "lscp.y"  #line 156 "lscp.y"
3930      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3931      break;      break;
3932    
3933    case 52:    case 52:
3934  #line 144 "lscp.y"  #line 157 "lscp.y"
3935      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3936      break;      break;
3937    
3938    case 53:    case 53:
3939  #line 145 "lscp.y"  #line 158 "lscp.y"
3940      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3941      break;      break;
3942    
3943    case 54:    case 54:
3944  #line 146 "lscp.y"  #line 159 "lscp.y"
3945      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3946      break;      break;
3947    
3948    case 55:    case 55:
3949  #line 147 "lscp.y"  #line 160 "lscp.y"
3950      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3951      break;      break;
3952    
3953    case 56:    case 56:
3954  #line 148 "lscp.y"  #line 161 "lscp.y"
3955      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3956      break;      break;
3957    
3958    case 57:    case 57:
3959  #line 149 "lscp.y"  #line 162 "lscp.y"
3960      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3961      break;      break;
3962    
3963    case 58:    case 58:
3964  #line 150 "lscp.y"  #line 163 "lscp.y"
3965      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3966      break;      break;
3967    
3968    case 59:    case 59:
3969  #line 151 "lscp.y"  #line 164 "lscp.y"
3970      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count);       }
3971      break;      break;
3972    
3973    case 60:    case 60:
3974  #line 152 "lscp.y"  #line 165 "lscp.y"
3975      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info);        }
3976      break;      break;
3977    
3978    case 61:    case 61:
3979  #line 153 "lscp.y"  #line 166 "lscp.y"
3980      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instrs_job_info);   }
3981      break;      break;
3982    
3983    case 62:    case 62:
3984  #line 156 "lscp.y"  #line 167 "lscp.y"
3985      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3986      break;      break;
3987    
3988    case 63:    case 63:
3989  #line 157 "lscp.y"  #line 168 "lscp.y"
3990      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3991      break;      break;
3992    
3993    case 64:    case 64:
3994  #line 158 "lscp.y"  #line 169 "lscp.y"
3995      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3996      break;      break;
3997    
3998    case 65:    case 65:
3999  #line 159 "lscp.y"  #line 172 "lscp.y"
4000      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
4001      break;      break;
4002    
4003    case 66:    case 66:
4004  #line 160 "lscp.y"  #line 173 "lscp.y"
4005      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
4006      break;      break;
4007    
4008    case 67:    case 67:
4009  #line 161 "lscp.y"  #line 174 "lscp.y"
4010      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
4011      break;      break;
4012    
4013    case 68:    case 68:
4014  #line 164 "lscp.y"  #line 175 "lscp.y"
4015      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
4016      break;      break;
4017    
4018    case 69:    case 69:
4019  #line 165 "lscp.y"  #line 176 "lscp.y"
4020      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
4021      break;      break;
4022    
4023    case 70:    case 70:
4024  #line 166 "lscp.y"  #line 177 "lscp.y"
4025      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
4026      break;      break;
4027    
4028    case 71:    case 71:
4029  #line 167 "lscp.y"  #line 178 "lscp.y"
4030      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
4031      break;      break;
4032    
4033    case 72:    case 72:
4034  #line 170 "lscp.y"  #line 179 "lscp.y"
4035      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
4036      break;      break;
4037    
4038    case 73:    case 73:
4039  #line 171 "lscp.y"  #line 180 "lscp.y"
4040      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
4041      break;      break;
4042    
4043    case 74:    case 74:
4044  #line 174 "lscp.y"  #line 181 "lscp.y"
4045      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
4046      break;      break;
4047    
4048    case 75:    case 75:
4049  #line 175 "lscp.y"  #line 182 "lscp.y"
4050      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
4051      break;      break;
4052    
4053    case 76:    case 76:
4054  #line 178 "lscp.y"  #line 183 "lscp.y"
4055      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
4056      break;      break;
4057    
4058    case 77:    case 77:
4059  #line 179 "lscp.y"  #line 184 "lscp.y"
4060      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
4061      break;      break;
4062    
4063    case 78:    case 78:
4064  #line 180 "lscp.y"  #line 185 "lscp.y"
4065      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
4066      break;      break;
4067    
4068    case 79:    case 79:
4069  #line 181 "lscp.y"  #line 186 "lscp.y"
4070      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
4071      break;      break;
4072    
4073    case 80:    case 80:
4074  #line 182 "lscp.y"  #line 187 "lscp.y"
4075      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
4076      break;      break;
4077    
4078    case 81:    case 81:
4079  #line 183 "lscp.y"  #line 188 "lscp.y"
4080      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
4081      break;      break;
4082    
4083    case 82:    case 82:
4084  #line 184 "lscp.y"  #line 189 "lscp.y"
4085      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count);       }
4086      break;      break;
4087    
4088    case 83:    case 83:
4089  #line 185 "lscp.y"  #line 190 "lscp.y"
4090      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info);        }
4091      break;      break;
4092    
4093    case 84:    case 84:
4094  #line 186 "lscp.y"  #line 191 "lscp.y"
4095      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instrs_job_info);   }
4096      break;      break;
4097    
4098    case 85:    case 85:
4099  #line 189 "lscp.y"  #line 192 "lscp.y"
4100      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
4101      break;      break;
4102    
4103    case 86:    case 86:
4104  #line 190 "lscp.y"  #line 193 "lscp.y"
4105      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
4106      break;      break;
4107    
4108    case 87:    case 87:
4109  #line 193 "lscp.y"  #line 194 "lscp.y"
4110      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
4111      break;      break;
4112    
4113    case 88:    case 88:
4114  #line 194 "lscp.y"  #line 197 "lscp.y"
4115      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
4116      break;      break;
4117    
4118    case 89:    case 89:
4119  #line 197 "lscp.y"  #line 198 "lscp.y"
4120      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
4121      break;      break;
4122    
4123    case 90:    case 90:
4124  #line 198 "lscp.y"  #line 199 "lscp.y"
4125      { yyval.String = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
4126      break;      break;
4127    
4128    case 91:    case 91:
4129  #line 199 "lscp.y"  #line 200 "lscp.y"
4130      { yyval.String = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
4131      break;      break;
4132    
4133    case 92:    case 92:
4134  #line 200 "lscp.y"  #line 203 "lscp.y"
4135      { yyval.String = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
4136      break;      break;
4137    
4138    case 93:    case 93:
4139  #line 201 "lscp.y"  #line 206 "lscp.y"
4140      { yyval.String = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));                     }
4141      break;      break;
4142    
4143    case 94:    case 94:
4144  #line 202 "lscp.y"  #line 207 "lscp.y"
4145      { yyval.String = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));           }
4146      break;      break;
4147    
4148    case 95:    case 95:
4149  #line 205 "lscp.y"  #line 208 "lscp.y"
4150      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps();         }
4151      break;      break;
4152    
4153    case 96:    case 96:
4154  #line 206 "lscp.y"  #line 209 "lscp.y"
4155      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
4156      break;      break;
4157    
4158    case 97:    case 97:
4159  #line 209 "lscp.y"  #line 210 "lscp.y"
4160      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String));       }
4161        break;
4162    
4163      case 98:
4164    #line 211 "lscp.y"
4165        { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String));                }
4166        break;
4167    
4168      case 99:
4169    #line 214 "lscp.y"
4170        { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
4171        break;
4172    
4173      case 100:
4174    #line 215 "lscp.y"
4175        { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
4176        break;
4177    
4178      case 101:
4179    #line 216 "lscp.y"
4180        { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
4181        break;
4182    
4183      case 102:
4184    #line 217 "lscp.y"
4185        { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4186      break;      break;
4187    
4188    case 103:    case 103:
4189  #line 225 "lscp.y"  #line 218 "lscp.y"
4190      { yyval.Number = 16; }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
4191        break;
4192    
4193      case 104:
4194    #line 219 "lscp.y"
4195        { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
4196        break;
4197    
4198      case 105:
4199    #line 220 "lscp.y"
4200        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
4201      break;      break;
4202    
4203    case 106:    case 106:
4204  #line 232 "lscp.y"  #line 221 "lscp.y"
4205      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4206        break;
4207    
4208      case 107:
4209    #line 222 "lscp.y"
4210        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
4211        break;
4212    
4213      case 108:
4214    #line 223 "lscp.y"
4215        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
4216        break;
4217    
4218      case 109:
4219    #line 224 "lscp.y"
4220        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
4221        break;
4222    
4223      case 110:
4224    #line 225 "lscp.y"
4225        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
4226        break;
4227    
4228      case 111:
4229    #line 226 "lscp.y"
4230        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
4231      break;      break;
4232    
4233    case 112:    case 112:
4234  #line 248 "lscp.y"  #line 227 "lscp.y"
4235      { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
4236        break;
4237    
4238      case 113:
4239    #line 228 "lscp.y"
4240        { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
4241      break;      break;
4242    
4243    case 114:    case 114:
4244  #line 252 "lscp.y"  #line 229 "lscp.y"
4245      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
4246      break;      break;
4247    
4248    case 115:    case 115:
4249  #line 253 "lscp.y"  #line 230 "lscp.y"
4250      { yyval.String = "\"" + yyvsp[-1].String + "\""; }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4251      break;      break;
4252    
4253    case 116:    case 116:
4254  #line 254 "lscp.y"  #line 231 "lscp.y"
4255      { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
4256      break;      break;
4257    
4258    case 117:    case 117:
4259  #line 255 "lscp.y"  #line 232 "lscp.y"
4260      { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
4261      break;      break;
4262    
4263    case 118:    case 118:
4264  #line 261 "lscp.y"  #line 233 "lscp.y"
4265      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
4266      break;      break;
4267    
4268    case 119:    case 119:
4269  #line 262 "lscp.y"  #line 234 "lscp.y"
4270      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
4271      break;      break;
4272    
4273    case 120:    case 120:
4274  #line 265 "lscp.y"  #line 235 "lscp.y"
4275      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
4276      break;      break;
4277    
4278    case 121:    case 121:
4279  #line 266 "lscp.y"  #line 236 "lscp.y"
4280      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
4281      break;      break;
4282    
4283    case 122:    case 122:
4284  #line 269 "lscp.y"  #line 237 "lscp.y"
4285      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
4286      break;      break;
4287    
4288    case 123:    case 123:
4289  #line 270 "lscp.y"  #line 238 "lscp.y"
4290      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                           }
4291      break;      break;
4292    
4293    case 124:    case 124:
4294  #line 271 "lscp.y"  #line 239 "lscp.y"
4295      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
4296      break;      break;
4297    
4298    case 125:    case 125:
4299  #line 275 "lscp.y"  #line 240 "lscp.y"
4300      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
4301      break;      break;
4302    
4303    case 126:    case 126:
4304  #line 276 "lscp.y"  #line 241 "lscp.y"
4305      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
4306      break;      break;
4307    
4308    case 127:    case 127:
4309  #line 279 "lscp.y"  #line 242 "lscp.y"
4310      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
4311      break;      break;
4312    
4313    case 128:    case 128:
4314  #line 280 "lscp.y"  #line 243 "lscp.y"
4315      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
4316      break;      break;
4317    
4318    case 129:    case 129:
4319  #line 281 "lscp.y"  #line 244 "lscp.y"
4320      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
4321      break;      break;
4322    
4323    case 130:    case 130:
4324  #line 282 "lscp.y"  #line 245 "lscp.y"
4325      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
4326      break;      break;
4327    
4328    case 131:    case 131:
4329  #line 283 "lscp.y"  #line 246 "lscp.y"
4330      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
4331      break;      break;
4332    
4333    case 132:    case 132:
4334  #line 284 "lscp.y"  #line 247 "lscp.y"
4335      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(5) - (5)].String), true);        }
4336      break;      break;
4337    
4338    case 133:    case 133:
4339  #line 285 "lscp.y"  #line 248 "lscp.y"
4340      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String), false);       }
4341      break;      break;
4342    
4343    case 134:    case 134:
4344  #line 286 "lscp.y"  #line 249 "lscp.y"
4345      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String));               }
4346      break;      break;
4347    
4348    case 135:    case 135:
4349  #line 287 "lscp.y"  #line 250 "lscp.y"
4350      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(5) - (5)].String), true);                 }
4351      break;      break;
4352    
4353    case 136:    case 136:
4354  #line 288 "lscp.y"  #line 251 "lscp.y"
4355      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String), false);                }
4356      break;      break;
4357    
4358    case 137:    case 137:
4359  #line 291 "lscp.y"  #line 252 "lscp.y"
4360      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String));                        }
4361      break;      break;
4362    
4363    case 138:    case 138:
4364  #line 292 "lscp.y"  #line 253 "lscp.y"
4365      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->GetDbInstrumentsJobInfo((yyvsp[(5) - (5)].Number));                    }
4366      break;      break;
4367    
4368    case 139:    case 139:
4369  #line 293 "lscp.y"  #line 254 "lscp.y"
4370      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
4371      break;      break;
4372    
4373    case 140:    case 140:
4374  #line 294 "lscp.y"  #line 257 "lscp.y"
4375      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4376      break;      break;
4377    
4378    case 141:    case 141:
4379  #line 295 "lscp.y"  #line 258 "lscp.y"
4380      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4381      break;      break;
4382    
4383    case 142:    case 142:
4384  #line 296 "lscp.y"  #line 259 "lscp.y"
4385      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4386      break;      break;
4387    
4388    case 143:    case 143:
4389  #line 297 "lscp.y"  #line 260 "lscp.y"
4390      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
4391      break;      break;
4392    
4393    case 144:    case 144:
4394  #line 298 "lscp.y"  #line 261 "lscp.y"
4395      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
4396      break;      break;
4397    
4398    case 145:    case 145:
4399  #line 299 "lscp.y"  #line 262 "lscp.y"
4400      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
4401      break;      break;
4402    
4403    case 146:    case 146:
4404  #line 300 "lscp.y"  #line 263 "lscp.y"
4405      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String));                        }
4406      break;      break;
4407    
4408    case 147:    case 147:
4409  #line 302 "lscp.y"  #line 264 "lscp.y"
4410      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4411      break;      break;
4412    
4413    case 148:    case 148:
4414  #line 302 "lscp.y"  #line 265 "lscp.y"
4415      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
4416      break;      break;
4417    
4418    case 149:    case 149:
4419  #line 302 "lscp.y"  #line 266 "lscp.y"
4420      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
4421      break;      break;
4422    
4423    case 150:    case 150:
4424  #line 302 "lscp.y"  #line 267 "lscp.y"
4425      { yyval.Char = 'D'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));            }
4426      break;      break;
4427    
4428    case 151:    case 151:
4429  #line 302 "lscp.y"  #line 268 "lscp.y"
4430      { yyval.Char = 'E'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));     }
4431      break;      break;
4432    
4433    case 152:    case 152:
4434  #line 302 "lscp.y"  #line 269 "lscp.y"
4435      { yyval.Char = 'F'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));                     }
4436      break;      break;
4437    
4438    case 153:    case 153:
4439  #line 302 "lscp.y"  #line 270 "lscp.y"
4440      { yyval.Char = 'G'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));              }
4441      break;      break;
4442    
4443    case 154:    case 154:
4444  #line 302 "lscp.y"  #line 271 "lscp.y"
4445      { yyval.Char = 'H'; }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
4446      break;      break;
4447    
4448    case 155:    case 155:
4449  #line 302 "lscp.y"  #line 272 "lscp.y"
4450      { yyval.Char = 'I'; }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
4451      break;      break;
4452    
4453    case 156:    case 156:
4454  #line 302 "lscp.y"  #line 275 "lscp.y"
4455      { yyval.Char = 'J'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4456      break;      break;
4457    
4458    case 157:    case 157:
4459  #line 302 "lscp.y"  #line 276 "lscp.y"
4460      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
4461      break;      break;
4462    
4463    case 158:    case 158:
4464  #line 302 "lscp.y"  #line 277 "lscp.y"
4465      { yyval.Char = 'L'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
4466      break;      break;
4467    
4468    case 159:    case 159:
4469  #line 302 "lscp.y"  #line 278 "lscp.y"
4470      { yyval.Char = 'M'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
4471      break;      break;
4472    
4473    case 160:    case 160:
4474  #line 302 "lscp.y"  #line 279 "lscp.y"
4475      { yyval.Char = 'N'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
4476      break;      break;
4477    
4478    case 161:    case 161:
4479  #line 302 "lscp.y"  #line 280 "lscp.y"
4480      { yyval.Char = 'O'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4481      break;      break;
4482    
4483    case 162:    case 162:
4484  #line 302 "lscp.y"  #line 283 "lscp.y"
4485      { yyval.Char = 'P'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4486      break;      break;
4487    
4488    case 163:    case 163:
4489  #line 302 "lscp.y"  #line 286 "lscp.y"
4490      { yyval.Char = 'Q'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
4491      break;      break;
4492    
4493    case 164:    case 164:
4494  #line 302 "lscp.y"  #line 287 "lscp.y"
4495      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4496      break;      break;
4497    
4498    case 165:    case 165:
4499  #line 302 "lscp.y"  #line 290 "lscp.y"
4500      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false);           }
4501      break;      break;
4502    
4503    case 166:    case 166:
4504  #line 302 "lscp.y"  #line 291 "lscp.y"
4505      { yyval.Char = 'T'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);            }
4506      break;      break;
4507    
4508    case 167:    case 167:
4509  #line 302 "lscp.y"  #line 292 "lscp.y"
4510      { yyval.Char = 'U'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false); }
4511      break;      break;
4512    
4513    case 168:    case 168:
4514  #line 302 "lscp.y"  #line 293 "lscp.y"
4515      { yyval.Char = 'V'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);  }
4516      break;      break;
4517    
4518    case 169:    case 169:
4519  #line 302 "lscp.y"  #line 296 "lscp.y"
4520      { yyval.Char = 'W'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4521      break;      break;
4522    
4523    case 170:    case 170:
4524  #line 302 "lscp.y"  #line 297 "lscp.y"
4525      { yyval.Char = 'X'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4526      break;      break;
4527    
4528    case 171:    case 171:
4529  #line 302 "lscp.y"  #line 300 "lscp.y"
4530      { yyval.Char = 'Y'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4531      break;      break;
4532    
4533    case 172:    case 172:
4534  #line 302 "lscp.y"  #line 301 "lscp.y"
4535      { yyval.Char = 'Z'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4536      break;      break;
4537    
4538    case 173:    case 173:
4539  #line 303 "lscp.y"  #line 304 "lscp.y"
4540      { yyval.Char = 'a'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4541      break;      break;
4542    
4543    case 174:    case 174:
4544  #line 303 "lscp.y"  #line 305 "lscp.y"
4545      { yyval.Char = 'b'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
4546      break;      break;
4547    
4548    case 175:    case 175:
4549  #line 303 "lscp.y"  #line 306 "lscp.y"
4550      { yyval.Char = 'c'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4551      break;      break;
4552    
4553    case 176:    case 176:
4554  #line 303 "lscp.y"  #line 309 "lscp.y"
4555      { yyval.Char = 'd'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4556      break;      break;
4557    
4558    case 177:    case 177:
4559  #line 303 "lscp.y"  #line 310 "lscp.y"
4560      { yyval.Char = 'e'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4561      break;      break;
4562    
4563    case 178:    case 178:
4564  #line 303 "lscp.y"  #line 313 "lscp.y"
4565      { yyval.Char = 'f'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
4566      break;      break;
4567    
4568    case 179:    case 179:
4569  #line 303 "lscp.y"  #line 314 "lscp.y"
4570      { yyval.Char = 'g'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4571      break;      break;
4572    
4573    case 180:    case 180:
4574  #line 303 "lscp.y"  #line 315 "lscp.y"
4575      { yyval.Char = 'h'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
4576      break;      break;
4577    
4578    case 181:    case 181:
4579  #line 303 "lscp.y"  #line 316 "lscp.y"
4580      { yyval.Char = 'i'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
4581      break;      break;
4582    
4583    case 182:    case 182:
4584  #line 303 "lscp.y"  #line 317 "lscp.y"
4585      { yyval.Char = 'j'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
4586      break;      break;
4587    
4588    case 183:    case 183:
4589  #line 303 "lscp.y"  #line 318 "lscp.y"
4590      { yyval.Char = 'k'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
4591      break;      break;
4592    
4593    case 184:    case 184:
4594  #line 303 "lscp.y"  #line 319 "lscp.y"
4595      { yyval.Char = 'l'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
4596      break;      break;
4597    
4598    case 185:    case 185:
4599  #line 303 "lscp.y"  #line 320 "lscp.y"
4600      { yyval.Char = 'm'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
4601      break;      break;
4602    
4603    case 186:    case 186:
4604  #line 303 "lscp.y"  #line 321 "lscp.y"
4605      { yyval.Char = 'n'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
4606      break;      break;
4607    
4608    case 187:    case 187:
4609  #line 303 "lscp.y"  #line 322 "lscp.y"
4610      { yyval.Char = 'o'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4611      break;      break;
4612    
4613    case 188:    case 188:
4614  #line 303 "lscp.y"  #line 323 "lscp.y"
4615      { yyval.Char = 'p'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4616      break;      break;
4617    
4618    case 189:    case 189:
4619  #line 303 "lscp.y"  #line 324 "lscp.y"
4620      { yyval.Char = 'q'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4621      break;      break;
4622    
4623    case 190:    case 190:
4624  #line 303 "lscp.y"  #line 325 "lscp.y"
4625      { yyval.Char = 'r'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4626      break;      break;
4627    
4628    case 191:    case 191:
4629  #line 303 "lscp.y"  #line 326 "lscp.y"
4630      { yyval.Char = 's'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4631      break;      break;
4632    
4633    case 192:    case 192:
4634  #line 303 "lscp.y"  #line 329 "lscp.y"
4635      { yyval.Char = 't'; }      { (yyval.Bool) = true;  }
4636      break;      break;
4637    
4638    case 193:    case 193:
4639  #line 303 "lscp.y"  #line 330 "lscp.y"
4640      { yyval.Char = 'u'; }      { (yyval.Bool) = false; }
4641      break;      break;
4642    
4643    case 194:    case 194:
4644  #line 303 "lscp.y"  #line 333 "lscp.y"
4645      { yyval.Char = 'v'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4646      break;      break;
4647    
4648    case 195:    case 195:
4649  #line 303 "lscp.y"  #line 334 "lscp.y"
4650      { yyval.Char = 'w'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4651      break;      break;
4652    
4653    case 196:    case 196:
4654  #line 303 "lscp.y"  #line 337 "lscp.y"
4655      { yyval.Char = 'x'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4656      break;      break;
4657    
4658    case 197:    case 197:
4659  #line 303 "lscp.y"  #line 338 "lscp.y"
4660      { yyval.Char = 'y'; }      { (yyval.FillResponse) = fill_response_percentage; }
4661      break;      break;
4662    
4663    case 198:    case 198:
4664  #line 303 "lscp.y"  #line 341 "lscp.y"
4665      { yyval.Char = 'z'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();              }
4666      break;      break;
4667    
4668    case 199:    case 199:
4669  #line 304 "lscp.y"  #line 342 "lscp.y"
4670      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();                }
4671      break;      break;
4672    
4673    case 200:    case 200:
4674  #line 304 "lscp.y"  #line 343 "lscp.y"
4675      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->ListChannels();                       }
4676      break;      break;
4677    
4678    case 201:    case 201:
4679  #line 304 "lscp.y"  #line 344 "lscp.y"
4680      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();               }
4681      break;      break;
4682    
4683    case 202:    case 202:
4684  #line 304 "lscp.y"  #line 345 "lscp.y"
4685      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();      }
4686      break;      break;
4687    
4688    case 203:    case 203:
4689  #line 304 "lscp.y"  #line 346 "lscp.y"
4690      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers();    }
4691      break;      break;
4692    
4693    case 204:    case 204:
4694  #line 304 "lscp.y"  #line 347 "lscp.y"
4695      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));       }
4696      break;      break;
4697    
4698    case 205:    case 205:
4699  #line 304 "lscp.y"  #line 348 "lscp.y"
4700      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();      }
4701      break;      break;
4702    
4703    case 206:    case 206:
4704  #line 304 "lscp.y"  #line 349 "lscp.y"
4705      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();             }
4706      break;      break;
4707    
4708    case 207:    case 207:
4709  #line 304 "lscp.y"  #line 350 "lscp.y"
4710      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                      }
4711      break;      break;
4712    
4713    case 208:    case 208:
4714  #line 304 "lscp.y"  #line 351 "lscp.y"
4715      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(5) - (5)].String), true); }
4716      break;      break;
4717    
4718    case 209:    case 209:
4719  #line 305 "lscp.y"  #line 352 "lscp.y"
4720      { yyval.Char = '!'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String));       }
4721      break;      break;
4722    
4723    case 210:    case 210:
4724  #line 305 "lscp.y"  #line 353 "lscp.y"
4725      { yyval.Char = '#'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(5) - (5)].String), true);           }
4726      break;      break;
4727    
4728    case 211:    case 211:
4729  #line 305 "lscp.y"  #line 354 "lscp.y"
4730      { yyval.Char = '$'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String));                 }
4731      break;      break;
4732    
4733    case 212:    case 212:
4734  #line 305 "lscp.y"  #line 357 "lscp.y"
4735      { yyval.Char = '%'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4736      break;      break;
4737    
4738    case 213:    case 213:
4739  #line 305 "lscp.y"  #line 358 "lscp.y"
4740      { yyval.Char = '&'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4741      break;      break;
4742    
4743    case 214:    case 214:
4744  #line 305 "lscp.y"  #line 361 "lscp.y"
4745      { yyval.Char = '('; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4746      break;      break;
4747    
4748    case 215:    case 215:
4749  #line 305 "lscp.y"  #line 364 "lscp.y"
4750      { yyval.Char = ')'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4751      break;      break;
4752    
4753    case 216:    case 216:
4754  #line 305 "lscp.y"  #line 365 "lscp.y"
4755      { yyval.Char = '*'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4756      break;      break;
4757    
4758    case 217:    case 217:
4759  #line 305 "lscp.y"  #line 366 "lscp.y"
4760      { yyval.Char = '+'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 218:  
 #line 305 "lscp.y"  
     { yyval.Char = '-'; }  
     break;  
   
   case 219:  
 #line 305 "lscp.y"  
     { yyval.Char = '.'; }  
     break;  
   
   case 220:  
 #line 305 "lscp.y"  
     { yyval.Char = ','; }  
     break;  
   
   case 221:  
 #line 305 "lscp.y"  
     { yyval.Char = '/'; }  
     break;  
   
   case 222:  
 #line 306 "lscp.y"  
     { yyval.Char = ':'; }  
4761      break;      break;
4762    
4763    case 223:    case 223:
4764  #line 306 "lscp.y"  #line 382 "lscp.y"
4765      { yyval.Char = ';'; }      { (yyval.Number) = 16; }
     break;  
   
   case 224:  
 #line 306 "lscp.y"  
     { yyval.Char = '<'; }  
     break;  
   
   case 225:  
 #line 306 "lscp.y"  
     { yyval.Char = '='; }  
     break;  
   
   case 226:  
 #line 306 "lscp.y"  
     { yyval.Char = '>'; }  
     break;  
   
   case 227:  
 #line 306 "lscp.y"  
     { yyval.Char = '?'; }  
     break;  
   
   case 228:  
 #line 306 "lscp.y"  
     { yyval.Char = '@'; }  
     break;  
   
   case 229:  
 #line 307 "lscp.y"  
     { yyval.Char = '['; }  
4766      break;      break;
4767    
4768    case 230:    case 230:
4769  #line 307 "lscp.y"  #line 401 "lscp.y"
4770      { yyval.Char = '\\'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 231:  
 #line 307 "lscp.y"  
     { yyval.Char = ']'; }  
     break;  
   
   case 232:  
 #line 307 "lscp.y"  
     { yyval.Char = '^'; }  
     break;  
   
   case 233:  
 #line 307 "lscp.y"  
     { yyval.Char = '_'; }  
     break;  
   
   case 234:  
 #line 308 "lscp.y"  
     { yyval.Char = '{'; }  
     break;  
   
   case 235:  
 #line 308 "lscp.y"  
     { yyval.Char = '|'; }  
     break;  
   
   case 236:  
 #line 308 "lscp.y"  
     { yyval.Char = '}'; }  
     break;  
   
   case 237:  
 #line 308 "lscp.y"  
     { yyval.Char = '~'; }  
     break;  
   
   case 238:  
 #line 309 "lscp.y"  
     { yyval.Char = '\200'; }  
     break;  
   
   case 239:  
 #line 309 "lscp.y"  
     { yyval.Char = '\201'; }  
     break;  
   
   case 240:  
 #line 309 "lscp.y"  
     { yyval.Char = '\202'; }  
     break;  
   
   case 241:  
 #line 310 "lscp.y"  
     { yyval.Char = '\203'; }  
4771      break;      break;
4772    
4773    case 242:    case 242:
4774  #line 310 "lscp.y"  #line 435 "lscp.y"
4775      { yyval.Char = '\204'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 243:  
 #line 310 "lscp.y"  
     { yyval.Char = '\205'; }  
     break;  
   
   case 244:  
 #line 311 "lscp.y"  
     { yyval.Char = '\206'; }  
4776      break;      break;
4777    
4778    case 245:    case 245:
4779  #line 311 "lscp.y"  #line 440 "lscp.y"
4780      { yyval.Char = '\207'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4781      break;      break;
4782    
4783    case 246:    case 246:
4784  #line 311 "lscp.y"  #line 441 "lscp.y"
4785      { yyval.Char = '\210'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4786      break;      break;
4787    
4788    case 247:    case 247:
4789  #line 312 "lscp.y"  #line 444 "lscp.y"
4790      { yyval.Char = '\211'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4791      break;      break;
4792    
4793    case 248:    case 248:
4794  #line 312 "lscp.y"  #line 445 "lscp.y"
4795      { yyval.Char = '\212'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
     break;  
   
   case 249:  
 #line 312 "lscp.y"  
     { yyval.Char = '\213'; }  
     break;  
   
   case 250:  
 #line 313 "lscp.y"  
     { yyval.Char = '\214'; }  
4796      break;      break;
4797    
4798    case 251:    case 251:
4799  #line 313 "lscp.y"  #line 452 "lscp.y"
4800      { yyval.Char = '\215'; }      { (yyval.String) = "RECURSIVE"; }
4801      break;      break;
4802    
4803    case 252:    case 252:
4804  #line 313 "lscp.y"  #line 453 "lscp.y"
4805      { yyval.Char = '\216'; }      { (yyval.String) = "NON_RECURSIVE"; }
4806      break;      break;
4807    
4808    case 253:    case 253:
4809  #line 314 "lscp.y"  #line 454 "lscp.y"
4810      { yyval.Char = '\217'; }      { (yyval.String) = "FLAT"; }
4811      break;      break;
4812    
4813    case 254:    case 254:
4814  #line 314 "lscp.y"  #line 462 "lscp.y"
4815      { yyval.Char = '\220'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4816      break;      break;
4817    
4818    case 255:    case 255:
4819  #line 314 "lscp.y"  #line 463 "lscp.y"
4820      { yyval.Char = '\221'; }      { (yyval.Dotnum) = -1; }
4821      break;      break;
4822    
4823    case 256:    case 256:
4824  #line 315 "lscp.y"  #line 466 "lscp.y"
4825      { yyval.Char = '\222'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4826      break;      break;
4827    
4828    case 257:    case 257:
4829  #line 315 "lscp.y"  #line 467 "lscp.y"
4830      { yyval.Char = '\223'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4831      break;      break;
4832    
4833    case 258:    case 258:
4834  #line 315 "lscp.y"  #line 470 "lscp.y"
4835      { yyval.Char = '\224'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4836      break;      break;
4837    
4838    case 259:    case 259:
4839  #line 316 "lscp.y"  #line 471 "lscp.y"
4840      { yyval.Char = '\225'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4841      break;      break;
4842    
4843    case 260:    case 260:
4844  #line 316 "lscp.y"  #line 472 "lscp.y"
4845      { yyval.Char = '\226'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4846      break;      break;
4847    
4848    case 261:    case 261:
4849  #line 316 "lscp.y"  #line 476 "lscp.y"
4850      { yyval.Char = '\227'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4851      break;      break;
4852    
4853    case 262:    case 262:
4854  #line 317 "lscp.y"  #line 477 "lscp.y"
4855      { yyval.Char = '\230'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4856      break;      break;
4857    
4858    case 263:    case 263:
4859  #line 317 "lscp.y"  #line 480 "lscp.y"
4860      { yyval.Char = '\231'; }      { (yyval.Char) = '0'; }
4861      break;      break;
4862    
4863    case 264:    case 264:
4864  #line 317 "lscp.y"  #line 481 "lscp.y"
4865      { yyval.Char = '\232'; }      { (yyval.Char) = '1'; }
4866      break;      break;
4867    
4868    case 265:    case 265:
4869  #line 318 "lscp.y"  #line 482 "lscp.y"
4870      { yyval.Char = '\233'; }      { (yyval.Char) = '2'; }
4871      break;      break;
4872    
4873    case 266:    case 266:
4874  #line 318 "lscp.y"  #line 483 "lscp.y"
4875      { yyval.Char = '\234'; }      { (yyval.Char) = '3'; }
4876      break;      break;
4877    
4878    case 267:    case 267:
4879  #line 318 "lscp.y"  #line 484 "lscp.y"
4880      { yyval.Char = '\235'; }      { (yyval.Char) = '4'; }
4881      break;      break;
4882    
4883    case 268:    case 268:
4884  #line 319 "lscp.y"  #line 485 "lscp.y"
4885      { yyval.Char = '\236'; }      { (yyval.Char) = '5'; }
4886      break;      break;
4887    
4888    case 269:    case 269:
4889  #line 319 "lscp.y"  #line 486 "lscp.y"
4890      { yyval.Char = '\237'; }      { (yyval.Char) = '6'; }
4891      break;      break;
4892    
4893    case 270:    case 270:
4894  #line 319 "lscp.y"  #line 487 "lscp.y"
4895      { yyval.Char = '\240'; }      { (yyval.Char) = '7'; }
4896      break;      break;
4897    
4898    case 271:    case 271:
4899  #line 320 "lscp.y"  #line 488 "lscp.y"
4900      { yyval.Char = '\241'; }      { (yyval.Char) = '8'; }
4901      break;      break;
4902    
4903    case 272:    case 272:
4904  #line 320 "lscp.y"  #line 489 "lscp.y"
4905      { yyval.Char = '\242'; }      { (yyval.Char) = '9'; }
4906      break;      break;
4907    
4908    case 273:    case 273:
4909  #line 320 "lscp.y"  #line 492 "lscp.y"
4910      { yyval.Char = '\243'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4911      break;      break;
4912    
4913    case 274:    case 274:
4914  #line 321 "lscp.y"  #line 493 "lscp.y"
4915      { yyval.Char = '\244'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4916      break;      break;
4917    
4918    case 275:    case 275:
4919  #line 321 "lscp.y"  #line 494 "lscp.y"
4920      { yyval.Char = '\245'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4921      break;      break;
4922    
4923    case 276:    case 276:
4924  #line 321 "lscp.y"  #line 495 "lscp.y"
4925      { yyval.Char = '\246'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4926      break;      break;
4927    
4928    case 277:    case 277:
4929  #line 322 "lscp.y"  #line 496 "lscp.y"
4930      { yyval.Char = '\247'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4931      break;      break;
4932    
4933    case 278:    case 278:
4934  #line 322 "lscp.y"  #line 497 "lscp.y"
4935      { yyval.Char = '\250'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4936      break;      break;
4937    
4938    case 279:    case 279:
4939  #line 322 "lscp.y"  #line 498 "lscp.y"
4940      { yyval.Char = '\251'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4941      break;      break;
4942    
4943    case 280:    case 280:
4944  #line 323 "lscp.y"  #line 499 "lscp.y"
4945      { yyval.Char = '\252'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4946      break;      break;
4947    
4948    case 281:    case 281:
4949  #line 323 "lscp.y"  #line 500 "lscp.y"
4950      { yyval.Char = '\253'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4951      break;      break;
4952    
4953    case 282:    case 282:
4954  #line 323 "lscp.y"  #line 501 "lscp.y"
4955      { yyval.Char = '\254'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4956      break;      break;
4957    
4958    case 283:    case 283:
4959  #line 324 "lscp.y"  #line 503 "lscp.y"
4960      { yyval.Char = '\255'; }      { (yyval.Char) = 'A'; }
4961      break;      break;
4962    
4963    case 284:    case 284:
4964  #line 324 "lscp.y"  #line 503 "lscp.y"
4965      { yyval.Char = '\256'; }      { (yyval.Char) = 'B'; }
4966      break;      break;
4967    
4968    case 285:    case 285:
4969  #line 324 "lscp.y"  #line 503 "lscp.y"
4970      { yyval.Char = '\257'; }      { (yyval.Char) = 'C'; }
4971      break;      break;
4972    
4973    case 286:    case 286:
4974  #line 325 "lscp.y"  #line 503 "lscp.y"
4975      { yyval.Char = '\260'; }      { (yyval.Char) = 'D'; }
4976      break;      break;
4977    
4978    case 287:    case 287:
4979  #line 325 "lscp.y"  #line 503 "lscp.y"
4980      { yyval.Char = '\261'; }      { (yyval.Char) = 'E'; }
4981      break;      break;
4982    
4983    case 288:    case 288:
4984  #line 325 "lscp.y"  #line 503 "lscp.y"
4985      { yyval.Char = '\262'; }      { (yyval.Char) = 'F'; }
4986      break;      break;
4987    
4988    case 289:    case 289:
4989  #line 326 "lscp.y"  #line 503 "lscp.y"
4990      { yyval.Char = '\263'; }      { (yyval.Char) = 'G'; }
4991      break;      break;
4992    
4993    case 290:    case 290:
4994  #line 326 "lscp.y"  #line 503 "lscp.y"
4995      { yyval.Char = '\264'; }      { (yyval.Char) = 'H'; }
4996      break;      break;
4997    
4998    case 291:    case 291:
4999  #line 326 "lscp.y"  #line 503 "lscp.y"
5000      { yyval.Char = '\265'; }      { (yyval.Char) = 'I'; }
5001      break;      break;
5002    
5003    case 292:    case 292:
5004  #line 327 "lscp.y"  #line 503 "lscp.y"
5005      { yyval.Char = '\266'; }      { (yyval.Char) = 'J'; }
5006      break;      break;
5007    
5008    case 293:    case 293:
5009  #line 327 "lscp.y"  #line 503 "lscp.y"
5010      { yyval.Char = '\267'; }      { (yyval.Char) = 'K'; }
5011      break;      break;
5012    
5013    case 294:    case 294:
5014  #line 327 "lscp.y"  #line 503 "lscp.y"
5015      { yyval.Char = '\270'; }      { (yyval.Char) = 'L'; }
5016      break;      break;
5017    
5018    case 295:    case 295:
5019  #line 328 "lscp.y"  #line 503 "lscp.y"
5020      { yyval.Char = '\271'; }      { (yyval.Char) = 'M'; }
5021      break;      break;
5022    
5023    case 296:    case 296:
5024  #line 328 "lscp.y"  #line 503 "lscp.y"
5025      { yyval.Char = '\272'; }      { (yyval.Char) = 'N'; }
5026      break;      break;
5027    
5028    case 297:    case 297:
5029  #line 328 "lscp.y"  #line 503 "lscp.y"
5030      { yyval.Char = '\273'; }      { (yyval.Char) = 'O'; }
5031      break;      break;
5032    
5033    case 298:    case 298:
5034  #line 329 "lscp.y"  #line 503 "lscp.y"
5035      { yyval.Char = '\274'; }      { (yyval.Char) = 'P'; }
5036      break;      break;
5037    
5038    case 299:    case 299:
5039  #line 329 "lscp.y"  #line 503 "lscp.y"
5040      { yyval.Char = '\275'; }      { (yyval.Char) = 'Q'; }
5041      break;      break;
5042    
5043    case 300:    case 300:
5044  #line 329 "lscp.y"  #line 503 "lscp.y"
5045      { yyval.Char = '\276'; }      { (yyval.Char) = 'R'; }
5046      break;      break;
5047    
5048    case 301:    case 301:
5049  #line 330 "lscp.y"  #line 503 "lscp.y"
5050      { yyval.Char = '\277'; }      { (yyval.Char) = 'S'; }
5051      break;      break;
5052    
5053    case 302:    case 302:
5054  #line 330 "lscp.y"  #line 503 "lscp.y"
5055      { yyval.Char = '\300'; }      { (yyval.Char) = 'T'; }
5056      break;      break;
5057    
5058    case 303:    case 303:
5059  #line 330 "lscp.y"  #line 503 "lscp.y"
5060      { yyval.Char = '\301'; }      { (yyval.Char) = 'U'; }
5061      break;      break;
5062    
5063    case 304:    case 304:
5064  #line 331 "lscp.y"  #line 503 "lscp.y"
5065      { yyval.Char = '\302'; }      { (yyval.Char) = 'V'; }
5066      break;      break;
5067    
5068    case 305:    case 305:
5069  #line 331 "lscp.y"  #line 503 "lscp.y"
5070      { yyval.Char = '\303'; }      { (yyval.Char) = 'W'; }
5071      break;      break;
5072    
5073    case 306:    case 306:
5074  #line 331 "lscp.y"  #line 503 "lscp.y"
5075      { yyval.Char = '\304'; }      { (yyval.Char) = 'X'; }
5076      break;      break;
5077    
5078    case 307:    case 307:
5079  #line 332 "lscp.y"  #line 503 "lscp.y"
5080      { yyval.Char = '\305'; }      { (yyval.Char) = 'Y'; }
5081      break;      break;
5082    
5083    case 308:    case 308:
5084  #line 332 "lscp.y"  #line 503 "lscp.y"
5085      { yyval.Char = '\306'; }      { (yyval.Char) = 'Z'; }
5086      break;      break;
5087    
5088    case 309:    case 309:
5089  #line 332 "lscp.y"  #line 504 "lscp.y"
5090      { yyval.Char = '\307'; }      { (yyval.Char) = 'a'; }
5091      break;      break;
5092    
5093    case 310:    case 310:
5094  #line 333 "lscp.y"  #line 504 "lscp.y"
5095      { yyval.Char = '\310'; }      { (yyval.Char) = 'b'; }
5096      break;      break;
5097    
5098    case 311:    case 311:
5099  #line 333 "lscp.y"  #line 504 "lscp.y"
5100      { yyval.Char = '\311'; }      { (yyval.Char) = 'c'; }
5101      break;      break;
5102    
5103    case 312:    case 312:
5104  #line 333 "lscp.y"  #line 504 "lscp.y"
5105      { yyval.Char = '\312'; }      { (yyval.Char) = 'd'; }
5106      break;      break;
5107    
5108    case 313:    case 313:
5109  #line 334 "lscp.y"  #line 504 "lscp.y"
5110      { yyval.Char = '\313'; }      { (yyval.Char) = 'e'; }
5111      break;      break;
5112    
5113    case 314:    case 314:
5114  #line 334 "lscp.y"  #line 504 "lscp.y"
5115      { yyval.Char = '\314'; }      { (yyval.Char) = 'f'; }
5116      break;      break;
5117    
5118    case 315:    case 315:
5119  #line 334 "lscp.y"  #line 504 "lscp.y"
5120      { yyval.Char = '\315'; }      { (yyval.Char) = 'g'; }
5121      break;      break;
5122    
5123    case 316:    case 316:
5124  #line 335 "lscp.y"  #line 504 "lscp.y"
5125      { yyval.Char = '\316'; }      { (yyval.Char) = 'h'; }
5126      break;      break;
5127    
5128    case 317:    case 317:
5129  #line 335 "lscp.y"  #line 504 "lscp.y"
5130      { yyval.Char = '\317'; }      { (yyval.Char) = 'i'; }
5131      break;      break;
5132    
5133    case 318:    case 318:
5134  #line 335 "lscp.y"  #line 504 "lscp.y"
5135      { yyval.Char = '\320'; }      { (yyval.Char) = 'j'; }
5136      break;      break;
5137    
5138    case 319:    case 319:
5139  #line 336 "lscp.y"  #line 504 "lscp.y"
5140      { yyval.Char = '\321'; }      { (yyval.Char) = 'k'; }
5141      break;      break;
5142    
5143    case 320:    case 320:
5144  #line 336 "lscp.y"  #line 504 "lscp.y"
5145      { yyval.Char = '\322'; }      { (yyval.Char) = 'l'; }
5146      break;      break;
5147    
5148    case 321:    case 321:
5149  #line 336 "lscp.y"  #line 504 "lscp.y"
5150      { yyval.Char = '\323'; }      { (yyval.Char) = 'm'; }
5151      break;      break;
5152    
5153    case 322:    case 322:
5154  #line 337 "lscp.y"  #line 504 "lscp.y"
5155      { yyval.Char = '\324'; }      { (yyval.Char) = 'n'; }
5156      break;      break;
5157    
5158    case 323:    case 323:
5159  #line 337 "lscp.y"  #line 504 "lscp.y"
5160      { yyval.Char = '\325'; }      { (yyval.Char) = 'o'; }
5161      break;      break;
5162    
5163    case 324:    case 324:
5164  #line 337 "lscp.y"  #line 504 "lscp.y"
5165      { yyval.Char = '\326'; }      { (yyval.Char) = 'p'; }
5166      break;      break;
5167    
5168    case 325:    case 325:
5169  #line 338 "lscp.y"  #line 504 "lscp.y"
5170      { yyval.Char = '\327'; }      { (yyval.Char) = 'q'; }
5171      break;      break;
5172    
5173    case 326:    case 326:
5174  #line 338 "lscp.y"  #line 504 "lscp.y"
5175      { yyval.Char = '\330'; }      { (yyval.Char) = 'r'; }
5176      break;      break;
5177    
5178    case 327:    case 327:
5179  #line 338 "lscp.y"  #line 504 "lscp.y"
5180      { yyval.Char = '\331'; }      { (yyval.Char) = 's'; }
5181      break;      break;
5182    
5183    case 328:    case 328:
5184  #line 339 "lscp.y"  #line 504 "lscp.y"
5185      { yyval.Char = '\332'; }      { (yyval.Char) = 't'; }
5186      break;      break;
5187    
5188    case 329:    case 329:
5189  #line 339 "lscp.y"  #line 504 "lscp.y"
5190      { yyval.Char = '\333'; }      { (yyval.Char) = 'u'; }
5191      break;      break;
5192    
5193    case 330:    case 330:
5194  #line 339 "lscp.y"  #line 504 "lscp.y"
5195      { yyval.Char = '\334'; }      { (yyval.Char) = 'v'; }
5196      break;      break;
5197    
5198    case 331:    case 331:
5199  #line 340 "lscp.y"  #line 504 "lscp.y"
5200      { yyval.Char = '\335'; }      { (yyval.Char) = 'w'; }
5201      break;      break;
5202    
5203    case 332:    case 332:
5204  #line 340 "lscp.y"  #line 504 "lscp.y"
5205      { yyval.Char = '\336'; }      { (yyval.Char) = 'x'; }
5206      break;      break;
5207    
5208    case 333:    case 333:
5209  #line 340 "lscp.y"  #line 504 "lscp.y"
5210      { yyval.Char = '\337'; }      { (yyval.Char) = 'y'; }
5211      break;      break;
5212    
5213    case 334:    case 334:
5214  #line 341 "lscp.y"  #line 504 "lscp.y"
5215      { yyval.Char = '\340'; }      { (yyval.Char) = 'z'; }
5216      break;      break;
5217    
5218    case 335:    case 335:
5219  #line 341 "lscp.y"  #line 505 "lscp.y"
5220      { yyval.Char = '\341'; }      { (yyval.Char) = '0'; }
5221      break;      break;
5222    
5223    case 336:    case 336:
5224  #line 341 "lscp.y"  #line 505 "lscp.y"
5225      { yyval.Char = '\342'; }      { (yyval.Char) = '1'; }
5226      break;      break;
5227    
5228    case 337:    case 337:
5229  #line 342 "lscp.y"  #line 505 "lscp.y"
5230      { yyval.Char = '\343'; }      { (yyval.Char) = '2'; }
5231      break;      break;
5232    
5233    case 338:    case 338:
5234  #line 342 "lscp.y"  #line 505 "lscp.y"
5235      { yyval.Char = '\344'; }      { (yyval.Char) = '3'; }
5236      break;      break;
5237    
5238    case 339:    case 339:
5239  #line 342 "lscp.y"  #line 505 "lscp.y"
5240      { yyval.Char = '\345'; }      { (yyval.Char) = '4'; }
5241      break;      break;
5242    
5243    case 340:    case 340:
5244  #line 343 "lscp.y"  #line 505 "lscp.y"
5245      { yyval.Char = '\346'; }      { (yyval.Char) = '5'; }
5246      break;      break;
5247    
5248    case 341:    case 341:
5249  #line 343 "lscp.y"  #line 505 "lscp.y"
5250      { yyval.Char = '\347'; }      { (yyval.Char) = '6'; }
5251      break;      break;
5252    
5253    case 342:    case 342:
5254  #line 343 "lscp.y"  #line 505 "lscp.y"
5255      { yyval.Char = '\350'; }      { (yyval.Char) = '7'; }
5256      break;      break;
5257    
5258    case 343:    case 343:
5259  #line 344 "lscp.y"  #line 505 "lscp.y"
5260      { yyval.Char = '\351'; }      { (yyval.Char) = '8'; }
5261      break;      break;
5262    
5263    case 344:    case 344:
5264  #line 344 "lscp.y"  #line 505 "lscp.y"
5265      { yyval.Char = '\352'; }      { (yyval.Char) = '9'; }
5266      break;      break;
5267    
5268    case 345:    case 345:
5269  #line 344 "lscp.y"  #line 506 "lscp.y"
5270      { yyval.Char = '\353'; }      { (yyval.Char) = '!'; }
5271      break;      break;
5272    
5273    case 346:    case 346:
5274  #line 345 "lscp.y"  #line 506 "lscp.y"
5275      { yyval.Char = '\354'; }      { (yyval.Char) = '#'; }
5276      break;      break;
5277    
5278    case 347:    case 347:
5279  #line 345 "lscp.y"  #line 506 "lscp.y"
5280      { yyval.Char = '\355'; }      { (yyval.Char) = '$'; }
5281      break;      break;
5282    
5283    case 348:    case 348:
5284  #line 345 "lscp.y"  #line 506 "lscp.y"
5285      { yyval.Char = '\356'; }      { (yyval.Char) = '%'; }
5286      break;      break;
5287    
5288    case 349:    case 349:
5289  #line 346 "lscp.y"  #line 506 "lscp.y"
5290      { yyval.Char = '\357'; }      { (yyval.Char) = '&'; }
5291      break;      break;
5292    
5293    case 350:    case 350:
5294  #line 346 "lscp.y"  #line 506 "lscp.y"
5295      { yyval.Char = '\360'; }      { (yyval.Char) = '('; }
5296      break;      break;
5297    
5298    case 351:    case 351:
5299  #line 346 "lscp.y"  #line 506 "lscp.y"
5300      { yyval.Char = '\361'; }      { (yyval.Char) = ')'; }
5301      break;      break;
5302    
5303    case 352:    case 352:
5304  #line 347 "lscp.y"  #line 506 "lscp.y"
5305      { yyval.Char = '\362'; }      { (yyval.Char) = '*'; }
5306      break;      break;
5307    
5308    case 353:    case 353:
5309  #line 347 "lscp.y"  #line 506 "lscp.y"
5310      { yyval.Char = '\363'; }      { (yyval.Char) = '+'; }
5311      break;      break;
5312    
5313    case 354:    case 354:
5314  #line 347 "lscp.y"  #line 506 "lscp.y"
5315      { yyval.Char = '\364'; }      { (yyval.Char) = '-'; }
5316      break;      break;
5317    
5318    case 355:    case 355:
5319  #line 348 "lscp.y"  #line 506 "lscp.y"
5320      { yyval.Char = '\365'; }      { (yyval.Char) = '.'; }
5321      break;      break;
5322    
5323    case 356:    case 356:
5324  #line 348 "lscp.y"  #line 506 "lscp.y"
5325      { yyval.Char = '\366'; }      { (yyval.Char) = ','; }
5326      break;      break;
5327    
5328    case 357:    case 357:
5329  #line 348 "lscp.y"  #line 506 "lscp.y"
5330      { yyval.Char = '\367'; }      { (yyval.Char) = '/'; }
5331      break;      break;
5332    
5333    case 358:    case 358:
5334  #line 349 "lscp.y"  #line 507 "lscp.y"
5335      { yyval.Char = '\370'; }      { (yyval.Char) = ':'; }
5336      break;      break;
5337    
5338    case 359:    case 359:
5339  #line 349 "lscp.y"  #line 507 "lscp.y"
5340      { yyval.Char = '\371'; }      { (yyval.Char) = ';'; }
5341      break;      break;
5342    
5343    case 360:    case 360:
5344  #line 349 "lscp.y"  #line 507 "lscp.y"
5345      { yyval.Char = '\372'; }      { (yyval.Char) = '<'; }
5346      break;      break;
5347    
5348    case 361:    case 361:
5349  #line 350 "lscp.y"  #line 507 "lscp.y"
5350      { yyval.Char = '\373'; }      { (yyval.Char) = '='; }
5351      break;      break;
5352    
5353    case 362:    case 362:
5354  #line 350 "lscp.y"  #line 507 "lscp.y"
5355      { yyval.Char = '\374'; }      { (yyval.Char) = '>'; }
5356      break;      break;
5357    
5358    case 363:    case 363:
5359  #line 350 "lscp.y"  #line 507 "lscp.y"
5360      { yyval.Char = '\375'; }      { (yyval.Char) = '?'; }
5361      break;      break;
5362    
5363    case 364:    case 364:
5364  #line 351 "lscp.y"  #line 507 "lscp.y"
5365      { yyval.Char = '\376'; }      { (yyval.Char) = '@'; }
5366      break;      break;
5367    
5368    case 365:    case 365:
5369  #line 351 "lscp.y"  #line 508 "lscp.y"
5370      { yyval.Char = '\377'; }      { (yyval.Char) = '['; }
5371      break;      break;
5372    
5373    case 366:    case 366:
5374  #line 354 "lscp.y"  #line 508 "lscp.y"
5375      { yyval.String = " ";      }      { (yyval.Char) = '\\'; }
5376        break;
5377    
5378      case 367:
5379    #line 508 "lscp.y"
5380        { (yyval.Char) = ']'; }
5381      break;      break;
5382    
5383    case 368:    case 368:
5384  #line 356 "lscp.y"  #line 508 "lscp.y"
5385      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '^'; }
5386      break;      break;
5387    
5388    case 369:    case 369:
5389  #line 357 "lscp.y"  #line 508 "lscp.y"
5390      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '_'; }
5391      break;      break;
5392    
5393    case 370:    case 370:
5394  #line 360 "lscp.y"  #line 509 "lscp.y"
5395      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '{'; }
5396      break;      break;
5397    
5398    case 371:    case 371:
5399  #line 361 "lscp.y"  #line 509 "lscp.y"
5400      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '|'; }
5401      break;      break;
5402    
5403      case 372:
5404    #line 509 "lscp.y"
5405        { (yyval.Char) = '}'; }
5406        break;
5407    
5408      }    case 373:
5409    #line 509 "lscp.y"
5410        { (yyval.Char) = '~'; }
5411        break;
5412    
5413  /* Line 1010 of yacc.c.  */    case 374:
5414  #line 4409 "y.tab.c"  #line 510 "lscp.y"
5415        { (yyval.Char) = '\200'; }
5416    yyvsp -= yylen;      break;
   yyssp -= yylen;  
5417    
5418      case 375:
5419    #line 510 "lscp.y"
5420        { (yyval.Char) = '\201'; }
5421        break;
5422    
5423      case 376:
5424    #line 510 "lscp.y"
5425        { (yyval.Char) = '\202'; }
5426        break;
5427    
5428      case 377:
5429    #line 511 "lscp.y"
5430        { (yyval.Char) = '\203'; }
5431        break;
5432    
5433      case 378:
5434    #line 511 "lscp.y"
5435        { (yyval.Char) = '\204'; }
5436        break;
5437    
5438      case 379:
5439    #line 511 "lscp.y"
5440        { (yyval.Char) = '\205'; }
5441        break;
5442    
5443      case 380:
5444    #line 512 "lscp.y"
5445        { (yyval.Char) = '\206'; }
5446        break;
5447    
5448      case 381:
5449    #line 512 "lscp.y"
5450        { (yyval.Char) = '\207'; }
5451        break;
5452    
5453      case 382:
5454    #line 512 "lscp.y"
5455        { (yyval.Char) = '\210'; }
5456        break;
5457    
5458      case 383:
5459    #line 513 "lscp.y"
5460        { (yyval.Char) = '\211'; }
5461        break;
5462    
5463      case 384:
5464    #line 513 "lscp.y"
5465        { (yyval.Char) = '\212'; }
5466        break;
5467    
5468      case 385:
5469    #line 513 "lscp.y"
5470        { (yyval.Char) = '\213'; }
5471        break;
5472    
5473      case 386:
5474    #line 514 "lscp.y"
5475        { (yyval.Char) = '\214'; }
5476        break;
5477    
5478      case 387:
5479    #line 514 "lscp.y"
5480        { (yyval.Char) = '\215'; }
5481        break;
5482    
5483      case 388:
5484    #line 514 "lscp.y"
5485        { (yyval.Char) = '\216'; }
5486        break;
5487    
5488      case 389:
5489    #line 515 "lscp.y"
5490        { (yyval.Char) = '\217'; }
5491        break;
5492    
5493      case 390:
5494    #line 515 "lscp.y"
5495        { (yyval.Char) = '\220'; }
5496        break;
5497    
5498      case 391:
5499    #line 515 "lscp.y"
5500        { (yyval.Char) = '\221'; }
5501        break;
5502    
5503      case 392:
5504    #line 516 "lscp.y"
5505        { (yyval.Char) = '\222'; }
5506        break;
5507    
5508      case 393:
5509    #line 516 "lscp.y"
5510        { (yyval.Char) = '\223'; }
5511        break;
5512    
5513      case 394:
5514    #line 516 "lscp.y"
5515        { (yyval.Char) = '\224'; }
5516        break;
5517    
5518      case 395:
5519    #line 517 "lscp.y"
5520        { (yyval.Char) = '\225'; }
5521        break;
5522    
5523      case 396:
5524    #line 517 "lscp.y"
5525        { (yyval.Char) = '\226'; }
5526        break;
5527    
5528      case 397:
5529    #line 517 "lscp.y"
5530        { (yyval.Char) = '\227'; }
5531        break;
5532    
5533      case 398:
5534    #line 518 "lscp.y"
5535        { (yyval.Char) = '\230'; }
5536        break;
5537    
5538      case 399:
5539    #line 518 "lscp.y"
5540        { (yyval.Char) = '\231'; }
5541        break;
5542    
5543      case 400:
5544    #line 518 "lscp.y"
5545        { (yyval.Char) = '\232'; }
5546        break;
5547    
5548      case 401:
5549    #line 519 "lscp.y"
5550        { (yyval.Char) = '\233'; }
5551        break;
5552    
5553      case 402:
5554    #line 519 "lscp.y"
5555        { (yyval.Char) = '\234'; }
5556        break;
5557    
5558      case 403:
5559    #line 519 "lscp.y"
5560        { (yyval.Char) = '\235'; }
5561        break;
5562    
5563      case 404:
5564    #line 520 "lscp.y"
5565        { (yyval.Char) = '\236'; }
5566        break;
5567    
5568      case 405:
5569    #line 520 "lscp.y"
5570        { (yyval.Char) = '\237'; }
5571        break;
5572    
5573      case 406:
5574    #line 520 "lscp.y"
5575        { (yyval.Char) = '\240'; }
5576        break;
5577    
5578      case 407:
5579    #line 521 "lscp.y"
5580        { (yyval.Char) = '\241'; }
5581        break;
5582    
5583      case 408:
5584    #line 521 "lscp.y"
5585        { (yyval.Char) = '\242'; }
5586        break;
5587    
5588      case 409:
5589    #line 521 "lscp.y"
5590        { (yyval.Char) = '\243'; }
5591        break;
5592    
5593      case 410:
5594    #line 522 "lscp.y"
5595        { (yyval.Char) = '\244'; }
5596        break;
5597    
5598      case 411:
5599    #line 522 "lscp.y"
5600        { (yyval.Char) = '\245'; }
5601        break;
5602    
5603      case 412:
5604    #line 522 "lscp.y"
5605        { (yyval.Char) = '\246'; }
5606        break;
5607    
5608      case 413:
5609    #line 523 "lscp.y"
5610        { (yyval.Char) = '\247'; }
5611        break;
5612    
5613      case 414:
5614    #line 523 "lscp.y"
5615        { (yyval.Char) = '\250'; }
5616        break;
5617    
5618      case 415:
5619    #line 523 "lscp.y"
5620        { (yyval.Char) = '\251'; }
5621        break;
5622    
5623      case 416:
5624    #line 524 "lscp.y"
5625        { (yyval.Char) = '\252'; }
5626        break;
5627    
5628      case 417:
5629    #line 524 "lscp.y"
5630        { (yyval.Char) = '\253'; }
5631        break;
5632    
5633      case 418:
5634    #line 524 "lscp.y"
5635        { (yyval.Char) = '\254'; }
5636        break;
5637    
5638      case 419:
5639    #line 525 "lscp.y"
5640        { (yyval.Char) = '\255'; }
5641        break;
5642    
5643      case 420:
5644    #line 525 "lscp.y"
5645        { (yyval.Char) = '\256'; }
5646        break;
5647    
5648      case 421:
5649    #line 525 "lscp.y"
5650        { (yyval.Char) = '\257'; }
5651        break;
5652    
5653      case 422:
5654    #line 526 "lscp.y"
5655        { (yyval.Char) = '\260'; }
5656        break;
5657    
5658      case 423:
5659    #line 526 "lscp.y"
5660        { (yyval.Char) = '\261'; }
5661        break;
5662    
5663      case 424:
5664    #line 526 "lscp.y"
5665        { (yyval.Char) = '\262'; }
5666        break;
5667    
5668      case 425:
5669    #line 527 "lscp.y"
5670        { (yyval.Char) = '\263'; }
5671        break;
5672    
5673      case 426:
5674    #line 527 "lscp.y"
5675        { (yyval.Char) = '\264'; }
5676        break;
5677    
5678      case 427:
5679    #line 527 "lscp.y"
5680        { (yyval.Char) = '\265'; }
5681        break;
5682    
5683      case 428:
5684    #line 528 "lscp.y"
5685        { (yyval.Char) = '\266'; }
5686        break;
5687    
5688      case 429:
5689    #line 528 "lscp.y"
5690        { (yyval.Char) = '\267'; }
5691        break;
5692    
5693      case 430:
5694    #line 528 "lscp.y"
5695        { (yyval.Char) = '\270'; }
5696        break;
5697    
5698      case 431:
5699    #line 529 "lscp.y"
5700        { (yyval.Char) = '\271'; }
5701        break;
5702    
5703      case 432:
5704    #line 529 "lscp.y"
5705        { (yyval.Char) = '\272'; }
5706        break;
5707    
5708      case 433:
5709    #line 529 "lscp.y"
5710        { (yyval.Char) = '\273'; }
5711        break;
5712    
5713      case 434:
5714    #line 530 "lscp.y"
5715        { (yyval.Char) = '\274'; }
5716        break;
5717    
5718      case 435:
5719    #line 530 "lscp.y"
5720        { (yyval.Char) = '\275'; }
5721        break;
5722    
5723      case 436:
5724    #line 530 "lscp.y"
5725        { (yyval.Char) = '\276'; }
5726        break;
5727    
5728      case 437:
5729    #line 531 "lscp.y"
5730        { (yyval.Char) = '\277'; }
5731        break;
5732    
5733      case 438:
5734    #line 531 "lscp.y"
5735        { (yyval.Char) = '\300'; }
5736        break;
5737    
5738      case 439:
5739    #line 531 "lscp.y"
5740        { (yyval.Char) = '\301'; }
5741        break;
5742    
5743      case 440:
5744    #line 532 "lscp.y"
5745        { (yyval.Char) = '\302'; }
5746        break;
5747    
5748      case 441:
5749    #line 532 "lscp.y"
5750        { (yyval.Char) = '\303'; }
5751        break;
5752    
5753      case 442:
5754    #line 532 "lscp.y"
5755        { (yyval.Char) = '\304'; }
5756        break;
5757    
5758      case 443:
5759    #line 533 "lscp.y"
5760        { (yyval.Char) = '\305'; }
5761        break;
5762    
5763      case 444:
5764    #line 533 "lscp.y"
5765        { (yyval.Char) = '\306'; }
5766        break;
5767    
5768      case 445:
5769    #line 533 "lscp.y"
5770        { (yyval.Char) = '\307'; }
5771        break;
5772    
5773      case 446:
5774    #line 534 "lscp.y"
5775        { (yyval.Char) = '\310'; }
5776        break;
5777    
5778      case 447:
5779    #line 534 "lscp.y"
5780        { (yyval.Char) = '\311'; }
5781        break;
5782    
5783      case 448:
5784    #line 534 "lscp.y"
5785        { (yyval.Char) = '\312'; }
5786        break;
5787    
5788      case 449:
5789    #line 535 "lscp.y"
5790        { (yyval.Char) = '\313'; }
5791        break;
5792    
5793      case 450:
5794    #line 535 "lscp.y"
5795        { (yyval.Char) = '\314'; }
5796        break;
5797    
5798      case 451:
5799    #line 535 "lscp.y"
5800        { (yyval.Char) = '\315'; }
5801        break;
5802    
5803      case 452:
5804    #line 536 "lscp.y"
5805        { (yyval.Char) = '\316'; }
5806        break;
5807    
5808      case 453:
5809    #line 536 "lscp.y"
5810        { (yyval.Char) = '\317'; }
5811        break;
5812    
5813      case 454:
5814    #line 536 "lscp.y"
5815        { (yyval.Char) = '\320'; }
5816        break;
5817    
5818      case 455:
5819    #line 537 "lscp.y"
5820        { (yyval.Char) = '\321'; }
5821        break;
5822    
5823      case 456:
5824    #line 537 "lscp.y"
5825        { (yyval.Char) = '\322'; }
5826        break;
5827    
5828      case 457:
5829    #line 537 "lscp.y"
5830        { (yyval.Char) = '\323'; }
5831        break;
5832    
5833      case 458:
5834    #line 538 "lscp.y"
5835        { (yyval.Char) = '\324'; }
5836        break;
5837    
5838      case 459:
5839    #line 538 "lscp.y"
5840        { (yyval.Char) = '\325'; }
5841        break;
5842    
5843      case 460:
5844    #line 538 "lscp.y"
5845        { (yyval.Char) = '\326'; }
5846        break;
5847    
5848      case 461:
5849    #line 539 "lscp.y"
5850        { (yyval.Char) = '\327'; }
5851        break;
5852    
5853      case 462:
5854    #line 539 "lscp.y"
5855        { (yyval.Char) = '\330'; }
5856        break;
5857    
5858      case 463:
5859    #line 539 "lscp.y"
5860        { (yyval.Char) = '\331'; }
5861        break;
5862    
5863      case 464:
5864    #line 540 "lscp.y"
5865        { (yyval.Char) = '\332'; }
5866        break;
5867    
5868      case 465:
5869    #line 540 "lscp.y"
5870        { (yyval.Char) = '\333'; }
5871        break;
5872    
5873      case 466:
5874    #line 540 "lscp.y"
5875        { (yyval.Char) = '\334'; }
5876        break;
5877    
5878      case 467:
5879    #line 541 "lscp.y"
5880        { (yyval.Char) = '\335'; }
5881        break;
5882    
5883      case 468:
5884    #line 541 "lscp.y"
5885        { (yyval.Char) = '\336'; }
5886        break;
5887    
5888      case 469:
5889    #line 541 "lscp.y"
5890        { (yyval.Char) = '\337'; }
5891        break;
5892    
5893      case 470:
5894    #line 542 "lscp.y"
5895        { (yyval.Char) = '\340'; }
5896        break;
5897    
5898      case 471:
5899    #line 542 "lscp.y"
5900        { (yyval.Char) = '\341'; }
5901        break;
5902    
5903      case 472:
5904    #line 542 "lscp.y"
5905        { (yyval.Char) = '\342'; }
5906        break;
5907    
5908      case 473:
5909    #line 543 "lscp.y"
5910        { (yyval.Char) = '\343'; }
5911        break;
5912    
5913      case 474:
5914    #line 543 "lscp.y"
5915        { (yyval.Char) = '\344'; }
5916        break;
5917    
5918      case 475:
5919    #line 543 "lscp.y"
5920        { (yyval.Char) = '\345'; }
5921        break;
5922    
5923      case 476:
5924    #line 544 "lscp.y"
5925        { (yyval.Char) = '\346'; }
5926        break;
5927    
5928      case 477:
5929    #line 544 "lscp.y"
5930        { (yyval.Char) = '\347'; }
5931        break;
5932    
5933      case 478:
5934    #line 544 "lscp.y"
5935        { (yyval.Char) = '\350'; }
5936        break;
5937    
5938      case 479:
5939    #line 545 "lscp.y"
5940        { (yyval.Char) = '\351'; }
5941        break;
5942    
5943      case 480:
5944    #line 545 "lscp.y"
5945        { (yyval.Char) = '\352'; }
5946        break;
5947    
5948      case 481:
5949    #line 545 "lscp.y"
5950        { (yyval.Char) = '\353'; }
5951        break;
5952    
5953      case 482:
5954    #line 546 "lscp.y"
5955        { (yyval.Char) = '\354'; }
5956        break;
5957    
5958      case 483:
5959    #line 546 "lscp.y"
5960        { (yyval.Char) = '\355'; }
5961        break;
5962    
5963      case 484:
5964    #line 546 "lscp.y"
5965        { (yyval.Char) = '\356'; }
5966        break;
5967    
5968      case 485:
5969    #line 547 "lscp.y"
5970        { (yyval.Char) = '\357'; }
5971        break;
5972    
5973      case 486:
5974    #line 547 "lscp.y"
5975        { (yyval.Char) = '\360'; }
5976        break;
5977    
5978      case 487:
5979    #line 547 "lscp.y"
5980        { (yyval.Char) = '\361'; }
5981        break;
5982    
5983      case 488:
5984    #line 548 "lscp.y"
5985        { (yyval.Char) = '\362'; }
5986        break;
5987    
5988      case 489:
5989    #line 548 "lscp.y"
5990        { (yyval.Char) = '\363'; }
5991        break;
5992    
5993      case 490:
5994    #line 548 "lscp.y"
5995        { (yyval.Char) = '\364'; }
5996        break;
5997    
5998      case 491:
5999    #line 549 "lscp.y"
6000        { (yyval.Char) = '\365'; }
6001        break;
6002    
6003      case 492:
6004    #line 549 "lscp.y"
6005        { (yyval.Char) = '\366'; }
6006        break;
6007    
6008      case 493:
6009    #line 549 "lscp.y"
6010        { (yyval.Char) = '\367'; }
6011        break;
6012    
6013      case 494:
6014    #line 550 "lscp.y"
6015        { (yyval.Char) = '\370'; }
6016        break;
6017    
6018      case 495:
6019    #line 550 "lscp.y"
6020        { (yyval.Char) = '\371'; }
6021        break;
6022    
6023      case 496:
6024    #line 550 "lscp.y"
6025        { (yyval.Char) = '\372'; }
6026        break;
6027    
6028      case 497:
6029    #line 551 "lscp.y"
6030        { (yyval.Char) = '\373'; }
6031        break;
6032    
6033      case 498:
6034    #line 551 "lscp.y"
6035        { (yyval.Char) = '\374'; }
6036        break;
6037    
6038      case 499:
6039    #line 551 "lscp.y"
6040        { (yyval.Char) = '\375'; }
6041        break;
6042    
6043      case 500:
6044    #line 552 "lscp.y"
6045        { (yyval.Char) = '\376'; }
6046        break;
6047    
6048      case 501:
6049    #line 552 "lscp.y"
6050        { (yyval.Char) = '\377'; }
6051        break;
6052    
6053      case 502:
6054    #line 555 "lscp.y"
6055        { (yyval.String) = " ";      }
6056        break;
6057    
6058      case 504:
6059    #line 557 "lscp.y"
6060        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
6061        break;
6062    
6063      case 505:
6064    #line 558 "lscp.y"
6065        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
6066        break;
6067    
6068      case 506:
6069    #line 561 "lscp.y"
6070        { (yyval.String) = (yyvsp[(2) - (3)].String); }
6071        break;
6072    
6073      case 507:
6074    #line 562 "lscp.y"
6075        { (yyval.String) = (yyvsp[(2) - (3)].String); }
6076        break;
6077    
6078    
6079    /* Line 1267 of yacc.c.  */
6080    #line 6081 "y.tab.c"
6081          default: break;
6082        }
6083      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6084    
6085      YYPOPSTACK (yylen);
6086      yylen = 0;
6087    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
6088    
6089    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4439  yyerrlab: Line 6112  yyerrlab:
6112    if (!yyerrstatus)    if (!yyerrstatus)
6113      {      {
6114        ++yynerrs;        ++yynerrs;
6115  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
6116        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
6117    #else
6118        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
6119          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6120            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6121            int yytype = YYTRANSLATE (yychar);            {
6122            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
6123            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6124            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
6125                if (yymsg != yymsgbuf)
6126            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
6127               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6128            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
6129                  yymsg_alloc = yyalloc;
6130            /* Stay within bounds of both yycheck and yytname.  */              else
           int yychecklim = YYLAST - yyn;  
           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;  
           int yycount = 0;  
   
           yyprefix = ", expecting ";  
           for (yyx = yyxbegin; yyx < yyxend; ++yyx)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
6131                {                {
6132                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
6133                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
6134                }                }
6135            yysize += (sizeof ("syntax error, unexpected ")            }
                      + yystrlen (yytname[yytype]));  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
6136    
6137                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
6138                  {            {
6139                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
6140                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
6141                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
6142                        {          else
6143                          yyp = yystpcpy (yyp, yyprefix);            {
6144                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
6145                          yyprefix = " or ";              if (yysize != 0)
6146                        }                goto yyexhaustedlab;
6147                  }            }
6148                yyerror (yymsg);        }
6149                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
6150      }      }
6151    
6152    
6153    
6154    if (yyerrstatus == 3)    if (yyerrstatus == 3)
6155      {      {
6156        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
6157           error, discard it.  */           error, discard it.  */
6158    
6159        if (yychar <= YYEOF)        if (yychar <= YYEOF)
6160          {          {
6161            /* If at end of input, pop the error token,            /* Return failure if at end of input.  */
              then the rest of the stack, then return failure.  */  
6162            if (yychar == YYEOF)            if (yychar == YYEOF)
6163               for (;;)              YYABORT;
6164                 {          }
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
                  yydestruct (yystos[*yyssp], yyvsp);  
                }  
         }  
6165        else        else
6166          {          {
6167            YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);            yydestruct ("Error: discarding",
6168            yydestruct (yytoken, &yylval);                        yytoken, &yylval);
6169            yychar = YYEMPTY;            yychar = YYEMPTY;
   
6170          }          }
6171      }      }
6172    
6173    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
6174       token.  */       token.  */
6175    goto yyerrlab1;    goto yyerrlab1;
6176    
# Line 4541  yyerrlab: Line 6180  yyerrlab:
6180  `---------------------------------------------------*/  `---------------------------------------------------*/
6181  yyerrorlab:  yyerrorlab:
6182    
6183  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
6184    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
6185       yyerrorlab therefore never appears in user code.  */       code.  */
6186    if (0)    if (/*CONSTCOND*/ 0)
6187       goto yyerrorlab;       goto yyerrorlab;
 #endif  
6188    
6189    yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
6190    yyssp -= yylen;       this YYERROR.  */
6191      YYPOPSTACK (yylen);
6192      yylen = 0;
6193      YY_STACK_PRINT (yyss, yyssp);
6194    yystate = *yyssp;    yystate = *yyssp;
6195    goto yyerrlab1;    goto yyerrlab1;
6196    
# Line 4578  yyerrlab1: Line 6219  yyerrlab1:
6219        if (yyssp == yyss)        if (yyssp == yyss)
6220          YYABORT;          YYABORT;
6221    
6222        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
6223        yydestruct (yystos[yystate], yyvsp);        yydestruct ("Error: popping",
6224        YYPOPSTACK;                    yystos[yystate], yyvsp);
6225          YYPOPSTACK (1);
6226        yystate = *yyssp;        yystate = *yyssp;
6227        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
6228      }      }
# Line 4588  yyerrlab1: Line 6230  yyerrlab1:
6230    if (yyn == YYFINAL)    if (yyn == YYFINAL)
6231      YYACCEPT;      YYACCEPT;
6232    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
6233    *++yyvsp = yylval;    *++yyvsp = yylval;
6234    
6235    
6236      /* Shift the error token.  */
6237      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6238    
6239    yystate = yyn;    yystate = yyn;
6240    goto yynewstate;    goto yynewstate;
6241    
# Line 4612  yyabortlab: Line 6255  yyabortlab:
6255    goto yyreturn;    goto yyreturn;
6256    
6257  #ifndef yyoverflow  #ifndef yyoverflow
6258  /*----------------------------------------------.  /*-------------------------------------------------.
6259  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
6260  `----------------------------------------------*/  `-------------------------------------------------*/
6261  yyoverflowlab:  yyexhaustedlab:
6262    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
6263    yyresult = 2;    yyresult = 2;
6264    /* Fall through.  */    /* Fall through.  */
6265  #endif  #endif
6266    
6267  yyreturn:  yyreturn:
6268      if (yychar != YYEOF && yychar != YYEMPTY)
6269         yydestruct ("Cleanup: discarding lookahead",
6270                     yytoken, &yylval);
6271      /* Do not reclaim the symbols of the rule which action triggered
6272         this YYABORT or YYACCEPT.  */
6273      YYPOPSTACK (yylen);
6274      YY_STACK_PRINT (yyss, yyssp);
6275      while (yyssp != yyss)
6276        {
6277          yydestruct ("Cleanup: popping",
6278                      yystos[*yyssp], yyvsp);
6279          YYPOPSTACK (1);
6280        }
6281  #ifndef yyoverflow  #ifndef yyoverflow
6282    if (yyss != yyssa)    if (yyss != yyssa)
6283      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
6284  #endif  #endif
6285    return yyresult;  #if YYERROR_VERBOSE
6286      if (yymsg != yymsgbuf)
6287        YYSTACK_FREE (yymsg);
6288    #endif
6289      /* Make sure YYID is used.  */
6290      return YYID (yyresult);
6291  }  }
6292    
6293    
6294  #line 529 "lscp.y"  #line 880 "lscp.y"
6295    
6296    
6297  /**  /**
# Line 4648  void restart(yyparse_param_t* pparam, in Line 6309  void restart(yyparse_param_t* pparam, in
6309      ptr   = 0;      ptr   = 0;
6310  }  }
6311    
   

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

  ViewVC Help
Powered by ViewVC