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

Legend:
Removed from v.219  
changed lines
  Added in v.573

  ViewVC Help
Powered by ViewVC