/[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 228 by schoenebeck, Sat Aug 28 14:55:34 2004 UTC revision 483 by schoenebeck, Mon Mar 21 23:40:56 2005 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* A Bison parser, made by GNU Bison 1.875d.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton parser for Yacc-like parsing with Bison,
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
5    
6     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
7     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 121  typedef int YYSTYPE; Line 121  typedef int YYSTYPE;
121    
122  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
123    
124    # ifndef YYFREE
125    #  define YYFREE free
126    # endif
127    # ifndef YYMALLOC
128    #  define YYMALLOC malloc
129    # endif
130    
131  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
132    
133  # if YYSTACK_USE_ALLOCA  # ifdef YYSTACK_USE_ALLOCA
134  #  define YYSTACK_ALLOC alloca  #  if YYSTACK_USE_ALLOCA
135    #   define YYSTACK_ALLOC alloca
136    #  endif
137  # else  # else
138  #  ifndef YYSTACK_USE_ALLOCA  #  if defined (alloca) || defined (_ALLOCA_H)
139  #   if defined (alloca) || defined (_ALLOCA_H)  #   define YYSTACK_ALLOC alloca
140  #    define YYSTACK_ALLOC alloca  #  else
141  #   else  #   ifdef __GNUC__
142  #    ifdef __GNUC__  #    define YYSTACK_ALLOC __builtin_alloca
 #     define YYSTACK_ALLOC __builtin_alloca  
 #    endif  
143  #   endif  #   endif
144  #  endif  #  endif
145  # endif  # endif
# Line 145  typedef int YYSTYPE; Line 152  typedef int YYSTYPE;
152  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
153  #   define YYSIZE_T size_t  #   define YYSIZE_T size_t
154  #  endif  #  endif
155  #  define YYSTACK_ALLOC malloc  #  define YYSTACK_ALLOC YYMALLOC
156  #  define YYSTACK_FREE free  #  define YYSTACK_FREE YYFREE
157  # endif  # endif
158  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
159    
160    
161  #if (! defined (yyoverflow) \  #if (! defined (yyoverflow) \
162       && (! defined (__cplusplus) \       && (! defined (__cplusplus) \
163           || (YYSTYPE_IS_TRIVIAL)))           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
164    
165  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
166  union yyalloc  union yyalloc
167  {  {
168    short yyss;    short int yyss;
169    YYSTYPE yyvs;    YYSTYPE yyvs;
170    };    };
171    
# Line 168  union yyalloc Line 175  union yyalloc
175  /* 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
176     N elements.  */     N elements.  */
177  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
178       ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \
179        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
180    
181  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
182     not overlap.  */     not overlap.  */
183  # ifndef YYCOPY  # ifndef YYCOPY
184  #  if 1 < __GNUC__  #  if defined (__GNUC__) && 1 < __GNUC__
185  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
186        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
187  #  else  #  else
# Line 210  union yyalloc Line 217  union yyalloc
217  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
218     typedef signed char yysigned_char;     typedef signed char yysigned_char;
219  #else  #else
220     typedef short yysigned_char;     typedef short int yysigned_char;
221  #endif  #endif
222    
223  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
224  #define YYFINAL  39  #define YYFINAL  40
225  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
226  #define YYLAST   3994  #define YYLAST   4493
227    
228  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
229  #define YYNTOKENS  227  #define YYNTOKENS  227
230  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
231  #define YYNNTS  90  #define YYNNTS  92
232  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
233  #define YYNRULES  415  #define YYNRULES  420
234  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
235  #define YYNSTATES  1137  #define YYNSTATES  1152
236    
237  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
238  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
# Line 240  static const unsigned char yytranslate[] Line 247  static const unsigned char yytranslate[]
247         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
248       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
249         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
250         2,     2,   224,    70,   223,     3,    71,    72,    73,   222,         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,
251        74,    75,    76,     6,    77,     7,     5,    78,     8,     9,        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,
252        10,    11,    12,    13,    14,    15,    16,    17,    79,    80,        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,
253        81,     4,    82,    83,    84,    18,    19,    20,    21,    22,        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,
254        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
255        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
256        43,    85,    86,    87,    88,    89,     2,    44,    45,    46,        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,
257        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
258        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
259        67,    68,    69,    90,    91,    92,    93,     2,    94,    95,        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,
260        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
261       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
262       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
263       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
264       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
265       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
266       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
267       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
268       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
269       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
270       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
271       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
272       216,   217,   218,   219,   220,   221,     1,     2       218,   219,   220,   221,   222,   223,     1,     2
273  };  };
274    
275  #if YYDEBUG  #if YYDEBUG
276  /* 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
277     YYRHS.  */     YYRHS.  */
278  static const unsigned short yyprhs[] =  static const unsigned short int yyprhs[] =
279  {  {
280         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
281        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
282        61,    65,    69,    73,    79,    81,    83,    85,    87,    89,        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,
283        91,    93,    95,    97,    99,   101,   103,   105,   107,   109,        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,
284       111,   117,   125,   135,   137,   143,   151,   161,   163,   165,       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,
285       171,   177,   185,   195,   203,   213,   215,   221,   229,   235,       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,
286       241,   247,   255,   265,   273,   283,   287,   291,   297,   301,       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,
287       307,   311,   315,   319,   323,   327,   333,   341,   347,   357,       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,
288       363,   369,   375,   381,   387,   391,   397,   399,   401,   403,       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,
289       405,   407,   413,   421,   425,   427,   429,   431,   433,   435,       407,   409,   411,   417,   425,   429,   431,   433,   435,   437,
290       437,   439,   441,   443,   445,   447,   449,   451,   453,   455,       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,
291       457,   459,   461,   463,   465,   468,   472,   477,   482,   484,       461,   463,   467,   471,   473,   475,   477,   479,   481,   484,
292       487,   489,   491,   493,   495,   497,   499,   501,   503,   505,       488,   493,   498,   500,   503,   505,   507,   509,   511,   513,
293       507,   509,   512,   515,   518,   521,   524,   527,   530,   533,       515,   517,   519,   521,   523,   525,   528,   531,   534,   537,
294       536,   538,   540,   542,   544,   546,   548,   550,   552,   554,       540,   543,   546,   549,   552,   554,   556,   558,   560,   562,
295       556,   558,   560,   562,   564,   566,   568,   570,   572,   574,       564,   566,   568,   570,   572,   574,   576,   578,   580,   582,
296       576,   578,   580,   582,   584,   586,   588,   590,   592,   594,       584,   586,   588,   590,   592,   594,   596,   598,   600,   602,
297       596,   598,   600,   602,   604,   606,   608,   610,   612,   614,       604,   606,   608,   610,   612,   614,   616,   618,   620,   622,
298       616,   618,   620,   622,   624,   626,   628,   630,   632,   634,       624,   626,   628,   630,   632,   634,   636,   638,   640,   642,
299       636,   638,   640,   642,   644,   646,   648,   650,   652,   654,       644,   646,   648,   650,   652,   654,   656,   658,   660,   662,
300       656,   658,   660,   662,   664,   666,   668,   670,   672,   674,       664,   666,   668,   670,   672,   674,   676,   678,   680,   682,
301       676,   678,   680,   682,   684,   686,   688,   690,   692,   694,       684,   686,   688,   690,   692,   694,   696,   698,   700,   702,
302       696,   698,   700,   702,   704,   706,   708,   710,   712,   714,       704,   706,   708,   710,   712,   714,   716,   718,   720,   722,
303       716,   718,   720,   722,   724,   726,   728,   730,   732,   734,       724,   726,   728,   730,   732,   734,   736,   738,   740,   742,
304       736,   738,   740,   742,   744,   746,   748,   750,   752,   754,       744,   746,   748,   750,   752,   754,   756,   758,   760,   762,
305       756,   758,   760,   762,   764,   766,   768,   770,   772,   774,       764,   766,   768,   770,   772,   774,   776,   778,   780,   782,
306       776,   778,   780,   782,   784,   786,   788,   790,   792,   794,       784,   786,   788,   790,   792,   794,   796,   798,   800,   802,
307       796,   798,   800,   802,   804,   806,   808,   810,   812,   814,       804,   806,   808,   810,   812,   814,   816,   818,   820,   822,
308       816,   818,   820,   822,   824,   826,   828,   830,   832,   834,       824,   826,   828,   830,   832,   834,   836,   838,   840,   842,
309       836,   838,   840,   842,   844,   846,   848,   850,   852,   854,       844,   846,   848,   850,   852,   854,   856,   858,   860,   862,
310       856,   858,   860,   862,   864,   866,   868,   870,   872,   874,       864,   866,   868,   870,   872,   874,   876,   878,   880,   882,
311       876,   878,   880,   882,   884,   886,   888,   890,   892,   894,       884,   886,   888,   890,   892,   894,   896,   898,   900,   902,
312       896,   898,   900,   902,   904,   906,   908,   910,   912,   914,       904,   906,   908,   910,   912,   914,   916,   918,   920,   922,
313       916,   918,   920,   922,   924,   926,   928,   930,   932,   934,       924,   926,   928,   930,   932,   934,   936,   938,   940,   942,
314       936,   938,   940,   942,   944,   946,   948,   950,   952,   954,       944,   946,   948,   950,   952,   954,   956,   958,   960,   962,
315       956,   958,   960,   962,   964,   966,   968,   970,   972,   974,       964,   966,   968,   970,   972,   974,   976,   978,   980,   982,
316       976,   978,   981,   984,   988,   992,   994,   996,   998,  1002,       984,   986,   988,   990,   992,   994,   997,  1000,  1004,  1008,
317      1006,  1013,  1021,  1026,  1031,  1035,  1045,  1052,  1056,  1066,      1010,  1012,  1014,  1018,  1022,  1029,  1037,  1042,  1047,  1051,
318      1078,  1086,  1104,  1135,  1144,  1149,  1161,  1174,  1186,  1197,      1061,  1068,  1072,  1082,  1094,  1101,  1109,  1127,  1158,  1167,
319      1204,  1234,  1255,  1275,  1305,  1325,  1356,  1377,  1395,  1424,      1172,  1184,  1197,  1209,  1220,  1227,  1257,  1278,  1298,  1328,
320      1452,  1478,  1497,  1515,  1543,  1561,  1577,  1596,  1612,  1623,      1348,  1379,  1400,  1418,  1447,  1475,  1501,  1520,  1538,  1566,
321      1630,  1636,  1647,  1653,  1667,  1672      1584,  1600,  1619,  1635,  1646,  1653,  1659,  1670,  1676,  1690,
322        1695
323  };  };
324    
325  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
326  static const short yyrhs[] =  static const short int yyrhs[] =
327  {  {
328       228,     0,    -1,   229,   267,    -1,   229,   268,   267,    -1,       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,
329        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
330         3,    -1,   230,   266,    -1,   230,   262,    -1,   230,   258,         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,
331        -1,   269,   266,   281,    -1,   270,   266,   234,    -1,   271,        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,
332       266,   236,    -1,   272,   266,   237,    -1,   273,   266,   242,       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,
333        -1,   274,   266,   238,    -1,   277,   266,   281,   266,   252,        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,
334        -1,   278,   266,   235,    -1,   279,   266,   232,    -1,   280,        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,
335       266,   233,    -1,   313,   266,   281,   266,   252,    -1,   313,       267,   233,    -1,   282,   267,   265,    -1,   315,   267,   283,
336        -1,   316,    -1,   284,    -1,   288,    -1,   287,    -1,   286,       267,   252,    -1,   315,    -1,   318,    -1,   286,    -1,   290,
337        -1,   285,    -1,   314,    -1,   284,    -1,   288,    -1,   287,        -1,   289,    -1,   288,    -1,   287,    -1,   316,    -1,   286,
338        -1,   286,    -1,   285,    -1,   314,    -1,   282,    -1,   299,        -1,   290,    -1,   289,    -1,   288,    -1,   287,    -1,   316,
339        -1,   305,   266,   285,   266,   258,    -1,   304,   266,   285,        -1,   284,    -1,   301,    -1,   307,   267,   287,   267,   259,
340       266,   258,   266,   258,    -1,   304,   266,   285,   266,   258,        -1,   306,   267,   287,   267,   259,   267,   259,    -1,   306,
341       266,   258,   266,   240,    -1,   283,    -1,   295,   266,   285,       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,
342       266,   258,    -1,   294,   266,   285,   266,   258,   266,   258,        -1,   297,   267,   287,   267,   259,    -1,   296,   267,   287,
343        -1,   294,   266,   285,   266,   258,   266,   258,   266,   240,       267,   259,   267,   259,    -1,   296,   267,   287,   267,   259,
344        -1,   292,    -1,   302,    -1,   293,   266,   285,   266,   262,       267,   259,   267,   240,    -1,   294,    -1,   304,    -1,   295,
345        -1,   303,   266,   285,   266,   262,    -1,   306,   266,   285,       267,   287,   267,   263,    -1,   305,   267,   287,   267,   263,
346       266,   262,   266,   262,    -1,   301,   266,   285,   266,   262,        -1,   308,   267,   287,   267,   263,   267,   263,    -1,   303,
347       266,   262,   266,   258,    -1,   297,   266,   285,   266,   262,       267,   287,   267,   263,   267,   263,   267,   259,    -1,   299,
348       266,   262,    -1,   296,   266,   285,   266,   262,   266,   262,       267,   287,   267,   263,   267,   263,    -1,   298,   267,   287,
349       266,   258,    -1,   284,    -1,   281,   266,   285,   266,   252,       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,
350        -1,   281,   266,   286,   266,   241,   266,   252,    -1,   281,       267,   287,   267,   252,    -1,   283,   267,   288,   267,   241,
351       266,   287,   266,   252,    -1,   281,   266,   288,   266,   252,       267,   252,    -1,   283,   267,   289,   267,   252,    -1,   283,
352        -1,   290,   266,   285,   266,   254,    -1,   291,   266,   262,       267,   290,   267,   252,    -1,   292,   267,   287,   267,   254,
353       266,   258,     4,   256,    -1,   296,   266,   262,   266,   262,        -1,   293,   267,   263,   267,   259,     4,   256,    -1,   298,
354       266,   258,     4,   256,    -1,   300,   266,   262,   266,   258,       267,   263,   267,   263,   267,   259,     4,   256,    -1,   302,
355         4,   256,    -1,   301,   266,   262,   266,   262,   266,   258,       267,   263,   267,   259,     4,   256,    -1,   303,   267,   263,
356         4,   256,    -1,   281,   266,   239,    -1,   315,   266,   257,       267,   263,   267,   259,     4,   256,    -1,   283,   267,   239,
357        -1,   293,   266,   258,   266,   240,    -1,   293,   266,   258,        -1,   317,   267,   258,    -1,   295,   267,   259,   267,   240,
358        -1,   303,   266,   258,   266,   240,    -1,   303,   266,   258,        -1,   295,   267,   259,    -1,   305,   267,   259,   267,   240,
359        -1,   293,   266,   262,    -1,   303,   266,   262,    -1,   289,        -1,   305,   267,   259,    -1,   295,   267,   263,    -1,   305,
360       266,   243,    -1,   290,   266,   244,    -1,   293,   266,   252,       267,   263,    -1,   291,   267,   243,    -1,   292,   267,   244,
361       266,   245,    -1,   297,   266,   252,   266,   246,   266,   246,        -1,   295,   267,   252,   267,   245,    -1,   299,   267,   252,
362        -1,   298,   266,   252,   266,   247,    -1,   309,   266,   252,       267,   246,   267,   246,    -1,   300,   267,   252,   267,   247,
363       266,   245,   266,   248,   266,   249,    -1,   303,   266,   252,        -1,   311,   267,   252,   267,   245,   267,   248,   267,   249,
364       266,   245,    -1,   306,   266,   252,   266,   248,    -1,   307,        -1,   305,   267,   252,   267,   245,    -1,   308,   267,   252,
365       266,   252,   266,   249,    -1,   308,   266,   252,   266,   250,       267,   248,    -1,   309,   267,   252,   267,   249,    -1,   310,
366        -1,   310,   266,   252,   266,   251,    -1,   258,     4,   256,       267,   252,   267,   250,    -1,   312,   267,   252,   267,   251,
367        -1,   240,   266,   258,     4,   256,    -1,   311,    -1,   312,        -1,   259,     4,   256,    -1,   240,   267,   259,     4,   256,
368        -1,   292,    -1,   302,    -1,   284,    -1,   255,   266,   253,        -1,   313,    -1,   314,    -1,   294,    -1,   304,    -1,   286,
369       266,   252,    -1,   276,   266,   255,   266,   253,   266,   252,        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,
370        -1,   254,   266,   252,    -1,   262,    -1,   262,    -1,   258,       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,
371        -1,   262,    -1,   262,    -1,   275,    -1,   258,    -1,   259,        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,
372        -1,   262,    -1,   262,    -1,   262,    -1,   258,    -1,   265,        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,
373        -1,   258,    -1,   265,    -1,   262,    -1,   259,    -1,   262,        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,
374        -1,   258,    -1,   263,    -1,   258,   263,    -1,   260,     5,        -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,
375       260,    -1,     6,   260,     5,   260,    -1,     7,   260,     5,        -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,
376       260,    -1,   261,    -1,   260,   261,    -1,     8,    -1,     9,        -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,
377        -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,         8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,
378        -1,    15,    -1,    16,    -1,    17,    -1,   261,    -1,     9,       261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,
379       260,    -1,    10,   260,    -1,    11,   260,    -1,    12,   260,        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,
380        -1,    13,   260,    -1,    14,   260,    -1,    15,   260,    -1,        -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,
381        16,   260,    -1,    17,   260,    -1,    18,    -1,    19,    -1,        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,
382        20,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,        17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,
383         261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,
384        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,
385        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,
386        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,
# Line 381  static const short yyrhs[] = Line 390  static const short yyrhs[] =
390        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,
391        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
392        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,
393         8,    -1,     9,    -1,    10,    -1,    11,    -1,    12,    -1,        70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,
394        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,
395        70,    -1,     3,    -1,    71,    -1,    72,    -1,    73,    -1,        18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,
396        74,    -1,    75,    -1,    76,    -1,     6,    -1,     7,    -1,        74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,
397         5,    -1,    77,    -1,    78,    -1,    79,    -1,    80,    -1,        79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,
398        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,        80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,
399        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,
400        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,
401        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,
402       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,        99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,
403       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,       104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,
404       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,       109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,
405       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,       114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,
406       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,       119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,
407       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,       124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,
408       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,       129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,
409       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,       134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,
410       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,       139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,
411       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,       144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,
412       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,       149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,
413       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,       154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,
414       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,       159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,
415       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,       164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,
416       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,       169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,
417       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,       174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,
418       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,       179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,
419       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,       184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,
420       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,       189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,
421       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,       194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,
422       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,       199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,
423       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,
424       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,
425       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,
426       220,    -1,   221,    -1,   266,    -1,   258,    -1,   264,   266,       219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,
427        -1,   264,   258,    -1,   222,   264,   222,    -1,   223,   264,       267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,
428       223,    -1,   224,    -1,   225,    -1,   226,    -1,    18,    21,         6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,
429        21,    -1,    24,    22,    37,    -1,    20,    35,    22,    18,       225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,
430        37,    22,    -1,    21,    22,    36,    37,    35,    32,    42,        40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,
431        -1,    29,    26,    36,    37,    -1,    29,    32,    18,    21,        25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,
432        -1,    18,    29,    29,    -1,    31,    32,    31,    89,    30,        40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,
433        32,    21,    18,    29,    -1,    35,    22,    30,    32,    39,        -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,
434        22,    -1,    36,    22,    37,    -1,    36,    38,    19,    36,        -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,
435        20,    35,    26,    19,    22,    -1,    38,    31,    36,    38,        40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,
436        19,    36,    20,    35,    26,    19,    22,    -1,    20,    25,        25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,
437        18,    31,    31,    22,    29,    -1,    18,    39,    18,    26,        29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,
438        29,    18,    19,    29,    22,    89,    22,    31,    24,    26,        -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,
439        31,    22,    36,    -1,    18,    39,    18,    26,    29,    18,        42,    21,    29,    32,    21,    22,    32,    25,    91,    25,
440        19,    29,    22,    89,    18,    38,    21,    26,    32,    89,        34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,
441        32,    38,    37,    33,    38,    37,    89,    21,    35,    26,        29,    32,    21,    22,    32,    25,    91,    21,    41,    24,
442        39,    22,    35,    36,    -1,    20,    25,    18,    31,    31,        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,
443        22,    29,    36,    -1,    26,    31,    23,    32,    -1,    19,        24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,
444        38,    23,    23,    22,    35,    89,    23,    26,    29,    29,        21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,
445        -1,    36,    37,    35,    22,    18,    30,    89,    20,    32,        35,    -1,    22,    41,    26,    26,    25,    38,    91,    26,
446        38,    31,    37,    -1,    39,    32,    26,    20,    22,    89,        29,    32,    32,    -1,    39,    40,    38,    25,    21,    33,
447        20,    32,    38,    31,    37,    -1,    26,    31,    36,    37,        91,    23,    35,    41,    34,    40,    -1,    42,    35,    29,
448        35,    38,    30,    22,    31,    37,    -1,    22,    31,    24,        23,    25,    91,    23,    35,    41,    34,    40,    -1,    29,
449        26,    31,    22,    -1,    18,    38,    21,    26,    32,    89,        34,    39,    40,    38,    41,    33,    25,    34,    40,    -1,
450        32,    38,    37,    33,    38,    37,    89,    21,    22,    39,        25,    34,    27,    29,    34,    25,    -1,    21,    41,    24,
451        26,    20,    22,    89,    33,    18,    35,    18,    30,    22,        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,
452        37,    22,    35,    -1,    18,    38,    21,    26,    32,    89,        24,    25,    42,    29,    23,    25,    91,    36,    21,    38,
453        32,    38,    37,    33,    38,    37,    89,    21,    22,    39,        21,    33,    25,    40,    25,    38,    -1,    21,    41,    24,
454        26,    20,    22,    36,    -1,    18,    38,    21,    26,    32,        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,
455        89,    32,    38,    37,    33,    38,    37,    89,    21,    22,        24,    25,    42,    29,    23,    25,    39,    -1,    21,    41,
456        39,    26,    20,    22,    -1,    18,    38,    21,    26,    32,        24,    29,    35,    91,    35,    41,    40,    36,    41,    40,
457        89,    32,    38,    37,    33,    38,    37,    89,    21,    35,        91,    24,    25,    42,    29,    23,    25,    -1,    21,    41,
458        26,    39,    22,    35,    89,    33,    18,    35,    18,    30,        24,    29,    35,    91,    35,    41,    40,    36,    41,    40,
459        22,    37,    22,    35,    -1,    18,    38,    21,    26,    32,        91,    24,    38,    29,    42,    25,    38,    91,    36,    21,
460        89,    32,    38,    37,    33,    38,    37,    89,    21,    35,        38,    21,    33,    25,    40,    25,    38,    -1,    21,    41,
461        26,    39,    22,    35,    -1,    18,    38,    21,    26,    32,        24,    29,    35,    91,    35,    41,    40,    36,    41,    40,
462        89,    32,    38,    37,    33,    38,    37,    89,    20,    25,        91,    24,    38,    29,    42,    25,    38,    -1,    21,    41,
463        18,    31,    31,    22,    29,    89,    33,    18,    35,    18,        24,    29,    35,    91,    35,    41,    40,    36,    41,    40,
464        30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,        91,    23,    28,    21,    34,    34,    25,    32,    91,    36,
465        32,    89,    32,    38,    37,    33,    38,    37,    89,    20,        21,    38,    21,    33,    25,    40,    25,    38,    -1,    21,
466        25,    18,    31,    31,    22,    29,    -1,    18,    38,    21,        41,    24,    29,    35,    91,    35,    41,    40,    36,    41,
467        26,    32,    89,    32,    38,    37,    33,    38,    37,    89,        40,    91,    23,    28,    21,    34,    34,    25,    32,    -1,
468        37,    42,    33,    22,    -1,    18,    39,    18,    26,    29,        21,    41,    24,    29,    35,    91,    35,    41,    40,    36,
469        18,    19,    29,    22,    89,    30,    26,    21,    26,    89,        41,    40,    91,    40,    45,    36,    25,    -1,    21,    42,
470        26,    31,    33,    38,    37,    89,    21,    35,    26,    39,        21,    29,    32,    21,    22,    32,    25,    91,    33,    29,
471        22,    35,    36,    -1,    30,    26,    21,    26,    89,    26,        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,
472        31,    33,    38,    37,    89,    21,    22,    39,    26,    20,        38,    29,    42,    25,    38,    39,    -1,    33,    29,    24,
473        22,    89,    33,    18,    35,    18,    30,    22,    37,    22,        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,
474        35,    -1,    30,    26,    21,    26,    89,    26,    31,    33,        42,    29,    23,    25,    91,    36,    21,    38,    21,    33,
475        38,    37,    89,    33,    32,    35,    37,    89,    33,    18,        25,    40,    25,    38,    -1,    33,    29,    24,    29,    91,
476        35,    18,    30,    22,    37,    22,    35,    -1,    30,    26,        29,    34,    36,    41,    40,    91,    36,    35,    38,    40,
477        21,    26,    89,    26,    31,    33,    38,    37,    89,    21,        91,    36,    21,    38,    21,    33,    25,    40,    25,    38,
478        22,    39,    26,    20,    22,    36,    -1,    30,    26,    21,        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,
479        26,    89,    26,    31,    33,    38,    37,    89,    21,    22,        40,    91,    24,    25,    42,    29,    23,    25,    39,    -1,
480        39,    26,    20,    22,    -1,    30,    26,    21,    26,    89,        33,    29,    24,    29,    91,    29,    34,    36,    41,    40,
481        26,    31,    33,    38,    37,    89,    21,    35,    26,    39,        91,    24,    25,    42,    29,    23,    25,    -1,    33,    29,
482        22,    35,    89,    33,    18,    35,    18,    30,    22,    37,        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,
483        22,    35,    -1,    30,    26,    21,    26,    89,    26,    31,        38,    29,    42,    25,    38,    91,    36,    21,    38,    21,
484        33,    38,    37,    89,    21,    35,    26,    39,    22,    35,        33,    25,    40,    25,    38,    -1,    33,    29,    24,    29,
485        -1,    30,    26,    21,    26,    89,    26,    31,    33,    38,        91,    29,    34,    36,    41,    40,    91,    24,    38,    29,
486        37,    89,    33,    32,    35,    37,    -1,    30,    26,    21,        42,    25,    38,    -1,    33,    29,    24,    29,    91,    29,
487        26,    89,    26,    31,    33,    38,    37,    89,    20,    25,        34,    36,    41,    40,    91,    36,    35,    38,    40,    -1,
488        18,    31,    31,    22,    29,    -1,    30,    26,    21,    26,        33,    29,    24,    29,    91,    29,    34,    36,    41,    40,
489        89,    26,    31,    33,    38,    37,    89,    37,    42,    33,        91,    23,    28,    21,    34,    34,    25,    32,    -1,    33,
490        22,    -1,    30,    26,    21,    26,    89,    26,    31,    33,        29,    24,    29,    91,    29,    34,    36,    41,    40,    91,
491        38,    37,    -1,    39,    32,    29,    38,    30,    22,    -1,        40,    45,    36,    25,    -1,    33,    29,    24,    29,    91,
492        19,    42,    37,    22,    36,    -1,    33,    22,    35,    20,        29,    34,    36,    41,    40,    -1,    42,    35,    32,    41,
493        22,    31,    37,    18,    24,    22,    -1,    35,    22,    36,        33,    25,    -1,    22,    45,    40,    25,    39,    -1,    36,
494        22,    37,    -1,    30,    26,    36,    20,    22,    29,    29,        25,    38,    23,    25,    34,    40,    21,    27,    25,    -1,
495        18,    31,    22,    32,    38,    36,    -1,    22,    20,    25,        38,    25,    39,    25,    40,    -1,    33,    29,    39,    23,
496        32,    -1,    34,    38,    26,    37,    -1        25,    32,    32,    21,    34,    25,    35,    41,    39,    -1,
497          25,    23,    28,    35,    -1,    37,    41,    29,    40,    -1
498  };  };
499    
500  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
501  static const unsigned short yyrline[] =  static const unsigned short int yyrline[] =
502  {  {
503         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,
504        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,
505       105,   106,   107,   108,   109,   110,   113,   114,   115,   116,       105,   106,   107,   108,   109,   110,   111,   114,   115,   116,
506       117,   118,   121,   122,   123,   124,   125,   126,   129,   130,       117,   118,   119,   122,   123,   124,   125,   126,   127,   130,
507       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
508       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
509       151,   154,   155,   156,   157,   158,   159,   162,   163,   164,       151,   152,   155,   156,   157,   158,   159,   160,   163,   164,
510       165,   168,   169,   172,   173,   176,   177,   178,   179,   180,       165,   166,   169,   170,   173,   174,   177,   178,   179,   180,
511       181,   182,   183,   184,   187,   188,   191,   192,   195,   196,       181,   182,   183,   184,   185,   188,   189,   192,   193,   196,
512       197,   200,   201,   204,   207,   210,   213,   216,   219,   220,       197,   198,   201,   202,   205,   208,   211,   214,   217,   220,
513       223,   226,   227,   230,   233,   236,   239,   242,   243,   244,       221,   224,   227,   228,   231,   234,   237,   240,   243,   244,
514       245,   251,   252,   255,   256,   259,   260,   261,   265,   266,       247,   248,   249,   250,   251,   257,   258,   261,   262,   265,
515       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,       266,   267,   271,   272,   275,   276,   277,   278,   279,   280,
516       281,   282,   283,   284,   285,   286,   287,   288,   289,   290,       281,   282,   283,   284,   287,   288,   289,   290,   291,   292,
517       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       293,   294,   295,   296,   298,   298,   298,   298,   298,   298,
518       292,   292,   292,   292,   292,   292,   292,   292,   292,   292,       298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
519       292,   292,   292,   292,   292,   292,   293,   293,   293,   293,       298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
520       293,   293,   293,   293,   293,   293,   293,   293,   293,   293,       299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
521       293,   293,   293,   293,   293,   293,   293,   293,   293,   293,       299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
522       293,   293,   294,   294,   294,   294,   294,   294,   294,   294,       299,   299,   299,   299,   299,   299,   300,   300,   300,   300,
523       294,   294,   295,   295,   295,   295,   295,   295,   295,   295,       300,   300,   300,   300,   300,   300,   301,   301,   301,   301,
524       295,   295,   295,   295,   295,   296,   296,   296,   296,   296,       301,   301,   301,   301,   301,   301,   301,   301,   301,   302,
525       296,   296,   297,   297,   297,   297,   297,   298,   298,   298,       302,   302,   302,   302,   302,   302,   303,   303,   303,   303,
526       298,   299,   299,   299,   300,   300,   300,   301,   301,   301,       303,   304,   304,   304,   304,   305,   305,   305,   306,   306,
527       302,   302,   302,   303,   303,   303,   304,   304,   304,   305,       306,   307,   307,   307,   308,   308,   308,   309,   309,   309,
528       305,   305,   306,   306,   306,   307,   307,   307,   308,   308,       310,   310,   310,   311,   311,   311,   312,   312,   312,   313,
529       308,   309,   309,   309,   310,   310,   310,   311,   311,   311,       313,   313,   314,   314,   314,   315,   315,   315,   316,   316,
530       312,   312,   312,   313,   313,   313,   314,   314,   314,   315,       316,   317,   317,   317,   318,   318,   318,   319,   319,   319,
531       315,   315,   316,   316,   316,   317,   317,   317,   318,   318,       320,   320,   320,   321,   321,   321,   322,   322,   322,   323,
532       318,   319,   319,   319,   320,   320,   320,   321,   321,   321,       323,   323,   324,   324,   324,   325,   325,   325,   326,   326,
533       322,   322,   322,   323,   323,   323,   324,   324,   324,   325,       326,   327,   327,   327,   328,   328,   328,   329,   329,   329,
534       325,   325,   326,   326,   326,   327,   327,   327,   328,   328,       330,   330,   330,   331,   331,   331,   332,   332,   332,   333,
535       328,   329,   329,   329,   330,   330,   330,   331,   331,   331,       333,   333,   334,   334,   334,   335,   335,   335,   336,   336,
536       332,   332,   332,   333,   333,   333,   334,   334,   334,   335,       336,   337,   337,   337,   338,   338,   338,   339,   339,   339,
537       335,   335,   336,   336,   336,   337,   337,   337,   338,   338,       340,   340,   340,   341,   341,   341,   342,   342,   342,   343,
538       338,   339,   339,   339,   340,   340,   340,   341,   341,   344,       343,   343,   344,   344,   344,   345,   345,   345,   346,   346,
539       345,   346,   347,   350,   351,   357,   360,   363,   366,   369,       346,   347,   347,   350,   351,   352,   353,   356,   357,   363,
540       372,   375,   378,   381,   384,   387,   390,   393,   396,   399,       366,   369,   372,   375,   378,   381,   384,   387,   390,   393,
541       402,   405,   408,   411,   414,   417,   420,   423,   426,   429,       396,   399,   402,   405,   408,   411,   414,   417,   420,   423,
542       432,   435,   438,   441,   444,   447,   450,   453,   456,   459,       426,   429,   432,   435,   438,   441,   444,   447,   450,   453,
543       462,   465,   468,   471,   474,   477,   480,   483,   486,   489,       456,   459,   462,   465,   468,   471,   474,   477,   480,   483,
544       492,   495,   498,   501,   504,   507       486,   489,   492,   495,   498,   501,   504,   507,   510,   513,
545         516
546  };  };
547  #endif  #endif
548    
# Line 540  static const unsigned short yyrline[] = Line 551  static const unsigned short yyrline[] =
551     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals. */
552  static const char *const yytname[] =  static const char *const yytname[] =
553  {  {
554    "$end", "error", "$undefined", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",
555    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",
556    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",
557    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",
558    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",
559    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",
560    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",
561    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "','", "'/'",    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",
562    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",
563    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",
564    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",
565    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",
566    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",
567    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",
568    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'",    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",
569    "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'",    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",
570    "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'",    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",
571    "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'",    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",
572    "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'",    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",
573    "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'",    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",
574    "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'",    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",
575    "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'",    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",
576    "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'",    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",
577    "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'",    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",
578    "'ü'", "'ý'", "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'",    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",
579    "$accept", "input", "line", "comment", "command", "subscribe_event",    "$accept", "input", "line", "comment", "command", "subscribe_event",
580    "unsubscribe_event", "get_instruction", "set_instruction",    "unsubscribe_event", "get_instruction", "set_instruction",
581    "create_instruction", "destroy_instruction", "load_instruction",    "create_instruction", "destroy_instruction", "load_instruction",
582    "set_chan_instruction", "key_val_list", "buffer_size_type",    "set_chan_instruction", "key_val_list", "buffer_size_type",
583    "list_instruction", "load_instr_args", "load_engine_args",    "list_instruction", "load_instr_args", "load_engine_args",
584    "device_index", "audio_channel_index", "audio_output_type_name",    "device_index", "audio_channel_index", "audio_output_type_name",
585    "midi_input_port_index", "midi_input_channel_index",    "midi_input_port_index", "midi_input_channel_index",
586    "midi_input_type_name", "volume_value", "sampler_channel",    "midi_input_type_name", "volume_value", "sampler_channel",
587    "instrument_index", "engine_name", "filename", "param_val", "boolean",    "instrument_index", "engine_name", "filename", "param_val_list",
588    "string", "dotnum", "digits", "digit", "number", "char", "text",    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",
589    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",
590    "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",
591    "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
592    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",
593    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",
594    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
595    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
596    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
597    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
598    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
599    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
600    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",
601    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME", "BYTES",
602    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0
603  };  };
604  #endif  #endif
605    
606  # ifdef YYPRINT  # ifdef YYPRINT
607  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
608     token YYLEX-NUM.  */     token YYLEX-NUM.  */
609  static const unsigned short yytoknum[] =  static const unsigned short int yytoknum[] =
610  {  {
611         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,
612        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,
613        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,
614        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
615        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,
616       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
617       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
618        33,    36,    37,    38,    40,    41,    42,    44,    47,    58,       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,
619        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,
620       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,
621       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
622       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
623       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
624       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
625       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
626       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
627       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
628       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
629       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
630       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
631       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
632       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
633       254,   255,    39,    34,    32,    10,    13       252,   253,   254,   255,    32,    10,    13
634  };  };
635  # endif  # endif
636    
637  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
638  static const unsigned short yyr1[] =  static const unsigned short int yyr1[] =
639  {  {
640         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
641       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
642       231,   231,   231,   231,   231,   231,   232,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,
643       232,   232,   233,   233,   233,   233,   233,   233,   234,   234,       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,
644       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
645       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
646       234,   235,   235,   235,   235,   235,   235,   236,   236,   236,       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,
647       236,   237,   237,   238,   238,   239,   239,   239,   239,   239,       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,
648       239,   239,   239,   239,   240,   240,   241,   241,   242,   242,       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,
649       242,   243,   243,   244,   245,   246,   247,   248,   249,   249,       242,   242,   243,   243,   244,   245,   246,   247,   248,   249,
650       250,   251,   251,   252,   253,   254,   255,   256,   256,   256,       249,   250,   251,   251,   252,   253,   254,   255,   256,   256,
651       256,   257,   257,   258,   258,   259,   259,   259,   260,   260,       257,   257,   257,   257,   257,   258,   258,   259,   259,   260,
652       261,   261,   261,   261,   261,   261,   261,   261,   261,   261,       260,   260,   261,   261,   262,   262,   262,   262,   262,   262,
653       262,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   262,   262,   262,   263,   263,   263,   263,   263,   263,
654       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       263,   263,   263,   263,   264,   264,   264,   264,   264,   264,
655       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
656       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
657       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
658       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
659       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
660       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
661       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
662       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
663       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
664       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
665       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
666       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
667       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
668       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
669       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
670       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
671       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
672       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
673       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
674       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
675       263,   263,   263,   263,   263,   263,   263,   263,   263,   264,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
676       264,   264,   264,   265,   265,   266,   267,   268,   269,   270,       264,   264,   264,   265,   265,   265,   265,   266,   266,   267,
677       271,   272,   273,   274,   275,   276,   277,   278,   279,   280,       268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
678       281,   282,   283,   284,   285,   286,   287,   288,   289,   290,       278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
679       291,   292,   293,   294,   295,   296,   297,   298,   299,   300,       288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
680       301,   302,   303,   304,   305,   306,   307,   308,   309,   310,       298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
681       311,   312,   313,   314,   315,   316       308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
682         318
683  };  };
684    
685  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 675  static const unsigned char yyr2[] = Line 687  static const unsigned char yyr2[] =
687  {  {
688         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
689         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,
690         3,     3,     3,     5,     1,     1,     1,     1,     1,     1,         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
        5,     7,     9,     1,     5,     7,     9,     1,     1,     5,  
        5,     7,     9,     7,     9,     1,     5,     7,     5,     5,  
        5,     7,     9,     7,     9,     3,     3,     5,     3,     5,  
        3,     3,     3,     3,     3,     5,     7,     5,     9,     5,  
        5,     5,     5,     5,     3,     5,     1,     1,     1,     1,  
        1,     5,     7,     3,     1,     1,     1,     1,     1,     1,  
691         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
692         1,     1,     1,     1,     2,     3,     4,     4,     1,     2,         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,
693           5,     5,     7,     9,     7,     9,     1,     5,     7,     5,
694           5,     5,     7,     9,     7,     9,     3,     3,     5,     3,
695           5,     3,     3,     3,     3,     3,     5,     7,     5,     9,
696           5,     5,     5,     5,     5,     3,     5,     1,     1,     1,
697           1,     1,     5,     7,     3,     1,     1,     1,     1,     1,
698           1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
699           1,     3,     3,     1,     1,     1,     1,     1,     2,     3,
700           4,     4,     1,     2,     1,     1,     1,     1,     1,     1,
701           1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
702           2,     2,     2,     2,     1,     1,     1,     1,     1,     1,
703         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     2,     2,     2,     2,     2,     2,     2,     2,     2,  
704         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
705         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
706         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 707  static const unsigned char yyr2[] = Line 721  static const unsigned char yyr2[] =
721         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
722         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
723         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
724         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
725         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     3,     3,     6,     7,     4,     4,     3,     9,
726         1,     2,     2,     3,     3,     1,     1,     1,     3,     3,         6,     3,     9,    11,     6,     7,    17,    30,     8,     4,
727         6,     7,     4,     4,     3,     9,     6,     3,     9,    11,        11,    12,    11,    10,     6,    29,    20,    19,    29,    19,
728         7,    17,    30,     8,     4,    11,    12,    11,    10,     6,        30,    20,    17,    28,    27,    25,    18,    17,    27,    17,
729        29,    20,    19,    29,    19,    30,    20,    17,    28,    27,        15,    18,    15,    10,     6,     5,    10,     5,    13,     4,
730        25,    18,    17,    27,    17,    15,    18,    15,    10,     6,         4
        5,    10,     5,    13,     4,     4  
731  };  };
732    
733  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
734     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
735     means the default is an error.  */     means the default is an error.  */
736  static const unsigned short yydefact[] =  static const unsigned short int yydefact[] =
737  {  {
738         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
739         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,
740         0,     0,     0,     0,     0,     0,    24,    25,     0,     0,         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     1,  
      366,   367,     2,     0,     9,   218,   212,   210,   211,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   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,   202,   204,   205,   206,   207,   208,   209,   213,   214,  
      215,   216,   217,   219,   220,   221,   222,   223,   224,   225,  
      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,  
      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,  
      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,  
      256,   257,   258,   259,   260,   261,   262,   263,   264,   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,   365,    12,   130,    11,   113,    10,     0,  
741         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
742       368,     0,     0,   369,     0,     0,     0,     0,     0,   377,         1,   370,   371,     2,     0,     9,   222,   217,   216,   214,
743         0,     0,     3,   120,   121,   122,   123,   124,   125,   126,       215,   124,   125,   126,   127,   128,   129,   130,   131,   132,
744       127,   128,   129,   131,   118,   132,   133,   134,   135,   136,       133,   144,   145,   146,   147,   148,   149,   150,   151,   152,
745       137,   138,   139,   203,   192,   193,   194,   195,   196,   197,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
746       198,   199,   200,   201,   114,     0,    13,     0,     0,     0,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
747         0,    14,     0,    38,    43,    55,     0,    47,     0,     0,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
748         0,     0,     0,    39,     0,    48,     0,     0,     0,     0,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
749         0,     0,    15,     0,     0,    16,     0,     0,     0,     0,       193,   194,   195,   206,   208,   209,   210,   211,   212,   213,
750         0,    17,    90,    88,    89,     0,    18,     0,     0,     0,       218,   219,   220,   221,   223,   224,   225,   226,   227,   228,
751         0,     0,     0,    20,     0,     0,     0,     0,     0,     0,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
752         0,     0,     0,     0,     0,    21,    26,    30,    29,    28,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
753        27,    31,    22,    32,    36,    35,    34,    33,    37,     0,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
754         0,     0,   372,   373,   415,     0,     0,     0,     0,   119,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
755         269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
756         279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
757         289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
758         299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
759         309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
760         319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
761         329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
762         339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
763         349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
764         359,   360,   361,   362,   369,    12,   134,    11,   117,    10,
765         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
766           0,     0,   372,     0,     0,   373,     0,     0,     0,     0,
767           0,     0,   381,     0,     0,     3,   124,   125,   126,   127,
768         128,   129,   130,   131,   132,   133,   135,   122,   136,   137,
769         138,   139,   140,   141,   142,   143,   207,   196,   197,   198,
770         199,   200,   201,   202,   203,   204,   205,   118,     0,    13,
771           0,     0,     0,     0,    14,     0,    39,    44,    56,     0,
772          48,     0,     0,     0,     0,     0,    40,     0,    49,     0,
773           0,     0,     0,     0,     0,    15,     0,     0,    16,     0,
774           0,     0,     0,     0,    17,    91,    89,    90,     0,    18,
775           0,     0,     0,     0,     0,     0,    20,     0,     0,     0,
776           0,     0,     0,     0,     0,     0,     0,     0,    21,    27,
777          31,    30,    29,    28,    32,    22,    33,    37,    36,    35,
778          34,    38,   364,    23,   363,     0,     0,     0,   376,   377,
779         420,     0,     0,     0,     0,     0,   123,     0,     0,     0,
780         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
781         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
782         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,  
783         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
784           0,     0,   366,   365,     0,     0,     0,     0,   417,     0,
785         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,    68,    70,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,    71,    72,     0,     0,  
        0,     0,     0,     0,     0,    73,     0,   106,     0,    74,  
        0,   105,    19,   103,     0,     0,     0,     0,     0,     0,  
       65,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,    66,   112,   111,     0,     0,     0,  
        0,     0,    23,   370,     0,   376,     0,     0,     0,     0,  
786         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
787           0,     0,     0,     0,     0,    69,    71,   125,   126,   127,
788         128,   129,   130,   131,   132,   133,    72,    73,     0,     0,
789           0,     0,     0,     0,     0,    74,     0,   107,     0,    75,
790           0,   106,    19,   104,     0,     0,     0,     0,     0,     0,
791          66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
792           0,     0,     0,     0,    67,   116,   115,     0,     0,     0,
793           0,     0,    24,   374,     0,   380,   384,     0,     0,     0,
794         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,   360,     0,  
      359,     0,     0,     0,     0,     0,   414,     0,     0,     0,  
795         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   384,     0,     0,     0,   371,  
        0,     0,     0,     0,     0,     0,     0,     0,    56,     0,  
        0,     0,    86,    87,    58,    59,    60,    49,     0,    44,  
        0,     0,     0,    50,     0,    40,     0,     0,     0,    67,  
        0,    69,     0,     0,     0,     0,     0,   363,   362,   361,  
      364,     0,   104,     0,    93,     0,     0,     0,     0,     0,  
796         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
797           0,     0,     0,     0,     0,   419,     0,     0,     0,     0,
798         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
799         0,     0,     0,   389,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,   389,     0,     0,     0,   375,     0,
800           0,     0,     0,     0,     0,     0,     0,    57,     0,     0,
801           0,    87,    88,    59,    60,    61,    50,     0,    45,     0,
802           0,     0,    51,     0,    41,     0,     0,     0,    68,     0,
803          70,     0,     0,     0,     0,   367,   368,     0,     0,   105,
804           0,    94,     0,     0,     0,     0,     0,     0,     0,     0,
805         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
806         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
807         394,     0,     0,     0,     0,     0,     0,     0,     0,     0,
808         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   378,     0,   380,  
        0,     0,   380,     0,     0,     0,    57,    45,     0,    53,  
        0,    41,    51,     0,     0,     0,   210,   211,    84,   107,  
      110,     0,   118,   109,   108,     0,     0,     0,     0,     0,  
       91,     0,     0,     0,     0,     0,     0,    75,    94,     0,  
       95,    77,    96,    79,    80,    97,     0,    81,    98,    99,  
       82,   100,     0,     0,     0,    83,   101,   102,    61,     0,  
       63,     0,     0,     0,     0,     0,     0,     0,     0,   383,  
809         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
810         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
811         0,     0,   409,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,   382,     0,   385,     0,     0,   385,
812         0,     0,   379,     0,     0,     0,   410,     0,    46,    54,         0,     0,     0,    58,    46,     0,    54,     0,    42,    52,
813        52,    42,     0,     0,    85,     0,     0,   115,     0,     0,         0,     0,     0,     0,     0,   214,   215,    85,   108,   110,
814         0,     0,    92,     0,     0,     0,     0,    76,   374,     0,       114,     0,   122,   113,     0,     0,     0,     0,     0,    92,
815        62,    64,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,    76,    95,     0,    96,
816         0,     0,   116,   117,     0,     0,   388,     0,     0,     0,        78,    97,    80,    81,    98,     0,    82,    99,   100,    83,
817         101,     0,     0,     0,    84,   102,   103,    62,     0,    64,
818           0,     0,     0,     0,     0,     0,     0,     0,   388,     0,
819         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   375,     0,     0,  
        0,     0,    78,   385,     0,     0,   387,     0,     0,     0,  
820         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
821         0,     0,   408,     0,   386,     0,     0,     0,     0,     0,         0,     0,     0,     0,   414,     0,     0,     0,     0,     0,
822           0,     0,     0,     0,   383,     0,     0,     0,   415,     0,
823          47,    55,    53,    43,     0,     0,    86,   111,   112,     0,
824           0,   109,   119,     0,     0,     0,     0,    93,     0,     0,
825           0,     0,    77,   378,     0,    63,    65,     0,     0,     0,
826           0,     0,     0,     0,     0,     0,     0,   120,   121,     0,
827           0,   393,     0,     0,     0,     0,     0,     0,     0,     0,
828         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
829         0,     0,   413,     0,     0,     0,     0,     0,     0,     0,         0,     0,   379,     0,     0,     0,     0,    79,   390,     0,
830         0,   411,     0,     0,     0,     0,     0,     0,     0,     0,         0,   392,     0,     0,     0,     0,     0,     0,     0,     0,
831           0,     0,     0,     0,     0,     0,     0,   413,     0,   391,
832         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
833         0,     0,   405,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   418,     0,     0,
834           0,     0,     0,     0,     0,     0,   416,     0,     0,     0,
835         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
836           0,     0,     0,     0,     0,     0,     0,   410,     0,     0,
837         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
838         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      381,     0,   402,   404,     0,     0,   402,     0,     0,     0,  
        0,     0,     0,     0,     0,   405,   407,     0,     0,     0,  
        0,     0,   401,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   392,   394,     0,     0,     0,     0,  
      392,     0,     0,     0,     0,     0,   397,     0,   396,   391,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   406,  
839         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
840         0,     0,     0,     0,     0,     0,     0,   396,     0,     0,         0,     0,     0,     0,     0,   386,     0,   407,   409,     0,
841           0,   407,     0,     0,     0,     0,     0,     0,     0,     0,
842         410,   412,     0,     0,     0,     0,     0,   406,     0,     0,
843           0,     0,     0,     0,     0,     0,     0,     0,     0,   397,
844         399,     0,     0,     0,     0,   397,     0,     0,     0,     0,
845           0,   402,     0,   401,   396,     0,     0,     0,     0,     0,
846           0,     0,     0,     0,   411,     0,     0,     0,     0,     0,
847         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
848         0,     0,     0,     0,     0,     0,     0,     0,     0,   400,         0,     0,   401,     0,     0,     0,     0,     0,     0,     0,
849         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
850         0,     0,     0,   403,     0,   399,     0,     0,     0,   398,         0,     0,     0,     0,   405,     0,     0,     0,     0,     0,
851         0,     0,   393,     0,   390,   395,   382         0,     0,     0,     0,     0,     0,     0,     0,   408,     0,
852         404,     0,     0,     0,   403,     0,     0,   398,     0,   395,
853         400,   387
854  };  };
855    
856  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
857  static const short yydefgoto[] =  static const short int yydefgoto[] =
858  {  {
859        -1,    12,    13,    14,    15,   385,   392,   331,   373,   352,        -1,    12,    13,    14,    15,   388,   395,   334,   376,   355,
860       355,   366,   520,   639,   621,   361,   505,   509,   767,   769,       358,   369,   530,   648,   630,   364,   515,   519,   776,   778,
861       771,   774,   777,   780,   785,   512,   651,   510,   506,   748,       780,   783,   786,   789,   794,   522,   658,   520,   516,   757,
862       534,   749,   750,   751,   265,   513,   267,   579,   754,   696,       758,   544,   759,   760,   761,   266,   523,   268,   403,   517,
863        42,    43,    16,    17,    18,    19,    20,    21,   779,   508,       703,    43,    44,    16,    17,    18,    19,    20,    21,   788,
864        22,    23,    24,    25,   326,   333,   334,   335,   387,   388,       518,    22,    23,    24,    25,    26,   329,   336,   337,   338,
865       389,   390,   367,   336,   375,   337,   338,   339,   340,   341,       390,   391,   392,   393,   370,   339,   378,   340,   341,   342,
866       342,   523,   343,   377,   344,   345,   346,   347,   348,   349,       343,   344,   345,   533,   346,   380,   347,   348,   349,   350,
867       526,   527,   528,   529,   622,   623,    26,   391,   379,    27       351,   352,   536,   537,   538,   539,   631,   632,    27,   394,
868         382,    28
869  };  };
870    
871  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
872     STATE-NUM.  */     STATE-NUM.  */
873  #define YYPACT_NINF -699  #define YYPACT_NINF -705
874  static const short yypact[] =  static const short int yypact[] =
875  {  {
876        54,  -699,  -699,    32,    16,    91,   123,    -2,    24,   124,        30,  -705,  -705,     6,    -1,    31,    49,    -3,    55,    52,
877        63,    45,   177,  -197,  1575,  -699,   -32,   -32,   -32,   -32,        -2,    76,   132,  -113,  1616,  -705,   -63,   -63,   -63,   -63,
878       -32,   -32,   -32,   -32,   -32,   -32,   -32,  -699,   212,   236,       -63,   -63,   -63,   -63,   -63,   -63,   -63,   -63,  -705,   123,
879       198,   222,   224,   243,   238,    -5,   225,   246,   230,  -699,       138,   143,   154,   161,   211,   213,   144,    41,   222,   210,
880      -699,  -699,  -699,    42,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,    23,  -705,  -705,  -705,  -705,  -705,
881       214,   214,   214,   214,   214,   214,   214,   214,   214,  -699,      -705,  -705,   257,   257,   257,   257,   257,   257,   257,   257,
882      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       257,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
883      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
884      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
885      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
886      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
887      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
888      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
889      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
890      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
891      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
892      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
893      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
894      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
895      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
896      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
897      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
898      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
899      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
900      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
901      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
902      -699,  -699,  -699,  -699,  2240,  -699,  -699,  -699,  -699,   248,      -705,  -705,  -705,  -705,  -705,  2723,  -705,  -705,  -705,  -705,
903       178,    77,    77,    64,    30,   248,   179,    61,    61,   248,       227,   115,     8,     8,   110,    86,   227,   116,    37,    37,
904      -699,   251,   233,  -699,   234,   252,   235,   242,   253,  -699,      1838,   227,  -705,   230,   212,  -705,   214,   229,   218,   224,
905       241,   244,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       232,   235,  -705,   223,   225,  -705,  -705,  -705,  -705,  -705,
906      -699,  -699,  -699,   214,  -699,   214,   214,   214,   214,   214,      -705,  -705,  -705,  -705,  -705,  -705,   257,  -705,   257,   257,
907       214,   214,   214,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       257,   257,   257,   257,   257,   257,  -705,  -705,  -705,  -705,
908      -699,  -699,  -699,  -699,  -699,   256,  -699,    66,   258,   245,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   236,  -705,
909       259,  -699,   -32,  -699,  -699,  -699,   -32,  -699,   -32,   -32,       104,   237,   254,   234,  -705,   -63,  -705,  -705,  -705,   -63,
910       -32,   -32,   -32,  -699,   -32,  -699,   -32,   -32,   -32,   -32,      -705,   -63,   -63,   -63,   -63,   -63,  -705,   -63,  -705,   -63,
911       249,   260,  -699,   -32,   -32,  -699,   -32,   -32,   250,   264,       -63,   -63,   -63,   248,   261,  -705,   -63,   -63,  -705,   -63,
912       265,  -699,  -699,  -699,  -699,   247,  -699,   -32,   -32,   -32,       -63,   250,   264,   265,  -705,  -705,  -705,  -705,   259,  -705,
913       254,   270,   268,  -699,   -32,   -32,   -32,   -32,   -32,   -32,       -63,   -63,   -63,   256,   272,   277,  -705,   -63,   -63,   -63,
914       266,   272,   279,   269,   275,  -699,  -699,  -699,  -699,  -699,       -63,   -63,   -63,   266,   274,   280,   270,   276,  -705,  -705,
915      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,   -32,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
916       271,   274,  -699,  -699,  -699,   273,   276,   290,   292,  -699,      -705,  -705,  2723,  1838,  -705,   -63,   273,   278,  -705,  -705,
917       296,   263,   297,   298,   294,   300,    60,   291,   291,   291,      -705,   275,   279,   289,   291,   293,  -705,   297,   296,   300,
918       291,   291,   291,   291,   291,   291,   291,   291,   301,   302,       302,   298,   303,    36,   295,   295,   295,   295,   295,   295,
919      2240,  2240,   240,   240,   304,   315,   318,   283,   -28,  2240,       295,   295,   295,   295,   295,   309,   311,  2723,  2723,   267,
920       240,   319,   313,   322,    20,   240,   240,   240,   240,  2459,       267,   316,   320,   318,   306,    21,  2723,   267,   324,   323,
921       323,   324,   312,   314,   325,   240,   328,   320,   331,  -699,       326,    19,   267,   267,   267,   267,  2944,   327,   328,   313,
922       326,   332,   327,   333,   334,   338,   344,   345,   -32,   -32,       317,   331,  2723,  -705,   267,   336,   321,   337,  -705,   330,
923       -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,       325,   332,   338,   344,   345,   341,   347,   348,   -63,   -63,
924       -32,   -32,   -32,   346,   347,  1797,  1797,   214,   214,   214,       -63,   -63,   -63,   -63,   -63,   -63,   -63,   -63,   -63,   -63,
925       214,   214,   214,   214,   214,   214,  -699,  -699,   348,   349,       -63,   -63,   -63,   349,   350,  1838,  1838,   257,   257,   257,
926       350,   341,   343,  1797,  1797,  -699,   -32,  -699,   -32,  -699,       257,   257,   257,   257,   257,   257,  -705,  -705,   352,   351,
927       -32,  2240,  -699,  -699,   353,   351,   355,   316,   356,   352,       353,   343,  1838,  1838,   354,  -705,   -63,  -705,   -63,  -705,
928      -699,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,       -63,  2723,  -705,  -705,   355,   356,   357,   346,   359,   358,
929       -32,   -32,   -32,   -32,  -699,  2240,  -699,   362,   354,   368,      -705,   -63,   -63,   -63,   -63,   -63,   -63,   -63,   -63,   -63,
930       367,   370,  -699,  -699,   357,  -699,   365,   372,   363,   361,       -63,   -63,   -63,   -63,  -705,  2723,  -705,   368,   360,   373,
931       366,   369,   371,   307,   240,     1,   240,   240,  2240,   240,       372,   375,  -705,  -705,   361,  -705,  -705,   370,   377,   367,
932      2240,  2240,   240,   240,   240,   240,  2240,  2240,   240,   373,       369,   371,   374,   376,   314,   267,    62,   267,   267,  2723,
933       308,  2240,  2240,   374,   376,   309,   375,   377,  2240,  1131,       267,  2723,  2723,   267,   267,   267,   267,  2723,  2723,   267,
934      -699,  1353,   240,   -91,   240,   379,  -699,   335,   380,   382,       378,   329,  2723,  2723,   379,   381,   333,   364,  1172,  1394,
935       383,   240,   240,   240,   240,   240,   240,   240,   240,   240,       382,   267,   197,   267,   383,  -705,   339,   385,   387,   380,
936      2240,   240,  2240,   240,   387,  -699,   391,   386,   392,  -699,       267,   267,   267,   267,   267,   267,   267,   267,   267,  2723,
937       396,   381,   395,   336,   402,   399,   400,   397,  -699,   384,       267,  2723,   267,   392,  -705,   394,   386,   396,  -705,   400,
938       405,   -32,  -699,  -699,  -699,  -699,  -699,  -699,  1797,  2240,       389,   398,   340,   407,   404,   408,   403,  -705,   390,   409,
939       -32,   -32,   -32,  -699,  1797,  2240,   -32,   339,   403,   -32,       -63,  -705,  -705,  -705,  -705,  -705,  -705,  1838,  2723,   -63,
940      2678,   -32,   358,   408,   410,   401,   359,  -699,  2240,  -699,       -63,   -63,  -705,  1838,  2723,   -63,   362,   414,   -63,  3165,
941      -699,   -32,  -699,   -32,  -699,   360,   411,   412,   414,   404,       -63,   363,   411,   415,   405,  -705,  -705,   365,   -63,  -705,
942       -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,   -32,  2897,       -63,  -705,   366,   416,   418,   419,   410,   -63,   -63,   -63,
943       -32,  3116,   -32,   406,   415,   413,   364,   423,   420,   421,       -63,   -63,   -63,   -63,   -63,   -63,  3386,   -63,  3607,   -63,
944       419,   433,   425,  -699,   424,   434,   437,   240,  2240,   240,       399,   417,   422,   393,   425,   423,   426,   424,   438,   429,
945       240,   240,  2240,   240,   443,   445,  2240,  2019,   454,   458,      -705,   428,   440,   443,   267,  2723,   267,   267,   267,  2723,
946       457,   459,   460,   240,   240,   461,   464,   465,   435,   469,       267,   450,   430,  2723,  2060,   451,   431,   462,   464,   465,
947       240,   240,  2240,   240,   240,   228,  2240,   240,   204,  2019,       267,   267,   466,   468,   469,   420,   473,   267,   267,  2723,
948      2240,  2019,  2240,   436,   493,   438,   503,  -699,   507,  -699,       267,   267,   209,  2723,   267,   199,  2060,  2723,  2060,  2723,
949       490,   500,   494,   498,   510,   513,  -699,  1797,   -32,  -699,       421,   476,   449,   486,  -705,   488,  -705,   472,   482,   477,
950       -32,  1797,  -699,   496,   502,  3335,   214,   214,  -699,  2240,       479,   492,   518,  -705,  1838,   -63,  -705,   -63,  1838,  -705,
951      -699,   110,   -22,  -699,  -699,   499,   494,   505,   514,   508,       501,   507,  3828,  2723,  2723,   257,   257,   539,  -705,  2723,
952      -699,   -32,   501,   509,   452,   517,   522,  -699,  -699,   -32,      -705,    89,    11,  -705,   504,   477,   510,   522,   513,  -705,
953      -699,  -699,  2240,  -699,  -699,  -699,   518,  -699,  -699,  -699,       -63,   508,   514,   460,   523,   528,  -705,  -705,   -63,  -705,
954      -699,  2240,   -32,   214,   214,  -699,  -699,  -699,  -699,  3554,      -705,  2723,  -705,  -705,  -705,   525,  -705,  -705,  -705,  -705,
955      -699,  3773,   523,   534,   533,   524,   536,   525,   537,  -699,      2723,   -63,   257,   257,  -705,  -705,  -705,   539,  4049,   539,
956       526,   519,   538,  2240,  2240,  2240,  2240,   528,   532,  2019,      4270,   529,   533,   535,   531,   538,   524,   542,  -705,   527,
957       125,   171,   214,   529,   535,   530,   542,   240,   539,   540,       530,   545,  2723,  2723,  2723,  2723,   532,   537,  2060,  2281,
958       543,   541,  -699,   240,   545,   240,  2019,  2019,   551,   548,      2502,   109,   173,  2060,   257,   534,   540,   546,   547,   267,
959       549,   544,  -699,   547,   482,   546,  -699,   553,   -32,  2240,       543,   541,   544,   550,  -705,   267,   553,   267,  2060,  2060,
960      2240,   -32,   552,   554,  -699,   214,   214,   214,   555,   556,       557,   554,   555,   548,  -705,   556,   500,   559,  -705,   560,
961       557,   568,  -699,   559,   558,   560,   563,  -699,  -699,   -32,       -63,  2723,  2723,   -63,   561,   562,   539,  -705,  -705,   257,
962      -699,  -699,   561,   575,   562,   570,   564,    80,   515,   566,       257,  -705,   257,   564,   563,   565,   552,  -705,   568,   566,
963       567,   521,   214,   214,   569,   572,  -699,   577,   573,   574,       567,   571,  -705,  -705,   -63,   539,   539,   569,   570,   572,
964       571,   576,   228,   583,   581,   584,   580,   586,   587,   590,       575,   573,   174,   502,   576,   577,   519,   257,   257,   578,
965       600,   157,   609,   591,   578,   592,   610,  -699,   593,   172,       520,  -705,   580,   579,   549,   581,   582,   209,   590,   594,
966       599,   596,  -699,  -699,   597,   601,  -699,   579,   613,   612,       591,   593,   595,   596,   597,   605,   106,   615,   598,   617,
967       616,     4,   608,   618,   582,   621,   585,   622,   589,   623,       599,   618,  -705,   603,   126,   608,   606,  -705,  -705,   607,
968       614,   619,   595,   611,  -699,   129,   633,   636,   638,   626,       609,  -705,   574,   626,   624,   628,     0,   632,   636,   583,
969       640,   632,   647,   649,   634,   651,   641,   186,   642,   650,       643,   584,   644,   585,   645,   637,   612,   586,   634,  -705,
970       645,    40,  -699,   661,    71,   656,   658,   602,   666,   654,       182,   642,   649,   650,   638,   652,   647,   662,   664,   651,
971       657,  -699,   673,   672,   680,   684,   681,   690,   687,   677,       665,   653,   217,   654,   660,   659,    59,  -705,   663,    47,
972       627,   692,   683,   676,   701,   682,   694,   635,   700,   697,       657,   666,   610,   673,   667,   677,  -705,   680,   684,   694,
973       707,   708,   643,   695,   711,   696,   713,   720,   703,   719,       691,   693,   697,   696,   683,   635,   699,   695,   688,   707,
974       643,    12,   722,   709,   710,   714,   724,   712,   721,   716,       687,   708,   648,   711,   712,   717,   718,   656,   700,   721,
975       715,   732,   723,   728,   729,   740,   737,   742,   734,   741,       706,   726,   729,   710,   730,   656,    40,   733,   720,   719,
976       746,   744,   730,   745,   738,   749,   750,   757,   758,   747,       722,   731,   724,   727,   725,   734,   736,   732,   723,   738,
977      -699,   751,   752,   693,   765,   766,  -699,   767,   752,   759,       744,   742,   749,   741,   747,   752,   735,   740,   745,   746,
978       769,   702,   774,   760,   763,  -699,  -699,   776,   781,   770,       755,   753,   765,   767,   754,  -705,   757,   758,   703,   775,
979       771,   768,  -699,   777,   772,   792,   793,   796,   797,   789,       776,  -705,   777,   758,   764,   778,   714,   781,   770,   769,
980       795,   801,   802,   798,   794,   743,   800,   803,   811,   813,      -705,  -705,   782,   785,   784,   779,   774,  -705,   780,   792,
981      -699,   794,   805,   753,   820,   808,  -699,   812,   754,  -699,       795,   806,   807,   808,   798,   801,   811,   812,   809,   799,
982       815,   806,   756,   814,   816,   754,   817,   818,   829,  -699,       748,   804,   802,   823,   824,  -705,   799,   814,   760,   832,
983       819,   836,   823,   834,   838,   835,   843,   846,   837,   847,       820,  -705,   825,   768,  -705,   819,   815,   771,   822,   830,
984       832,   780,   839,   840,   842,   841,   850,  -699,   851,   854,       768,   828,   827,   841,  -705,   833,   847,   831,   846,   851,
985       852,   855,   860,   863,   869,   868,   873,   862,   858,   856,       848,   853,   854,   844,   858,   842,   790,   849,   852,   850,
986       857,   864,   867,   865,   870,   879,   877,   882,   883,  -699,       857,   855,  -705,   859,   861,   860,   862,   864,   867,   865,
987       884,   885,   886,   872,   871,   876,   878,   875,   880,   881,       871,   877,   866,   863,   868,   869,   870,   872,   874,   878,
988       892,   894,   887,  -699,   898,  -699,   902,   890,   891,  -699,       875,   873,   890,   891,  -705,   894,   895,   896,   882,   883,
989       895,   896,  -699,   893,  -699,  -699,  -699       888,   889,   892,   893,   897,   903,   904,   899,  -705,   905,
990        -705,   908,   898,   901,  -705,   902,   907,  -705,   909,  -705,
991        -705,  -705
992  };  };
993    
994  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
995  static const short yypgoto[] =  static const short int yypgoto[] =
996  {  {
997      -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
998      -699,  -699,  -699,  -571,  -699,  -699,  -699,  -699,  -659,   109,      -705,  -705,  -705,  -581,  -705,  -705,  -705,  -705,  -560,    68,
999      -699,   111,    52,  -699,  -699,  -440,   231,   385,   378,  -698,      -705,    97,    38,  -705,  -705,  -449,   231,   384,   388,  -704,
1000      -699,   317,   219,    13,   -10,   -14,   293,   440,  -411,   -12,       118,  -705,   335,   226,    34,   -10,   -14,   322,  -266,  -705,
1001       897,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,  -699,       -13,   906,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
1002      -699,  -699,  -699,  -699,  -167,  -699,  -699,  -130,  -256,  -243,      -705,  -705,  -705,  -705,  -705,  -705,   -38,  -705,  -705,   -77,
1003      -242,  -241,  -699,   664,  -699,   669,  -255,  -699,  -699,   663,      -258,  -245,  -244,  -243,  -705,   668,  -705,   675,  -255,  -705,
1004       504,  -699,  -699,  -699,   670,   674,  -253,  -699,  -699,   506,      -705,   670,   503,  -705,  -705,  -705,   678,   682,  -253,  -705,
1005      -699,  -699,  -699,  -699,  -699,  -699,  -699,   667,  -699,  -699      -705,   506,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   679,
1006        -705,  -705
1007  };  };
1008    
1009  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1010     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1011     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1012     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1013  #define YYTABLE_NINF -131  #define YYTABLE_NINF -135
1014  static const short yytable[] =  static const short int yytable[] =
1015  {  {
1016       266,   641,   268,   502,   269,   270,   271,   272,   273,   274,       267,   269,   650,   270,   271,   272,   273,   274,   275,   276,
1017       275,   276,   277,   278,   279,   542,   353,   356,   354,   357,       277,   278,   279,   280,   281,   552,  -134,   356,   359,   357,
1018       619,   788,   394,   790,    32,   287,   929,   507,    40,    41,       360,   397,   797,    37,   799,   944,    33,   512,   513,   353,
1019        33,   288,  1001,   952,   620,   395,   396,   397,   517,   930,        29,     1,    34,     2,   398,   399,   400,    30,   945,    38,
1020       304,   304,   304,   304,   304,   304,   304,   304,   304,  1002,       527,   354,   307,   307,   307,   307,   307,   307,   307,   307,
1021       518,    29,   329,    28,   773,     1,   365,     2,   782,   519,       307,     3,   528,     4,     5,   514,    31,     6,   383,   383,
1022       961,   915,    34,   303,   305,   306,   307,   308,   309,   310,       362,   529,     7,  1016,   967,   384,   384,     8,     9,    10,
1023       311,   312,     3,   962,     4,     5,    38,   963,     6,   380,       385,    11,   980,   291,    32,   386,   386,    36,   387,   387,
1024       380,   359,   358,     7,   359,    36,   381,   381,     8,     9,      1017,   292,   976,   930,   628,   981,   306,   308,   309,   310,
1025        10,   382,    11,   965,   360,   350,   383,   383,   888,   384,       311,   312,   313,   314,   315,   977,    35,   824,   629,   978,
1026       384,    37,   889,   332,   411,   412,   966,   351,   369,   374,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1027       890,   844,   399,    30,   618,   812,   624,   625,   293,   294,        39,   332,    41,    42,   856,   368,   627,   859,   633,   634,
1028       295,   296,   297,   298,   299,   300,   301,   302,   860,   861,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1029       845,   503,   504,   293,   294,   295,   296,   297,   298,   299,       926,   361,    40,   362,   875,   876,   330,   373,   331,   328,
1030       300,   301,   302,   362,   654,    31,    35,   386,   393,   943,       332,   374,   927,   363,   661,   418,   419,   282,   333,   375,
1031       944,   660,   661,   662,   663,   664,   665,   666,   667,   668,       934,   667,   668,   669,   670,   671,   672,   673,   674,   675,
1032       468,   472,   473,   474,   475,   476,   477,   478,   479,   480,       782,   264,   935,   283,   791,   478,   482,   483,   484,   485,
1033       481,   482,   507,   469,   470,   471,   846,    39,   911,   293,       486,   487,   488,   489,   490,   491,   492,   289,   479,   480,
1034       294,   295,   296,   297,   298,   299,   300,   301,   302,   521,       481,   860,   284,   290,   296,   297,   298,   299,   300,   301,
1035       912,   524,   263,   919,   503,   504,   327,   370,   328,   325,       302,   303,   304,   305,   285,   903,   531,   365,   534,   904,
1036       329,   371,  -130,  -130,  -130,   920,   956,   957,   330,   372,       286,   389,   396,   512,   513,   958,   959,   905,   792,   793,
1037       783,   784,   293,   487,   488,   489,   490,   491,   492,   493,       296,   497,   498,   499,   500,   501,   502,   503,   504,   505,
1038       494,   495,   293,   294,   295,   296,   297,   298,   299,   300,       296,   497,   498,   499,   500,   501,   502,   503,   504,   505,
1039       301,   302,   838,   280,   282,   841,   293,   487,   488,   489,       785,   850,   287,   335,   853,  -134,  -134,  -134,   372,   377,
1040       490,   491,   492,   493,   494,   495,   776,   736,   293,   487,       971,   972,   288,   405,   293,   743,   588,   589,    41,   294,
1041       488,   489,   490,   491,   492,   493,   494,   495,   281,   283,       328,   406,   407,   409,   408,    -4,    -4,   412,   410,   411,
1042       284,   285,   289,   760,   286,   290,   291,    40,   325,   400,       413,   769,   414,   422,   417,   420,   415,   404,   296,   297,
1043       401,   402,   404,   403,   405,   406,   414,   407,   437,    -4,       298,   299,   300,   301,   302,   303,   304,   305,   296,   497,
1044        -4,   410,   408,   413,   463,   415,   429,   428,   434,   435,       498,   499,   500,   501,   502,   503,   504,   505,   421,   435,
1045       442,   436,   441,   409,   443,   409,   409,   409,   409,   409,       436,   441,   442,   444,   443,   449,   416,   448,   416,   416,
1046       409,   409,   409,   451,   450,   452,   453,   454,   456,   457,       416,   416,   416,   416,   416,   416,   450,   457,   458,   459,
1047       460,   461,   458,   459,   462,   464,   465,   381,   466,   501,       460,   461,   469,   465,   470,   471,   466,   467,   472,   468,
1048       416,   467,   483,   484,   417,   498,   418,   419,   420,   421,       473,   474,   423,   475,   384,   476,   424,   477,   425,   426,
1049       422,   264,   423,   499,   424,   425,   426,   427,   515,   500,       427,   428,   429,   493,   430,   494,   431,   432,   433,   434,
1050       514,   430,   431,   516,   432,   433,   537,   538,   539,   540,       508,   509,   510,   437,   438,   511,   439,   440,   524,   265,
1051       543,   541,   544,   545,   588,   438,   439,   440,   548,   549,       526,   525,   549,   547,   548,   550,   554,   445,   446,   447,
1052       550,   546,   444,   445,   446,   447,   448,   449,   547,   551,       551,   553,   555,   557,   451,   452,   453,   454,   455,   456,
1053       552,   553,   569,   570,   573,   577,   575,   852,   576,   585,       556,   558,   559,   560,   561,   562,   563,   564,   580,   581,
1054       574,   587,   589,   586,   590,   604,   605,   455,   606,   607,       867,   584,   586,   587,   594,   585,   596,   597,   598,   590,
1055       608,   610,   611,   613,   612,   614,   617,   638,   644,   609,       463,   595,   464,   599,   613,   614,   615,   616,   617,   619,
1056       615,   657,   616,   658,   675,   637,   642,   643,   646,   673,       620,   621,   654,   623,   622,   626,   618,   682,   624,   664,
1057       645,   655,   659,   674,   676,   677,   678,   679,   496,   497,       625,   665,   666,   646,   651,   652,   657,   680,   662,   681,
1058       681,   682,   683,   684,   656,   680,   685,   686,   694,   695,       647,   683,   684,   686,   653,   506,   507,   685,   688,   689,
1059       699,   530,   531,   532,   533,   536,   700,   706,   707,   701,       663,   687,   691,   690,   693,   692,   706,   730,   540,   541,
1060       708,   723,   709,   725,   724,   727,   728,   698,   702,   705,       542,   543,   546,   702,   707,   713,   708,   714,   715,   731,
1061       729,   730,   731,   726,   732,   733,   554,   555,   556,   557,       734,   716,   735,   701,   705,   732,   709,   712,   736,   737,
1062       558,   559,   560,   561,   562,   563,   564,   565,   566,   567,       738,   739,   740,   765,   751,   565,   566,   567,   568,   569,
1063       568,   734,   735,   571,   572,   743,   744,   304,   304,   304,       570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
1064       304,   304,   304,   304,   304,   304,   755,   756,   757,   758,       741,   742,   582,   583,   733,   750,   764,   307,   307,   307,
1065       759,   580,   580,   762,   582,   763,   583,   764,   584,   766,       307,   307,   307,   307,   307,   307,   766,   767,   768,   404,
1066       303,   305,   306,   307,   308,   309,   310,   311,   312,   591,       404,   771,   772,   591,   773,   592,   775,   593,   802,   804,
1067       592,   593,   594,   595,   596,   597,   598,   599,   600,   601,       805,   774,   801,   806,   807,   809,   808,   810,   600,   601,
1068       602,   603,   793,   795,   765,   792,   796,   794,   797,   798,       602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
1069       799,   800,   801,   802,   807,   808,   815,   813,   814,   818,       612,   306,   308,   309,   310,   311,   312,   313,   314,   315,
1070       816,   820,   819,   821,   822,   627,   828,   824,   630,   631,       803,   811,   816,   817,   823,   825,   826,   827,   828,   830,
1071       632,   633,   829,   830,   636,   836,   831,   324,   832,   834,       831,   832,   833,   834,   841,   840,   636,   836,   842,   639,
1072       837,   850,   833,   851,   835,   842,   848,   649,   652,   649,       640,   641,   642,   844,   845,   645,   843,   846,   847,   848,
1073       843,   867,   856,   849,   858,   855,   853,   862,   854,   863,       849,   866,   854,   892,   863,   463,   463,   659,   855,   870,
1074       866,   864,   865,   868,   869,   870,   877,   670,   874,   672,       865,   864,   869,   868,   871,   873,   877,   327,   878,   880,
1075       883,   871,   878,   875,   876,   879,   881,   884,   880,   915,       879,   882,   881,   906,   884,   899,   677,   885,   679,   883,
1076       885,   886,   887,   892,   891,   893,   897,   895,   900,   687,       889,   898,   886,   890,   893,   891,   894,   896,   895,   901,
1077       894,   898,   903,   904,   901,   905,   688,   906,   689,   690,       909,   911,   912,   900,   902,   402,   907,   694,   908,   910,
1078       691,   909,   692,   907,   693,   908,   910,   913,   914,   916,       913,   915,   918,   916,   695,   920,   696,   697,   698,   919,
1079       918,   917,   921,   922,   926,   923,   927,   928,   924,   703,       699,   924,   700,   921,   925,   922,   928,   923,   929,   931,
1080       931,   704,   932,   934,   936,   938,   939,   942,   710,   711,       914,   930,   932,   933,   936,   710,   937,   711,   938,   939,
1081       712,   713,   714,   715,   716,   717,   718,   940,   720,   945,       941,   942,   943,   955,   717,   718,   719,   720,   721,   722,
1082       722,   896,   946,   899,   947,   948,   949,   950,   925,   951,       723,   724,   725,   947,   727,   940,   729,   946,   949,   951,
1083       952,   933,   954,   953,   935,   738,   739,   740,   937,   742,       953,   960,   954,   957,   948,   950,   952,   956,   961,   962,
1084       955,   958,   960,   753,   941,   959,   964,   752,   967,   968,       963,   964,   745,   746,   747,   965,   749,   966,   967,   969,
1085       652,   969,   970,   971,   972,   973,   768,   770,   974,   768,       763,   979,   982,   968,   762,   970,   973,   659,   974,   975,
1086       775,   778,   975,   768,   787,   753,   977,   753,   752,   752,       983,   984,   985,   777,   779,   988,   777,   784,   787,   986,
1087       976,   752,   978,   979,   980,   983,   981,   982,   984,   985,       777,   796,   763,   989,   763,   762,   762,   987,   762,   990,
1088       987,   986,   989,   990,   988,   803,   804,   991,   805,   806,       991,   992,   993,   995,   327,   994,   996,   997,  1000,  1001,
1089       992,   995,   993,   997,   994,   996,   304,   304,   998,  1000,       998,   812,   813,   999,   814,   815,  1004,  1002,   462,  1003,
1090      1003,   409,   999,  1005,  1004,  1006,  1011,   485,   486,   817,      1006,  1005,  1009,  1007,  1010,   307,   307,  1008,  1011,  1012,
1091      1007,  1008,  1010,  1009,  1012,  1015,   511,   823,  1013,   810,      1013,   416,  1014,  1015,  1018,  1020,  1021,   829,  1019,  1029,
1092       811,  1014,  1016,  1017,  1018,  1019,   535,  1020,  1021,  1022,      1022,  1027,  1024,  1037,  1025,   835,  1023,  1030,  1026,  1031,
1093       825,  1026,  1023,   304,   304,  1025,  1024,  1028,   324,   324,      1028,  1032,   495,   496,  1033,  1034,  1035,  1036,   837,  1039,
1094      1029,  1027,  1033,  1034,  1031,  1030,  1035,  1036,  1032,  1038,      1041,   521,   307,   307,   327,  1038,  1040,  1042,  1043,   821,
1095      1037,  1039,  1040,  1041,  1042,   753,   810,   811,  1043,   752,       822,   545,  1044,  1046,  1048,  1045,  1049,  1047,  1052,  1050,
1096       409,   409,   304,  1044,   324,  1045,  1047,  1049,  1046,   770,      1051,  1053,  1055,  1057,   763,  1054,  1056,  1058,   762,   763,
1097      1048,   775,   753,   753,  1050,  1051,   752,   752,  1052,  1053,      1059,   416,   416,   762,   307,  1062,  1063,   327,   327,  1061,
1098       578,   578,  1054,  1056,  1057,   847,  1055,  1058,   324,  1063,      1065,   779,  1060,   784,   763,   763,   821,   822,   762,   762,
1099      1059,  1064,  1060,  1061,  1065,   304,   304,   409,  1067,  1068,      1064,  1066,  1067,  1068,  1069,  1070,  1071,  1072,  1074,  1075,
1100      1062,  1069,  1066,  1070,  1072,  1073,  1075,   882,  1071,  1074,      1076,  1073,  1077,   327,  1078,  1079,  1080,   402,   402,   307,
1101      1076,  1078,  1079,  1077,  1080,  1082,  1083,  1084,   872,   873,       307,  1081,   416,  1082,  1083,  1086,  1087,  1084,   862,  1085,
1102      1081,  1085,   409,   409,  1086,  1088,  1087,  1089,   778,  1090,      1089,   897,  1088,  1090,  1091,  1092,  1093,   327,  1095,  1094,
1103      1092,   324,  1097,  1098,  1091,   511,  1094,   628,   629,  1093,      1097,  1096,  1098,  1099,  1100,  1101,  1102,   416,   416,  1103,
1104      1095,  1099,  1100,   634,   635,  1101,  1096,  1102,   640,   640,      1104,  1105,  1112,   787,  1113,  1107,  1117,  1106,  1110,  1115,
1105      1103,  1104,  1105,  1106,  1108,  1107,   648,  1110,   648,  1109,      1108,  1114,  1116,   887,   888,  1109,  1118,  1111,  1119,  1120,
1106      1112,  1113,  1111,  1114,  1115,  1116,  1117,  1118,  1119,  1120,      1128,  1121,  1129,   872,   521,  1125,   637,   638,  1124,  1123,
1107      1121,  1122,  1124,  1123,  1127,  1125,  1128,   669,  1126,   671,      1122,  1127,   643,   644,  1126,  1130,  1131,   649,   649,  1132,
1108      1130,   324,   324,  1129,  1131,  1132,  1133,   324,   324,  1136,      1133,  1134,  1135,   462,   462,  1136,  1137,  1138,  1142,  1143,
1109      1134,  1135,   857,   324,   902,   761,   859,   786,   368,   376,      1145,  1140,  1139,  1146,   874,   917,  1147,  1141,  1144,  1148,
1110       292,   324,   363,   626,   581,   398,   378,   364,   522,     0,      1149,   861,   770,   371,   676,  1150,   678,   379,  1151,   366,
1111       525,     0,     0,     0,     0,     0,     0,     0,     0,     0,       295,   795,     0,   635,   532,   381,   367,   535,   401,   327,
1112         0,   653,   324,     0,   324,     0,     0,     0,     0,     0,       327,     0,     0,     0,     0,   327,   327,     0,     0,     0,
1113         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,   327,     0,     0,     0,     0,     0,     0,     0,     0,
1114         660,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1115           0,     0,     0,     0,     0,     0,     0,     0,   327,     0,
1116         327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1117         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1118         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1119         0,     0,     0,     0,     0,   737,     0,     0,     0,   741,       744,     0,     0,     0,   748,     0,     0,     0,   752,     0,
        0,     0,     0,   745,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   772,  
      324,     0,     0,   781,   324,     0,     0,   789,   324,   791,  
        0,     0,   324,     0,     0,     0,     0,     0,     0,     0,  
1120         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1121         0,     0,     0,     0,     0,   324,     0,     0,     0,     0,         0,     0,     0,     0,   781,     0,     0,     0,   790,     0,
1122         0,     0,     0,     0,   324,     0,     0,     0,     0,     0,         0,     0,   798,     0,   800,     0,   327,     0,     0,     0,
1123         0,     0,   324,     0,   324,     0,     0,     0,     0,     0,       327,     0,     0,     0,   327,     0,     0,     0,     0,     0,
1124           0,   327,     0,     0,     0,     0,     0,     0,   819,   820,
1125         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1126           0,     0,     0,   327,     0,     0,     0,     0,     0,     0,
1127           0,     0,   327,     0,     0,     0,     0,     0,     0,     0,
1128         327,     0,   327,     0,     0,     0,     0,     0,     0,     0,
1129         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1130           0,   327,   327,     0,     0,     0,     0,   649,   851,   852,
1131         649,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1132         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1133       640,   839,   840,   640,     0,     0,     0,     0,     0,     0,         0,     0,     0,   327,   327,   316,    46,    47,   655,     0,
1134         0,     0,   324,   324,   313,    45,    46,    47,    48,   314,        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,
1135       315,   316,   317,   318,   319,   320,   321,   322,   323,    59,       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,
1136          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1137          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1138          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1139          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1140         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1141         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1142         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1143         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1144         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1145         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1146         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1147         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1148         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1149         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1150         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1151         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1152         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1153         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1154         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1155         258,   259,   260,   261,   262,   263,   264,   316,    46,    47,
1156           0,   656,    48,    49,    50,   317,   318,   319,   320,   321,
1157         322,   323,   324,   325,   326,    61,    62,    63,    64,    65,
1158          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1159          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1160          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1161          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1162         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1163         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1164         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1165         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1166         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1167         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1168         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1169         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1170         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1171         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1172         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1173         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1174         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1175         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1176         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1177         256,   257,   258,   259,   260,   261,   262,   263,   264,    45,
1178          46,    47,     0,     0,    48,    49,    50,    51,    52,    53,
1179          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1180          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1181          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1182          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1183          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1184         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1185         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1186         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1187         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1188         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1189         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1190         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1191         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1192         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1193         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1194         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1195         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1196         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1197         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1198         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1199         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1200         264,   316,    46,    47,     0,     0,    48,    49,    50,   317,
1201         318,   319,   320,   321,   322,   323,   324,   325,   326,    61,
1202          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1203          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1204          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1205          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1206         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1207         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1208         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1209         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1210         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1211         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1212         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1213         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1214         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1215         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1216         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1217         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1218         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1219         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1220         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1221         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1222         262,   263,   264,   316,    46,    47,   753,   754,    48,   755,
1223         756,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1224        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1225        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1226        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
# Line 1129  static const short yytable[] = Line 1241  static const short yytable[] =
1241       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1242       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1243       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1244       260,   261,   262,   647,     0,   263,   313,    45,    46,    47,       260,   261,   262,   263,   316,    46,    47,   857,     0,    48,
1245        48,   314,   315,   316,   317,   318,   319,   320,   321,   322,        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,
1246       323,    59,    60,    61,    62,    63,    64,    65,    66,    67,       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,
1247          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1248          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1249          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1250          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1251         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1252         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1253         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1254         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1255         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1256         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1257         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1258         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1259         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1260         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1261         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1262         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1263         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1264         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1265         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1266         259,   260,   261,   262,   263,   316,    46,    47,     0,   858,
1267          48,    49,    50,   317,   318,   319,   320,   321,   322,   323,
1268         324,   325,   326,    61,    62,    63,    64,    65,    66,    67,
1269        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1270        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1271        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
# Line 1151  static const short yytable[] = Line 1285  static const short yytable[] =
1285       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1286       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1287       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1288       258,   259,   260,   261,   262,     0,   650,   263,    44,    45,       258,   259,   260,   261,   262,   263,   316,    46,    47,     0,
1289        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,
1290         323,   324,   325,   326,    61,    62,    63,    64,    65,    66,
1291          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1292          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1293          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1294          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1295         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1296         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1297         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1298         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1299         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1300         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1301         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1302         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1303         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1304         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1305         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1306         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1307         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1308         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1309         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1310         257,   258,   259,   260,   261,   262,   263,   316,    46,    47,
1311           0,     0,    48,    49,    50,    51,    52,    53,    54,    55,
1312        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1313        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1314        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
# Line 1173  static const short yytable[] = Line 1329  static const short yytable[] =
1329       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1330       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1331       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1332       256,   257,   258,   259,   260,   261,   262,     0,     0,   263,       256,   257,   258,   259,   260,   261,   262,   263,   316,   704,
1333       313,    45,    46,    47,    48,   314,   315,   316,   317,   318,        47,     0,     0,    48,    49,    50,   317,   318,   319,   320,
1334       319,   320,   321,   322,   323,    59,    60,    61,    62,    63,       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,
1335          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1336          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1337          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1338          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1339         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1340         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1341         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1342         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1343         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1344         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1345         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1346         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1347         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1348         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1349         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1350         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1351         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1352         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1353         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1354         255,   256,   257,   258,   259,   260,   261,   262,   263,   316,
1355         726,    47,     0,     0,    48,    49,    50,   317,   318,   319,
1356         320,   321,   322,   323,   324,   325,   326,    61,    62,    63,
1357        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1358        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1359        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1195  static const short yytable[] = Line 1373  static const short yytable[] =
1373       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1374       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1375       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1376       254,   255,   256,   257,   258,   259,   260,   261,   262,     0,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1377         0,   263,   313,    45,    46,   746,   747,    49,    50,    51,       316,   728,    47,     0,     0,    48,    49,    50,   317,   318,
1378        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,
1379          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1380          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1381          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1382          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1383         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1384         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1385         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1386         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1387         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1388         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1389         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1390         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1391         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1392         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1393         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1394         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1395         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1396         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1397         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1398         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1399         263,   316,   818,    47,     0,     0,    48,    49,    50,   317,
1400         318,   319,   320,   321,   322,   323,   324,   325,   326,    61,
1401        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1402        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1403        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
# Line 1218  static const short yytable[] = Line 1418  static const short yytable[] =
1418       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1419       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1420       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1421       262,   503,   504,   313,    45,    46,    47,    48,   314,   315,       262,   263,   316,   838,    47,     0,     0,    48,    49,    50,
1422       316,   317,   318,   319,   320,   321,   322,   323,    59,    60,       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1423        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1424        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1425        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
# Line 1240  static const short yytable[] = Line 1440  static const short yytable[] =
1440       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1441       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1442       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1443       261,   262,   313,    45,    46,    47,    48,    49,    50,    51,       261,   262,   263,   316,   839,    47,     0,     0,    48,    49,
1444          50,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1445         326,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1446          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1447          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1448          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1449         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1450         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1451         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1452         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1453         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1454         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1455         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1456         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1457         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1458         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1459         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1460         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1461         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1462         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1463         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1464         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1465         260,   261,   262,   263
1466    };
1467    
1468    static const short int yycheck[] =
1469    {
1470          14,    14,   583,    16,    17,    18,    19,    20,    21,    22,
1471          23,    24,    25,    26,    27,   464,     5,   272,   273,   272,
1472         273,   279,   726,    25,   728,    25,    29,     6,     7,    21,
1473          24,     1,    35,     3,   279,   279,   279,    38,    38,    41,
1474          21,    33,    52,    53,    54,    55,    56,    57,    58,    59,
1475          60,    21,    33,    23,    24,    34,    25,    27,    22,    22,
1476          23,    42,    32,    23,    24,    29,    29,    37,    38,    39,
1477          33,    41,    25,    32,    25,    39,    39,    25,    42,    42,
1478          40,    40,    23,    24,    22,    38,    52,    53,    54,    55,
1479          56,    57,    58,    59,    60,    36,    41,     8,    36,    40,
1480          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1481          34,    25,   225,   226,   818,    29,   565,     8,   567,   568,
1482          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1483          24,    21,     0,    23,   838,   839,    21,    21,    23,    23,
1484          25,    25,    36,    33,   593,    41,    42,    24,    33,    33,
1485          24,   600,   601,   602,   603,   604,   605,   606,   607,   608,
1486         720,   224,    36,    25,   724,   423,   424,   425,   426,   427,
1487         428,   429,   430,   431,   432,   433,   434,    33,   423,   423,
1488         423,     8,    39,    39,    11,    12,    13,    14,    15,    16,
1489          17,    18,    19,    20,    40,    21,   451,   274,   451,    25,
1490          39,   278,   279,     6,     7,    23,    24,    33,     9,    10,
1491          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1492          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1493          21,   812,    21,   271,   815,   224,   225,   226,   276,   277,
1494          23,    24,    29,   281,    22,   694,   512,   513,   225,    39,
1495          23,    21,    40,    24,    40,   225,   226,    25,    40,    35,
1496          25,   710,    39,    29,    28,    28,    41,   280,    11,    12,
1497          13,    14,    15,    16,    17,    18,    19,    20,    11,    12,
1498          13,    14,    15,    16,    17,    18,    19,    20,    34,    41,
1499          29,    41,    28,    34,    29,    23,   306,    41,   308,   309,
1500         310,   311,   312,   313,   314,   315,    29,    41,    34,    29,
1501          40,    35,    23,    40,    23,    22,    38,    42,    21,    40,
1502          24,    21,   335,    21,    29,    27,   339,    24,   341,   342,
1503         343,   344,   345,    24,   347,    24,   349,   350,   351,   352,
1504          24,    21,    24,   356,   357,    39,   359,   360,    24,    14,
1505          24,    28,    39,    26,    26,    38,    35,   370,   371,   372,
1506          29,    25,    25,    38,   377,   378,   379,   380,   381,   382,
1507          40,    39,    34,    29,    29,    34,    29,    29,    29,    29,
1508         829,    29,    29,    40,    29,    34,    29,    41,    29,    35,
1509         403,    35,   405,    35,    26,    35,    23,    25,    23,    29,
1510          23,    34,    38,    32,    35,    91,    45,    21,    34,    24,
1511          34,    24,    32,    35,    35,    34,    34,    25,    35,    25,
1512          91,    25,    22,    25,    91,   439,   440,    38,    21,    25,
1513          91,    91,    29,    25,    25,    45,    25,    38,   452,   453,
1514         454,   455,   456,    29,    29,    29,    41,    29,    29,    32,
1515          25,    41,    29,    91,    91,    33,    91,    91,    32,    35,
1516          22,    32,    34,    32,    34,   478,   479,   480,   481,   482,
1517         483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1518          40,    38,   495,   496,    91,    35,    35,   497,   498,   499,
1519         500,   501,   502,   503,   504,   505,    34,    33,    33,   512,
1520         513,    35,    34,   516,    35,   518,    33,   520,    32,    23,
1521          22,    91,    91,    41,    32,    36,    39,    25,   531,   532,
1522         533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
1523         543,   497,   498,   499,   500,   501,   502,   503,   504,   505,
1524          91,    23,    41,    36,     5,    41,    36,    25,    35,    41,
1525          36,    91,    29,    25,    21,    26,   570,    32,    23,   573,
1526         574,   575,   576,    25,    40,   579,    35,    25,    41,    39,
1527          25,    24,    40,    21,    40,   588,   589,   591,    41,    35,
1528          34,    41,    41,    40,    34,    32,    29,   265,    34,    41,
1529          35,    91,    36,    91,    34,    25,   610,    36,   612,    40,
1530          36,    32,    40,    40,    36,    40,    40,    36,    41,    34,
1531          91,    91,    32,    41,    41,   280,    40,   630,    41,    41,
1532          41,    40,    32,    41,   637,    34,   639,   640,   641,    35,
1533         643,    34,   645,    40,    29,    40,    21,    41,    40,    40,
1534          91,    24,    24,    40,    36,   658,    40,   660,    41,    40,
1535          24,    27,    24,    41,   667,   668,   669,   670,   671,   672,
1536         673,   674,   675,    27,   677,    91,   679,    35,    25,    25,
1537          25,    29,    35,    39,    91,    91,    91,    91,    29,    29,
1538          42,    29,   696,   697,   698,    38,   700,    25,    24,    24,
1539         704,    28,    35,    42,   704,    42,    42,   711,    38,    40,
1540          34,    91,    29,   717,   718,    25,   720,   721,   722,    42,
1541         724,   725,   726,    29,   728,   725,   726,    40,   728,    25,
1542          29,    28,    25,    40,   402,    29,    91,    28,    21,    42,
1543          35,   744,   745,    45,   747,   748,    25,    29,   403,    91,
1544          23,    29,    42,    25,    23,   755,   756,    91,    42,    23,
1545          21,   761,    42,    23,    21,    36,    34,   770,    38,    36,
1546          29,    25,    35,    28,    39,   778,    42,    29,    34,    25,
1547          38,    29,   437,   438,    25,    34,    29,    25,   791,    34,
1548          25,   446,   792,   793,   462,    45,    40,    34,    23,   755,
1549         756,   456,    25,    36,    91,    41,    21,    39,    34,    23,
1550          23,    23,    21,    34,   818,    91,    36,    25,   818,   823,
1551          25,   821,   822,   823,   824,    41,    36,   495,   496,    40,
1552          25,   835,    38,   837,   838,   839,   792,   793,   838,   839,
1553          38,    25,    25,    25,    36,    34,    25,    25,    39,    91,
1554          36,    32,    40,   521,    21,    21,    32,   512,   513,   859,
1555         860,    91,   862,    21,    34,    36,    41,    32,   824,    91,
1556          38,   874,    91,    33,    36,    38,    25,   545,    21,    36,
1557          24,    40,    21,    25,    21,    21,    32,   887,   888,    21,
1558          38,    91,    21,   897,    24,    33,    21,    38,    33,    25,
1559          40,    29,    25,   859,   860,    38,    25,    38,    21,    33,
1560          25,    38,    29,   835,   569,    33,   571,   572,    38,    40,
1561          42,    33,   577,   578,    40,    25,    25,   582,   583,    25,
1562          25,    25,    40,   588,   589,    42,    38,    38,    25,    25,
1563          25,    38,    40,    25,   837,   897,    38,    40,    39,    38,
1564          38,   823,   711,   275,   609,    38,   611,   277,    39,   274,
1565          44,   725,    -1,   569,   451,   277,   274,   451,   279,   637,
1566         638,    -1,    -1,    -1,    -1,   643,   644,    -1,    -1,    -1,
1567          -1,   649,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1568         592,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1569          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   676,    -1,
1570         678,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1571          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1572          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1573         695,    -1,    -1,    -1,   699,    -1,    -1,    -1,   703,    -1,
1574          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1575          -1,    -1,    -1,    -1,   719,    -1,    -1,    -1,   723,    -1,
1576          -1,    -1,   727,    -1,   729,    -1,   744,    -1,    -1,    -1,
1577         748,    -1,    -1,    -1,   752,    -1,    -1,    -1,    -1,    -1,
1578          -1,   759,    -1,    -1,    -1,    -1,    -1,    -1,   753,   754,
1579          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1580          -1,    -1,    -1,   781,    -1,    -1,    -1,    -1,    -1,    -1,
1581          -1,    -1,   790,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1582         798,    -1,   800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1583          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1584          -1,   819,   820,    -1,    -1,    -1,    -1,   812,   813,   814,
1585         815,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1586          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1587          -1,    -1,    -1,   851,   852,     3,     4,     5,     6,    -1,
1588           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1589          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1590          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1591          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1592          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1593          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1594          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1595          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1596          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1597          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1598         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1599         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1600         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1601         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1602         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1603         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1604         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1605         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1606         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1607         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1608         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1609         218,   219,   220,   221,   222,   223,   224,     3,     4,     5,
1610          -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,
1611          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1612          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1613          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1614          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1615          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1616          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1617          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1618          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1619          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1620         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1621         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1622         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1623         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1624         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1625         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1626         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1627         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1628         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1629         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1630         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1631         216,   217,   218,   219,   220,   221,   222,   223,   224,     3,
1632           4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,
1633          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1634          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1635          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1636          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1637          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1638          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1639          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1640          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1641          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1642         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1643         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1644         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1645         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1646         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1647         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1648         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1649         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1650         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1651         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1652         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1653         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1654         224,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,
1655          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1656          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1657          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1658          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1659        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1660        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1661        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
# Line 1258  static const short yytable[] = Line 1673  static const short yytable[] =
1673       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1674       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1675       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1676       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       222,   223,   224,     3,     4,     5,     6,     7,     8,     9,
1677       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1678       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1679       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1680       262,   313,   697,    46,    47,    48,   314,   315,   316,   317,        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1681       318,   319,   320,   321,   322,   323,    59,    60,    61,    62,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1682        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1683        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1684        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1685        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1686       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1687       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1688       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1689       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1690       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1691       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1692       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1693       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1694       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1695       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1696       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1697       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1698       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,       220,   221,   222,   223,     3,     4,     5,     6,    -1,     8,
      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,  
      313,   719,    46,    47,    48,   314,   315,   316,   317,   318,  
      319,   320,   321,   322,   323,    59,    60,    61,    62,    63,  
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,  
      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,  
      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,  
      254,   255,   256,   257,   258,   259,   260,   261,   262,   313,  
      721,    46,    47,    48,   314,   315,   316,   317,   318,   319,  
      320,   321,   322,   323,    59,    60,    61,    62,    63,    64,  
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,  
      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,  
      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,  
      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,  
      255,   256,   257,   258,   259,   260,   261,   262,   313,   809,  
       46,    47,    48,   314,   315,   316,   317,   318,   319,   320,  
      321,   322,   323,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,  
      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,  
      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,  
      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,  
      256,   257,   258,   259,   260,   261,   262,   313,   826,    46,  
       47,    48,   314,   315,   316,   317,   318,   319,   320,   321,  
      322,   323,    59,    60,    61,    62,    63,    64,    65,    66,  
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,  
       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,  
       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,  
       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,  
      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,  
      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,  
      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,  
      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,  
      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,  
      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,  
      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,  
      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,  
      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,  
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,  
      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,  
      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,  
      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,  
      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,  
      257,   258,   259,   260,   261,   262,   313,   827,    46,    47,  
       48,   314,   315,   316,   317,   318,   319,   320,   321,   322,  
      323,    59,    60,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,  
      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,  
      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,  
      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,  
      258,   259,   260,   261,   262  
 };  
   
 static const short yycheck[] =  
 {  
       14,   572,    14,    31,    16,    17,    18,    19,    20,    21,  
       22,    23,    24,    25,    26,   455,   271,   272,   271,   272,  
       19,   719,   278,   721,    26,    30,    22,   438,   225,   226,  
       32,    36,    20,    21,    33,   278,   278,   278,    18,    35,  
       50,    51,    52,    53,    54,    55,    56,    57,    58,    37,  
       30,    35,    22,    21,   713,     1,    26,     3,   717,    39,  
       20,    21,    38,    50,    51,    52,    53,    54,    55,    56,  
       57,    58,    18,    33,    20,    21,    31,    37,    24,    19,  
       19,    20,    18,    29,    20,    22,    26,    26,    34,    35,  
       36,    30,    38,    22,    30,    18,    36,    36,    18,    39,  
       39,    38,    22,   270,    38,    39,    35,    30,   275,   276,  
       30,   809,   279,    22,   554,     5,   556,   557,     8,     9,  
       10,    11,    12,    13,    14,    15,    16,    17,   826,   827,  
        5,   222,   223,     8,     9,    10,    11,    12,    13,    14,  
       15,    16,    17,   273,   584,    22,    22,   277,   278,    20,  
       21,   591,   592,   593,   594,   595,   596,   597,   598,   599,  
      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,  
      426,   427,   583,   416,   416,   416,     5,     0,    21,     8,  
        9,    10,    11,    12,    13,    14,    15,    16,    17,   444,  
       33,   444,   224,    21,   222,   223,    18,    18,    20,    20,  
       22,    22,   224,   225,   226,    33,    20,    21,    30,    30,  
        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,  
       16,    17,     8,     9,    10,    11,    12,    13,    14,    15,  
       16,    17,   803,    21,    36,   806,     8,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,    18,   687,     8,     9,  
       10,    11,    12,    13,    14,    15,    16,    17,    22,    37,  
       36,    18,    37,   703,    26,    19,    36,   225,    20,    18,  
       37,    37,    37,    21,    32,    22,    31,    36,    31,   225,  
      226,    25,    38,    25,    21,    26,    26,    38,    38,    25,  
       20,    26,    38,   303,    26,   305,   306,   307,   308,   309,  
      310,   311,   312,    31,    38,    26,    37,    32,    37,    35,  
       20,    19,    39,    37,    18,    18,    18,    26,    24,    36,  
      332,    21,    21,    21,   336,    21,   338,   339,   340,   341,  
      342,    14,   344,    18,   346,   347,   348,   349,    25,    21,  
       21,   353,   354,    21,   356,   357,    23,    23,    36,    35,  
       22,    26,    32,    22,    38,   367,   368,   369,    31,    26,  
       26,    35,   374,   375,   376,   377,   378,   379,    36,    31,  
       26,    26,    26,    26,    26,    32,    26,   817,    37,    26,  
       31,    26,    26,    32,    32,    23,    32,   399,    20,    22,  
       20,    26,    20,    32,    31,    29,    89,    89,    89,    42,  
       31,    21,    31,    21,    18,    32,    32,    31,    31,    22,  
       35,    32,    29,    22,    22,    19,    35,    22,   432,   433,  
       18,    22,    22,    26,    89,    89,    42,    22,    89,    26,  
       22,   445,   446,   447,   448,   449,    26,    26,    26,    38,  
       26,    35,    38,    30,    29,    22,    26,    89,    89,    89,  
       29,    32,    19,    89,    29,    31,   468,   469,   470,   471,  
      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,  
      482,    37,    35,   485,   486,    32,    31,   487,   488,   489,  
      490,   491,   492,   493,   494,   495,    32,    29,    31,    30,  
       30,   503,   504,    32,   506,    31,   508,    32,   510,    30,  
      487,   488,   489,   490,   491,   492,   493,   494,   495,   521,  
      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,  
      532,   533,    29,    20,    89,    89,    19,    89,    38,    29,  
       36,    33,    22,    20,    38,    33,    22,    38,    33,    38,  
       32,    89,    33,    26,    22,   559,    23,    29,   562,   563,  
      564,   565,    18,    20,   568,    36,    32,   264,    22,    22,  
       22,    31,    37,    21,    38,    37,    37,   579,   582,   581,  
       38,    89,    31,    38,    29,    32,    37,    26,    38,    31,  
       33,    32,    38,    37,    31,    33,    18,   601,    33,   603,  
       29,    37,    33,    37,    37,    37,    33,    22,    38,    21,  
       38,    31,    38,    37,    89,    38,    29,    38,    37,   621,  
       89,    38,    29,    32,    38,    31,   628,    37,   630,   631,  
      632,    31,   634,    37,   636,    38,    26,    18,    37,    37,  
       37,    21,    33,    37,    21,    38,    24,    21,    37,   651,  
       32,   653,    24,    22,    22,    22,    32,    36,   660,   661,  
      662,   663,   664,   665,   666,   667,   668,    38,   670,    26,  
      672,    89,    26,    89,    26,    39,    26,    35,    89,    22,  
       21,    89,    21,    39,    89,   689,   690,   691,    89,   693,  
       39,    39,    37,   697,    89,    35,    25,   697,    32,    31,  
      704,    89,    26,    39,    37,    22,   710,   711,    26,   713,  
      714,   715,    22,   717,   718,   719,    25,   721,   718,   719,  
       26,   721,    22,    26,    37,    32,    89,    25,    42,    18,  
       26,    39,    22,    26,    89,   737,   738,    20,   740,   741,  
       22,    20,    89,    20,    39,    39,   746,   747,    18,    20,  
       18,   751,    39,    33,    35,    31,    31,   430,   431,   761,  
       26,    39,    36,    32,    22,    26,   439,   769,    35,   746,  
      747,    33,    22,    26,    22,    31,   449,    26,    22,    25,  
      782,    22,    42,   783,   784,    37,    31,    20,   485,   486,  
       22,    31,    89,    18,    33,    38,    20,    20,    36,    20,  
       31,    89,    18,    33,    31,   809,   783,   784,    22,   809,  
      810,   811,   812,    22,   511,    35,    38,    35,    37,   823,  
       33,   825,   826,   827,    22,    22,   826,   827,    22,    22,  
      503,   504,    33,    22,    22,   812,    31,    29,   535,    18,  
       36,    18,    89,    33,    29,   845,   846,   847,    18,    31,  
       37,    29,    89,    89,    38,    89,    30,   859,    33,    35,  
       33,    22,    33,    35,    18,    21,    18,    22,   845,   846,  
       37,    18,   872,   873,    18,    18,    29,    35,   882,    89,  
       30,   578,    18,    21,    35,   558,    35,   560,   561,    37,  
       30,    26,    22,   566,   567,    22,    35,    18,   571,   572,  
       22,    18,    30,    35,    37,    39,   579,    30,   581,    35,  
       30,    22,    37,    26,    22,    22,    22,    22,    22,    37,  
       39,    35,    37,    35,    22,    35,    22,   600,    37,   602,  
       22,   628,   629,    36,    22,    35,    35,   634,   635,    36,  
       35,    35,   823,   640,   882,   704,   825,   718,   274,   276,  
       43,   648,   273,   558,   504,   278,   276,   273,   444,    -1,  
      444,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,   583,   669,    -1,   671,    -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,    -1,    -1,   688,    -1,    -1,    -1,   692,  
       -1,    -1,    -1,   696,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   712,  
      737,    -1,    -1,   716,   741,    -1,    -1,   720,   745,   722,  
       -1,    -1,   749,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   772,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,   781,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   789,    -1,   791,    -1,    -1,    -1,    -1,    -1,  
       -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,  
      803,   804,   805,   806,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   839,   840,     3,     4,     5,     6,     7,     8,  
1699         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1700        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1701        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1533  static const short yycheck[] = Line 1717  static const short yycheck[] =
1717       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1718       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1719       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1720       219,   220,   221,   222,    -1,   224,     3,     4,     5,     6,       219,   220,   221,   222,   223,     3,     4,     5,    -1,     7,
1721         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1722          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1723          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1724          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1725          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1726          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1727          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1728          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1729          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1730          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1731         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1732         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1733         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1734         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1735         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1736         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1737         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1738         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1739         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1740         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1741         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1742         218,   219,   220,   221,   222,   223,     3,     4,     5,    -1,
1743          -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1744        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1745        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1746        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
# Line 1555  static const short yycheck[] = Line 1761  static const short yycheck[] =
1761       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1762       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1763       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1764       217,   218,   219,   220,   221,    -1,   223,   224,     3,     4,       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,
1765         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,        -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
1766          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1767          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1768          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1769          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1770          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1771          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1772          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1773          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1774          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1775         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1776         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1777         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1778         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1779         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1780         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1781         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1782         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1783         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1784         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1785         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1786         216,   217,   218,   219,   220,   221,   222,   223,     3,     4,
1787           5,    -1,    -1,     8,     9,    10,    11,    12,    13,    14,
1788        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1789        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1790        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
# Line 1577  static const short yycheck[] = Line 1805  static const short yycheck[] =
1805       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1806       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1807       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1808       215,   216,   217,   218,   219,   220,   221,    -1,    -1,   224,       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,
1809         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,         4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,
1810          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1811          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1812          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1813          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1814          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1815          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1816          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1817          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1818          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1819         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1820         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1821         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1822         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1823         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1824         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1825         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1826         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1827         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1828         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1829         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1830         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1831           3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,
1832        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1833        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1834        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
# Line 1599  static const short yycheck[] = Line 1849  static const short yycheck[] =
1849       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1850       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1851       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1852       213,   214,   215,   216,   217,   218,   219,   220,   221,    -1,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1853        -1,   224,     3,     4,     5,     6,     7,     8,     9,    10,       223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,
1854          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1855          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1856          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1857          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1858          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1859          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1860          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1861          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1862          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1863         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1864         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1865         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1866         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1867         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1868         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1869         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1870         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1871         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1872         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1873         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1874         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1875         222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,
1876        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1877        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1878        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1622  static const short yycheck[] = Line 1894  static const short yycheck[] =
1894       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1895       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1896       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1897       221,   222,   223,     3,     4,     5,     6,     7,     8,     9,       221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,
1898        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1899        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1900        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1644  static const short yycheck[] = Line 1916  static const short yycheck[] =
1916       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1917       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1918       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1919       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,       220,   221,   222,   223
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,  
       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,  
       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,  
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,  
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,  
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,  
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,  
       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,  
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,  
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,  
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,  
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,  
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,  
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,  
      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,  
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,  
      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,  
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,  
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,  
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,  
      221,     3,     4,     5,     6,     7,     8,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,  
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,  
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,  
       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,  
       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,  
       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,  
       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,  
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,  
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,  
       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,  
       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,  
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,  
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,     3,  
        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,  
       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,  
       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,  
       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,  
       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,  
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,  
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,     3,     4,  
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,  
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,  
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,  
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,  
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,  
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,     3,     4,     5,  
        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,  
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,  
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,  
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,  
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,  
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,     3,     4,     5,     6,  
        7,     8,     9,    10,    11,    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  
1920  };  };
1921    
1922  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1923     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
1924  static const unsigned short yystos[] =  static const unsigned short int yystos[] =
1925  {  {
1926         0,     1,     3,    18,    20,    21,    24,    29,    34,    35,         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,
1927        36,    38,   228,   229,   230,   231,   269,   270,   271,   272,        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,
1928       273,   274,   277,   278,   279,   280,   313,   316,    21,    35,       274,   275,   278,   279,   280,   281,   282,   315,   318,    24,
1929        22,    22,    26,    32,    38,    22,    22,    38,    31,     0,        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,
1930       225,   226,   267,   268,     3,     4,     5,     6,     7,     8,         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,
1931         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1932        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1933        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1934        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1935        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1936        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1937        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1938        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1939        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1940        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1941       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1942       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1943       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1944       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1945       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1946       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1947       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1948       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1949       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1950       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1951       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1952       219,   220,   221,   224,   258,   261,   262,   263,   266,   266,       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,
1953       266,   266,   266,   266,   266,   266,   266,   266,   266,   266,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1954        21,    22,    36,    37,    36,    18,    26,    30,    36,    37,       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,
1955        19,    36,   267,     8,     9,    10,    11,    12,    13,    14,        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,
1956        15,    16,    17,   260,   261,   260,   260,   260,   260,   260,        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,
1957       260,   260,   260,     3,     8,     9,    10,    11,    12,    13,       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,
1958        14,    15,    16,    17,   263,    20,   281,    18,    20,    22,        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,
1959        30,   234,   281,   282,   283,   284,   290,   292,   293,   294,        21,    23,    25,    33,   234,   283,   284,   285,   286,   292,
1960       295,   296,   297,   299,   301,   302,   303,   304,   305,   306,       294,   295,   296,   297,   298,   299,   301,   303,   304,   305,
1961        18,    30,   236,   293,   303,   237,   293,   303,    18,    20,       306,   307,   308,    21,    33,   236,   295,   305,   237,   295,
1962        30,   242,   284,   292,   302,    26,   238,   289,   290,   281,       305,    21,    23,    33,   242,   286,   294,   304,    29,   238,
1963        18,    22,    30,   235,   281,   291,   296,   300,   301,   315,       291,   292,   283,    21,    25,    33,   235,   283,   293,   298,
1964        19,    26,    30,    36,    39,   232,   284,   285,   286,   287,       302,   303,   317,    22,    29,    33,    39,    42,   232,   286,
1965       288,   314,   233,   284,   285,   286,   287,   288,   314,   281,       287,   288,   289,   290,   316,   233,   286,   287,   288,   289,
1966        18,    37,    37,    21,    37,    32,    22,    36,    38,   261,       290,   316,   259,   265,   267,   283,    21,    40,    40,    24,
1967        25,    38,    39,    25,    31,    26,   266,   266,   266,   266,        40,    35,    25,    25,    39,    41,   262,    28,    41,    42,
1968       266,   266,   266,   266,   266,   266,   266,   266,    38,    26,        28,    34,    29,   267,   267,   267,   267,   267,   267,   267,
1969       266,   266,   266,   266,    38,    25,    26,    31,   266,   266,       267,   267,   267,   267,   267,    41,    29,   267,   267,   267,
1970       266,    38,    20,    26,   266,   266,   266,   266,   266,   266,       267,    41,    28,    29,    34,   267,   267,   267,    41,    23,
1971        38,    31,    26,    37,    32,   266,    37,    35,    39,    37,        29,   267,   267,   267,   267,   267,   267,    41,    34,    29,
1972        20,    19,    18,    21,    18,    18,    24,    21,   285,   286,        40,    35,   259,   267,   267,    40,    38,    42,    40,    23,
1973       287,   288,   285,   285,   285,   285,   285,   285,   285,   285,        23,    22,    21,    24,    21,    21,    27,    24,   287,   288,
1974       285,   285,   285,    21,    21,   258,   258,     9,    10,    11,       289,   290,   287,   287,   287,   287,   287,   287,   287,   287,
1975        12,    13,    14,    15,    16,    17,   262,   262,    21,    18,       287,   287,   287,    24,    24,   259,   259,    12,    13,    14,
1976        21,    36,    31,   222,   223,   243,   255,   265,   276,   244,        15,    16,    17,    18,    19,    20,   263,   263,    24,    21,
1977       254,   258,   252,   262,    21,    25,    21,    18,    30,    39,        24,    39,     6,     7,    34,   243,   255,   266,   277,   244,
1978       239,   293,   297,   298,   303,   306,   307,   308,   309,   310,       254,   259,   252,   263,    24,    28,    24,    21,    33,    42,
1979       262,   262,   262,   262,   257,   258,   262,    23,    23,    36,       239,   295,   299,   300,   305,   308,   309,   310,   311,   312,
1980        35,    26,   252,    22,    32,    22,    35,    36,    31,    26,       263,   263,   263,   263,   258,   259,   263,    26,    26,    39,
1981        26,    31,    26,    26,   266,   266,   266,   266,   266,   266,        38,    29,   252,    25,    35,    25,    40,    38,    39,    34,
1982       266,   266,   266,   266,   266,   266,   266,   266,   266,    26,        29,    29,    34,    29,    29,   267,   267,   267,   267,   267,
1983        26,   266,   266,    26,    31,    26,    37,    32,   258,   264,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1984       266,   264,   266,   266,   266,    26,    32,    26,    38,    26,        29,    29,   267,   267,    29,    34,    29,    40,   265,   265,
1985        32,   266,   266,   266,   266,   266,   266,   266,   266,   266,        35,   267,   267,   267,    29,    35,    29,    41,    29,    35,
1986       266,   266,   266,   266,    23,    32,    20,    22,    20,    42,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1987        26,    20,    31,    32,    29,    31,    31,    89,   252,    19,       267,   267,   267,    26,    35,    23,    25,    23,    45,    29,
1988        33,   241,   311,   312,   252,   252,   254,   262,   258,   258,        23,    34,    35,    32,    34,    34,    91,   252,    22,    36,
1989       262,   262,   262,   262,   258,   258,   262,    32,    89,   240,       241,   313,   314,   252,   252,   254,   263,   259,   259,   263,
1990       258,   240,    32,    31,    89,    35,    31,   222,   258,   266,       263,   263,   263,   259,   259,   263,    35,    91,   240,   259,
1991       223,   253,   262,   255,   252,    32,    89,    21,    21,    29,       240,    35,    34,    91,    38,     6,     7,    34,   253,   263,
1992       252,   252,   252,   252,   252,   252,   252,   252,   252,   258,       255,   252,    35,    91,    24,    24,    32,   252,   252,   252,
1993       262,   258,   262,    22,    22,    18,    22,    19,    35,    22,       252,   252,   252,   252,   252,   252,   259,   263,   259,   263,
1994        89,    18,    22,    22,    26,    42,    22,   266,   266,   266,        25,    25,    21,    25,    22,    38,    25,    91,    21,    25,
1995       266,   266,   266,   266,    89,    26,   266,     4,    89,    22,        25,    29,    45,    25,   267,   267,   267,   267,   267,   267,
1996        26,    38,    89,   266,   266,    89,    26,    26,    26,    38,       267,    91,    29,   267,     4,    91,    25,    29,    41,    91,
1997       266,   266,   266,   266,   266,   266,   266,   266,   266,     4,       267,   267,    91,    29,    29,    29,    41,   267,   267,   267,
1998       266,     4,   266,    35,    29,    30,    89,    22,    26,    29,       267,   267,   267,   267,   267,   267,     4,   267,     4,   267,
1999        32,    19,    29,    31,    37,    35,   252,   258,   262,   262,        38,    32,    33,    91,    25,    29,    32,    35,    22,    32,
2000       262,   258,   262,    32,    31,   258,     6,     7,   256,   258,        34,    40,    38,   252,   259,   263,   263,   263,   259,   263,
2001       259,   260,   261,   262,   265,    32,    29,    31,    30,    30,        35,    34,   259,     6,     7,     9,    10,   256,   257,   259,
2002       252,   253,    32,    31,    32,    89,    30,   245,   262,   246,       260,   261,   262,   263,    35,    32,    34,    33,    33,   252,
2003       262,   247,   258,   245,   248,   262,    18,   249,   262,   275,       253,    35,    34,    35,    91,    33,   245,   263,   246,   263,
2004       250,   258,   245,     6,     7,   251,   259,   262,   256,   258,       247,   259,   245,   248,   263,    21,   249,   263,   276,   250,
2005       256,   258,    89,    29,    89,    20,    19,    38,    29,    36,       259,   245,     9,    10,   251,   260,   263,   256,   259,   256,
2006        33,    22,    20,   266,   266,   266,   266,    38,    33,     4,       259,    91,    32,    91,    23,    22,    41,    32,    39,    36,
2007       260,   260,     5,    38,    33,    22,    32,   266,    38,    33,        25,    23,   267,   267,   267,   267,    41,    36,     4,   259,
2008        89,    26,    22,   266,    29,   266,     4,     4,    23,    18,       259,   261,   261,     5,     8,    41,    36,    25,    35,   267,
2009        20,    32,    22,    37,    22,    38,    36,    22,   240,   258,        41,    36,    91,    29,    25,   267,    32,   267,     4,     4,
2010       258,   240,    37,    38,   256,     5,     5,   260,    37,    38,        26,    21,    23,    35,    25,    40,    25,    41,    39,    25,
2011        31,    21,   252,    37,    38,    32,    31,   246,    29,   248,       240,   259,   259,   240,    40,    41,   256,     6,     7,     8,
2012       256,   256,    26,    31,    32,    38,    33,    89,    37,    31,         8,   257,   261,    40,    41,    34,    24,   252,    40,    41,
2013        33,    37,   260,   260,    33,    37,    37,    18,    33,    37,        35,    34,   246,    32,   248,   256,   256,    29,    34,    35,
2014        38,    33,   266,    29,    22,    38,    31,    38,    18,    22,        41,    36,    91,    40,    34,    36,    40,   261,   261,    36,
2015        30,    89,    37,    38,    89,    38,    89,    29,    38,    89,        40,    40,    21,    36,    40,    41,    36,   267,    32,    25,
2016        37,    38,   249,    29,    32,    31,    37,    37,    38,    31,        41,    34,    41,    21,    25,    33,    91,    40,    41,    91,
2017        26,    21,    33,    18,    37,    21,    37,    21,    37,    21,        41,    91,    32,    41,    91,    40,    41,   249,    32,    35,
2018        33,    33,    37,    38,    37,    89,    21,    24,    21,    22,        34,    40,    40,    41,    34,    29,    24,    36,    21,    40,
2019        35,    32,    24,    89,    22,    89,    22,    89,    22,    32,        24,    40,    24,    40,    24,    36,    36,    40,    41,    40,
2020        38,    89,    36,    20,    21,    26,    26,    26,    39,    26,        91,    24,    27,    24,    25,    38,    35,    27,    91,    25,
2021        35,    22,    21,    39,    21,    39,    20,    21,    39,    35,        91,    25,    91,    25,    35,    41,    91,    39,    23,    24,
2022        37,    20,    33,    37,    25,    22,    35,    32,    31,    89,        29,    29,    29,    42,    29,    38,    25,    24,    42,    24,
2023        26,    39,    37,    22,    26,    22,    26,    25,    22,    26,        42,    23,    24,    42,    38,    40,    23,    36,    40,    28,
2024        37,    89,    25,    32,    42,    18,    39,    26,    89,    22,        25,    38,    35,    34,    91,    29,    42,    40,    25,    29,
2025        26,    20,    22,    89,    39,    20,    39,    20,    18,    39,        25,    29,    28,    25,    29,    40,    91,    28,    35,    45,
2026        20,    20,    37,    18,    35,    33,    31,    26,    39,    32,        21,    42,    29,    91,    25,    29,    23,    25,    91,    42,
2027        36,    31,    22,    35,    33,    26,    22,    26,    22,    31,        23,    42,    23,    21,    42,    23,    23,    40,    21,    38,
2028        26,    22,    25,    42,    31,    37,    22,    31,    20,    22,        36,    34,    29,    42,    35,    39,    34,    25,    38,    36,
2029        38,    33,    36,    89,    18,    20,    20,    31,    20,    89,        29,    25,    29,    25,    34,    29,    25,    28,    45,    34,
2030        18,    33,    31,    22,    22,    35,    37,    38,    33,    35,        40,    25,    34,    23,    25,    41,    36,    39,    91,    21,
2031        22,    22,    22,    22,    33,    31,    22,    22,    29,    36,        23,    23,    34,    23,    91,    21,    36,    34,    25,    25,
2032        89,    33,    37,    18,    18,    29,    89,    18,    31,    29,        38,    40,    41,    36,    38,    25,    25,    25,    25,    36,
2033        89,    33,    38,    89,    35,    30,    33,    35,    22,    33,        34,    25,    25,    32,    39,    91,    36,    40,    21,    21,
2034        18,    37,    21,    18,    22,    18,    18,    29,    18,    35,        32,    91,    21,    34,    32,    91,    36,    41,    91,    38,
2035        89,    35,    30,    37,    35,    30,    35,    18,    21,    26,        33,    36,    38,    25,    36,    21,    40,    24,    21,    25,
2036        22,    22,    18,    22,    18,    30,    35,    39,    37,    35,        21,    21,    32,    21,    38,    91,    38,    33,    40,    38,
2037        30,    37,    30,    22,    26,    22,    22,    22,    22,    22,        33,    38,    21,    24,    29,    25,    25,    21,    25,    21,
2038        37,    39,    35,    35,    37,    35,    37,    22,    22,    36,        33,    38,    42,    40,    38,    33,    40,    33,    25,    29,
2039        22,    22,    35,    35,    35,    35,    36        25,    25,    25,    25,    25,    40,    42,    38,    38,    40,
2040          38,    40,    25,    25,    39,    25,    25,    38,    38,    38,
2041          38,    39
2042  };  };
2043    
2044  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1943  static const unsigned short yystos[] = Line 2064  static const unsigned short yystos[] =
2064    
2065  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2066  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2067  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2068    
2069    
2070  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 1978  while (0) Line 2099  while (0)
2099     are run).  */     are run).  */
2100    
2101  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2102  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                \
2103    Current.first_line   = Rhs[1].first_line;      \     ((Current).first_line   = (Rhs)[1].first_line,       \
2104    Current.first_column = Rhs[1].first_column;    \      (Current).first_column = (Rhs)[1].first_column,     \
2105    Current.last_line    = Rhs[N].last_line;       \      (Current).last_line    = (Rhs)[N].last_line,        \
2106    Current.last_column  = Rhs[N].last_column;      (Current).last_column  = (Rhs)[N].last_column)
2107  #endif  #endif
2108    
2109  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
# Line 2026  do {                                                           \ Line 2147  do {                                                           \
2147    
2148  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2149  | 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 |
2150  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2151  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2152    
2153  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
2154  static void  static void
2155  yy_stack_print (short *bottom, short *top)  yy_stack_print (short int *bottom, short int *top)
2156  #else  #else
2157  static void  static void
2158  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2159      short *bottom;      short int *bottom;
2160      short *top;      short int *top;
2161  #endif  #endif
2162  {  {
2163    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
# Line 2066  yy_reduce_print (yyrule) Line 2187  yy_reduce_print (yyrule)
2187  #endif  #endif
2188  {  {
2189    int yyi;    int yyi;
2190    unsigned int yylineno = yyrline[yyrule];    unsigned int yylno = yyrline[yyrule];
2191    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
2192               yyrule - 1, yylineno);               yyrule - 1, yylno);
2193    /* Print the symbols being reduced, and their result.  */    /* Print the symbols being reduced, and their result.  */
2194    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
2195      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
# Line 2105  int yydebug; Line 2226  int yydebug;
2226     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
2227     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2228    
2229  #if YYMAXDEPTH == 0  #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
2230  # undef YYMAXDEPTH  # undef YYMAXDEPTH
2231  #endif  #endif
2232    
# Line 2303  int yynerrs; Line 2424  int yynerrs;
2424       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
2425    
2426    /* The state stack.  */    /* The state stack.  */
2427    short yyssa[YYINITDEPTH];    short int yyssa[YYINITDEPTH];
2428    short *yyss = yyssa;    short int *yyss = yyssa;
2429    register short *yyssp;    register short int *yyssp;
2430    
2431    /* The semantic value stack.  */    /* The semantic value stack.  */
2432    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
# Line 2342  int yynerrs; Line 2463  int yynerrs;
2463    yyssp = yyss;    yyssp = yyss;
2464    yyvsp = yyvs;    yyvsp = yyvs;
2465    
2466    
2467    goto yysetstate;    goto yysetstate;
2468    
2469  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2367  int yynerrs; Line 2489  int yynerrs;
2489             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
2490             memory.  */             memory.  */
2491          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
2492          short *yyss1 = yyss;          short int *yyss1 = yyss;
2493    
2494    
2495          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
# Line 2395  int yynerrs; Line 2517  int yynerrs;
2517          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
2518    
2519        {        {
2520          short *yyss1 = yyss;          short int *yyss1 = yyss;
2521          union yyalloc *yyptr =          union yyalloc *yyptr =
2522            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2523          if (! yyptr)          if (! yyptr)
# Line 2599  yyreduce: Line 2721  yyreduce:
2721    
2722    case 23:    case 23:
2723  #line 108 "lscp.y"  #line 108 "lscp.y"
2724      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }
2725      break;      break;
2726    
2727    case 24:    case 24:
2728  #line 109 "lscp.y"  #line 109 "lscp.y"
2729      { yyval.String = LSCPSERVER->ResetSampler();                        }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }
2730      break;      break;
2731    
2732    case 25:    case 25:
2733  #line 110 "lscp.y"  #line 110 "lscp.y"
2734      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { yyval.String = LSCPSERVER->ResetSampler();                        }
2735      break;      break;
2736    
2737    case 26:    case 26:
2738  #line 113 "lscp.y"  #line 111 "lscp.y"
2739      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
2740      break;      break;
2741    
2742    case 27:    case 27:
2743  #line 114 "lscp.y"  #line 114 "lscp.y"
2744      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }
2745      break;      break;
2746    
2747    case 28:    case 28:
2748  #line 115 "lscp.y"  #line 115 "lscp.y"
2749      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }
2750      break;      break;
2751    
2752    case 29:    case 29:
2753  #line 116 "lscp.y"  #line 116 "lscp.y"
2754      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
2755      break;      break;
2756    
2757    case 30:    case 30:
2758  #line 117 "lscp.y"  #line 117 "lscp.y"
2759      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }
2760      break;      break;
2761    
2762    case 31:    case 31:
2763  #line 118 "lscp.y"  #line 118 "lscp.y"
2764      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }
2765      break;      break;
2766    
2767    case 32:    case 32:
2768  #line 121 "lscp.y"  #line 119 "lscp.y"
2769      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }
2770      break;      break;
2771    
2772    case 33:    case 33:
2773  #line 122 "lscp.y"  #line 122 "lscp.y"
2774      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }
2775      break;      break;
2776    
2777    case 34:    case 34:
2778  #line 123 "lscp.y"  #line 123 "lscp.y"
2779      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }
2780      break;      break;
2781    
2782    case 35:    case 35:
2783  #line 124 "lscp.y"  #line 124 "lscp.y"
2784      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
2785      break;      break;
2786    
2787    case 36:    case 36:
2788  #line 125 "lscp.y"  #line 125 "lscp.y"
2789      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }
2790      break;      break;
2791    
2792    case 37:    case 37:
2793  #line 126 "lscp.y"  #line 126 "lscp.y"
2794      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }
2795      break;      break;
2796    
2797    case 38:    case 38:
2798  #line 129 "lscp.y"  #line 127 "lscp.y"
2799      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }
2800      break;      break;
2801    
2802    case 39:    case 39:
2803  #line 130 "lscp.y"  #line 130 "lscp.y"
2804      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }
2805      break;      break;
2806    
2807    case 40:    case 40:
2808  #line 131 "lscp.y"  #line 131 "lscp.y"
2809      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
2810      break;      break;
2811    
2812    case 41:    case 41:
2813  #line 132 "lscp.y"  #line 132 "lscp.y"
2814      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }
2815      break;      break;
2816    
2817    case 42:    case 42:
2818  #line 133 "lscp.y"  #line 133 "lscp.y"
2819      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }
2820      break;      break;
2821    
2822    case 43:    case 43:
2823  #line 134 "lscp.y"  #line 134 "lscp.y"
2824      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }
2825      break;      break;
2826    
2827    case 44:    case 44:
2828  #line 135 "lscp.y"  #line 135 "lscp.y"
2829      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
2830      break;      break;
2831    
2832    case 45:    case 45:
2833  #line 136 "lscp.y"  #line 136 "lscp.y"
2834      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }
2835      break;      break;
2836    
2837    case 46:    case 46:
2838  #line 137 "lscp.y"  #line 137 "lscp.y"
2839      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }
2840      break;      break;
2841    
2842    case 47:    case 47:
2843  #line 138 "lscp.y"  #line 138 "lscp.y"
2844      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }
2845      break;      break;
2846    
2847    case 48:    case 48:
2848  #line 139 "lscp.y"  #line 139 "lscp.y"
2849      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }
2850      break;      break;
2851    
2852    case 49:    case 49:
2853  #line 140 "lscp.y"  #line 140 "lscp.y"
2854      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }
2855      break;      break;
2856    
2857    case 50:    case 50:
2858  #line 141 "lscp.y"  #line 141 "lscp.y"
2859      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }
2860      break;      break;
2861    
2862    case 51:    case 51:
2863  #line 142 "lscp.y"  #line 142 "lscp.y"
2864      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }
2865      break;      break;
2866    
2867    case 52:    case 52:
2868  #line 143 "lscp.y"  #line 143 "lscp.y"
2869      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }
2870      break;      break;
2871    
2872    case 53:    case 53:
2873  #line 144 "lscp.y"  #line 144 "lscp.y"
2874      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }
2875      break;      break;
2876    
2877    case 54:    case 54:
2878  #line 145 "lscp.y"  #line 145 "lscp.y"
2879      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }
2880      break;      break;
2881    
2882    case 55:    case 55:
2883  #line 146 "lscp.y"  #line 146 "lscp.y"
2884      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }
2885      break;      break;
2886    
2887    case 56:    case 56:
2888  #line 147 "lscp.y"  #line 147 "lscp.y"
2889      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetChannels();                                  }
2890      break;      break;
2891    
2892    case 57:    case 57:
2893  #line 148 "lscp.y"  #line 148 "lscp.y"
2894      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }
2895      break;      break;
2896    
2897    case 58:    case 58:
2898  #line 149 "lscp.y"  #line 149 "lscp.y"
2899      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }
2900      break;      break;
2901    
2902    case 59:    case 59:
2903  #line 150 "lscp.y"  #line 150 "lscp.y"
2904      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }
2905      break;      break;
2906    
2907    case 60:    case 60:
2908  #line 151 "lscp.y"  #line 151 "lscp.y"
2909      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }
2910      break;      break;
2911    
2912    case 61:    case 61:
2913  #line 154 "lscp.y"  #line 152 "lscp.y"
2914      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }
2915      break;      break;
2916    
2917    case 62:    case 62:
2918  #line 155 "lscp.y"  #line 155 "lscp.y"
2919      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
2920      break;      break;
2921    
2922    case 63:    case 63:
2923  #line 156 "lscp.y"  #line 156 "lscp.y"
2924      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
2925      break;      break;
2926    
2927    case 64:    case 64:
2928  #line 157 "lscp.y"  #line 157 "lscp.y"
2929      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }
2930      break;      break;
2931    
2932    case 65:    case 65:
2933  #line 158 "lscp.y"  #line 158 "lscp.y"
2934      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
2935      break;      break;
2936    
2937    case 66:    case 66:
2938  #line 159 "lscp.y"  #line 159 "lscp.y"
2939      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { yyval.String = yyvsp[0].String;                                                         }
2940      break;      break;
2941    
2942    case 67:    case 67:
2943  #line 162 "lscp.y"  #line 160 "lscp.y"
2944      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }
2945      break;      break;
2946    
2947    case 68:    case 68:
2948  #line 163 "lscp.y"  #line 163 "lscp.y"
2949      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
2950      break;      break;
2951    
2952    case 69:    case 69:
2953  #line 164 "lscp.y"  #line 164 "lscp.y"
2954      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
2955      break;      break;
2956    
2957    case 70:    case 70:
2958  #line 165 "lscp.y"  #line 165 "lscp.y"
2959      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }
2960      break;      break;
2961    
2962    case 71:    case 71:
2963  #line 168 "lscp.y"  #line 166 "lscp.y"
2964      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
2965      break;      break;
2966    
2967    case 72:    case 72:
2968  #line 169 "lscp.y"  #line 169 "lscp.y"
2969      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }
2970      break;      break;
2971    
2972    case 73:    case 73:
2973  #line 172 "lscp.y"  #line 170 "lscp.y"
2974      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }
2975      break;      break;
2976    
2977    case 74:    case 74:
# Line 2858  yyreduce: Line 2980  yyreduce:
2980      break;      break;
2981    
2982    case 75:    case 75:
2983  #line 176 "lscp.y"  #line 174 "lscp.y"
2984      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = yyvsp[0].String; }
2985      break;      break;
2986    
2987    case 76:    case 76:
2988  #line 177 "lscp.y"  #line 177 "lscp.y"
2989      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
2990      break;      break;
2991    
2992    case 77:    case 77:
2993  #line 178 "lscp.y"  #line 178 "lscp.y"
2994      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
2995      break;      break;
2996    
2997    case 78:    case 78:
2998  #line 179 "lscp.y"  #line 179 "lscp.y"
2999      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
3000      break;      break;
3001    
3002    case 79:    case 79:
3003  #line 180 "lscp.y"  #line 180 "lscp.y"
3004      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }
3005      break;      break;
3006    
3007    case 80:    case 80:
3008  #line 181 "lscp.y"  #line 181 "lscp.y"
3009      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }
3010      break;      break;
3011    
3012    case 81:    case 81:
3013  #line 182 "lscp.y"  #line 182 "lscp.y"
3014      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }
3015      break;      break;
3016    
3017    case 82:    case 82:
3018  #line 183 "lscp.y"  #line 183 "lscp.y"
3019      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
3020      break;      break;
3021    
3022    case 83:    case 83:
3023  #line 184 "lscp.y"  #line 184 "lscp.y"
3024      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
3025      break;      break;
3026    
3027    case 84:    case 84:
3028  #line 187 "lscp.y"  #line 185 "lscp.y"
3029      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
3030      break;      break;
3031    
3032    case 85:    case 85:
3033  #line 188 "lscp.y"  #line 188 "lscp.y"
3034      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
3035      break;      break;
3036    
3037    case 86:    case 86:
3038  #line 191 "lscp.y"  #line 189 "lscp.y"
3039      { yyval.FillResponse = fill_response_bytes;      }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
3040      break;      break;
3041    
3042    case 87:    case 87:
3043  #line 192 "lscp.y"  #line 192 "lscp.y"
3044      { yyval.FillResponse = fill_response_percentage; }      { yyval.FillResponse = fill_response_bytes;      }
3045      break;      break;
3046    
3047    case 88:    case 88:
3048  #line 195 "lscp.y"  #line 193 "lscp.y"
3049      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.FillResponse = fill_response_percentage; }
3050      break;      break;
3051    
3052    case 89:    case 89:
3053  #line 196 "lscp.y"  #line 196 "lscp.y"
3054      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }
3055      break;      break;
3056    
3057    case 90:    case 90:
3058  #line 197 "lscp.y"  #line 197 "lscp.y"
3059      { yyval.String = LSCPSERVER->ListChannels();          }      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }
3060      break;      break;
3061    
3062    case 91:    case 91:
3063  #line 200 "lscp.y"  #line 198 "lscp.y"
3064      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->ListChannels();          }
3065      break;      break;
3066    
3067    case 92:    case 92:
3068  #line 201 "lscp.y"  #line 201 "lscp.y"
3069      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }
3070      break;      break;
3071    
3072    case 93:    case 93:
3073  #line 204 "lscp.y"  #line 202 "lscp.y"
3074      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }
3075      break;      break;
3076    
3077    case 99:    case 94:
3078  #line 220 "lscp.y"  #line 205 "lscp.y"
3079      { yyval.Number = 0; }      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }
3080      break;      break;
3081    
3082    case 102:    case 100:
3083  #line 227 "lscp.y"  #line 221 "lscp.y"
3084        { yyval.Number = 16; }
3085        break;
3086    
3087      case 103:
3088    #line 228 "lscp.y"
3089      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.Dotnum = yyvsp[0].Number; }
3090      break;      break;
3091    
3092    case 109:    case 109:
3093  #line 244 "lscp.y"  #line 244 "lscp.y"
3094      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }      { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }
     break;  
   
   case 110:  
 #line 245 "lscp.y"  
     { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }  
3095      break;      break;
3096    
3097    case 111:    case 111:
3098  #line 251 "lscp.y"  #line 248 "lscp.y"
3099      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }
3100      break;      break;
3101    
3102    case 112:    case 112:
3103  #line 252 "lscp.y"  #line 249 "lscp.y"
3104      { yyval.Dotnum = -1; }      { yyval.String = "\"" + yyvsp[-1].String + "\""; }
3105      break;      break;
3106    
3107    case 113:    case 113:
3108  #line 255 "lscp.y"  #line 250 "lscp.y"
3109      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }
3110      break;      break;
3111    
3112    case 114:    case 114:
3113  #line 256 "lscp.y"  #line 251 "lscp.y"
3114      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }
3115      break;      break;
3116    
3117    case 115:    case 115:
3118  #line 259 "lscp.y"  #line 257 "lscp.y"
3119      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { yyval.Dotnum = yyvsp[0].Number; }
3120      break;      break;
3121    
3122    case 116:    case 116:
3123  #line 260 "lscp.y"  #line 258 "lscp.y"
3124      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { yyval.Dotnum = -1; }
3125      break;      break;
3126    
3127    case 117:    case 117:
3128  #line 261 "lscp.y"  #line 261 "lscp.y"
3129      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { std::string s; s = yyvsp[0].Char; yyval.String = s; }
3130      break;      break;
3131    
3132    case 118:    case 118:
3133  #line 265 "lscp.y"  #line 262 "lscp.y"
3134      { yyval.String = yyvsp[0].Char;      }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
3135      break;      break;
3136    
3137    case 119:    case 119:
3138  #line 266 "lscp.y"  #line 265 "lscp.y"
3139      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }
3140      break;      break;
3141    
3142    case 120:    case 120:
3143  #line 269 "lscp.y"  #line 266 "lscp.y"
3144      { yyval.Char = '0'; }      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }
3145      break;      break;
3146    
3147    case 121:    case 121:
3148  #line 270 "lscp.y"  #line 267 "lscp.y"
3149      { yyval.Char = '1'; }      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }
3150      break;      break;
3151    
3152    case 122:    case 122:
3153  #line 271 "lscp.y"  #line 271 "lscp.y"
3154      { yyval.Char = '2'; }      { yyval.String = yyvsp[0].Char;      }
3155      break;      break;
3156    
3157    case 123:    case 123:
3158  #line 272 "lscp.y"  #line 272 "lscp.y"
3159      { yyval.Char = '3'; }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }
3160      break;      break;
3161    
3162    case 124:    case 124:
3163  #line 273 "lscp.y"  #line 275 "lscp.y"
3164      { yyval.Char = '4'; }      { yyval.Char = '0'; }
3165      break;      break;
3166    
3167    case 125:    case 125:
3168  #line 274 "lscp.y"  #line 276 "lscp.y"
3169      { yyval.Char = '5'; }      { yyval.Char = '1'; }
3170      break;      break;
3171    
3172    case 126:    case 126:
3173  #line 275 "lscp.y"  #line 277 "lscp.y"
3174      { yyval.Char = '6'; }      { yyval.Char = '2'; }
3175      break;      break;
3176    
3177    case 127:    case 127:
3178  #line 276 "lscp.y"  #line 278 "lscp.y"
3179      { yyval.Char = '7'; }      { yyval.Char = '3'; }
3180      break;      break;
3181    
3182    case 128:    case 128:
3183  #line 277 "lscp.y"  #line 279 "lscp.y"
3184      { yyval.Char = '8'; }      { yyval.Char = '4'; }
3185      break;      break;
3186    
3187    case 129:    case 129:
3188  #line 278 "lscp.y"  #line 280 "lscp.y"
3189      { yyval.Char = '9'; }      { yyval.Char = '5'; }
3190      break;      break;
3191    
3192    case 130:    case 130:
3193  #line 281 "lscp.y"  #line 281 "lscp.y"
3194      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { yyval.Char = '6'; }
3195      break;      break;
3196    
3197    case 131:    case 131:
3198  #line 282 "lscp.y"  #line 282 "lscp.y"
3199      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { yyval.Char = '7'; }
3200      break;      break;
3201    
3202    case 132:    case 132:
3203  #line 283 "lscp.y"  #line 283 "lscp.y"
3204      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { yyval.Char = '8'; }
3205      break;      break;
3206    
3207    case 133:    case 133:
3208  #line 284 "lscp.y"  #line 284 "lscp.y"
3209      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { yyval.Char = '9'; }
3210      break;      break;
3211    
3212    case 134:    case 134:
3213  #line 285 "lscp.y"  #line 287 "lscp.y"
3214      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }
3215      break;      break;
3216    
3217    case 135:    case 135:
3218  #line 286 "lscp.y"  #line 288 "lscp.y"
3219      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }
3220      break;      break;
3221    
3222    case 136:    case 136:
3223  #line 287 "lscp.y"  #line 289 "lscp.y"
3224      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }
3225      break;      break;
3226    
3227    case 137:    case 137:
3228  #line 288 "lscp.y"  #line 290 "lscp.y"
3229      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }
3230      break;      break;
3231    
3232    case 138:    case 138:
3233  #line 289 "lscp.y"  #line 291 "lscp.y"
3234      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }
3235      break;      break;
3236    
3237    case 139:    case 139:
3238  #line 290 "lscp.y"  #line 292 "lscp.y"
3239      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }
3240      break;      break;
3241    
3242    case 140:    case 140:
3243  #line 292 "lscp.y"  #line 293 "lscp.y"
3244      { yyval.Char = 'A'; }      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }
3245      break;      break;
3246    
3247    case 141:    case 141:
3248  #line 292 "lscp.y"  #line 294 "lscp.y"
3249      { yyval.Char = 'B'; }      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }
3250      break;      break;
3251    
3252    case 142:    case 142:
3253  #line 292 "lscp.y"  #line 295 "lscp.y"
3254      { yyval.Char = 'C'; }      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }
3255      break;      break;
3256    
3257    case 143:    case 143:
3258  #line 292 "lscp.y"  #line 296 "lscp.y"
3259      { yyval.Char = 'D'; }      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }
3260      break;      break;
3261    
3262    case 144:    case 144:
3263  #line 292 "lscp.y"  #line 298 "lscp.y"
3264      { yyval.Char = 'E'; }      { yyval.Char = 'A'; }
3265      break;      break;
3266    
3267    case 145:    case 145:
3268  #line 292 "lscp.y"  #line 298 "lscp.y"
3269      { yyval.Char = 'F'; }      { yyval.Char = 'B'; }
3270      break;      break;
3271    
3272    case 146:    case 146:
3273  #line 292 "lscp.y"  #line 298 "lscp.y"
3274      { yyval.Char = 'G'; }      { yyval.Char = 'C'; }
3275      break;      break;
3276    
3277    case 147:    case 147:
3278  #line 292 "lscp.y"  #line 298 "lscp.y"
3279      { yyval.Char = 'H'; }      { yyval.Char = 'D'; }
3280      break;      break;
3281    
3282    case 148:    case 148:
3283  #line 292 "lscp.y"  #line 298 "lscp.y"
3284      { yyval.Char = 'I'; }      { yyval.Char = 'E'; }
3285      break;      break;
3286    
3287    case 149:    case 149:
3288  #line 292 "lscp.y"  #line 298 "lscp.y"
3289      { yyval.Char = 'J'; }      { yyval.Char = 'F'; }
3290      break;      break;
3291    
3292    case 150:    case 150:
3293  #line 292 "lscp.y"  #line 298 "lscp.y"
3294      { yyval.Char = 'K'; }      { yyval.Char = 'G'; }
3295      break;      break;
3296    
3297    case 151:    case 151:
3298  #line 292 "lscp.y"  #line 298 "lscp.y"
3299      { yyval.Char = 'L'; }      { yyval.Char = 'H'; }
3300      break;      break;
3301    
3302    case 152:    case 152:
3303  #line 292 "lscp.y"  #line 298 "lscp.y"
3304      { yyval.Char = 'M'; }      { yyval.Char = 'I'; }
3305      break;      break;
3306    
3307    case 153:    case 153:
3308  #line 292 "lscp.y"  #line 298 "lscp.y"
3309      { yyval.Char = 'N'; }      { yyval.Char = 'J'; }
3310      break;      break;
3311    
3312    case 154:    case 154:
3313  #line 292 "lscp.y"  #line 298 "lscp.y"
3314      { yyval.Char = 'O'; }      { yyval.Char = 'K'; }
3315      break;      break;
3316    
3317    case 155:    case 155:
3318  #line 292 "lscp.y"  #line 298 "lscp.y"
3319      { yyval.Char = 'P'; }      { yyval.Char = 'L'; }
3320      break;      break;
3321    
3322    case 156:    case 156:
3323  #line 292 "lscp.y"  #line 298 "lscp.y"
3324      { yyval.Char = 'Q'; }      { yyval.Char = 'M'; }
3325      break;      break;
3326    
3327    case 157:    case 157:
3328  #line 292 "lscp.y"  #line 298 "lscp.y"
3329      { yyval.Char = 'R'; }      { yyval.Char = 'N'; }
3330      break;      break;
3331    
3332    case 158:    case 158:
3333  #line 292 "lscp.y"  #line 298 "lscp.y"
3334      { yyval.Char = 'S'; }      { yyval.Char = 'O'; }
3335      break;      break;
3336    
3337    case 159:    case 159:
3338  #line 292 "lscp.y"  #line 298 "lscp.y"
3339      { yyval.Char = 'T'; }      { yyval.Char = 'P'; }
3340      break;      break;
3341    
3342    case 160:    case 160:
3343  #line 292 "lscp.y"  #line 298 "lscp.y"
3344      { yyval.Char = 'U'; }      { yyval.Char = 'Q'; }
3345      break;      break;
3346    
3347    case 161:    case 161:
3348  #line 292 "lscp.y"  #line 298 "lscp.y"
3349      { yyval.Char = 'V'; }      { yyval.Char = 'R'; }
3350      break;      break;
3351    
3352    case 162:    case 162:
3353  #line 292 "lscp.y"  #line 298 "lscp.y"
3354      { yyval.Char = 'W'; }      { yyval.Char = 'S'; }
3355      break;      break;
3356    
3357    case 163:    case 163:
3358  #line 292 "lscp.y"  #line 298 "lscp.y"
3359      { yyval.Char = 'X'; }      { yyval.Char = 'T'; }
3360      break;      break;
3361    
3362    case 164:    case 164:
3363  #line 292 "lscp.y"  #line 298 "lscp.y"
3364      { yyval.Char = 'Y'; }      { yyval.Char = 'U'; }
3365      break;      break;
3366    
3367    case 165:    case 165:
3368  #line 292 "lscp.y"  #line 298 "lscp.y"
3369      { yyval.Char = 'Z'; }      { yyval.Char = 'V'; }
3370      break;      break;
3371    
3372    case 166:    case 166:
3373  #line 293 "lscp.y"  #line 298 "lscp.y"
3374      { yyval.Char = 'a'; }      { yyval.Char = 'W'; }
3375      break;      break;
3376    
3377    case 167:    case 167:
3378  #line 293 "lscp.y"  #line 298 "lscp.y"
3379      { yyval.Char = 'b'; }      { yyval.Char = 'X'; }
3380      break;      break;
3381    
3382    case 168:    case 168:
3383  #line 293 "lscp.y"  #line 298 "lscp.y"
3384      { yyval.Char = 'c'; }      { yyval.Char = 'Y'; }
3385      break;      break;
3386    
3387    case 169:    case 169:
3388  #line 293 "lscp.y"  #line 298 "lscp.y"
3389      { yyval.Char = 'd'; }      { yyval.Char = 'Z'; }
3390      break;      break;
3391    
3392    case 170:    case 170:
3393  #line 293 "lscp.y"  #line 299 "lscp.y"
3394      { yyval.Char = 'e'; }      { yyval.Char = 'a'; }
3395      break;      break;
3396    
3397    case 171:    case 171:
3398  #line 293 "lscp.y"  #line 299 "lscp.y"
3399      { yyval.Char = 'f'; }      { yyval.Char = 'b'; }
3400      break;      break;
3401    
3402    case 172:    case 172:
3403  #line 293 "lscp.y"  #line 299 "lscp.y"
3404      { yyval.Char = 'g'; }      { yyval.Char = 'c'; }
3405      break;      break;
3406    
3407    case 173:    case 173:
3408  #line 293 "lscp.y"  #line 299 "lscp.y"
3409      { yyval.Char = 'h'; }      { yyval.Char = 'd'; }
3410      break;      break;
3411    
3412    case 174:    case 174:
3413  #line 293 "lscp.y"  #line 299 "lscp.y"
3414      { yyval.Char = 'i'; }      { yyval.Char = 'e'; }
3415      break;      break;
3416    
3417    case 175:    case 175:
3418  #line 293 "lscp.y"  #line 299 "lscp.y"
3419      { yyval.Char = 'j'; }      { yyval.Char = 'f'; }
3420      break;      break;
3421    
3422    case 176:    case 176:
3423  #line 293 "lscp.y"  #line 299 "lscp.y"
3424      { yyval.Char = 'k'; }      { yyval.Char = 'g'; }
3425      break;      break;
3426    
3427    case 177:    case 177:
3428  #line 293 "lscp.y"  #line 299 "lscp.y"
3429      { yyval.Char = 'l'; }      { yyval.Char = 'h'; }
3430      break;      break;
3431    
3432    case 178:    case 178:
3433  #line 293 "lscp.y"  #line 299 "lscp.y"
3434      { yyval.Char = 'm'; }      { yyval.Char = 'i'; }
3435      break;      break;
3436    
3437    case 179:    case 179:
3438  #line 293 "lscp.y"  #line 299 "lscp.y"
3439      { yyval.Char = 'n'; }      { yyval.Char = 'j'; }
3440      break;      break;
3441    
3442    case 180:    case 180:
3443  #line 293 "lscp.y"  #line 299 "lscp.y"
3444      { yyval.Char = 'o'; }      { yyval.Char = 'k'; }
3445      break;      break;
3446    
3447    case 181:    case 181:
3448  #line 293 "lscp.y"  #line 299 "lscp.y"
3449      { yyval.Char = 'p'; }      { yyval.Char = 'l'; }
3450      break;      break;
3451    
3452    case 182:    case 182:
3453  #line 293 "lscp.y"  #line 299 "lscp.y"
3454      { yyval.Char = 'q'; }      { yyval.Char = 'm'; }
3455      break;      break;
3456    
3457    case 183:    case 183:
3458  #line 293 "lscp.y"  #line 299 "lscp.y"
3459      { yyval.Char = 'r'; }      { yyval.Char = 'n'; }
3460      break;      break;
3461    
3462    case 184:    case 184:
3463  #line 293 "lscp.y"  #line 299 "lscp.y"
3464      { yyval.Char = 's'; }      { yyval.Char = 'o'; }
3465      break;      break;
3466    
3467    case 185:    case 185:
3468  #line 293 "lscp.y"  #line 299 "lscp.y"
3469      { yyval.Char = 't'; }      { yyval.Char = 'p'; }
3470      break;      break;
3471    
3472    case 186:    case 186:
3473  #line 293 "lscp.y"  #line 299 "lscp.y"
3474      { yyval.Char = 'u'; }      { yyval.Char = 'q'; }
3475      break;      break;
3476    
3477    case 187:    case 187:
3478  #line 293 "lscp.y"  #line 299 "lscp.y"
3479      { yyval.Char = 'v'; }      { yyval.Char = 'r'; }
3480      break;      break;
3481    
3482    case 188:    case 188:
3483  #line 293 "lscp.y"  #line 299 "lscp.y"
3484      { yyval.Char = 'w'; }      { yyval.Char = 's'; }
3485      break;      break;
3486    
3487    case 189:    case 189:
3488  #line 293 "lscp.y"  #line 299 "lscp.y"
3489      { yyval.Char = 'x'; }      { yyval.Char = 't'; }
3490      break;      break;
3491    
3492    case 190:    case 190:
3493  #line 293 "lscp.y"  #line 299 "lscp.y"
3494      { yyval.Char = 'y'; }      { yyval.Char = 'u'; }
3495      break;      break;
3496    
3497    case 191:    case 191:
3498  #line 293 "lscp.y"  #line 299 "lscp.y"
3499      { yyval.Char = 'z'; }      { yyval.Char = 'v'; }
3500      break;      break;
3501    
3502    case 192:    case 192:
3503  #line 294 "lscp.y"  #line 299 "lscp.y"
3504      { yyval.Char = '0'; }      { yyval.Char = 'w'; }
3505      break;      break;
3506    
3507    case 193:    case 193:
3508  #line 294 "lscp.y"  #line 299 "lscp.y"
3509      { yyval.Char = '1'; }      { yyval.Char = 'x'; }
3510      break;      break;
3511    
3512    case 194:    case 194:
3513  #line 294 "lscp.y"  #line 299 "lscp.y"
3514      { yyval.Char = '2'; }      { yyval.Char = 'y'; }
3515      break;      break;
3516    
3517    case 195:    case 195:
3518  #line 294 "lscp.y"  #line 299 "lscp.y"
3519      { yyval.Char = '3'; }      { yyval.Char = 'z'; }
3520      break;      break;
3521    
3522    case 196:    case 196:
3523  #line 294 "lscp.y"  #line 300 "lscp.y"
3524      { yyval.Char = '4'; }      { yyval.Char = '0'; }
3525      break;      break;
3526    
3527    case 197:    case 197:
3528  #line 294 "lscp.y"  #line 300 "lscp.y"
3529      { yyval.Char = '5'; }      { yyval.Char = '1'; }
3530      break;      break;
3531    
3532    case 198:    case 198:
3533  #line 294 "lscp.y"  #line 300 "lscp.y"
3534      { yyval.Char = '6'; }      { yyval.Char = '2'; }
3535      break;      break;
3536    
3537    case 199:    case 199:
3538  #line 294 "lscp.y"  #line 300 "lscp.y"
3539      { yyval.Char = '7'; }      { yyval.Char = '3'; }
3540      break;      break;
3541    
3542    case 200:    case 200:
3543  #line 294 "lscp.y"  #line 300 "lscp.y"
3544      { yyval.Char = '8'; }      { yyval.Char = '4'; }
3545      break;      break;
3546    
3547    case 201:    case 201:
3548  #line 294 "lscp.y"  #line 300 "lscp.y"
3549      { yyval.Char = '9'; }      { yyval.Char = '5'; }
3550      break;      break;
3551    
3552    case 202:    case 202:
3553  #line 295 "lscp.y"  #line 300 "lscp.y"
3554      { yyval.Char = '!'; }      { yyval.Char = '6'; }
3555      break;      break;
3556    
3557    case 203:    case 203:
3558  #line 295 "lscp.y"  #line 300 "lscp.y"
3559      { yyval.Char = '#'; }      { yyval.Char = '7'; }
3560      break;      break;
3561    
3562    case 204:    case 204:
3563  #line 295 "lscp.y"  #line 300 "lscp.y"
3564      { yyval.Char = '$'; }      { yyval.Char = '8'; }
3565      break;      break;
3566    
3567    case 205:    case 205:
3568  #line 295 "lscp.y"  #line 300 "lscp.y"
3569      { yyval.Char = '%'; }      { yyval.Char = '9'; }
3570      break;      break;
3571    
3572    case 206:    case 206:
3573  #line 295 "lscp.y"  #line 301 "lscp.y"
3574      { yyval.Char = '&'; }      { yyval.Char = '!'; }
3575      break;      break;
3576    
3577    case 207:    case 207:
3578  #line 295 "lscp.y"  #line 301 "lscp.y"
3579      { yyval.Char = '('; }      { yyval.Char = '#'; }
3580      break;      break;
3581    
3582    case 208:    case 208:
3583  #line 295 "lscp.y"  #line 301 "lscp.y"
3584      { yyval.Char = ')'; }      { yyval.Char = '$'; }
3585      break;      break;
3586    
3587    case 209:    case 209:
3588  #line 295 "lscp.y"  #line 301 "lscp.y"
3589      { yyval.Char = '*'; }      { yyval.Char = '%'; }
3590      break;      break;
3591    
3592    case 210:    case 210:
3593  #line 295 "lscp.y"  #line 301 "lscp.y"
3594      { yyval.Char = '+'; }      { yyval.Char = '&'; }
3595      break;      break;
3596    
3597    case 211:    case 211:
3598  #line 295 "lscp.y"  #line 301 "lscp.y"
3599      { yyval.Char = '-'; }      { yyval.Char = '('; }
3600      break;      break;
3601    
3602    case 212:    case 212:
3603  #line 295 "lscp.y"  #line 301 "lscp.y"
3604      { yyval.Char = '.'; }      { yyval.Char = ')'; }
3605      break;      break;
3606    
3607    case 213:    case 213:
3608  #line 295 "lscp.y"  #line 301 "lscp.y"
3609      { yyval.Char = ','; }      { yyval.Char = '*'; }
3610      break;      break;
3611    
3612    case 214:    case 214:
3613  #line 295 "lscp.y"  #line 301 "lscp.y"
3614      { yyval.Char = '/'; }      { yyval.Char = '+'; }
3615      break;      break;
3616    
3617    case 215:    case 215:
3618  #line 296 "lscp.y"  #line 301 "lscp.y"
3619      { yyval.Char = ':'; }      { yyval.Char = '-'; }
3620      break;      break;
3621    
3622    case 216:    case 216:
3623  #line 296 "lscp.y"  #line 301 "lscp.y"
3624      { yyval.Char = ';'; }      { yyval.Char = '.'; }
3625      break;      break;
3626    
3627    case 217:    case 217:
3628  #line 296 "lscp.y"  #line 301 "lscp.y"
3629      { yyval.Char = '<'; }      { yyval.Char = ','; }
3630      break;      break;
3631    
3632    case 218:    case 218:
3633  #line 296 "lscp.y"  #line 301 "lscp.y"
3634      { yyval.Char = '='; }      { yyval.Char = '/'; }
3635      break;      break;
3636    
3637    case 219:    case 219:
3638  #line 296 "lscp.y"  #line 302 "lscp.y"
3639      { yyval.Char = '>'; }      { yyval.Char = ':'; }
3640      break;      break;
3641    
3642    case 220:    case 220:
3643  #line 296 "lscp.y"  #line 302 "lscp.y"
3644      { yyval.Char = '?'; }      { yyval.Char = ';'; }
3645      break;      break;
3646    
3647    case 221:    case 221:
3648  #line 296 "lscp.y"  #line 302 "lscp.y"
3649      { yyval.Char = '@'; }      { yyval.Char = '<'; }
3650      break;      break;
3651    
3652    case 222:    case 222:
3653  #line 297 "lscp.y"  #line 302 "lscp.y"
3654      { yyval.Char = '['; }      { yyval.Char = '='; }
3655      break;      break;
3656    
3657    case 223:    case 223:
3658  #line 297 "lscp.y"  #line 302 "lscp.y"
3659      { yyval.Char = '\\'; }      { yyval.Char = '>'; }
3660      break;      break;
3661    
3662    case 224:    case 224:
3663  #line 297 "lscp.y"  #line 302 "lscp.y"
3664      { yyval.Char = ']'; }      { yyval.Char = '?'; }
3665      break;      break;
3666    
3667    case 225:    case 225:
3668  #line 297 "lscp.y"  #line 302 "lscp.y"
3669      { yyval.Char = '^'; }      { yyval.Char = '@'; }
3670      break;      break;
3671    
3672    case 226:    case 226:
3673  #line 297 "lscp.y"  #line 303 "lscp.y"
3674      { yyval.Char = '_'; }      { yyval.Char = '['; }
3675      break;      break;
3676    
3677    case 227:    case 227:
3678  #line 298 "lscp.y"  #line 303 "lscp.y"
3679      { yyval.Char = '{'; }      { yyval.Char = '\\'; }
3680      break;      break;
3681    
3682    case 228:    case 228:
3683  #line 298 "lscp.y"  #line 303 "lscp.y"
3684      { yyval.Char = '|'; }      { yyval.Char = ']'; }
3685      break;      break;
3686    
3687    case 229:    case 229:
3688  #line 298 "lscp.y"  #line 303 "lscp.y"
3689      { yyval.Char = '}'; }      { yyval.Char = '^'; }
3690      break;      break;
3691    
3692    case 230:    case 230:
3693  #line 298 "lscp.y"  #line 303 "lscp.y"
3694      { yyval.Char = '~'; }      { yyval.Char = '_'; }
3695      break;      break;
3696    
3697    case 231:    case 231:
3698  #line 299 "lscp.y"  #line 304 "lscp.y"
3699      { yyval.Char = '\200'; }      { yyval.Char = '{'; }
3700      break;      break;
3701    
3702    case 232:    case 232:
3703  #line 299 "lscp.y"  #line 304 "lscp.y"
3704      { yyval.Char = '\201'; }      { yyval.Char = '|'; }
3705      break;      break;
3706    
3707    case 233:    case 233:
3708  #line 299 "lscp.y"  #line 304 "lscp.y"
3709      { yyval.Char = '\202'; }      { yyval.Char = '}'; }
3710      break;      break;
3711    
3712    case 234:    case 234:
3713  #line 300 "lscp.y"  #line 304 "lscp.y"
3714      { yyval.Char = '\203'; }      { yyval.Char = '~'; }
3715      break;      break;
3716    
3717    case 235:    case 235:
3718  #line 300 "lscp.y"  #line 305 "lscp.y"
3719      { yyval.Char = '\204'; }      { yyval.Char = '\200'; }
3720      break;      break;
3721    
3722    case 236:    case 236:
3723  #line 300 "lscp.y"  #line 305 "lscp.y"
3724      { yyval.Char = '\205'; }      { yyval.Char = '\201'; }
3725      break;      break;
3726    
3727    case 237:    case 237:
3728  #line 301 "lscp.y"  #line 305 "lscp.y"
3729      { yyval.Char = '\206'; }      { yyval.Char = '\202'; }
3730      break;      break;
3731    
3732    case 238:    case 238:
3733  #line 301 "lscp.y"  #line 306 "lscp.y"
3734      { yyval.Char = '\207'; }      { yyval.Char = '\203'; }
3735      break;      break;
3736    
3737    case 239:    case 239:
3738  #line 301 "lscp.y"  #line 306 "lscp.y"
3739      { yyval.Char = '\210'; }      { yyval.Char = '\204'; }
3740      break;      break;
3741    
3742    case 240:    case 240:
3743  #line 302 "lscp.y"  #line 306 "lscp.y"
3744      { yyval.Char = '\211'; }      { yyval.Char = '\205'; }
3745      break;      break;
3746    
3747    case 241:    case 241:
3748  #line 302 "lscp.y"  #line 307 "lscp.y"
3749      { yyval.Char = '\212'; }      { yyval.Char = '\206'; }
3750      break;      break;
3751    
3752    case 242:    case 242:
3753  #line 302 "lscp.y"  #line 307 "lscp.y"
3754      { yyval.Char = '\213'; }      { yyval.Char = '\207'; }
3755      break;      break;
3756    
3757    case 243:    case 243:
3758  #line 303 "lscp.y"  #line 307 "lscp.y"
3759      { yyval.Char = '\214'; }      { yyval.Char = '\210'; }
3760      break;      break;
3761    
3762    case 244:    case 244:
3763  #line 303 "lscp.y"  #line 308 "lscp.y"
3764      { yyval.Char = '\215'; }      { yyval.Char = '\211'; }
3765      break;      break;
3766    
3767    case 245:    case 245:
3768  #line 303 "lscp.y"  #line 308 "lscp.y"
3769      { yyval.Char = '\216'; }      { yyval.Char = '\212'; }
3770      break;      break;
3771    
3772    case 246:    case 246:
3773  #line 304 "lscp.y"  #line 308 "lscp.y"
3774      { yyval.Char = '\217'; }      { yyval.Char = '\213'; }
3775      break;      break;
3776    
3777    case 247:    case 247:
3778  #line 304 "lscp.y"  #line 309 "lscp.y"
3779      { yyval.Char = '\220'; }      { yyval.Char = '\214'; }
3780      break;      break;
3781    
3782    case 248:    case 248:
3783  #line 304 "lscp.y"  #line 309 "lscp.y"
3784      { yyval.Char = '\221'; }      { yyval.Char = '\215'; }
3785      break;      break;
3786    
3787    case 249:    case 249:
3788  #line 305 "lscp.y"  #line 309 "lscp.y"
3789      { yyval.Char = '\222'; }      { yyval.Char = '\216'; }
3790      break;      break;
3791    
3792    case 250:    case 250:
3793  #line 305 "lscp.y"  #line 310 "lscp.y"
3794      { yyval.Char = '\223'; }      { yyval.Char = '\217'; }
3795      break;      break;
3796    
3797    case 251:    case 251:
3798  #line 305 "lscp.y"  #line 310 "lscp.y"
3799      { yyval.Char = '\224'; }      { yyval.Char = '\220'; }
3800      break;      break;
3801    
3802    case 252:    case 252:
3803  #line 306 "lscp.y"  #line 310 "lscp.y"
3804      { yyval.Char = '\225'; }      { yyval.Char = '\221'; }
3805      break;      break;
3806    
3807    case 253:    case 253:
3808  #line 306 "lscp.y"  #line 311 "lscp.y"
3809      { yyval.Char = '\226'; }      { yyval.Char = '\222'; }
3810      break;      break;
3811    
3812    case 254:    case 254:
3813  #line 306 "lscp.y"  #line 311 "lscp.y"
3814      { yyval.Char = '\227'; }      { yyval.Char = '\223'; }
3815      break;      break;
3816    
3817    case 255:    case 255:
3818  #line 307 "lscp.y"  #line 311 "lscp.y"
3819      { yyval.Char = '\230'; }      { yyval.Char = '\224'; }
3820      break;      break;
3821    
3822    case 256:    case 256:
3823  #line 307 "lscp.y"  #line 312 "lscp.y"
3824      { yyval.Char = '\231'; }      { yyval.Char = '\225'; }
3825      break;      break;
3826    
3827    case 257:    case 257:
3828  #line 307 "lscp.y"  #line 312 "lscp.y"
3829      { yyval.Char = '\232'; }      { yyval.Char = '\226'; }
3830      break;      break;
3831    
3832    case 258:    case 258:
3833  #line 308 "lscp.y"  #line 312 "lscp.y"
3834      { yyval.Char = '\233'; }      { yyval.Char = '\227'; }
3835      break;      break;
3836    
3837    case 259:    case 259:
3838  #line 308 "lscp.y"  #line 313 "lscp.y"
3839      { yyval.Char = '\234'; }      { yyval.Char = '\230'; }
3840      break;      break;
3841    
3842    case 260:    case 260:
3843  #line 308 "lscp.y"  #line 313 "lscp.y"
3844      { yyval.Char = '\235'; }      { yyval.Char = '\231'; }
3845      break;      break;
3846    
3847    case 261:    case 261:
3848  #line 309 "lscp.y"  #line 313 "lscp.y"
3849      { yyval.Char = '\236'; }      { yyval.Char = '\232'; }
3850      break;      break;
3851    
3852    case 262:    case 262:
3853  #line 309 "lscp.y"  #line 314 "lscp.y"
3854      { yyval.Char = '\237'; }      { yyval.Char = '\233'; }
3855      break;      break;
3856    
3857    case 263:    case 263:
3858  #line 309 "lscp.y"  #line 314 "lscp.y"
3859      { yyval.Char = '\240'; }      { yyval.Char = '\234'; }
3860      break;      break;
3861    
3862    case 264:    case 264:
3863  #line 310 "lscp.y"  #line 314 "lscp.y"
3864      { yyval.Char = '\241'; }      { yyval.Char = '\235'; }
3865      break;      break;
3866    
3867    case 265:    case 265:
3868  #line 310 "lscp.y"  #line 315 "lscp.y"
3869      { yyval.Char = '\242'; }      { yyval.Char = '\236'; }
3870      break;      break;
3871    
3872    case 266:    case 266:
3873  #line 310 "lscp.y"  #line 315 "lscp.y"
3874      { yyval.Char = '\243'; }      { yyval.Char = '\237'; }
3875      break;      break;
3876    
3877    case 267:    case 267:
3878  #line 311 "lscp.y"  #line 315 "lscp.y"
3879      { yyval.Char = '\244'; }      { yyval.Char = '\240'; }
3880      break;      break;
3881    
3882    case 268:    case 268:
3883  #line 311 "lscp.y"  #line 316 "lscp.y"
3884      { yyval.Char = '\245'; }      { yyval.Char = '\241'; }
3885      break;      break;
3886    
3887    case 269:    case 269:
3888  #line 311 "lscp.y"  #line 316 "lscp.y"
3889      { yyval.Char = '\246'; }      { yyval.Char = '\242'; }
3890      break;      break;
3891    
3892    case 270:    case 270:
3893  #line 312 "lscp.y"  #line 316 "lscp.y"
3894      { yyval.Char = '\247'; }      { yyval.Char = '\243'; }
3895      break;      break;
3896    
3897    case 271:    case 271:
3898  #line 312 "lscp.y"  #line 317 "lscp.y"
3899      { yyval.Char = '\250'; }      { yyval.Char = '\244'; }
3900      break;      break;
3901    
3902    case 272:    case 272:
3903  #line 312 "lscp.y"  #line 317 "lscp.y"
3904      { yyval.Char = '\251'; }      { yyval.Char = '\245'; }
3905      break;      break;
3906    
3907    case 273:    case 273:
3908  #line 313 "lscp.y"  #line 317 "lscp.y"
3909      { yyval.Char = '\252'; }      { yyval.Char = '\246'; }
3910      break;      break;
3911    
3912    case 274:    case 274:
3913  #line 313 "lscp.y"  #line 318 "lscp.y"
3914      { yyval.Char = '\253'; }      { yyval.Char = '\247'; }
3915      break;      break;
3916    
3917    case 275:    case 275:
3918  #line 313 "lscp.y"  #line 318 "lscp.y"
3919      { yyval.Char = '\254'; }      { yyval.Char = '\250'; }
3920      break;      break;
3921    
3922    case 276:    case 276:
3923  #line 314 "lscp.y"  #line 318 "lscp.y"
3924      { yyval.Char = '\255'; }      { yyval.Char = '\251'; }
3925      break;      break;
3926    
3927    case 277:    case 277:
3928  #line 314 "lscp.y"  #line 319 "lscp.y"
3929      { yyval.Char = '\256'; }      { yyval.Char = '\252'; }
3930      break;      break;
3931    
3932    case 278:    case 278:
3933  #line 314 "lscp.y"  #line 319 "lscp.y"
3934      { yyval.Char = '\257'; }      { yyval.Char = '\253'; }
3935      break;      break;
3936    
3937    case 279:    case 279:
3938  #line 315 "lscp.y"  #line 319 "lscp.y"
3939      { yyval.Char = '\260'; }      { yyval.Char = '\254'; }
3940      break;      break;
3941    
3942    case 280:    case 280:
3943  #line 315 "lscp.y"  #line 320 "lscp.y"
3944      { yyval.Char = '\261'; }      { yyval.Char = '\255'; }
3945      break;      break;
3946    
3947    case 281:    case 281:
3948  #line 315 "lscp.y"  #line 320 "lscp.y"
3949      { yyval.Char = '\262'; }      { yyval.Char = '\256'; }
3950      break;      break;
3951    
3952    case 282:    case 282:
3953  #line 316 "lscp.y"  #line 320 "lscp.y"
3954      { yyval.Char = '\263'; }      { yyval.Char = '\257'; }
3955      break;      break;
3956    
3957    case 283:    case 283:
3958  #line 316 "lscp.y"  #line 321 "lscp.y"
3959      { yyval.Char = '\264'; }      { yyval.Char = '\260'; }
3960      break;      break;
3961    
3962    case 284:    case 284:
3963  #line 316 "lscp.y"  #line 321 "lscp.y"
3964      { yyval.Char = '\265'; }      { yyval.Char = '\261'; }
3965      break;      break;
3966    
3967    case 285:    case 285:
3968  #line 317 "lscp.y"  #line 321 "lscp.y"
3969      { yyval.Char = '\266'; }      { yyval.Char = '\262'; }
3970      break;      break;
3971    
3972    case 286:    case 286:
3973  #line 317 "lscp.y"  #line 322 "lscp.y"
3974      { yyval.Char = '\267'; }      { yyval.Char = '\263'; }
3975      break;      break;
3976    
3977    case 287:    case 287:
3978  #line 317 "lscp.y"  #line 322 "lscp.y"
3979      { yyval.Char = '\270'; }      { yyval.Char = '\264'; }
3980      break;      break;
3981    
3982    case 288:    case 288:
3983  #line 318 "lscp.y"  #line 322 "lscp.y"
3984      { yyval.Char = '\271'; }      { yyval.Char = '\265'; }
3985      break;      break;
3986    
3987    case 289:    case 289:
3988  #line 318 "lscp.y"  #line 323 "lscp.y"
3989      { yyval.Char = '\272'; }      { yyval.Char = '\266'; }
3990      break;      break;
3991    
3992    case 290:    case 290:
3993  #line 318 "lscp.y"  #line 323 "lscp.y"
3994      { yyval.Char = '\273'; }      { yyval.Char = '\267'; }
3995      break;      break;
3996    
3997    case 291:    case 291:
3998  #line 319 "lscp.y"  #line 323 "lscp.y"
3999      { yyval.Char = '\274'; }      { yyval.Char = '\270'; }
4000      break;      break;
4001    
4002    case 292:    case 292:
4003  #line 319 "lscp.y"  #line 324 "lscp.y"
4004      { yyval.Char = '\275'; }      { yyval.Char = '\271'; }
4005      break;      break;
4006    
4007    case 293:    case 293:
4008  #line 319 "lscp.y"  #line 324 "lscp.y"
4009      { yyval.Char = '\276'; }      { yyval.Char = '\272'; }
4010      break;      break;
4011    
4012    case 294:    case 294:
4013  #line 320 "lscp.y"  #line 324 "lscp.y"
4014      { yyval.Char = '\277'; }      { yyval.Char = '\273'; }
4015      break;      break;
4016    
4017    case 295:    case 295:
4018  #line 320 "lscp.y"  #line 325 "lscp.y"
4019      { yyval.Char = '\300'; }      { yyval.Char = '\274'; }
4020      break;      break;
4021    
4022    case 296:    case 296:
4023  #line 320 "lscp.y"  #line 325 "lscp.y"
4024      { yyval.Char = '\301'; }      { yyval.Char = '\275'; }
4025      break;      break;
4026    
4027    case 297:    case 297:
4028  #line 321 "lscp.y"  #line 325 "lscp.y"
4029      { yyval.Char = '\302'; }      { yyval.Char = '\276'; }
4030      break;      break;
4031    
4032    case 298:    case 298:
4033  #line 321 "lscp.y"  #line 326 "lscp.y"
4034      { yyval.Char = '\303'; }      { yyval.Char = '\277'; }
4035      break;      break;
4036    
4037    case 299:    case 299:
4038  #line 321 "lscp.y"  #line 326 "lscp.y"
4039      { yyval.Char = '\304'; }      { yyval.Char = '\300'; }
4040      break;      break;
4041    
4042    case 300:    case 300:
4043  #line 322 "lscp.y"  #line 326 "lscp.y"
4044      { yyval.Char = '\305'; }      { yyval.Char = '\301'; }
4045      break;      break;
4046    
4047    case 301:    case 301:
4048  #line 322 "lscp.y"  #line 327 "lscp.y"
4049      { yyval.Char = '\306'; }      { yyval.Char = '\302'; }
4050      break;      break;
4051    
4052    case 302:    case 302:
4053  #line 322 "lscp.y"  #line 327 "lscp.y"
4054      { yyval.Char = '\307'; }      { yyval.Char = '\303'; }
4055      break;      break;
4056    
4057    case 303:    case 303:
4058  #line 323 "lscp.y"  #line 327 "lscp.y"
4059      { yyval.Char = '\310'; }      { yyval.Char = '\304'; }
4060      break;      break;
4061    
4062    case 304:    case 304:
4063  #line 323 "lscp.y"  #line 328 "lscp.y"
4064      { yyval.Char = '\311'; }      { yyval.Char = '\305'; }
4065      break;      break;
4066    
4067    case 305:    case 305:
4068  #line 323 "lscp.y"  #line 328 "lscp.y"
4069      { yyval.Char = '\312'; }      { yyval.Char = '\306'; }
4070      break;      break;
4071    
4072    case 306:    case 306:
4073  #line 324 "lscp.y"  #line 328 "lscp.y"
4074      { yyval.Char = '\313'; }      { yyval.Char = '\307'; }
4075      break;      break;
4076    
4077    case 307:    case 307:
4078  #line 324 "lscp.y"  #line 329 "lscp.y"
4079      { yyval.Char = '\314'; }      { yyval.Char = '\310'; }
4080      break;      break;
4081    
4082    case 308:    case 308:
4083  #line 324 "lscp.y"  #line 329 "lscp.y"
4084      { yyval.Char = '\315'; }      { yyval.Char = '\311'; }
4085      break;      break;
4086    
4087    case 309:    case 309:
4088  #line 325 "lscp.y"  #line 329 "lscp.y"
4089      { yyval.Char = '\316'; }      { yyval.Char = '\312'; }
4090      break;      break;
4091    
4092    case 310:    case 310:
4093  #line 325 "lscp.y"  #line 330 "lscp.y"
4094      { yyval.Char = '\317'; }      { yyval.Char = '\313'; }
4095      break;      break;
4096    
4097    case 311:    case 311:
4098  #line 325 "lscp.y"  #line 330 "lscp.y"
4099      { yyval.Char = '\320'; }      { yyval.Char = '\314'; }
4100      break;      break;
4101    
4102    case 312:    case 312:
4103  #line 326 "lscp.y"  #line 330 "lscp.y"
4104      { yyval.Char = '\321'; }      { yyval.Char = '\315'; }
4105      break;      break;
4106    
4107    case 313:    case 313:
4108  #line 326 "lscp.y"  #line 331 "lscp.y"
4109      { yyval.Char = '\322'; }      { yyval.Char = '\316'; }
4110      break;      break;
4111    
4112    case 314:    case 314:
4113  #line 326 "lscp.y"  #line 331 "lscp.y"
4114      { yyval.Char = '\323'; }      { yyval.Char = '\317'; }
4115      break;      break;
4116    
4117    case 315:    case 315:
4118  #line 327 "lscp.y"  #line 331 "lscp.y"
4119      { yyval.Char = '\324'; }      { yyval.Char = '\320'; }
4120      break;      break;
4121    
4122    case 316:    case 316:
4123  #line 327 "lscp.y"  #line 332 "lscp.y"
4124      { yyval.Char = '\325'; }      { yyval.Char = '\321'; }
4125      break;      break;
4126    
4127    case 317:    case 317:
4128  #line 327 "lscp.y"  #line 332 "lscp.y"
4129      { yyval.Char = '\326'; }      { yyval.Char = '\322'; }
4130      break;      break;
4131    
4132    case 318:    case 318:
4133  #line 328 "lscp.y"  #line 332 "lscp.y"
4134      { yyval.Char = '\327'; }      { yyval.Char = '\323'; }
4135      break;      break;
4136    
4137    case 319:    case 319:
4138  #line 328 "lscp.y"  #line 333 "lscp.y"
4139      { yyval.Char = '\330'; }      { yyval.Char = '\324'; }
4140      break;      break;
4141    
4142    case 320:    case 320:
4143  #line 328 "lscp.y"  #line 333 "lscp.y"
4144      { yyval.Char = '\331'; }      { yyval.Char = '\325'; }
4145      break;      break;
4146    
4147    case 321:    case 321:
4148  #line 329 "lscp.y"  #line 333 "lscp.y"
4149      { yyval.Char = '\332'; }      { yyval.Char = '\326'; }
4150      break;      break;
4151    
4152    case 322:    case 322:
4153  #line 329 "lscp.y"  #line 334 "lscp.y"
4154      { yyval.Char = '\333'; }      { yyval.Char = '\327'; }
4155      break;      break;
4156    
4157    case 323:    case 323:
4158  #line 329 "lscp.y"  #line 334 "lscp.y"
4159      { yyval.Char = '\334'; }      { yyval.Char = '\330'; }
4160      break;      break;
4161    
4162    case 324:    case 324:
4163  #line 330 "lscp.y"  #line 334 "lscp.y"
4164      { yyval.Char = '\335'; }      { yyval.Char = '\331'; }
4165      break;      break;
4166    
4167    case 325:    case 325:
4168  #line 330 "lscp.y"  #line 335 "lscp.y"
4169      { yyval.Char = '\336'; }      { yyval.Char = '\332'; }
4170      break;      break;
4171    
4172    case 326:    case 326:
4173  #line 330 "lscp.y"  #line 335 "lscp.y"
4174      { yyval.Char = '\337'; }      { yyval.Char = '\333'; }
4175      break;      break;
4176    
4177    case 327:    case 327:
4178  #line 331 "lscp.y"  #line 335 "lscp.y"
4179      { yyval.Char = '\340'; }      { yyval.Char = '\334'; }
4180      break;      break;
4181    
4182    case 328:    case 328:
4183  #line 331 "lscp.y"  #line 336 "lscp.y"
4184      { yyval.Char = '\341'; }      { yyval.Char = '\335'; }
4185      break;      break;
4186    
4187    case 329:    case 329:
4188  #line 331 "lscp.y"  #line 336 "lscp.y"
4189      { yyval.Char = '\342'; }      { yyval.Char = '\336'; }
4190      break;      break;
4191    
4192    case 330:    case 330:
4193  #line 332 "lscp.y"  #line 336 "lscp.y"
4194      { yyval.Char = '\343'; }      { yyval.Char = '\337'; }
4195      break;      break;
4196    
4197    case 331:    case 331:
4198  #line 332 "lscp.y"  #line 337 "lscp.y"
4199      { yyval.Char = '\344'; }      { yyval.Char = '\340'; }
4200      break;      break;
4201    
4202    case 332:    case 332:
4203  #line 332 "lscp.y"  #line 337 "lscp.y"
4204      { yyval.Char = '\345'; }      { yyval.Char = '\341'; }
4205      break;      break;
4206    
4207    case 333:    case 333:
4208  #line 333 "lscp.y"  #line 337 "lscp.y"
4209      { yyval.Char = '\346'; }      { yyval.Char = '\342'; }
4210      break;      break;
4211    
4212    case 334:    case 334:
4213  #line 333 "lscp.y"  #line 338 "lscp.y"
4214      { yyval.Char = '\347'; }      { yyval.Char = '\343'; }
4215      break;      break;
4216    
4217    case 335:    case 335:
4218  #line 333 "lscp.y"  #line 338 "lscp.y"
4219      { yyval.Char = '\350'; }      { yyval.Char = '\344'; }
4220      break;      break;
4221    
4222    case 336:    case 336:
4223  #line 334 "lscp.y"  #line 338 "lscp.y"
4224      { yyval.Char = '\351'; }      { yyval.Char = '\345'; }
4225      break;      break;
4226    
4227    case 337:    case 337:
4228  #line 334 "lscp.y"  #line 339 "lscp.y"
4229      { yyval.Char = '\352'; }      { yyval.Char = '\346'; }
4230      break;      break;
4231    
4232    case 338:    case 338:
4233  #line 334 "lscp.y"  #line 339 "lscp.y"
4234      { yyval.Char = '\353'; }      { yyval.Char = '\347'; }
4235      break;      break;
4236    
4237    case 339:    case 339:
4238  #line 335 "lscp.y"  #line 339 "lscp.y"
4239      { yyval.Char = '\354'; }      { yyval.Char = '\350'; }
4240      break;      break;
4241    
4242    case 340:    case 340:
4243  #line 335 "lscp.y"  #line 340 "lscp.y"
4244      { yyval.Char = '\355'; }      { yyval.Char = '\351'; }
4245      break;      break;
4246    
4247    case 341:    case 341:
4248  #line 335 "lscp.y"  #line 340 "lscp.y"
4249      { yyval.Char = '\356'; }      { yyval.Char = '\352'; }
4250      break;      break;
4251    
4252    case 342:    case 342:
4253  #line 336 "lscp.y"  #line 340 "lscp.y"
4254      { yyval.Char = '\357'; }      { yyval.Char = '\353'; }
4255      break;      break;
4256    
4257    case 343:    case 343:
4258  #line 336 "lscp.y"  #line 341 "lscp.y"
4259      { yyval.Char = '\360'; }      { yyval.Char = '\354'; }
4260      break;      break;
4261    
4262    case 344:    case 344:
4263  #line 336 "lscp.y"  #line 341 "lscp.y"
4264      { yyval.Char = '\361'; }      { yyval.Char = '\355'; }
4265      break;      break;
4266    
4267    case 345:    case 345:
4268  #line 337 "lscp.y"  #line 341 "lscp.y"
4269      { yyval.Char = '\362'; }      { yyval.Char = '\356'; }
4270      break;      break;
4271    
4272    case 346:    case 346:
4273  #line 337 "lscp.y"  #line 342 "lscp.y"
4274      { yyval.Char = '\363'; }      { yyval.Char = '\357'; }
4275      break;      break;
4276    
4277    case 347:    case 347:
4278  #line 337 "lscp.y"  #line 342 "lscp.y"
4279      { yyval.Char = '\364'; }      { yyval.Char = '\360'; }
4280      break;      break;
4281    
4282    case 348:    case 348:
4283  #line 338 "lscp.y"  #line 342 "lscp.y"
4284      { yyval.Char = '\365'; }      { yyval.Char = '\361'; }
4285      break;      break;
4286    
4287    case 349:    case 349:
4288  #line 338 "lscp.y"  #line 343 "lscp.y"
4289      { yyval.Char = '\366'; }      { yyval.Char = '\362'; }
4290      break;      break;
4291    
4292    case 350:    case 350:
4293  #line 338 "lscp.y"  #line 343 "lscp.y"
4294      { yyval.Char = '\367'; }      { yyval.Char = '\363'; }
4295      break;      break;
4296    
4297    case 351:    case 351:
4298  #line 339 "lscp.y"  #line 343 "lscp.y"
4299      { yyval.Char = '\370'; }      { yyval.Char = '\364'; }
4300      break;      break;
4301    
4302    case 352:    case 352:
4303  #line 339 "lscp.y"  #line 344 "lscp.y"
4304      { yyval.Char = '\371'; }      { yyval.Char = '\365'; }
4305      break;      break;
4306    
4307    case 353:    case 353:
4308  #line 339 "lscp.y"  #line 344 "lscp.y"
4309      { yyval.Char = '\372'; }      { yyval.Char = '\366'; }
4310      break;      break;
4311    
4312    case 354:    case 354:
4313  #line 340 "lscp.y"  #line 344 "lscp.y"
4314      { yyval.Char = '\373'; }      { yyval.Char = '\367'; }
4315      break;      break;
4316    
4317    case 355:    case 355:
4318  #line 340 "lscp.y"  #line 345 "lscp.y"
4319      { yyval.Char = '\374'; }      { yyval.Char = '\370'; }
4320      break;      break;
4321    
4322    case 356:    case 356:
4323  #line 340 "lscp.y"  #line 345 "lscp.y"
4324      { yyval.Char = '\375'; }      { yyval.Char = '\371'; }
4325      break;      break;
4326    
4327    case 357:    case 357:
4328  #line 341 "lscp.y"  #line 345 "lscp.y"
4329      { yyval.Char = '\376'; }      { yyval.Char = '\372'; }
4330      break;      break;
4331    
4332    case 358:    case 358:
4333  #line 341 "lscp.y"  #line 346 "lscp.y"
4334      { yyval.Char = '\377'; }      { yyval.Char = '\373'; }
4335      break;      break;
4336    
4337    case 359:    case 359:
4338  #line 344 "lscp.y"  #line 346 "lscp.y"
4339      { yyval.String = " ";      }      { yyval.Char = '\374'; }
4340      break;      break;
4341    
4342    case 361:    case 360:
4343  #line 346 "lscp.y"  #line 346 "lscp.y"
4344      { yyval.String = yyvsp[-1].String + " "; }      { yyval.Char = '\375'; }
4345        break;
4346    
4347      case 361:
4348    #line 347 "lscp.y"
4349        { yyval.Char = '\376'; }
4350      break;      break;
4351    
4352    case 362:    case 362:
4353  #line 347 "lscp.y"  #line 347 "lscp.y"
4354      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { yyval.Char = '\377'; }
4355      break;      break;
4356    
4357    case 363:    case 363:
4358  #line 350 "lscp.y"  #line 350 "lscp.y"
4359        { yyval.String = " ";      }
4360        break;
4361    
4362      case 365:
4363    #line 352 "lscp.y"
4364        { yyval.String = yyvsp[-1].String + " "; }
4365        break;
4366    
4367      case 366:
4368    #line 353 "lscp.y"
4369        { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }
4370        break;
4371    
4372      case 367:
4373    #line 356 "lscp.y"
4374      { yyval.String = yyvsp[-1].String; }      { yyval.String = yyvsp[-1].String; }
4375      break;      break;
4376    
4377    case 364:    case 368:
4378  #line 351 "lscp.y"  #line 357 "lscp.y"
4379      { yyval.String = yyvsp[-1].String; }      { yyval.String = yyvsp[-1].String; }
4380      break;      break;
4381    
4382    
4383      }      }
4384    
4385  /* Line 999 of yacc.c.  */  /* Line 1010 of yacc.c.  */
4386  #line 4245 "y.tab.c"  #line 4387 "y.tab.c"
4387    
4388    yyvsp -= yylen;    yyvsp -= yylen;
4389    yyssp -= yylen;    yyssp -= yylen;
# Line 4282  yyerrlab: Line 4424  yyerrlab:
4424          {          {
4425            YYSIZE_T yysize = 0;            YYSIZE_T yysize = 0;
4426            int yytype = YYTRANSLATE (yychar);            int yytype = YYTRANSLATE (yychar);
4427              const char* yyprefix;
4428            char *yymsg;            char *yymsg;
4429            int yyx, yycount;            int yyx;
4430    
           yycount = 0;  
4431            /* Start YYX at -YYN if negative to avoid negative indexes in            /* Start YYX at -YYN if negative to avoid negative indexes in
4432               YYCHECK.  */               YYCHECK.  */
4433            for (yyx = yyn < 0 ? -yyn : 0;            int yyxbegin = yyn < 0 ? -yyn : 0;
4434                 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)  
4435              /* Stay within bounds of both yycheck and yytname.  */
4436              int yychecklim = YYLAST - yyn;
4437              int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
4438              int yycount = 0;
4439    
4440              yyprefix = ", expecting ";
4441              for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4442              if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)              if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4443                yysize += yystrlen (yytname[yyx]) + 15, yycount++;                {
4444            yysize += yystrlen ("syntax error, unexpected ") + 1;                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
4445            yysize += yystrlen (yytname[yytype]);                  yycount += 1;
4446                    if (yycount == 5)
4447                      {
4448                        yysize = 0;
4449                        break;
4450                      }
4451                  }
4452              yysize += (sizeof ("syntax error, unexpected ")
4453                         + yystrlen (yytname[yytype]));
4454            yymsg = (char *) YYSTACK_ALLOC (yysize);            yymsg = (char *) YYSTACK_ALLOC (yysize);
4455            if (yymsg != 0)            if (yymsg != 0)
4456              {              {
# Line 4302  yyerrlab: Line 4459  yyerrlab:
4459    
4460                if (yycount < 5)                if (yycount < 5)
4461                  {                  {
4462                    yycount = 0;                    yyprefix = ", expecting ";
4463                    for (yyx = yyn < 0 ? -yyn : 0;                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)
                        yyx < (int) (sizeof (yytname) / sizeof (char *));  
                        yyx++)  
4464                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4465                        {                        {
4466                          const char *yyq = ! yycount ? ", expecting " : " or ";                          yyp = yystpcpy (yyp, yyprefix);
                         yyp = yystpcpy (yyp, yyq);  
4467                          yyp = yystpcpy (yyp, yytname[yyx]);                          yyp = yystpcpy (yyp, yytname[yyx]);
4468                          yycount++;                          yyprefix = " or ";
4469                        }                        }
4470                  }                  }
4471                yyerror (yymsg);                yyerror (yymsg);
# Line 4332  yyerrlab: Line 4486  yyerrlab:
4486        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse lookahead token after an
4487           error, discard it.  */           error, discard it.  */
4488    
4489        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
       if (yychar == YYEOF)  
4490          {          {
4491            /* Pop the error token.  */            /* If at end of input, pop the error token,
4492            YYPOPSTACK;               then the rest of the stack, then return failure.  */
4493            /* Pop the rest of the stack.  */            if (yychar == YYEOF)
4494            while (yyss < yyssp)               for (;;)
4495              {                 {
4496                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);                   YYPOPSTACK;
4497                yydestruct (yystos[*yyssp], yyvsp);                   if (yyssp == yyss)
4498                YYPOPSTACK;                     YYABORT;
4499              }                   YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
4500            YYABORT;                   yydestruct (yystos[*yyssp], yyvsp);
4501                   }
4502          }          }
4503          else
4504            {
4505              YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
4506              yydestruct (yytoken, &yylval);
4507              yychar = YYEMPTY;
4508    
4509        YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);          }
       yydestruct (yytoken, &yylval);  
       yychar = YYEMPTY;  
   
4510      }      }
4511    
4512    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse lookahead token after shifting the error
# Line 4358  yyerrlab: Line 4514  yyerrlab:
4514    goto yyerrlab1;    goto yyerrlab1;
4515    
4516    
4517  /*----------------------------------------------------.  /*---------------------------------------------------.
4518  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
4519  `----------------------------------------------------*/  `---------------------------------------------------*/
4520    yyerrorlab:
4521    
4522    #ifdef __GNUC__
4523      /* Pacify GCC when the user code never invokes YYERROR and the label
4524         yyerrorlab therefore never appears in user code.  */
4525      if (0)
4526         goto yyerrorlab;
4527    #endif
4528    
4529      yyvsp -= yylen;
4530      yyssp -= yylen;
4531      yystate = *yyssp;
4532      goto yyerrlab1;
4533    
4534    
4535    /*-------------------------------------------------------------.
4536    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
4537    `-------------------------------------------------------------*/
4538  yyerrlab1:  yyerrlab1:
4539    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
4540    
# Line 4384  yyerrlab1: Line 4558  yyerrlab1:
4558    
4559        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
4560        yydestruct (yystos[yystate], yyvsp);        yydestruct (yystos[yystate], yyvsp);
4561        yyvsp--;        YYPOPSTACK;
4562        yystate = *--yyssp;        yystate = *yyssp;
   
4563        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
4564      }      }
4565    
# Line 4435  yyreturn: Line 4608  yyreturn:
4608  }  }
4609    
4610    
4611  #line 510 "lscp.y"  #line 519 "lscp.y"
4612    
4613    
4614  /**  /**

Legend:
Removed from v.228  
changed lines
  Added in v.483

  ViewVC Help
Powered by ViewVC