/[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 397 by senkov, Mon Feb 21 04:28:50 2005 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.875.  */  /* 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 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 117  typedef int YYSTYPE; Line 117  typedef int YYSTYPE;
117    
118    
119  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
120  #line 120 "y.tab.c"  #line 121 "y.tab.c"
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  40  #define YYFINAL  40
225  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
226  #define YYLAST   3997  #define YYLAST   4524
227    
228  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
229  #define YYNTOKENS  227  #define YYNTOKENS  227
230  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
231  #define YYNNTS  91  #define YYNNTS  95
232  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
233  #define YYNRULES  417  #define YYNRULES  427
234  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
235  #define YYNSTATES  1144  #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 240  static const unsigned char yytranslate[] Line 247  static const unsigned char yytranslate[]
247         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
248       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
249         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
250         2,     2,   224,    70,   223,     3,    71,    72,    73,   222,         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,
251        74,    75,    76,     6,    77,     7,     5,    78,     8,     9,        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,
252        10,    11,    12,    13,    14,    15,    16,    17,    79,    80,        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,
253        81,     4,    82,    83,    84,    18,    19,    20,    21,    22,        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,
254        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
255        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
256        43,    85,    86,    87,    88,    89,     2,    44,    45,    46,        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,
257        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
258        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
259        67,    68,    69,    90,    91,    92,    93,     2,    94,    95,        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,
260        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
261       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
262       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
263       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
264       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
265       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
266       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
267       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
268       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
269       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
270       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
271       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
272       216,   217,   218,   219,   220,   221,     1,     2       218,   219,   220,   221,   222,   223,     1,     2
273  };  };
274    
275  #if YYDEBUG  #if YYDEBUG
276  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
277     YYRHS.  */     YYRHS.  */
278  static const unsigned short yyprhs[] =  static const unsigned short int yyprhs[] =
279  {  {
280         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
281        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
# Line 276  static const unsigned short yyprhs[] = Line 283  static const unsigned short yyprhs[] =
283        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,
284       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,
285       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,
286       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,       239,   245,   251,   255,   263,   273,   281,   291,   295,   299,
287       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,       305,   309,   315,   319,   323,   327,   331,   335,   341,   349,
288       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,       355,   365,   371,   377,   383,   389,   395,   399,   405,   407,
289       407,   409,   411,   417,   425,   429,   431,   433,   435,   437,       409,   411,   413,   415,   417,   419,   421,   427,   435,   439,
290       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,       441,   443,   445,   447,   449,   451,   453,   455,   457,   459,
291       459,   461,   463,   465,   467,   469,   472,   476,   481,   486,       461,   463,   465,   467,   471,   473,   477,   481,   483,   485,
292       488,   491,   493,   495,   497,   499,   501,   503,   505,   507,       487,   489,   491,   494,   498,   503,   508,   510,   513,   515,
293       509,   511,   513,   516,   519,   522,   525,   528,   531,   534,       517,   519,   521,   523,   525,   527,   529,   531,   533,   535,
294       537,   540,   542,   544,   546,   548,   550,   552,   554,   556,       538,   541,   544,   547,   550,   553,   556,   559,   562,   564,
295       558,   560,   562,   564,   566,   568,   570,   572,   574,   576,       566,   568,   570,   572,   574,   576,   578,   580,   582,   584,
296       578,   580,   582,   584,   586,   588,   590,   592,   594,   596,       586,   588,   590,   592,   594,   596,   598,   600,   602,   604,
297       598,   600,   602,   604,   606,   608,   610,   612,   614,   616,       606,   608,   610,   612,   614,   616,   618,   620,   622,   624,
298       618,   620,   622,   624,   626,   628,   630,   632,   634,   636,       626,   628,   630,   632,   634,   636,   638,   640,   642,   644,
299       638,   640,   642,   644,   646,   648,   650,   652,   654,   656,       646,   648,   650,   652,   654,   656,   658,   660,   662,   664,
300       658,   660,   662,   664,   666,   668,   670,   672,   674,   676,       666,   668,   670,   672,   674,   676,   678,   680,   682,   684,
301       678,   680,   682,   684,   686,   688,   690,   692,   694,   696,       686,   688,   690,   692,   694,   696,   698,   700,   702,   704,
302       698,   700,   702,   704,   706,   708,   710,   712,   714,   716,       706,   708,   710,   712,   714,   716,   718,   720,   722,   724,
303       718,   720,   722,   724,   726,   728,   730,   732,   734,   736,       726,   728,   730,   732,   734,   736,   738,   740,   742,   744,
304       738,   740,   742,   744,   746,   748,   750,   752,   754,   756,       746,   748,   750,   752,   754,   756,   758,   760,   762,   764,
305       758,   760,   762,   764,   766,   768,   770,   772,   774,   776,       766,   768,   770,   772,   774,   776,   778,   780,   782,   784,
306       778,   780,   782,   784,   786,   788,   790,   792,   794,   796,       786,   788,   790,   792,   794,   796,   798,   800,   802,   804,
307       798,   800,   802,   804,   806,   808,   810,   812,   814,   816,       806,   808,   810,   812,   814,   816,   818,   820,   822,   824,
308       818,   820,   822,   824,   826,   828,   830,   832,   834,   836,       826,   828,   830,   832,   834,   836,   838,   840,   842,   844,
309       838,   840,   842,   844,   846,   848,   850,   852,   854,   856,       846,   848,   850,   852,   854,   856,   858,   860,   862,   864,
310       858,   860,   862,   864,   866,   868,   870,   872,   874,   876,       866,   868,   870,   872,   874,   876,   878,   880,   882,   884,
311       878,   880,   882,   884,   886,   888,   890,   892,   894,   896,       886,   888,   890,   892,   894,   896,   898,   900,   902,   904,
312       898,   900,   902,   904,   906,   908,   910,   912,   914,   916,       906,   908,   910,   912,   914,   916,   918,   920,   922,   924,
313       918,   920,   922,   924,   926,   928,   930,   932,   934,   936,       926,   928,   930,   932,   934,   936,   938,   940,   942,   944,
314       938,   940,   942,   944,   946,   948,   950,   952,   954,   956,       946,   948,   950,   952,   954,   956,   958,   960,   962,   964,
315       958,   960,   962,   964,   966,   968,   970,   972,   974,   976,       966,   968,   970,   972,   974,   976,   978,   980,   982,   984,
316       978,   980,   982,   985,   988,   992,   996,   998,  1000,  1002,       986,   988,   990,   992,   994,   996,   998,  1000,  1002,  1004,
317      1006,  1010,  1017,  1025,  1030,  1035,  1039,  1049,  1056,  1060,      1007,  1010,  1014,  1018,  1020,  1022,  1024,  1028,  1032,  1039,
318      1070,  1082,  1089,  1097,  1115,  1146,  1155,  1160,  1172,  1185,      1047,  1052,  1057,  1061,  1071,  1078,  1082,  1092,  1104,  1111,
319      1197,  1208,  1215,  1245,  1266,  1286,  1316,  1336,  1367,  1388,      1119,  1137,  1168,  1177,  1182,  1196,  1209,  1221,  1234,  1246,
320      1406,  1435,  1463,  1489,  1508,  1526,  1554,  1572,  1588,  1607,      1257,  1264,  1294,  1315,  1335,  1365,  1385,  1416,  1437,  1455,
321      1623,  1634,  1641,  1647,  1658,  1664,  1678,  1683      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       228,     0,    -1,   229,   267,    -1,   229,   268,   267,    -1,       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,
329        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
330         3,    -1,   230,   266,    -1,   230,   262,    -1,   230,   258,         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,
331        -1,   269,   266,   282,    -1,   270,   266,   234,    -1,   271,        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,
332       266,   236,    -1,   272,   266,   237,    -1,   273,   266,   242,       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,
333        -1,   274,   266,   238,    -1,   277,   266,   282,   266,   252,        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,
334        -1,   278,   266,   235,    -1,   279,   266,   232,    -1,   280,        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,
335       266,   233,    -1,   281,   266,   264,    -1,   314,   266,   282,       267,   233,    -1,   282,   267,   265,    -1,   318,   267,   283,
336       266,   252,    -1,   314,    -1,   317,    -1,   285,    -1,   289,       267,   252,    -1,   318,    -1,   321,    -1,   288,    -1,   292,
337        -1,   288,    -1,   287,    -1,   286,    -1,   315,    -1,   285,        -1,   291,    -1,   290,    -1,   289,    -1,   319,    -1,   288,
338        -1,   289,    -1,   288,    -1,   287,    -1,   286,    -1,   315,        -1,   292,    -1,   291,    -1,   290,    -1,   289,    -1,   319,
339        -1,   283,    -1,   300,    -1,   306,   266,   286,   266,   258,        -1,   284,    -1,   303,    -1,   309,   267,   287,   267,   259,
340        -1,   305,   266,   286,   266,   258,   266,   258,    -1,   305,        -1,   308,   267,   287,   267,   259,   267,   259,    -1,   308,
341       266,   286,   266,   258,   266,   258,   266,   240,    -1,   284,       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,
342        -1,   296,   266,   286,   266,   258,    -1,   295,   266,   286,        -1,   299,   267,   287,   267,   259,    -1,   298,   267,   287,
343       266,   258,   266,   258,    -1,   295,   266,   286,   266,   258,       267,   259,   267,   259,    -1,   298,   267,   287,   267,   259,
344       266,   258,   266,   240,    -1,   293,    -1,   303,    -1,   294,       267,   259,   267,   240,    -1,   296,    -1,   306,    -1,   297,
345       266,   286,   266,   262,    -1,   304,   266,   286,   266,   262,       267,   287,   267,   263,    -1,   307,   267,   287,   267,   263,
346        -1,   307,   266,   286,   266,   262,   266,   262,    -1,   302,        -1,   310,   267,   287,   267,   263,   267,   263,    -1,   305,
347       266,   286,   266,   262,   266,   262,   266,   258,    -1,   298,       267,   287,   267,   263,   267,   263,   267,   259,    -1,   301,
348       266,   286,   266,   262,   266,   262,    -1,   297,   266,   286,       267,   287,   267,   263,   267,   263,    -1,   300,   267,   287,
349       266,   262,   266,   262,   266,   258,    -1,   285,    -1,   282,       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,
350       266,   286,   266,   252,    -1,   282,   266,   287,   266,   241,       267,   287,   267,   252,    -1,   283,   267,   290,   267,   241,
351       266,   252,    -1,   282,   266,   288,   266,   252,    -1,   282,       267,   252,    -1,   283,   267,   291,   267,   252,    -1,   283,
352       266,   289,   266,   252,    -1,   291,   266,   286,   266,   254,       267,   292,   267,   252,    -1,   294,   267,   287,   267,   254,
353        -1,   292,   266,   262,   266,   258,     4,   256,    -1,   297,        -1,   314,   267,   287,    -1,   295,   267,   263,   267,   259,
354       266,   262,   266,   262,   266,   258,     4,   256,    -1,   301,         4,   256,    -1,   300,   267,   263,   267,   263,   267,   259,
355       266,   262,   266,   258,     4,   256,    -1,   302,   266,   262,         4,   256,    -1,   304,   267,   263,   267,   259,     4,   256,
356       266,   262,   266,   258,     4,   256,    -1,   282,   266,   239,        -1,   305,   267,   263,   267,   263,   267,   259,     4,   256,
357        -1,   316,   266,   257,    -1,   294,   266,   258,   266,   240,        -1,   283,   267,   239,    -1,   320,   267,   258,    -1,   297,
358        -1,   294,   266,   258,    -1,   304,   266,   258,   266,   240,       267,   259,   267,   240,    -1,   297,   267,   259,    -1,   307,
359        -1,   304,   266,   258,    -1,   294,   266,   262,    -1,   304,       267,   259,   267,   240,    -1,   307,   267,   259,    -1,   297,
360       266,   262,    -1,   290,   266,   243,    -1,   291,   266,   244,       267,   263,    -1,   307,   267,   263,    -1,   293,   267,   243,
361        -1,   294,   266,   252,   266,   245,    -1,   298,   266,   252,        -1,   294,   267,   244,    -1,   297,   267,   252,   267,   245,
362       266,   246,   266,   246,    -1,   299,   266,   252,   266,   247,        -1,   301,   267,   252,   267,   246,   267,   246,    -1,   302,
363        -1,   310,   266,   252,   266,   245,   266,   248,   266,   249,       267,   252,   267,   247,    -1,   313,   267,   252,   267,   245,
364        -1,   304,   266,   252,   266,   245,    -1,   307,   266,   252,       267,   248,   267,   249,    -1,   307,   267,   252,   267,   245,
365       266,   248,    -1,   308,   266,   252,   266,   249,    -1,   309,        -1,   310,   267,   252,   267,   248,    -1,   311,   267,   252,
366       266,   252,   266,   250,    -1,   311,   266,   252,   266,   251,       267,   249,    -1,   312,   267,   252,   267,   250,    -1,   315,
367        -1,   258,     4,   256,    -1,   240,   266,   258,     4,   256,       267,   252,   267,   251,    -1,   259,     4,   256,    -1,   240,
368        -1,   312,    -1,   313,    -1,   293,    -1,   303,    -1,   285,       267,   259,     4,   256,    -1,   316,    -1,   317,    -1,   296,
369        -1,   255,   266,   253,   266,   252,    -1,   276,   266,   255,        -1,   306,    -1,   286,    -1,   284,    -1,   303,    -1,   285,
370       266,   253,   266,   252,    -1,   254,   266,   252,    -1,   262,        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,
371        -1,   262,    -1,   258,    -1,   262,    -1,   262,    -1,   275,       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,
372        -1,   258,    -1,   259,    -1,   262,    -1,   262,    -1,   262,        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,
373        -1,   258,    -1,   265,    -1,   258,    -1,   265,    -1,   262,        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,
374        -1,   259,    -1,   262,    -1,   258,    -1,   263,    -1,   258,        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,
375       263,    -1,   260,     5,   260,    -1,     6,   260,     5,   260,        -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,
376        -1,     7,   260,     5,   260,    -1,   261,    -1,   260,   261,        -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,
377        -1,     8,    -1,     9,    -1,    10,    -1,    11,    -1,    12,        -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,
378        -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,         8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,
379        -1,   261,    -1,     9,   260,    -1,    10,   260,    -1,    11,       261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,
380       260,    -1,    12,   260,    -1,    13,   260,    -1,    14,   260,        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,
381        -1,    15,   260,    -1,    16,   260,    -1,    17,   260,    -1,        -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,
382        18,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,
383        23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,        17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,
384        28,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,       261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,
385        33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,
386        38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,    -1,        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,
387        43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,
388        48,    -1,    49,    -1,    50,    -1,    51,    -1,    52,    -1,        40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,
389        53,    -1,    54,    -1,    55,    -1,    56,    -1,    57,    -1,        45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,
390        58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,        50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,
391        63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1,        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,
392        68,    -1,    69,    -1,     8,    -1,     9,    -1,    10,    -1,        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
393        11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,
394        16,    -1,    17,    -1,    70,    -1,     3,    -1,    71,    -1,        70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,
395        72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,
396         6,    -1,     7,    -1,     5,    -1,    77,    -1,    78,    -1,        18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,
397        79,    -1,    80,    -1,    81,    -1,     4,    -1,    82,    -1,        74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,
398        83,    -1,    84,    -1,    85,    -1,    86,    -1,    87,    -1,        79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,
399        88,    -1,    89,    -1,    90,    -1,    91,    -1,    92,    -1,        80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,
400        93,    -1,    94,    -1,    95,    -1,    96,    -1,    97,    -1,        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,
401        98,    -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,
402       103,    -1,   104,    -1,   105,    -1,   106,    -1,   107,    -1,        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,
403       108,    -1,   109,    -1,   110,    -1,   111,    -1,   112,    -1,        99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,
404       113,    -1,   114,    -1,   115,    -1,   116,    -1,   117,    -1,       104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,
405       118,    -1,   119,    -1,   120,    -1,   121,    -1,   122,    -1,       109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,
406       123,    -1,   124,    -1,   125,    -1,   126,    -1,   127,    -1,       114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,
407       128,    -1,   129,    -1,   130,    -1,   131,    -1,   132,    -1,       119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,
408       133,    -1,   134,    -1,   135,    -1,   136,    -1,   137,    -1,       124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,
409       138,    -1,   139,    -1,   140,    -1,   141,    -1,   142,    -1,       129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,
410       143,    -1,   144,    -1,   145,    -1,   146,    -1,   147,    -1,       134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,
411       148,    -1,   149,    -1,   150,    -1,   151,    -1,   152,    -1,       139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,
412       153,    -1,   154,    -1,   155,    -1,   156,    -1,   157,    -1,       144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,
413       158,    -1,   159,    -1,   160,    -1,   161,    -1,   162,    -1,       149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,
414       163,    -1,   164,    -1,   165,    -1,   166,    -1,   167,    -1,       154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,
415       168,    -1,   169,    -1,   170,    -1,   171,    -1,   172,    -1,       159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,
416       173,    -1,   174,    -1,   175,    -1,   176,    -1,   177,    -1,       164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,
417       178,    -1,   179,    -1,   180,    -1,   181,    -1,   182,    -1,       169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,
418       183,    -1,   184,    -1,   185,    -1,   186,    -1,   187,    -1,       174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,
419       188,    -1,   189,    -1,   190,    -1,   191,    -1,   192,    -1,       179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,
420       193,    -1,   194,    -1,   195,    -1,   196,    -1,   197,    -1,       184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,
421       198,    -1,   199,    -1,   200,    -1,   201,    -1,   202,    -1,       189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,
422       203,    -1,   204,    -1,   205,    -1,   206,    -1,   207,    -1,       194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,
423       208,    -1,   209,    -1,   210,    -1,   211,    -1,   212,    -1,       199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,
424       213,    -1,   214,    -1,   215,    -1,   216,    -1,   217,    -1,       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,
425       218,    -1,   219,    -1,   220,    -1,   221,    -1,   266,    -1,       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,
426       258,    -1,   264,   266,    -1,   264,   258,    -1,   222,   264,       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,
427       222,    -1,   223,   264,   223,    -1,   224,    -1,   225,    -1,       219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,
428       226,    -1,    18,    21,    21,    -1,    24,    22,    37,    -1,       267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,
429        20,    35,    22,    18,    37,    22,    -1,    21,    22,    36,         6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,
430        37,    35,    32,    42,    -1,    29,    26,    36,    37,    -1,       225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,
431        29,    32,    18,    21,    -1,    18,    29,    29,    -1,    31,        40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,
432        32,    31,    89,    30,    32,    21,    18,    29,    -1,    35,        25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,
433        22,    30,    32,    39,    22,    -1,    36,    22,    37,    -1,        40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,
434        36,    38,    19,    36,    20,    35,    26,    19,    22,    -1,        -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,
435        38,    31,    36,    38,    19,    36,    20,    35,    26,    19,        -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,
436        22,    -1,    36,    22,    29,    22,    20,    37,    -1,    20,        40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,
437        25,    18,    31,    31,    22,    29,    -1,    18,    39,    18,        25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,
438        26,    29,    18,    19,    29,    22,    89,    22,    31,    24,        29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,
439        26,    31,    22,    36,    -1,    18,    39,    18,    26,    29,        -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,
440        18,    19,    29,    22,    89,    18,    38,    21,    26,    32,        42,    21,    29,    32,    21,    22,    32,    25,    91,    25,
441        89,    32,    38,    37,    33,    38,    37,    89,    21,    35,        34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,
442        26,    39,    22,    35,    36,    -1,    20,    25,    18,    31,        29,    32,    21,    22,    32,    25,    91,    21,    41,    24,
443        31,    22,    29,    36,    -1,    26,    31,    23,    32,    -1,        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,
444        19,    38,    23,    23,    22,    35,    89,    23,    26,    29,        24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,
445        29,    -1,    36,    37,    35,    22,    18,    30,    89,    20,        21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,
446        32,    38,    31,    37,    -1,    39,    32,    26,    20,    22,        35,    -1,    23,    28,    21,    34,    34,    25,    32,    91,
447        89,    20,    32,    38,    31,    37,    -1,    26,    31,    36,        23,    35,    41,    34,    40,    -1,    23,    28,    21,    34,
448        37,    35,    38,    30,    22,    31,    37,    -1,    22,    31,        34,    25,    32,    91,    29,    34,    26,    35,    -1,    22,
449        24,    26,    31,    22,    -1,    18,    38,    21,    26,    32,        41,    26,    26,    25,    38,    91,    26,    29,    32,    32,
450        89,    32,    38,    37,    33,    38,    37,    89,    21,    22,        -1,    39,    40,    38,    25,    21,    33,    91,    23,    35,
451        39,    26,    20,    22,    89,    33,    18,    35,    18,    30,        41,    34,    40,    -1,    42,    35,    29,    23,    25,    91,
452        22,    37,    22,    35,    -1,    18,    38,    21,    26,    32,        23,    35,    41,    34,    40,    -1,    29,    34,    39,    40,
453        89,    32,    38,    37,    33,    38,    37,    89,    21,    22,        38,    41,    33,    25,    34,    40,    -1,    25,    34,    27,
454        39,    26,    20,    22,    36,    -1,    18,    38,    21,    26,        29,    34,    25,    -1,    21,    41,    24,    29,    35,    91,
455        32,    89,    32,    38,    37,    33,    38,    37,    89,    21,        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,
456        22,    39,    26,    20,    22,    -1,    18,    38,    21,    26,        29,    23,    25,    91,    36,    21,    38,    21,    33,    25,
457        32,    89,    32,    38,    37,    33,    38,    37,    89,    21,        40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,
458        35,    26,    39,    22,    35,    89,    33,    18,    35,    18,        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,
459        30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,        29,    23,    25,    39,    -1,    21,    41,    24,    29,    35,
460        32,    89,    32,    38,    37,    33,    38,    37,    89,    21,        91,    35,    41,    40,    36,    41,    40,    91,    24,    25,
461        35,    26,    39,    22,    35,    -1,    18,    38,    21,    26,        42,    29,    23,    25,    -1,    21,    41,    24,    29,    35,
462        32,    89,    32,    38,    37,    33,    38,    37,    89,    20,        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,
463        25,    18,    31,    31,    22,    29,    89,    33,    18,    35,        29,    42,    25,    38,    91,    36,    21,    38,    21,    33,
464        18,    30,    22,    37,    22,    35,    -1,    18,    38,    21,        25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,
465        26,    32,    89,    32,    38,    37,    33,    38,    37,    89,        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,
466        20,    25,    18,    31,    31,    22,    29,    -1,    18,    38,        29,    42,    25,    38,    -1,    21,    41,    24,    29,    35,
467        21,    26,    32,    89,    32,    38,    37,    33,    38,    37,        91,    35,    41,    40,    36,    41,    40,    91,    23,    28,
468        89,    37,    42,    33,    22,    -1,    18,    39,    18,    26,        21,    34,    34,    25,    32,    91,    36,    21,    38,    21,
469        29,    18,    19,    29,    22,    89,    30,    26,    21,    26,        33,    25,    40,    25,    38,    -1,    21,    41,    24,    29,
470        89,    26,    31,    33,    38,    37,    89,    21,    35,    26,        35,    91,    35,    41,    40,    36,    41,    40,    91,    23,
471        39,    22,    35,    36,    -1,    30,    26,    21,    26,    89,        28,    21,    34,    34,    25,    32,    -1,    21,    41,    24,
472        26,    31,    33,    38,    37,    89,    21,    22,    39,    26,        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,
473        20,    22,    89,    33,    18,    35,    18,    30,    22,    37,        40,    45,    36,    25,    -1,    21,    42,    21,    29,    32,
474        22,    35,    -1,    30,    26,    21,    26,    89,    26,    31,        21,    22,    32,    25,    91,    33,    29,    24,    29,    91,
475        33,    38,    37,    89,    33,    32,    35,    37,    89,    33,        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,
476        18,    35,    18,    30,    22,    37,    22,    35,    -1,    30,        25,    38,    39,    -1,    33,    29,    24,    29,    91,    29,
477        26,    21,    26,    89,    26,    31,    33,    38,    37,    89,        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,
478        21,    22,    39,    26,    20,    22,    36,    -1,    30,    26,        25,    91,    36,    21,    38,    21,    33,    25,    40,    25,
479        21,    26,    89,    26,    31,    33,    38,    37,    89,    21,        38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,
480        22,    39,    26,    20,    22,    -1,    30,    26,    21,    26,        41,    40,    91,    36,    35,    38,    40,    91,    36,    21,
481        89,    26,    31,    33,    38,    37,    89,    21,    35,    26,        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,
482        39,    22,    35,    89,    33,    18,    35,    18,    30,    22,        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,
483        37,    22,    35,    -1,    30,    26,    21,    26,    89,    26,        25,    42,    29,    23,    25,    39,    -1,    33,    29,    24,
484        31,    33,    38,    37,    89,    21,    35,    26,    39,    22,        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,
485        35,    -1,    30,    26,    21,    26,    89,    26,    31,    33,        42,    29,    23,    25,    -1,    33,    29,    24,    29,    91,
486        38,    37,    89,    33,    32,    35,    37,    -1,    30,    26,        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,
487        21,    26,    89,    26,    31,    33,    38,    37,    89,    20,        25,    38,    91,    36,    21,    38,    21,    33,    25,    40,
488        25,    18,    31,    31,    22,    29,    -1,    30,    26,    21,        25,    38,    -1,    33,    29,    24,    29,    91,    29,    34,
489        26,    89,    26,    31,    33,    38,    37,    89,    37,    42,        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,
490        33,    22,    -1,    30,    26,    21,    26,    89,    26,    31,        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,
491        33,    38,    37,    -1,    39,    32,    29,    38,    30,    22,        40,    91,    36,    35,    38,    40,    -1,    33,    29,    24,
492        -1,    19,    42,    37,    22,    36,    -1,    33,    22,    35,        29,    91,    29,    34,    36,    41,    40,    91,    23,    28,
493        20,    22,    31,    37,    18,    24,    22,    -1,    35,    22,        21,    34,    34,    25,    32,    -1,    33,    29,    24,    29,
494        36,    22,    37,    -1,    30,    26,    36,    20,    22,    29,        91,    29,    34,    36,    41,    40,    91,    40,    45,    36,
495        29,    18,    31,    22,    32,    38,    36,    -1,    22,    20,        25,    -1,    33,    29,    24,    29,    91,    29,    34,    36,
496        25,    32,    -1,    34,    38,    26,    37,    -1        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,   111,   114,   115,   116,       114,   115,   116,   117,   118,   119,   120,   123,   124,   125,
511       117,   118,   119,   122,   123,   124,   125,   126,   127,   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,   152,   155,   156,   157,   158,   159,   160,   163,   164,       160,   161,   162,   165,   166,   167,   168,   169,   170,   173,
515       165,   166,   169,   170,   173,   174,   177,   178,   179,   180,       174,   175,   176,   179,   180,   183,   184,   187,   188,   189,
516       181,   182,   183,   184,   185,   188,   189,   192,   193,   196,       190,   191,   192,   193,   194,   195,   198,   199,   202,   203,
517       197,   198,   201,   202,   205,   208,   211,   214,   217,   220,       206,   207,   208,   209,   210,   211,   214,   215,   218,   221,
518       221,   224,   227,   228,   231,   234,   237,   240,   243,   244,       224,   227,   230,   233,   234,   237,   240,   241,   244,   247,
519       245,   246,   252,   253,   256,   257,   260,   261,   262,   266,       250,   253,   256,   257,   260,   261,   262,   263,   264,   272,
520       267,   270,   271,   272,   273,   274,   275,   276,   277,   278,       273,   276,   277,   280,   281,   282,   286,   287,   290,   291,
521       279,   282,   283,   284,   285,   286,   287,   288,   289,   290,       292,   293,   294,   295,   296,   297,   298,   299,   302,   303,
522       291,   293,   293,   293,   293,   293,   293,   293,   293,   293,       304,   305,   306,   307,   308,   309,   310,   311,   313,   313,
523       293,   293,   293,   293,   293,   293,   293,   293,   293,   293,       313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
524       293,   293,   293,   293,   293,   293,   293,   294,   294,   294,       313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
525       294,   294,   294,   294,   294,   294,   294,   294,   294,   294,       313,   313,   313,   313,   314,   314,   314,   314,   314,   314,
526       294,   294,   294,   294,   294,   294,   294,   294,   294,   294,       314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
527       294,   294,   294,   295,   295,   295,   295,   295,   295,   295,       314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
528       295,   295,   295,   296,   296,   296,   296,   296,   296,   296,       315,   315,   315,   315,   315,   315,   315,   315,   315,   315,
529       296,   296,   296,   296,   296,   296,   297,   297,   297,   297,       316,   316,   316,   316,   316,   316,   316,   316,   316,   316,
530       297,   297,   297,   298,   298,   298,   298,   298,   299,   299,       316,   316,   316,   317,   317,   317,   317,   317,   317,   317,
531       299,   299,   300,   300,   300,   301,   301,   301,   302,   302,       318,   318,   318,   318,   318,   319,   319,   319,   319,   320,
532       302,   303,   303,   303,   304,   304,   304,   305,   305,   305,       320,   320,   321,   321,   321,   322,   322,   322,   323,   323,
533       306,   306,   306,   307,   307,   307,   308,   308,   308,   309,       323,   324,   324,   324,   325,   325,   325,   326,   326,   326,
534       309,   309,   310,   310,   310,   311,   311,   311,   312,   312,       327,   327,   327,   328,   328,   328,   329,   329,   329,   330,
535       312,   313,   313,   313,   314,   314,   314,   315,   315,   315,       330,   330,   331,   331,   331,   332,   332,   332,   333,   333,
536       316,   316,   316,   317,   317,   317,   318,   318,   318,   319,       333,   334,   334,   334,   335,   335,   335,   336,   336,   336,
537       319,   319,   320,   320,   320,   321,   321,   321,   322,   322,       337,   337,   337,   338,   338,   338,   339,   339,   339,   340,
538       322,   323,   323,   323,   324,   324,   324,   325,   325,   325,       340,   340,   341,   341,   341,   342,   342,   342,   343,   343,
539       326,   326,   326,   327,   327,   327,   328,   328,   328,   329,       343,   344,   344,   344,   345,   345,   345,   346,   346,   346,
540       329,   329,   330,   330,   330,   331,   331,   331,   332,   332,       347,   347,   347,   348,   348,   348,   349,   349,   349,   350,
541       332,   333,   333,   333,   334,   334,   334,   335,   335,   335,       350,   350,   351,   351,   351,   352,   352,   352,   353,   353,
542       336,   336,   336,   337,   337,   337,   338,   338,   338,   339,       353,   354,   354,   354,   355,   355,   355,   356,   356,   356,
543       339,   339,   340,   340,   340,   341,   341,   341,   342,   342,       357,   357,   357,   358,   358,   358,   359,   359,   359,   360,
544       345,   346,   347,   348,   351,   352,   358,   361,   364,   367,       360,   360,   361,   361,   361,   362,   362,   365,   366,   367,
545       370,   373,   376,   379,   382,   385,   388,   391,   394,   397,       368,   371,   372,   378,   381,   384,   387,   390,   393,   396,
546       400,   403,   406,   409,   412,   415,   418,   421,   424,   427,       399,   402,   405,   408,   411,   414,   417,   420,   423,   426,
547       430,   433,   436,   439,   442,   445,   448,   451,   454,   457,       429,   432,   435,   438,   441,   444,   447,   450,   453,   456,
548       460,   463,   466,   469,   472,   475,   478,   481,   484,   487,       459,   462,   465,   468,   471,   474,   477,   480,   483,   486,
549       490,   493,   496,   499,   502,   505,   508,   511       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 541  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'",    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",
569    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",
570    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",
571    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",
572    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",
573    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'",    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",
574    "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'",    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",
575    "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'",    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",
576    "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'",    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",
577    "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'",    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",
578    "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'",    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",
579    "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'",    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",
580    "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'",    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",
581    "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'",    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",
582    "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'",    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",
583    "'ü'", "'ý'", "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'",    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",
584    "$accept", "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", "text",    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",
594    "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",
595    "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",
596    "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
597    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",
598    "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
599    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",
600    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",
601    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",
602    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",
603    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",
604    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",
605    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",
606    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",
607    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "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,    44,    47,    58,       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,
625        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,
626       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,
627       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
628       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
629       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
630       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
631       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
632       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
633       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
634       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
635       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
636       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
637       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
638       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
639       254,   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,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
647       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
# Line 633  static const unsigned short yyr1[] = Line 649  static const unsigned short yyr1[] =
649       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,
650       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
651       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
652       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,       234,   234,   234,   235,   235,   235,   235,   235,   235,   236,
653       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,       236,   236,   236,   237,   237,   238,   238,   239,   239,   239,
654       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,       239,   239,   239,   239,   239,   239,   240,   240,   241,   241,
655       242,   242,   243,   243,   244,   245,   246,   247,   248,   249,       242,   242,   242,   242,   242,   242,   243,   243,   244,   245,
656       249,   250,   251,   251,   252,   253,   254,   255,   256,   256,       246,   247,   248,   249,   249,   250,   251,   251,   252,   253,
657       256,   256,   257,   257,   258,   258,   259,   259,   259,   260,       254,   255,   256,   256,   257,   257,   257,   257,   257,   258,
658       260,   261,   261,   261,   261,   261,   261,   261,   261,   261,       258,   259,   259,   260,   260,   260,   261,   261,   262,   262,
659       261,   262,   262,   262,   262,   262,   262,   262,   262,   262,       262,   262,   262,   262,   262,   262,   262,   262,   263,   263,
660       262,   263,   263,   263,   263,   263,   263,   263,   263,   263,       263,   263,   263,   263,   263,   263,   263,   263,   264,   264,
661       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
662       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
663       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
664       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
665       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
666       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
667       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
668       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
669       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
670       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
671       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
672       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
673       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
674       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
675       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
676       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
677       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
678       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
679       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
680       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
681       263,   263,   263,   263,   263,   263,   263,   263,   263,   263,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
682       264,   264,   264,   264,   265,   265,   266,   267,   268,   269,       264,   264,   264,   264,   264,   264,   264,   265,   265,   265,
683       270,   271,   272,   273,   274,   275,   276,   277,   278,   279,       265,   266,   266,   267,   268,   269,   270,   271,   272,   273,
684       280,   281,   282,   283,   284,   285,   286,   287,   288,   289,       274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
685       290,   291,   292,   293,   294,   295,   296,   297,   298,   299,       284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
686       300,   301,   302,   303,   304,   305,   306,   307,   308,   309,       294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
687       310,   311,   312,   313,   314,   315,   316,   317       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 680  static const unsigned char yyr2[] = Line 697  static const unsigned char yyr2[] =
697         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
698         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,
699         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,
700         5,     5,     7,     9,     7,     9,     3,     3,     5,     3,         5,     5,     3,     7,     9,     7,     9,     3,     3,     5,
701         5,     3,     3,     3,     3,     3,     5,     7,     5,     9,         3,     5,     3,     3,     3,     3,     3,     5,     7,     5,
702         5,     5,     5,     5,     5,     3,     5,     1,     1,     1,         9,     5,     5,     5,     5,     5,     3,     5,     1,     1,
703         1,     1,     5,     7,     3,     1,     1,     1,     1,     1,         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         1,     1,     1,     1,     1,     2,     3,     4,     4,     1,         1,     1,     1,     3,     1,     3,     3,     1,     1,     1,
706         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     2,     3,     4,     4,     1,     2,     1,     1,
707         1,     1,     2,     2,     2,     2,     2,     2,     2,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
708         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,         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 710  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,     2,     2,     3,     3,     1,     1,     1,     3,         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
731         3,     6,     7,     4,     4,     3,     9,     6,     3,     9,         2,     3,     3,     1,     1,     1,     3,     3,     6,     7,
732        11,     6,     7,    17,    30,     8,     4,    11,    12,    11,         4,     4,     3,     9,     6,     3,     9,    11,     6,     7,
733        10,     6,    29,    20,    19,    29,    19,    30,    20,    17,        17,    30,     8,     4,    13,    12,    11,    12,    11,    10,
734        28,    27,    25,    18,    17,    27,    17,    15,    18,    15,         6,    29,    20,    19,    29,    19,    30,    20,    17,    28,
735        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,     0,    25,    26,     0,         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,
747         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
748         1,   367,   368,     2,     0,     9,   219,   213,   211,   212,         1,   374,   375,     2,     0,     9,   226,   221,   220,   218,
749       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       219,   128,   129,   130,   131,   132,   133,   134,   135,   136,
750       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       137,   148,   149,   150,   151,   152,   153,   154,   155,   156,
751       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
752       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
753       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
754       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
755       191,   192,   203,   205,   206,   207,   208,   209,   210,   214,       197,   198,   199,   210,   212,   213,   214,   215,   216,   217,
756       215,   216,   217,   218,   220,   221,   222,   223,   224,   225,       222,   223,   224,   225,   227,   228,   229,   230,   231,   232,
757       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
758       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
759       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
760       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
761       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,       273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
762       276,   277,   278,   279,   280,   281,   282,   283,   284,   285,       283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
763       286,   287,   288,   289,   290,   291,   292,   293,   294,   295,       293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
764       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
765       306,   307,   308,   309,   310,   311,   312,   313,   314,   315,       313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
766       316,   317,   318,   319,   320,   321,   322,   323,   324,   325,       323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
767       326,   327,   328,   329,   330,   331,   332,   333,   334,   335,       333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
768       336,   337,   338,   339,   340,   341,   342,   343,   344,   345,       343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
769       346,   347,   348,   349,   350,   351,   352,   353,   354,   355,       353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
770       356,   357,   358,   359,   366,    12,   131,    11,   114,    10,       363,   364,   365,   366,   373,    12,   138,    11,   121,    10,
771         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
772         0,     0,   369,     0,     0,   370,     0,     0,     0,     0,         0,     0,   376,     0,     0,   377,     0,     0,     0,     0,
773         0,     0,   378,     0,     0,     3,   121,   122,   123,   124,         0,     0,   385,     0,     0,     3,   128,   129,   130,   131,
774       125,   126,   127,   128,   129,   130,   132,   119,   133,   134,       132,   133,   134,   135,   136,   137,   139,   126,   140,   141,
775       135,   136,   137,   138,   139,   140,   204,   193,   194,   195,       142,   143,   144,   145,   146,   147,   211,   200,   201,   202,
776       196,   197,   198,   199,   200,   201,   202,   115,     0,    13,       203,   204,   205,   206,   207,   208,   209,   122,     0,    13,
777         0,     0,     0,     0,    14,     0,    39,    44,    56,     0,         0,     0,     0,     0,     0,    14,     0,    39,    44,    56,
778        48,     0,     0,     0,     0,     0,    40,     0,    49,     0,         0,    48,     0,     0,     0,     0,     0,    40,     0,    49,
779         0,     0,     0,     0,     0,    15,     0,     0,    16,     0,         0,     0,     0,     0,     0,     0,     0,    15,     0,     0,
780         0,     0,     0,     0,    17,    91,    89,    90,     0,    18,        16,     0,     0,     0,     0,     0,    17,    93,    95,    92,
781         0,     0,     0,     0,     0,     0,    20,     0,     0,     0,        90,    94,    91,     0,    18,     0,     0,     0,     0,     0,
782         0,     0,     0,     0,     0,     0,     0,     0,    21,    27,         0,    20,     0,     0,     0,     0,     0,     0,     0,     0,
783        31,    30,    29,    28,    32,    22,    33,    37,    36,    35,         0,     0,     0,    21,    27,    31,    30,    29,    28,    32,
784        34,    38,   361,    23,   360,     0,     0,     0,   373,   374,        22,    33,    37,    36,    35,    34,    38,   368,    23,   367,
785       417,     0,     0,     0,     0,     0,   120,     0,     0,     0,         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,     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,
        0,     0,   363,   362,     0,     0,     0,     0,   414,     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,    62,     0,     0,    70,    72,   129,   130,   131,
795         132,   133,   134,   135,   136,   137,    73,    74,     0,     0,
796           0,     0,     0,     0,     0,    75,     0,   111,     0,    76,
797           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,     0,     0,    69,    71,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,    72,    73,     0,     0,  
        0,     0,     0,     0,     0,    74,     0,   107,     0,    75,  
        0,   106,    19,   104,     0,     0,     0,     0,     0,     0,  
       66,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,    67,   113,   112,     0,     0,     0,  
        0,     0,    24,   371,     0,   377,   381,     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,     0,     0,   416,     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,     0,     0,   386,     0,     0,     0,   372,     0,       379,     0,     0,     0,     0,     0,     0,     0,     0,     0,
808         0,     0,     0,     0,     0,     0,     0,    57,     0,     0,         0,    57,     0,     0,     0,    88,    89,    59,    60,    61,
809         0,    87,    88,    59,    60,    61,    50,     0,    45,     0,        50,     0,    45,     0,     0,     0,    51,     0,    41,     0,
810         0,     0,    51,     0,    41,     0,     0,     0,    68,     0,         0,     0,    69,     0,    71,     0,     0,     0,     0,   371,
811        70,     0,     0,     0,     0,     0,   364,   365,     0,   105,       372,     0,     0,   109,     0,    98,     0,     0,     0,     0,
        0,    94,     0,     0,     0,     0,     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       391,     0,     0,     0,     0,     0,     0,     0,     0,     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,
        0,     0,     0,     0,   379,     0,   382,     0,     0,   382,  
        0,     0,     0,    58,    46,     0,    54,     0,    42,    52,  
        0,     0,     0,   211,   212,    85,   108,   111,     0,   119,  
      110,   109,     0,     0,     0,     0,     0,    92,     0,     0,  
        0,     0,     0,     0,    76,    95,     0,    96,    78,    97,  
       80,    81,    98,     0,    82,    99,   100,    83,   101,     0,  
        0,     0,    84,   102,   103,    62,     0,    64,     0,     0,  
        0,     0,     0,     0,     0,     0,   385,     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,     0,     0,     0,     0,     0,     0,     0,   411,         0,     0,   386,     0,   389,     0,     0,   389,     0,     0,
820         0,     0,     0,     0,     0,     0,     0,     0,     0,   380,         0,    58,    46,     0,    54,     0,    42,    52,     0,     0,
821         0,     0,     0,   412,     0,    47,    55,    53,    43,     0,         0,     0,     0,   218,   219,    86,   112,   114,   118,     0,
822         0,    86,     0,     0,   116,     0,     0,     0,     0,    93,       126,   117,     0,     0,     0,     0,     0,    96,     0,     0,
823         0,     0,     0,     0,    77,   375,     0,    63,    65,     0,         0,     0,     0,     0,    77,    99,     0,   100,    79,   101,
824         0,     0,     0,     0,     0,     0,     0,     0,     0,   117,        81,    82,   102,     0,    83,   103,   104,    84,   105,     0,
825       118,     0,     0,   390,     0,     0,     0,     0,     0,     0,         0,     0,    85,   106,   107,    63,     0,    65,     0,     0,
826           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,   376,     0,     0,     0,     0,    79,  
      387,     0,     0,   389,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   410,  
        0,   388,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,  
        0,     0,     0,     0,     0,     0,     0,     0,   413,     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,     0,   407,         0,     0,     0,   421,     0,     0,     0,     0,     0,     0,
830           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,     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,   419,     0,   395,     0,   397,     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,     0,     0,     0,     0,   383,     0,   404,         0,     0,     0,     0,     0,   394,   425,     0,     0,     0,
843       406,     0,     0,   404,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,   423,     0,     0,     0,     0,
        0,     0,   407,   409,     0,     0,     0,     0,     0,   403,  
844         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
845         0,   394,   396,     0,     0,     0,     0,   394,     0,     0,         0,     0,     0,     0,     0,     0,   416,     0,     0,     0,
        0,     0,     0,   399,     0,   398,   393,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,   408,     0,     0,     0,  
846         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   398,     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,     0,     0,     0,     0,     0,   402,     0,     0,     0,  
848         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
849       405,     0,   401,     0,     0,     0,   400,     0,     0,   395,         0,     0,     0,     0,   390,     0,   413,   415,     0,     0,
850         0,   392,   397,   384       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,
857           0,   407,     0,     0,     0,     0,     0,     0,     0,     0,
858           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
859           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,   388,   395,   334,   376,   355,        -1,    12,    13,    14,    15,   393,   400,   335,   381,   357,
869       358,   369,   530,   648,   630,   364,   515,   519,   774,   776,       360,   374,   540,   662,   644,   366,   525,   529,   794,   796,
870       778,   781,   784,   787,   792,   522,   658,   520,   516,   755,       798,   801,   804,   807,   812,   532,   672,   530,   526,   775,
871       544,   756,   757,   758,   266,   523,   268,   403,   761,   703,       776,   554,   777,   778,   779,   266,   533,   268,   408,   527,
872        43,    44,    16,    17,    18,    19,    20,    21,   786,   518,       720,    43,    44,    16,    17,    18,    19,    20,    21,   806,
873        22,    23,    24,    25,    26,   329,   336,   337,   338,   390,       528,    22,    23,    24,    25,    26,   329,   337,   338,   339,
874       391,   392,   393,   370,   339,   378,   340,   341,   342,   343,       487,   394,   395,   396,   397,   398,   375,   340,   383,   341,
875       344,   345,   533,   346,   380,   347,   348,   349,   350,   351,       342,   343,   344,   345,   346,   543,   347,   385,   348,   349,
876       352,   536,   537,   538,   539,   631,   632,    27,   394,   382,       350,   351,   352,   353,   546,   547,   548,   354,   549,   645,
877        28       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 -705  #define YYPACT_NINF -720
883  static const short yypact[] =  static const short int yypact[] =
884  {  {
885        55,  -705,  -705,    12,    25,    33,    80,    31,    39,    82,        51,  -720,  -720,    10,    20,    36,    55,     1,    89,   112,
886         1,   101,   109,  -173,  1578,  -705,   -64,   -64,   -64,   -64,        61,   131,   142,  -193,  1647,  -720,   -55,   -55,   -55,   -55,
887       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,  -705,   182,       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,  -720,   146,
888       171,   194,   207,   209,   228,   221,    97,    -1,   252,   234,       159,   152,   153,   157,   171,   170,    23,    -3,   181,   192,
889      -705,  -705,  -705,  -705,    47,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,     7,  -720,  -720,  -720,  -720,  -720,
890      -705,   241,   241,   241,   241,   241,   241,   241,   241,   241,      -720,  -720,   295,   295,   295,   295,   295,   295,   295,   295,
891      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,       295,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
892      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
893      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
894      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
895      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
896      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
897      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
898      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
899      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
900      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
901      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
902      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
903      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
904      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
905      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
906      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
907      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
908      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
909      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
910      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
911      -705,  -705,  -705,  -705,  -705,  2243,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  2754,  -720,  -720,  -720,  -720,
912       253,     7,    78,    78,    65,   200,   253,   106,    62,    62,       210,    74,    73,    73,   165,     6,   210,   164,    54,    54,
913      1800,   253,  -705,   256,   238,  -705,   239,   257,   240,   247,      1869,   210,  -720,   213,   195,  -720,   199,   216,   201,   208,
914       260,   261,  -705,   248,   249,  -705,  -705,  -705,  -705,  -705,       219,   220,  -720,   207,   206,  -720,  -720,  -720,  -720,  -720,
915      -705,  -705,  -705,  -705,  -705,  -705,   241,  -705,   241,   241,      -720,  -720,  -720,  -720,  -720,  -720,   295,  -720,   295,   295,
916       241,   241,   241,   241,   241,   241,  -705,  -705,  -705,  -705,       295,   295,   295,   295,   295,   295,  -720,  -720,  -720,  -720,
917      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   263,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,   221,  -720,
918        96,   264,   254,   265,  -705,   -64,  -705,  -705,  -705,   -64,        91,   222,   214,   223,   228,  -720,   -55,  -720,  -720,  -720,
919      -705,   -64,   -64,   -64,   -64,   -64,  -705,   -64,  -705,   -64,       -55,  -720,   -55,   -55,   -55,   -55,   -55,  -720,   -55,  -720,
920       -64,   -64,   -64,   255,   266,  -705,   -64,   -64,  -705,   -64,       -55,   -55,   -55,   -55,   -55,   215,   226,  -720,   -55,   -55,
921       -64,   259,   269,   280,  -705,  -705,  -705,  -705,   276,  -705,      -720,   -55,   -55,    93,   229,   230,  -720,  -720,  -720,  -720,
922       -64,   -64,   -64,   270,   275,   283,  -705,   -64,   -64,   -64,      -720,  -720,  -720,   227,  -720,   -55,   -55,   -55,   224,   237,
923       -64,   -64,   -64,   272,   281,   285,   278,   258,  -705,  -705,       233,  -720,   -55,   -55,   -55,   -55,   -55,   -55,   225,   235,
924      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,       239,   231,   234,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
925      -705,  -705,  2243,  1800,  -705,   -64,   279,   282,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  2754,  1869,  -720,
926      -705,   274,   284,   294,   298,   267,  -705,   301,   299,   304,       -55,   232,   236,  -720,  -720,  -720,   247,   250,   241,   252,
927       305,   302,   306,    61,   303,   303,   303,   303,   303,   303,       248,  -720,   270,   249,   271,   272,   268,   273,   256,    62,
928       303,   303,   303,   303,   303,   314,   321,  2243,  2243,   251,       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
929       251,   322,   307,   326,   308,   -27,  2243,   251,   329,   327,       287,   287,   293,   294,  2754,  2754,   339,   339,   296,   298,
930       330,    20,   251,   251,   251,   251,  2462,   331,   332,   317,       297,   283,    21,  2754,   339,   300,   306,   301,    18,   339,
931       328,   338,  2243,  -705,   251,   334,   325,   336,  -705,   335,       339,   339,   339,  2975,   310,   305,   303,   309,   315,  2754,
932       339,   337,   344,   350,   351,   347,   353,   354,   -64,   -64,      -720,   339,   318,   325,   336,  -720,   326,   327,   328,   334,
933       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,       346,   347,   343,   349,   351,   340,   350,   -55,   -55,   -55,
934       -64,   -64,   -64,   355,   356,  1800,  1800,   241,   241,   241,       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,
935       241,   241,   241,   241,   241,   241,  -705,  -705,   357,   358,       -55,   -55,  -720,   352,   354,  1869,  1869,   295,   295,   295,
936       359,   349,   333,  1800,  1800,  -705,   -64,  -705,   -64,  -705,       295,   295,   295,   295,   295,   295,  -720,  -720,   356,   353,
937       -64,  2243,  -705,  -705,   361,   352,   362,   360,   364,   363,       357,   348,  1869,  1869,   355,  -720,   -55,  -720,   -55,  -720,
938      -705,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,       -55,  2754,  -720,  -720,   360,   358,   362,   359,   363,   361,
939       -64,   -64,   -64,   -64,  -705,  2243,  -705,   368,   365,   373,      -720,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,
940       374,   379,  -705,  -705,   366,  -705,  -705,   375,   380,   371,       -55,   -55,   -55,   -55,  -720,  2754,  -720,   368,   364,   376,
941       372,   376,   378,   381,   318,   251,    21,   251,   251,  2243,       377,   378,  -720,  -720,   365,  -720,  -720,   374,   381,   371,
942       251,  2243,  2243,   251,   251,   251,   251,  2243,  2243,   251,       372,   379,   375,   380,   317,   387,   389,   339,    37,   339,
943       382,   324,  2243,  2243,   383,   385,   340,   384,   386,  1134,       339,  2754,   339,  2754,  2754,   339,   339,   339,   339,  2754,
944      1356,   251,   -44,   251,   388,  -705,   341,   389,   390,   377,      2754,   339,   382,   322,  2754,  2754,   383,   385,   329,   384,
945       251,   251,   251,   251,   251,   251,   251,   251,   251,  2243,      1203,  1425,   390,   339,   108,   339,   386,  -720,   332,   392,
946       251,  2243,   251,   396,  -705,   399,   404,   401,  -705,   405,       401,   394,   339,   339,   339,   339,   339,   339,   339,   339,
947       392,   406,   342,   414,   411,   412,   409,  -705,   394,   415,       339,  2754,   339,  2754,   339,   402,   395,   403,   409,   406,
948       -64,  -705,  -705,  -705,  -705,  -705,  -705,  1800,  2243,   -64,      -720,   412,   397,   411,   366,   416,   413,   414,   415,   404,
949       -64,   -64,  -705,  1800,  2243,   -64,   367,   417,   -64,  2681,       405,  -720,   396,   418,   -55,  -720,  -720,  -720,  -720,  -720,
950       -64,   369,   422,   419,   408,   370,  -705,  -705,   -64,  -705,      -720,  1869,  2754,   -55,   -55,   -55,  -720,  1869,  2754,   -55,
951       -64,  -705,   393,   421,   423,   424,   410,   -64,   -64,   -64,       367,   421,   -55,  3196,   -55,   369,   426,   423,   420,  -720,
952       -64,   -64,   -64,   -64,   -64,   -64,  2900,   -64,  3119,   -64,      -720,   373,   -55,  -720,   -55,  -720,   398,   424,   425,   427,
953       416,   425,   427,   397,   430,   429,   431,   432,   434,   433,       422,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,
954      -705,   435,   426,   448,   251,  2243,   251,   251,   251,  2243,      3417,   -55,  3638,   -55,   417,   434,   430,   432,   399,   441,
955       251,   464,   466,  2243,  2022,   467,   436,   469,   468,   471,       438,   436,   435,   447,   439,  -720,   457,  -720,  -720,   433,
956       251,   251,   472,   475,   476,   444,   489,   251,   251,  2243,       456,   339,  2754,   339,   339,   339,  2754,   339,   437,   461,
957       251,   251,   225,  2243,   251,   201,  2022,  2243,  2022,  2243,      2754,  2091,   471,   464,   473,   475,   478,   339,   339,   477,
958       445,   506,   447,   441,  -705,   518,  -705,   500,   510,   504,       480,   481,   450,   494,   339,   339,  2754,   339,   339,   267,
959       508,   521,   524,  -705,  1800,   -64,  -705,   -64,  1800,  -705,      2754,   339,   198,  2091,  2754,  2091,  2754,   451,   511,   512,
960       507,   513,  3338,   241,   241,  -705,  2243,  -705,   105,   -34,       454,   523,  -720,   525,  -720,   507,   517,   513,   370,   526,
961      -705,  -705,   509,   504,   515,   527,   519,  -705,   -64,   512,       527,  -720,  1869,   -55,  -720,   -55,  1869,  -720,   514,   518,
962       520,   463,   528,   533,  -705,  -705,   -64,  -705,  -705,  2243,      3859,  2754,  2754,   295,   295,   548,  -720,  2754,  -720,   109,
963      -705,  -705,  -705,   529,  -705,  -705,  -705,  -705,  2243,   -64,        12,  -720,   515,   513,   521,   533,   524,  -720,   -55,   519,
964       241,   241,  -705,  -705,  -705,  -705,  3557,  -705,  3776,   534,       528,   470,   534,   537,  -720,  -720,   -55,  -720,  -720,  2754,
965       545,   544,   535,   546,   532,   548,  -705,   536,   530,   549,      -720,  -720,  -720,   535,  -720,  -720,  -720,  -720,  2754,   -55,
966      2243,  2243,  2243,  2243,   538,   542,  2022,   142,   172,   241,       295,   295,  -720,  -720,  -720,   548,  4080,   548,  4301,   539,
967       539,   543,   541,   552,   251,   547,   550,   551,   554,  -705,       479,   545,   546,   540,   551,   538,   554,  -720,   541,   542,
968       251,   553,   251,  2022,  2022,   560,   556,   557,   555,  -705,       555,  2754,  2754,  2754,  2754,   543,   544,  2091,  2312,  2533,
969       558,   501,   562,  -705,   561,   -64,  2243,  2243,   -64,   564,       144,   163,  2091,   295,   550,   552,   557,   560,   339,   556,
970       563,  -705,   241,   241,   241,   568,   565,   567,   576,  -705,       558,   562,   561,  -720,   339,   568,   339,  2091,  2091,   563,
971       572,   569,   570,   574,  -705,  -705,   -64,  -705,  -705,   566,        56,   567,   569,   564,  -720,   566,   495,   571,  -720,   572,
972       587,   573,   579,   575,   176,   523,   577,   578,   526,   241,       -55,  2754,  2754,   -55,   573,   574,   548,  -720,  -720,   295,
973       241,   580,   531,  -705,   588,   583,   559,   585,   586,   225,       295,  -720,   295,   576,   575,   577,   582,  -720,   580,   578,
974       594,   593,   596,   598,   599,   595,   600,   611,    90,   620,       579,   583,  -720,  -720,   -55,   548,   548,   581,   586,   588,
975       602,   619,   604,   621,  -705,   606,   104,   612,   607,  -705,       598,   584,   590,   585,   169,   516,   587,   589,   559,   295,
976      -705,   608,   613,  -705,   581,   630,   628,   632,    64,   622,       295,   591,   565,  -720,   596,   592,   593,   594,   595,   267,
977       631,   582,   643,   584,   645,   589,   647,   640,   636,   591,       597,   602,   609,   604,   603,   605,   607,   608,   614,   622,
978       639,  -705,   128,   650,   651,   655,   646,   661,   653,   667,        76,   631,   613,   630,   615,   633,  -720,   618,    95,   624,
979       670,   654,   671,   656,   181,   657,   663,   662,    41,  -705,       623,  -720,  -720,   628,   629,   625,   627,  -720,   599,   641,
980       675,    72,   669,   674,   624,   676,   678,   672,  -705,   697,       650,   655,     0,   646,   656,   600,   657,   601,   660,   606,
981       694,   699,   696,   698,   702,   701,   688,   641,   703,   700,       661,   652,   647,   611,   649,  -720,   654,  -720,   117,   665,
982       687,   713,   706,   709,   649,   718,   715,   722,   724,   658,       666,   667,   662,   669,   668,   680,   684,   670,   685,   671,
983       710,   730,   712,   732,   735,   716,   734,   658,    14,   738,       130,   673,   672,   676,    17,  -720,  -720,   689,    78,   683,
984       723,   726,   731,   737,   725,   736,   739,   740,   748,   741,       692,   639,   690,   694,   697,  -720,   709,   710,   713,   712,
985       744,   756,   752,   757,   762,   754,   760,   765,   763,   747,       714,   718,   715,   705,   663,   719,   711,   703,   730,   720,
986       759,   755,   769,   764,   773,   772,   758,  -705,   766,   761,       726,   674,   731,   728,   737,   736,   675,   729,   745,   732,
987       711,   783,   785,  -705,   790,   761,   780,   792,   728,   795,       747,   751,   734,   750,   675,    58,   757,   741,   744,   748,
988       781,   784,  -705,  -705,   799,   803,   791,   793,   789,  -705,       752,   746,   754,   753,   756,   761,   749,   755,   764,   769,
989       796,   798,   806,   809,   812,   813,   805,   808,   818,   819,       766,   772,   765,   774,   773,   776,   760,   775,   767,   781,
990       816,   810,   767,   814,   811,   831,   832,  -705,   810,   822,       777,   785,   787,   778,  -720,   779,   771,   722,   793,   794,
991       768,   834,   823,  -705,   824,   770,  -705,   825,   826,   771,      -720,   795,   771,   782,   797,   733,   804,   790,   800,  -720,
992       827,   833,   770,   828,   836,   845,  -705,   835,   854,   837,      -720,   810,   816,   791,   805,   808,  -720,   814,   813,   821,
993       852,   858,   855,   860,   861,   851,   863,   847,   794,   849,       827,   828,   830,   820,   823,   833,   834,   829,   824,   780,
994       856,   848,   853,   857,  -705,   862,   871,   869,   865,   874,       826,   825,   839,   845,  -720,   824,   835,   783,   847,   841,
995       876,   875,   877,   884,   873,   872,   870,   867,   881,   878,      -720,   844,   786,  -720,   837,   838,   789,   840,   849,   786,
996       880,   888,   889,   893,   900,   901,  -705,   902,   903,   905,       848,   851,   858,  -720,   850,   864,   852,   863,   872,   869,
997       891,   890,   895,   896,   898,   904,   899,   911,   915,   906,       875,   880,   870,   885,   873,   819,   874,   883,   867,   879,
998      -705,   916,  -705,   918,   908,   909,  -705,   910,   912,  -705,       886,  -720,   882,   892,   894,   893,   896,   898,   903,   900,
999       913,  -705,  -705,  -705       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      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
1010      -705,  -705,  -705,  -582,  -705,  -705,  -705,  -705,  -497,  -427,      -720,  -720,  -720,  -580,  -720,  -720,  -720,  -720,  -632,    80,
1011      -705,   114,    52,  -705,  -705,  -462,   199,   387,   391,  -704,      -720,   101,    26,  -720,  -720,  -469,   242,   388,   345,  -719,
1012      -705,   323,   223,    13,   -10,   -14,   277,  -293,  -419,   -11,       116,  -720,   314,   238,    11,   -10,   -14,   333,  -355,  -720,
1013       907,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,       -13,   932,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,
1014      -705,  -705,  -705,  -705,  -705,   -52,  -705,  -705,   -74,  -262,      -720,  -720,  -720,  -720,  -720,  -720,   -76,   687,   688,   693,
1015      -249,  -248,  -247,  -705,   677,  -705,   680,  -254,  -705,  -705,      -211,   695,   696,  -263,  -257,  -256,  -720,   698,  -720,   704,
1016       673,   511,  -705,  -705,  -705,   681,   683,  -252,  -705,  -705,      -254,  -720,  -720,   700,   529,  -720,   707,  -720,   702,   708,
1017       514,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   682,  -705,      -252,  -720,  -720,   530,  -720,  -720,  -720,  -720,  -720,  -720,
1018      -705      -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 -132  #define YYTABLE_NINF -139
1026  static const short yytable[] =  static const short int yytable[] =
1027  {  {
1028       267,   650,   552,   269,   512,   270,   271,   272,   273,   274,       267,   269,   562,   270,   271,   272,   273,   274,   275,   276,
1029       275,   276,   277,   278,   279,   280,   281,   397,   356,   359,       277,   278,   279,   280,   281,   664,   403,  -138,   358,   361,
1030       357,   360,   795,    37,   797,   330,   517,   331,   291,   332,       359,   362,   404,   405,   815,   972,   817,   522,   523,   291,
1031       398,   399,   400,    29,  1008,   959,   292,   333,   527,    38,        33,   332,    41,    42,    29,   373,    34,   292,   973,   537,
1032       628,   307,   307,   307,   307,   307,   307,   307,   307,   307,      1005,   956,   307,   307,   307,   307,   307,   307,   307,   307,
1033       528,  1009,    41,    42,   629,    31,     1,    33,     2,   529,       307,   538,     1,  1006,     2,   524,   289,  1007,    30,   642,
1034        30,   968,   922,    34,   306,   308,   309,   310,   311,   312,       539,    31,   290,   306,   308,   309,   310,   311,   312,   313,
1035       313,   314,   315,     3,   969,     4,     5,    35,   970,     6,       314,   315,     3,   643,     4,     5,   388,   389,     6,   898,
1036       383,   383,   362,   361,     7,   362,   936,   384,   384,     8,        32,  1045,   996,     7,   388,   899,    37,   390,     8,     9,
1037         9,    10,   385,    11,   972,   363,   353,   386,   386,   937,        10,   486,    11,   391,   355,   330,   392,   331,  1046,   332,
1038       387,   387,    32,   627,    36,   633,   634,   973,   354,    40,       952,   391,    38,  1009,   392,   800,   356,   333,   641,   809,
1039       819,   918,   851,   296,   297,   298,   299,   300,   301,   302,       647,   648,   953,   334,   522,   523,  1010,   843,   876,   960,
      303,   304,   305,   919,   373,   926,   328,   289,   374,   867,  
      868,   661,    39,   290,   418,   419,   375,   927,   667,   668,  
      669,   670,   671,   672,   673,   674,   675,   852,   950,   951,  
1040       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1041       264,   478,   482,   483,   484,   485,   486,   487,   488,   489,        35,   961,   423,   424,   448,   424,   675,    36,   895,   896,
1042       490,   491,   492,   517,   479,   480,   481,   853,   513,   514,       987,   988,    40,   681,   682,   683,   684,   685,   686,   687,
1043       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       688,   689,   879,  1000,  1001,   296,   297,   298,   299,   300,
1044      -131,  -131,  -131,   283,   895,   513,   514,   531,   896,   534,       301,   302,   303,   304,   305,    39,   488,   600,   601,   264,
1045       365,   963,   964,   282,   389,   396,   897,   790,   791,   296,       282,   880,   489,   490,   296,   297,   298,   299,   300,   301,
1046       497,   498,   499,   500,   501,   502,   503,   504,   505,   335,       302,   303,   304,   305,   283,   378,   363,   328,   364,   379,
1047       589,   590,   332,   780,   372,   377,   368,   789,   845,   405,       927,   284,   287,   285,   928,   336,   286,   380,   365,   288,
1048       284,   848,   743,   296,   497,   498,   499,   500,   501,   502,       377,   382,   929,   293,   541,   410,   544,   810,   811,   296,
1049       503,   504,   505,   783,   285,   286,   287,   288,   767,   296,       507,   508,   509,   510,   511,   512,   513,   514,   515,   491,
1050       297,   298,   299,   300,   301,   302,   303,   304,   305,   296,       492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1051       497,   498,   499,   500,   501,   502,   503,   504,   505,   404,       502,   294,    41,   328,   411,   412,  -138,  -138,  -138,   413,
1052       294,   293,    41,   328,   406,   407,   408,   410,   409,   411,       414,   415,   761,   416,   417,   418,   419,   420,   426,   422,
1053        -4,    -4,   412,   413,   414,   421,   471,   415,   417,   420,       425,   870,   427,   428,   873,   443,   442,   449,   787,   450,
1054       461,   422,   436,   435,   442,   449,   416,   441,   416,   416,       456,   451,   457,   465,   476,   455,   464,   409,   466,   468,
1055       416,   416,   416,   416,   416,   416,   443,   444,   448,   450,       478,   467,   472,   480,   473,   477,    -4,    -4,   296,   507,
1056       457,   459,   458,   467,   469,   460,   465,   466,   470,   472,       508,   509,   510,   511,   512,   513,   514,   515,   803,   474,
1057       473,   468,   474,   475,   423,   509,   476,   477,   424,   384,       475,   479,   481,   482,   485,   483,   421,   484,   421,   421,
1058       425,   426,   427,   428,   429,   493,   430,   265,   431,   432,       421,   421,   421,   421,   421,   421,   296,   297,   298,   299,
1059       433,   434,   494,   508,   511,   437,   438,   510,   439,   440,       300,   301,   302,   303,   304,   305,   486,   503,   504,   519,
1060       524,   526,   525,   549,   547,   548,   553,   554,   555,   445,       518,   520,   521,   429,   534,   536,   558,   430,   265,   431,
1061       446,   447,   859,   550,   551,   588,   451,   452,   453,   454,       432,   433,   434,   435,   535,   436,   557,   437,   438,   439,
1062       455,   456,   556,   558,   557,   559,   560,   561,   562,   563,       440,   441,   559,   563,   561,   444,   445,   560,   446,   447,
1063       564,   580,   581,   584,   595,   586,   587,   594,   596,   585,       296,   507,   508,   509,   510,   511,   512,   513,   514,   515,
1064       598,   613,   463,   615,   464,   599,   616,   614,   597,   617,       564,   565,   452,   453,   454,   567,   566,   568,   569,   458,
1065       620,   619,   621,   864,   622,   623,   666,   626,   618,   624,       459,   460,   461,   462,   463,   570,   571,   572,   573,   887,
1066       664,   665,   625,   647,   646,   651,   652,   655,   680,   654,       574,   592,   575,   593,   576,   596,   598,   597,   599,   606,
1067       662,   681,   682,   683,   684,   506,   507,   685,   686,   653,       602,   608,   610,   607,   625,   470,   611,   471,   626,   627,
1068       663,   687,   688,   689,   690,   691,   692,   693,   540,   541,       609,   629,   628,   631,   632,   633,   828,   634,   638,   636,
1069       542,   543,   546,   702,   706,   707,   708,   713,   716,   714,       630,   635,   639,   661,   637,   640,   678,   660,   665,   666,
1070       715,   730,   734,   738,   731,   735,   701,   732,   705,   709,       667,   676,   668,   677,   671,   679,   680,   694,   696,   695,
1071       736,   802,   739,   741,   737,   763,   740,   565,   566,   567,       697,   698,   516,   517,   699,   700,   701,   703,   704,   705,
1072       568,   569,   570,   571,   572,   573,   574,   575,   576,   577,       708,   709,   707,   710,   706,   550,   551,   552,   553,   556,
1073       578,   579,   712,   742,   582,   583,   733,   307,   307,   307,       719,   723,   724,   730,   731,   747,   732,   702,   718,   748,
1074       307,   307,   307,   307,   307,   307,   750,   751,   765,   762,       722,   725,   749,   733,   726,   750,   752,   753,   754,   756,
1075       764,   766,   404,   404,   769,   591,   770,   592,   771,   593,       755,   757,   768,   759,   577,   578,   579,   580,   581,   582,
1076       306,   308,   309,   310,   311,   312,   313,   314,   315,   773,       583,   584,   585,   586,   587,   588,   589,   590,   591,   729,
1077       600,   601,   602,   603,   604,   605,   606,   607,   608,   609,       751,   758,   594,   595,   760,   769,   783,   307,   307,   307,
1078       610,   611,   612,   772,   799,   800,   801,   803,   804,   805,       307,   307,   307,   307,   307,   307,   782,   784,   785,   409,
1079       806,   807,   327,   808,   809,   814,   815,   820,   821,   822,       409,   786,   789,   603,   790,   604,   791,   605,   306,   308,
1080       825,   823,   827,   826,   828,   829,   636,   835,   831,   639,       309,   310,   311,   312,   313,   314,   315,   793,   612,   613,
1081       640,   641,   642,   836,   837,   645,   843,   838,   839,   840,       614,   615,   616,   617,   618,   619,   620,   621,   622,   623,
1082       841,   844,   857,   858,   842,   849,   855,   659,   463,   463,       624,   792,   819,   820,   821,   822,   823,   824,   825,   826,
1083       850,   856,   865,   862,   860,   863,   869,   870,   861,   871,       830,   829,   827,   842,   836,   835,   844,   845,   846,   847,
1084       874,   873,   876,   872,   884,   890,   677,   877,   679,   875,       849,   851,   853,   852,   850,   859,   861,   855,   650,   862,
1085       878,   881,   882,   402,   883,   885,   886,   888,   887,   891,       860,   653,   654,   655,   656,   863,   864,   659,   865,   866,
1086       893,   892,   898,   894,   899,   901,   900,   904,   902,   694,       869,   868,   867,   874,   886,   875,   904,   470,   470,   673,
1087       903,   905,   907,   910,   908,   911,   695,   912,   696,   697,       883,   885,   897,   884,   407,   891,   888,   890,   327,   889,
1088       698,   916,   699,   915,   700,   913,   914,   917,   920,   921,       893,   900,   903,   914,   901,   902,   906,   930,   691,   907,
1089       922,   923,   924,   925,   929,   928,   930,   710,   906,   711,       693,   905,   911,   920,   908,   912,   915,   913,   916,   918,
1090       931,   933,   934,   935,   938,   939,   717,   718,   719,   720,       917,   921,   922,   923,   925,   924,   926,   931,   936,   942,
1091       721,   722,   723,   724,   725,   941,   727,   943,   729,   945,       932,   711,   934,   937,   939,   944,   940,   946,   712,   945,
1092       932,   940,   946,   942,   947,   949,   952,   953,   944,   327,       713,   714,   715,   943,   716,   947,   717,   948,   950,   949,
1093       948,   954,   745,   746,   747,   955,   749,   956,   957,   958,       933,   951,   954,   955,   956,   957,   935,   958,   959,   727,
1094       760,   959,   961,   960,   759,   962,   965,   659,   966,   967,       962,   728,   964,   963,   965,   969,   966,   967,   734,   735,
1095       971,   974,   977,   775,   777,   975,   775,   782,   785,   979,       736,   737,   738,   739,   740,   741,   742,   970,   744,   971,
1096       775,   794,   760,   976,   760,   759,   759,   978,   759,   980,       746,   974,   977,   975,   938,   979,   981,   982,   983,   985,
1097       981,   982,   983,   984,   985,   987,   462,   986,   989,   991,       968,   976,   978,   986,   989,   990,   991,   980,   993,   763,
1098       988,   992,   990,   810,   811,   994,   812,   813,   995,   327,       764,   765,   984,   767,   992,   995,   994,   781,   996,   998,
1099       996,   997,   998,   307,   307,   993,   999,  1000,   416,  1001,      1003,   780,   997,   999,   673,  1002,  1004,  1008,  1011,  1014,
1100      1002,  1003,  1004,  1005,  1007,  1006,  1010,   824,  1011,  1012,       795,   797,   469,   795,   802,   805,  1012,   795,   814,   781,
1101       495,   496,  1013,  1014,  1015,   830,   817,   818,  1016,   521,      1013,   781,   780,   780,  1017,   780,  1015,  1016,  1019,  1018,
1102      1019,  1018,   327,   327,  1023,  1017,  1020,  1021,   832,   545,       327,  1020,  1021,  1022,  1023,  1024,  1027,  1026,  1028,   831,
1103       307,   307,  1022,  1024,  1025,  1026,  1027,  1028,  1029,  1030,       832,  1029,   833,   834,  1025,  1031,  1033,  1034,   505,   506,
1104      1031,  1033,  1032,  1035,  1036,  1034,  1037,  1039,   327,  1038,      1035,  1036,  1030,   307,   307,  1032,  1037,   531,  1039,   421,
1105      1040,  1041,   760,   817,   818,  1042,   759,   416,   416,   307,      1041,  1038,  1042,  1044,  1040,   848,  1043,   555,  1047,  1048,
1106      1043,  1044,  1045,  1047,  1048,  1049,   777,  1046,   782,   760,      1049,  1051,  1050,   854,   840,   841,  1056,  1057,  1052,  1053,
1107       760,  1050,   327,   759,   759,  1051,  1052,  1054,  1057,  1055,      1055,  1058,  1054,  1059,  1060,  1061,   856,  1062,  1065,  1063,
1108      1053,  1058,   854,  1056,  1059,  1060,   402,   402,  1061,  1062,       307,   307,   327,  1064,  1066,  1067,  1070,  1069,  1072,  1068,
1109      1063,  1064,   307,   307,   416,  1065,  1066,  1068,  1069,  1070,      1076,  1071,  1073,  1077,  1078,  1075,  1081,  1079,  1080,  1074,
1110      1071,  1072,  1074,  1076,  1075,   889,  1067,  1073,  1078,  1077,      1082,   840,   841,   781,  1083,  1084,  1085,   780,   781,  1089,
1111      1080,  1083,  1081,  1082,  1079,   879,   880,  1085,  1086,   416,       421,   421,   780,   307,  1086,  1087,   407,   407,   327,   327,
1112       416,  1084,  1087,  1089,  1088,   785,  1090,  1091,  1092,  1093,       797,  1088,   802,   781,   781,  1090,  1094,   780,   780,  1091,
1113      1094,  1095,  1096,  1097,  1098,  1100,  1099,  1102,  1101,  1104,      1092,  1093,  1095,  1096,   882,  1097,  1098,  1099,  1100,  1101,
1114      1105,  1106,   521,  1109,   637,   638,  1107,  1103,  1108,  1110,      1107,  1102,  1105,  1103,   327,  1106,  1108,  1109,  1111,   307,
1115       643,   644,  1111,  1112,  1115,   649,   649,  1113,  1117,  1114,       307,  1104,   421,  1115,  1110,  1112,  1113,  1114,  1118,  1116,
1116       768,  1120,   462,   462,   327,   327,  1116,  1118,  1119,  1121,      1117,   919,  1119,  1122,  1120,  1124,  1123,  1126,   327,  1121,
1117       327,   327,  1122,  1123,  1124,  1125,   327,  1126,  1127,  1128,       909,   910,  1125,  1127,  1128,   531,  1129,   651,   652,   421,
1118      1129,  1130,   676,  1134,   678,  1131,  1133,  1135,  1137,  1132,       421,  1130,  1131,   657,   658,   805,  1132,  1137,   663,   663,
1119      1138,   909,  1136,  1139,  1140,  1141,   866,  1142,   793,  1143,      1134,  1133,  1135,  1141,   469,   469,  1136,  1138,  1142,  1139,
1120       379,   295,   371,   327,   366,   327,   635,   367,   381,     0,      1140,  1144,  1143,  1145,  1146,  1147,  1148,  1150,  1149,  1151,
1121         0,   401,   532,     0,     0,   535,     0,     0,     0,     0,      1152,  1155,  1154,  1157,   892,   690,  1159,   692,  1158,  1153,
1122        1156,  1160,  1161,  1162,  1163,   941,  1164,  1171,  1172,   674,
1123        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,
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,   660,     0,     0,     0,     0,     0,     0,         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         0,     0,     0,     0,     0,     0,     0,     0,   744,     0,         0,     0,     0,     0,     0,   838,   839,     0,     0,     0,
1137         0,   327,   748,     0,     0,   327,   752,     0,     0,   327,         0,     0,     0,     0,     0,   327,     0,     0,     0,   327,
1138         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,
1139         0,     0,   779,     0,     0,     0,   788,     0,     0,     0,       327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      796,     0,   798,     0,     0,     0,   327,     0,     0,     0,  
        0,     0,     0,     0,     0,   327,     0,     0,     0,     0,  
        0,     0,     0,   327,     0,   327,     0,     0,     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,   327,   327,     0,     0,     0,     0,     0,         0,     0,     0,     0,   327,   327,   316,    46,    47,   669,
1149         0,     0,     0,   649,   846,   847,   649,   316,    46,    47,         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,
1150        48,    49,   317,   318,   319,   320,   321,   322,   323,   324,       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,
1151       325,   326,    60,    61,    62,    63,    64,    65,    66,    67,        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,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1263        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1264        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
# Line 1134  static const short yytable[] = Line 1278  static const short yytable[] =
1278       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1279       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1280       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1281       258,   259,   260,   261,   262,   263,   656,     0,   264,   316,       258,   259,   260,   261,   262,   263,   316,    46,    47,     0,
1282        46,    47,    48,    49,   317,   318,   319,   320,   321,   322,       878,    48,    49,    50,   317,   318,   319,   320,   321,   322,
1283       323,   324,   325,   326,    60,    61,    62,    63,    64,    65,       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,
1284          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1285          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1286          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1287          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1288         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1289         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1290         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1291         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1292         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1293         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1294         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1295         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1296         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1297         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1298         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1299         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1300         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1301         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1302         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1303         257,   258,   259,   260,   261,   262,   263,   316,    46,    47,
1304           0,     0,    48,    49,    50,   317,   318,   319,   320,   321,
1305         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 1156  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,   262,   263,     0,   657,       256,   257,   258,   259,   260,   261,   262,   263,   316,    46,
1326       264,    45,    46,    47,    48,    49,    50,    51,    52,    53,        47,     0,     0,    48,    49,    50,    51,    52,    53,    54,
1327        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,        55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1328          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1329          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1330          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1331          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1332         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1333         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1334         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1335         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1336         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1337         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1338         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1339         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1340         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1341         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1342         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1343         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1344         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1345         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1346         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1347         255,   256,   257,   258,   259,   260,   261,   262,   263,   316,
1348         721,    47,     0,     0,    48,    49,    50,   317,   318,   319,
1349         320,   321,   322,   323,   324,   325,   326,    61,    62,    63,
1350        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1351        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1352        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1179  static const short yytable[] = Line 1367  static const short yytable[] =
1367       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1368       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1369       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1370         0,     0,   264,   316,    46,    47,    48,    49,   317,   318,       316,   743,    47,     0,     0,    48,    49,    50,   317,   318,
1371       319,   320,   321,   322,   323,   324,   325,   326,    60,    61,       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,
1372          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1373          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1374          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1375          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1376         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1377         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1378         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1379         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1380         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1381         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1382         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1383         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1384         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1385         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1386         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1387         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1388         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1389         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1390         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1391         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1392         263,   316,   745,    47,     0,     0,    48,    49,    50,   317,
1393         318,   319,   320,   321,   322,   323,   324,   325,   326,    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 1201  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       262,   263,     0,     0,   264,   316,    46,    47,   753,   754,       262,   263,   316,   837,    47,     0,     0,    48,    49,    50,
1415        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1416        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1417          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1418          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1419          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1420         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1421         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1422         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1423         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1424         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1425         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1426         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1427         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1428         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1429         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1430         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1431         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1432         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1433         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1434         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1435         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1436         261,   262,   263,   316,   857,    47,     0,     0,    48,    49,
1437          50,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1438         326,    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 1223  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,   262,   263,   513,   514,   316,    46,    47,    48,       260,   261,   262,   263,   316,   858,    47,     0,     0,    48,
1459        49,   317,   318,   319,   320,   321,   322,   323,   324,   325,        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,
1460       326,    60,    61,    62,    63,    64,    65,    66,    67,    68,       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,
1461        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1462        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1463        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1245  static const short yytable[] = Line 1477  static const short yytable[] =
1477       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1478       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1479       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1480       259,   260,   261,   262,   263,   316,    46,    47,    48,    49,       259,   260,   261,   262,   263
1481        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  };
1482        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
1483        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  static const short int yycheck[] =
1484        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  {
1485        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        14,    14,   471,    16,    17,    18,    19,    20,    21,    22,
1486       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,        23,    24,    25,    26,    27,   595,   279,     5,   272,   273,
1487       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       272,   273,   279,   279,   743,    25,   745,     6,     7,    32,
1488       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,        29,    25,   225,   226,    24,    29,    35,    40,    38,    21,
1489       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,        23,    24,    52,    53,    54,    55,    56,    57,    58,    59,
1490       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,        60,    33,     1,    36,     3,    34,    33,    40,    38,    22,
1491       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,        42,    25,    39,    52,    53,    54,    55,    56,    57,    58,
1492       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,        59,    60,    21,    36,    23,    24,    22,    23,    27,    23,
1493       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,        25,    23,    24,    32,    22,    29,    25,    33,    37,    38,
1494       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,        39,    29,    41,    39,    21,    21,    42,    23,    40,    25,
1495       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,        24,    39,    41,    25,    42,   737,    33,    33,   577,   741,
1496       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       579,   580,    36,    39,     6,     7,    38,     8,   837,    24,
1497       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1498       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,        41,    36,    41,    42,    41,    42,   605,    25,   857,   858,
1499       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,        23,    24,     0,   612,   613,   614,   615,   616,   617,   618,
1500       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       619,   620,     8,    23,    24,    11,    12,    13,    14,    15,
1501       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,        16,    17,    18,    19,    20,    34,   429,   522,   523,   224,
1502       260,   261,   262,   263,   316,   704,    47,    48,    49,   317,        24,     8,   429,   429,    11,    12,    13,    14,    15,    16,
1503       318,   319,   320,   321,   322,   323,   324,   325,   326,    60,        17,    18,    19,    20,    25,    21,    21,    23,    23,    25,
1504        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        21,    39,    21,    40,    25,   271,    39,    33,    33,    29,
1505        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,       276,   277,    33,    22,   458,   281,   458,     9,    10,    11,
1506        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        12,    13,    14,    15,    16,    17,    18,    19,    20,   430,
1507        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,       431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
1508       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       441,    39,   225,    23,    21,    40,   224,   225,   226,    40,
1509       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,        24,    40,   711,    35,    25,    25,    39,    41,    34,    28,
1510       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,        28,   831,    29,    25,   834,    29,    41,    28,   727,    29,
1511       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,        23,    34,    29,    28,    23,    41,    41,   280,    29,    35,
1512       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,        22,    40,    40,    24,    38,    23,   225,   226,    11,    12,
1513       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,        13,    14,    15,    16,    17,    18,    19,    20,    21,    42,
1514       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,        40,    21,    21,    21,    38,    27,   306,    24,   308,   309,
1515       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       310,   311,   312,   313,   314,   315,    11,    12,    13,    14,
1516       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,        15,    16,    17,    18,    19,    20,    29,    24,    24,    21,
1517       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,        24,    24,    39,   336,    24,    24,    21,   340,    14,   342,
1518       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       343,   344,   345,   346,    28,   348,    26,   350,   351,   352,
1519       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       353,   354,    39,    25,    29,   358,   359,    38,   361,   362,
1520       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1521       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,        35,    25,   375,   376,   377,    38,    40,    39,    34,   382,
1522       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       383,   384,   385,   386,   387,    29,    29,    34,    29,   848,
1523       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,        29,    29,    42,    29,    34,    29,    29,    34,    40,    29,
1524       261,   262,   263,   316,   726,    47,    48,    49,   317,   318,        35,    29,    29,    35,    26,   408,    35,   410,    34,    23,
1525       319,   320,   321,   322,   323,   324,   325,   326,    60,    61,        41,    23,    25,    29,    23,    34,    36,    35,    91,    34,
1526        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        45,    32,    25,    91,    34,    26,    24,    35,    35,    34,
1527        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        91,    35,    38,    91,    34,    24,    32,    25,    25,    34,
1528        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        21,    25,   446,   447,    22,    38,    25,    21,    25,    25,
1529        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        35,    45,    38,    25,    29,   459,   460,   461,   462,   463,
1530       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,        29,    25,    29,    29,    29,    38,    29,    91,    91,    25,
1531       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,        91,    41,    32,    41,    91,    33,    25,    29,    32,    22,
1532       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,        35,    32,    35,    40,   487,   488,   489,   490,   491,   492,
1533       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       493,   494,   495,   496,   497,   498,   499,   500,   501,    91,
1534       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,        91,    34,   505,   506,    38,    34,    32,   507,   508,   509,
1535       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       510,   511,   512,   513,   514,   515,    35,    34,    33,   522,
1536       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       523,    33,    35,   526,    34,   528,    35,   530,   507,   508,
1537       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       509,   510,   511,   512,   513,   514,   515,    33,   541,   542,
1538       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       543,   544,   545,   546,   547,   548,   549,   550,   551,   552,
1539       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       553,    91,    91,    32,    32,    91,    23,    22,    41,    32,
1540       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,        23,    25,    39,     5,    36,    41,    41,    36,    25,    35,
1541       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,        41,    91,    25,    29,    36,    26,    21,    32,   582,    23,
1542       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,        91,   585,   586,   587,   588,    35,    25,   591,    40,    25,
1543       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,        25,    39,    41,    40,    24,    41,    91,   600,   601,   603,
1544       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,        40,    34,    29,    41,   280,    34,    40,    35,   265,    41,
1545       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,        32,    34,    36,    21,    35,    41,    34,    91,   622,    36,
1546       262,   263,   316,   728,    47,    48,    49,   317,   318,   319,       624,    40,    36,    32,    40,    40,    36,    40,    40,    36,
1547       320,   321,   322,   323,   324,   325,   326,    60,    61,    62,        41,    35,    34,    25,    34,    41,    41,    40,    32,    32,
1548        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        41,   644,    41,    41,    40,    26,    41,    34,   651,    35,
1549        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,       653,   654,   655,    41,   657,    40,   659,    40,    34,    41,
1550        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        91,    29,    21,    40,    24,    40,    91,    24,    40,   672,
1551        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        36,   674,    34,    40,    35,    24,    41,    40,   681,   682,
1552       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       683,   684,   685,   686,   687,   688,   689,    27,   691,    24,
1553       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,       693,    35,    25,    27,    91,    25,    25,    35,    41,    40,
1554       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,        91,    91,    91,    39,    29,    29,    29,    91,    29,   713,
1555       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,       714,   715,    91,   717,    42,    25,    38,   721,    24,    24,
1556       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,        38,   721,    42,    42,   728,    42,    40,    28,    35,    29,
1557       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,       734,   735,   408,   737,   738,   739,    34,   741,   742,   743,
1558       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,        91,   745,   742,   743,    25,   745,    42,    40,    25,    29,
1559       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       407,    29,    28,    25,    29,    40,    35,    28,    45,   762,
1560       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       763,    21,   765,   766,    91,    29,    25,    29,   444,   445,
1561       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,        23,    25,    42,   773,   774,    91,    91,   453,    23,   779,
1562       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,        23,    42,    21,    23,    42,   788,    42,   463,    21,    38,
1563       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,        36,    29,    34,   796,   773,   774,    25,    38,    42,    35,
1564       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,        34,    36,    39,    29,    25,    29,   809,    25,    25,    34,
1565       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       810,   811,   469,    29,    28,    45,    25,    40,    23,    34,
1566       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,        39,    34,    25,    91,    21,    36,    34,    23,    23,    41,
1567       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,        23,   810,   811,   837,    91,    21,    36,   837,   842,    38,
1568       263,   316,   816,    47,    48,    49,   317,   318,   319,   320,       840,   841,   842,   843,    34,    25,   522,   523,   505,   506,
1569       321,   322,   323,   324,   325,   326,    60,    61,    62,    63,       854,    25,   856,   857,   858,    40,    25,   857,   858,    41,
1570        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        36,    38,    25,    25,   843,    25,    36,    34,    25,    25,
1571        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        21,    32,    36,    39,   531,    40,    21,    32,    21,   879,
1572        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,       880,    91,   882,    36,    91,    34,    32,    91,    38,    41,
1573        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        91,   894,    33,    25,    36,    21,    36,    24,   555,    38,
1574       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,       879,   880,    40,    21,    25,   581,    21,   583,   584,   909,
1575       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,       910,    21,    32,   589,   590,   919,    21,    40,   594,   595,
1576       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,        91,    38,    38,    21,   600,   601,    33,    38,    24,    33,
1577       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,        38,    25,    29,    25,    21,    25,    21,    38,    33,    42,
1578       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,        40,    40,    33,    25,   854,   621,    25,   623,    29,    38,
1579       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,        33,    25,    25,    25,    25,   919,    40,    25,    25,   604,
1580       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,        38,    38,    42,    38,    40,    25,    25,   856,   842,    38,
1581       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,        40,   274,   274,    39,    38,    38,    38,   274,    39,   581,
1582       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       728,    -1,    -1,   275,   279,   279,    44,   277,   274,   277,
1583       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       742,   274,   274,    -1,   651,   652,    -1,   458,   458,    -1,
1584       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       657,   658,    -1,    -1,    -1,   279,   663,    -1,    -1,    -1,
1585       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1586       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1587       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,        -1,    -1,    -1,   690,    -1,   692,   712,    -1,    -1,    -1,
1588       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       716,    -1,    -1,    -1,   720,    -1,    -1,    -1,    -1,    -1,
1589       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1590       316,   833,    47,    48,    49,   317,   318,   319,   320,   321,       736,    -1,    -1,    -1,   740,    -1,    -1,    -1,   744,    -1,
1591       322,   323,   324,   325,   326,    60,    61,    62,    63,    64,       746,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1592          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1593          -1,    -1,    -1,    -1,    -1,   771,   772,    -1,    -1,    -1,
1594          -1,    -1,    -1,    -1,    -1,   762,    -1,    -1,    -1,   766,
1595          -1,    -1,    -1,   770,    -1,    -1,    -1,    -1,    -1,    -1,
1596         777,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1597          -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,
1602          -1,   838,   839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1603          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1604          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1605          -1,    -1,    -1,    -1,   871,   872,     3,     4,     5,     6,
1606          -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1607          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,        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1635        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1636        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
# Line 1373  static const short yytable[] = Line 1647  static const short yytable[] =
1647       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1648       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1649       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1650       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,
1651       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1652       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1653       255,   256,   257,   258,   259,   260,   261,   262,   263,   316,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1654       834,    47,    48,    49,   317,   318,   319,   320,   321,   322,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1655       323,   324,   325,   326,    60,    61,    62,    63,    64,    65,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1656        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1657        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1658        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1659        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1660       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1661       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1662       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1663       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1664       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1665       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1666       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1667       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1668       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1669       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1670       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1671       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1672       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       223,   224,     3,     4,     5,    -1,    -1,     8,     9,    10,
1673       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1674       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1675       256,   257,   258,   259,   260,   261,   262,   263        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  static const short yycheck[] =        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1679  {        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1680        14,   583,   464,    14,    31,    16,    17,    18,    19,    20,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1681        21,    22,    23,    24,    25,    26,    27,   279,   272,   273,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1682       272,   273,   726,    22,   728,    18,   445,    20,    29,    22,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1683       279,   279,   279,    21,    20,    21,    37,    30,    18,    38,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1684        19,    51,    52,    53,    54,    55,    56,    57,    58,    59,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1685        30,    37,   225,   226,    33,    22,     1,    26,     3,    39,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1686        35,    20,    21,    32,    51,    52,    53,    54,    55,    56,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1687        57,    58,    59,    18,    33,    20,    21,    38,    37,    24,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1688        19,    19,    20,    18,    29,    20,    22,    26,    26,    34,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1689        35,    36,    30,    38,    22,    30,    18,    36,    36,    35,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1690        39,    39,    22,   565,    22,   567,   568,    35,    30,     0,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1691         5,    21,   816,     8,     9,    10,    11,    12,    13,    14,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1692        15,    16,    17,    33,    18,    21,    20,    30,    22,   833,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1693       834,   593,    31,    36,    38,    39,    30,    33,   600,   601,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1694       602,   603,   604,   605,   606,   607,   608,     5,    20,    21,       221,   222,   223,   224,     3,     4,     5,     6,     7,     8,
1695         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1696       224,   423,   424,   425,   426,   427,   428,   429,   430,   431,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1697       432,   433,   434,   592,   423,   423,   423,     5,   222,   223,        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,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1718       224,   225,   226,    22,    18,   222,   223,   451,    22,   451,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1719       274,    20,    21,    21,   278,   279,    30,     6,     7,     8,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1720         9,    10,    11,    12,    13,    14,    15,    16,    17,   271,        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1721       513,   514,    22,   720,   276,   277,    26,   724,   810,   281,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1722        36,   813,   694,     8,     9,    10,    11,    12,    13,    14,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1723        15,    16,    17,    18,    37,    36,    18,    26,   710,     8,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1724         9,    10,    11,    12,    13,    14,    15,    16,    17,     8,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1725         9,    10,    11,    12,    13,    14,    15,    16,    17,   280,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1726        36,    19,   225,    20,    18,    37,    37,    37,    21,    32,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1727       225,   226,    22,    22,    36,    31,    19,    38,    25,    25,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1728        32,    26,    26,    38,    25,    20,   306,    38,   308,   309,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1729       310,   311,   312,   313,   314,   315,    26,    31,    38,    26,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1730        38,    26,    31,    39,    20,    37,    37,    35,    20,    18,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1731        21,    37,    18,    18,   335,    18,    24,    21,   339,    26,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1732       341,   342,   343,   344,   345,    21,   347,    14,   349,   350,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1733       351,   352,    21,    21,    36,   356,   357,    21,   359,   360,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1734        21,    21,    25,    36,    23,    23,    22,    32,    22,   370,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1735       371,   372,   824,    35,    26,    32,   377,   378,   379,   380,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1736       381,   382,    37,    36,    35,    31,    26,    26,    31,    26,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1737        26,    26,    26,    26,    32,    26,    37,    26,    26,    31,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1738        26,    23,   403,    20,   405,    32,    22,    32,    38,    20,       218,   219,   220,   221,   222,   223,     3,     4,     5,    -1,
1739        20,    26,    31,   830,    32,    29,    29,    89,    42,    31,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1740        21,    21,    31,    89,    32,    32,    31,    31,    22,    35,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1741        32,    22,    18,    22,    19,   439,   440,    35,    22,    89,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1742        89,    89,    18,    22,    22,    26,    42,    22,   452,   453,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1743       454,   455,   456,    26,    22,    26,    38,    26,    38,    26,        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1744        26,    35,    22,    19,    29,    26,    89,    30,    89,    89,        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1745        29,    20,    29,    37,    32,    29,    31,   478,   479,   480,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1746       481,   482,   483,   484,   485,   486,   487,   488,   489,   490,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1747       491,   492,    89,    35,   495,   496,    89,   497,   498,   499,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1748       500,   501,   502,   503,   504,   505,    32,    31,    30,    32,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1749        31,    30,   513,   514,    32,   516,    31,   518,    32,   520,       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1750       497,   498,   499,   500,   501,   502,   503,   504,   505,    30,       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1751       531,   532,   533,   534,   535,   536,   537,   538,   539,   540,       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1752       541,   542,   543,    89,    89,    29,    89,    19,    38,    29,       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1753        36,    33,   265,    22,    20,    38,    33,    38,    33,    22,       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1754        38,    32,    89,    33,    26,    22,   570,    23,    29,   573,       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1755       574,   575,   576,    18,    20,   579,    36,    32,    22,    37,       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1756        22,    22,    31,    21,    38,    37,    37,   591,   589,   590,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1757        38,    38,    29,    32,    37,    31,    26,    31,    38,    32,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1758        89,    33,    31,    38,    18,    29,   610,    33,   612,    37,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1759        37,    33,    37,   280,    37,    33,    37,    33,    38,    22,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1760        31,    38,    89,    38,    37,    89,    38,    29,    38,   630,       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,
1761        89,    38,    37,    29,    38,    32,   637,    31,   639,   640,        -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
      641,    31,   643,    38,   645,    37,    37,    26,    18,    37,  
       21,    37,    21,    37,    37,    33,    38,   658,    89,   660,  
       37,    21,    24,    21,    32,    24,   667,   668,   669,   670,  
      671,   672,   673,   674,   675,    22,   677,    22,   679,    22,  
       89,    89,    32,    89,    38,    36,    26,    26,    89,   402,  
       89,    26,   696,   697,   698,    39,   700,    26,    35,    22,  
      704,    21,    21,    39,   704,    39,    39,   711,    35,    37,  
       25,    32,    26,   717,   718,    31,   720,   721,   722,    37,  
      724,   725,   726,    89,   728,   725,   726,    39,   728,    22,  
       26,    22,    26,    25,    22,    37,   403,    26,    25,    42,  
       89,    18,    32,   744,   745,    26,   747,   748,    89,   462,  
       22,    26,    20,   753,   754,    39,    22,    89,   758,    39,  
       20,    39,    20,    18,    20,    39,    18,   768,    35,    33,  
      437,   438,    31,    26,    39,   776,   753,   754,    32,   446,  
       22,    31,   495,   496,    22,    36,    35,    33,   789,   456,  
      790,   791,    26,    26,    22,    31,    26,    22,    25,    42,  
       31,    22,    37,    20,    22,    31,    38,    36,   521,    33,  
       89,    18,   816,   790,   791,    20,   816,   817,   818,   819,  
       20,    31,    20,    18,    33,    31,   830,    89,   832,   833,  
      834,    22,   545,   833,   834,    22,    35,    38,    22,    33,  
       37,    22,   819,    35,    22,    22,   513,   514,    33,    31,  
       22,    22,   852,   853,   854,    29,    36,    33,    37,    18,  
       18,    29,    18,    29,    31,   866,    89,    89,    33,    89,  
       89,    33,    35,    30,    38,   852,   853,    22,    33,   879,  
      880,    35,    18,    21,    37,   889,    18,    22,    18,    18,  
       29,    18,    35,    89,    35,    37,    30,    30,    35,    18,  
       21,    26,   569,    18,   571,   572,    22,    35,    22,    22,  
      577,   578,    18,    30,    37,   582,   583,    35,    30,    39,  
      711,    22,   589,   590,   637,   638,    35,    37,    30,    26,  
      643,   644,    22,    22,    22,    22,   649,    22,    37,    39,  
       35,    35,   609,    22,   611,    37,    37,    22,    22,    35,  
       22,   889,    36,    35,    35,    35,   832,    35,   725,    36,  
      277,    44,   275,   676,   274,   678,   569,   274,   277,    -1,  
       -1,   279,   451,    -1,    -1,   451,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   592,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   695,    -1,  
       -1,   744,   699,    -1,    -1,   748,   703,    -1,    -1,   752,  
       -1,    -1,    -1,   756,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   719,    -1,    -1,    -1,   723,    -1,    -1,    -1,  
      727,    -1,   729,    -1,    -1,    -1,   779,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   796,    -1,   798,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   846,   847,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   810,   811,   812,   813,     3,     4,     5,  
        6,     7,     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 1538  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,   221,   222,    -1,   224,     3,       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,
1783         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,         5,    -1,    -1,     8,     9,    10,    11,    12,    13,    14,
1784          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1785          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1786          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1787          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1788          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1789          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1790          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1791          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1792          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1793         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1794         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1795         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1796         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1797         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1798         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1799         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1800         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1801         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1802         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1803         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1804         215,   216,   217,   218,   219,   220,   221,   222,   223,     3,
1805           4,     5,    -1,    -1,     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 1560  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,    -1,   223,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1827       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,
1828          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1829          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1830          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1831          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1832          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1833          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1834          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1835          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1836          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1837         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1838         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1839         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1840         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1841         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1842         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1843         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1844         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1845         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1846         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1847         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1848         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1849         223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,
1850        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1851        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1852        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1583  static const short yycheck[] = Line 1868  static const short yycheck[] =
1868       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1869       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1870       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1871        -1,    -1,   224,     3,     4,     5,     6,     7,     8,     9,       222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,
1872          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1873          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1874          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1875          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1876          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1877          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1878          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1879          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1880          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1881         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1882         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1883         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1884         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1885         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1886         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1887         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1888         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1889         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1890         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1891         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1892         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1893         221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,
1894        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1895        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1896        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1605  static const short yycheck[] = Line 1912  static const short yycheck[] =
1912       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1913       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1914       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1915       220,   221,    -1,    -1,   224,     3,     4,     5,     6,     7,       220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,
        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,  
       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,  
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,  
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,  
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,  
       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   222,   223,     3,     4,     5,     6,  
        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,  
       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,  
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,  
       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,  
       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,  
       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,  
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,  
       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,  
       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,  
       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,  
      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,  
      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,  
      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,  
      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,  
      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,  
      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,  
      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,  
      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,  
      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,  
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,  
      217,   218,   219,   220,   221,     3,     4,     5,     6,     7,  
        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,  
       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,  
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,  
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,  
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,  
       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,     3,     4,     5,     6,     7,     8,  
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 1693  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,   221,     3,     4,     5,     6,     7,     8,     9,       219,   220,   221,   222,   223
1938    };
1939    
1940    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1941       symbol of state STATE-NUM.  */
1942    static const unsigned short int yystos[] =
1943    {
1944           0,     1,     3,    21,    23,    24,    27,    32,    37,    38,
1945          39,    41,   228,   229,   230,   231,   270,   271,   272,   273,
1946         274,   275,   278,   279,   280,   281,   282,   318,   321,    24,
1947          38,    25,    25,    29,    35,    41,    25,    25,    41,    34,
1948           0,   225,   226,   268,   269,     3,     4,     5,     8,     9,
1949        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1950        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1951        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1715  static const short yycheck[] = Line 1967  static const short yycheck[] =
1967       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1968       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1969       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1970       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,
1971        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1972        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,
1973        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,
1974        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,
1975        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,
1976        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,
1977        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        21,    23,    25,    33,    39,   234,   283,   284,   285,   286,
1978        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,       294,   296,   297,   298,   299,   300,   301,   303,   305,   306,
1979        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,       307,   308,   309,   310,   314,    21,    33,   236,   297,   307,
1980       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       237,   297,   307,    21,    23,    33,   242,   284,   285,   286,
1981       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       296,   303,   306,    29,   238,   293,   294,   283,    21,    25,
1982       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,        33,   235,   283,   295,   300,   304,   305,   320,    22,    23,
1983       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,        33,    39,    42,   232,   288,   289,   290,   291,   292,   319,
1984       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       233,   288,   289,   290,   291,   292,   319,   259,   265,   267,
1985       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       283,    21,    40,    40,    24,    40,    35,    25,    25,    39,
1986       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,        41,   262,    28,    41,    42,    28,    34,    29,    25,   267,
1987       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1988       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       267,   267,    41,    29,   267,   267,   267,   267,    41,    28,
1989       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,        29,    34,   267,   267,   267,    41,    23,    29,   267,   267,
1990       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       267,   267,   267,   267,    41,    28,    29,    40,    35,   259,
1991       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       267,   267,    40,    38,    42,    40,    23,    23,    22,    21,
1992       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,        24,    21,    21,    27,    24,    38,    29,   287,   290,   291,
1993        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,       292,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1994        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,       287,   287,   287,    24,    24,   259,   259,    12,    13,    14,
1995        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        15,    16,    17,    18,    19,    20,   263,   263,    24,    21,
1996        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,        24,    39,     6,     7,    34,   243,   255,   266,   277,   244,
1997        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,       254,   259,   252,   263,    24,    28,    24,    21,    33,    42,
1998        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,       239,   297,   301,   302,   307,   310,   311,   312,   313,   315,
1999        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,       263,   263,   263,   263,   258,   259,   263,    26,    21,    39,
2000        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        38,    29,   252,    25,    35,    25,    40,    38,    39,    34,
2001        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        29,    29,    34,    29,    29,    42,    34,   267,   267,   267,
2002       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
2003       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,       267,   267,    29,    29,   267,   267,    29,    34,    29,    40,
2004       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,       265,   265,    35,   267,   267,   267,    29,    35,    29,    41,
2005       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,        29,    35,   267,   267,   267,   267,   267,   267,   267,   267,
2006       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       267,   267,   267,   267,   267,    26,    34,    23,    25,    23,
2007       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,        45,    29,    23,    34,    35,    32,    34,    34,    91,    25,
2008       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,        26,   252,    22,    36,   241,   316,   317,   252,   252,   254,
2009       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       263,   259,   259,   263,   263,   263,   263,   259,   259,   263,
2010       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,        35,    91,   240,   259,   240,    35,    34,    91,    38,     6,
2011       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,         7,    34,   253,   263,   255,   252,    35,    91,    24,    24,
2012       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,        32,   252,   252,   252,   252,   252,   252,   252,   252,   252,
2013       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       259,   263,   259,   263,    25,    34,    25,    21,    25,    22,
2014         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,        38,    25,    91,    21,    25,    25,    29,    38,    35,    45,
2015        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        25,   267,   267,   267,   267,   267,   267,   267,    91,    29,
2016        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,       267,     4,    91,    25,    29,    41,    91,   267,   267,    91,
2017        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        29,    29,    29,    41,   267,   267,   267,   267,   267,   267,
2018        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,       267,   267,   267,     4,   267,     4,   267,    38,    25,    32,
2019        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,        33,    91,    25,    29,    32,    35,    22,    32,    34,    40,
2020        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,        38,   252,   259,   263,   263,   263,   259,   263,    35,    34,
2021        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,       259,     6,     7,     9,    10,   256,   257,   259,   260,   261,
2022        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,       262,   263,    35,    32,    34,    33,    33,   252,   253,    35,
2023        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        34,    35,    91,    33,   245,   263,   246,   263,   247,   259,
2024       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,       245,   248,   263,    21,   249,   263,   276,   250,   259,   245,
2025       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,         9,    10,   251,   260,   263,   256,   259,   256,   259,    91,
2026       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,        32,    32,    91,    23,    22,    41,    32,    39,    36,    25,
2027       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,        23,   267,   267,   267,   267,    41,    36,     4,   259,   259,
2028       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,       261,   261,     5,     8,    41,    36,    25,    35,   267,    41,
2029       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,        36,    91,    29,    25,   267,    32,   267,     4,     4,    26,
2030       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,        91,    21,    23,    35,    25,    40,    25,    41,    39,    25,
2031       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       240,   259,   259,   240,    40,    41,   256,     6,     7,     8,
2032       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,         8,   257,   261,    40,    41,    34,    24,   252,    40,    41,
2033       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,        35,    34,   246,    32,   248,   256,   256,    29,    23,    29,
2034       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,        34,    35,    41,    36,    91,    40,    34,    36,    40,   261,
2035       213,   214,   215,   216,   217,   218,   219,   220,   221,     3,       261,    36,    40,    40,    21,    36,    40,    41,    36,   267,
2036         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,        32,    35,    34,    25,    41,    34,    41,    21,    25,    33,
2037        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        91,    40,    41,    91,    41,    91,    32,    41,    91,    40,
2038        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        41,   249,    32,    41,    26,    35,    34,    40,    40,    41,
2039        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    29,    24,    36,    21,    40,    24,    40,    24,    40,
2040        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,        24,    36,    36,    40,    34,    35,    41,    40,    91,    24,
2041        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,        27,    24,    25,    38,    35,    27,    91,    25,    91,    25,
2042        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        91,    25,    35,    41,    91,    40,    39,    23,    24,    29,
2043        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        29,    29,    42,    29,    38,    25,    24,    42,    24,    42,
2044        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        23,    24,    42,    38,    40,    23,    36,    40,    28,    25,
2045        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,        38,    35,    34,    91,    29,    42,    40,    25,    29,    25,
2046       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,        29,    28,    25,    29,    40,    91,    28,    35,    45,    21,
2047       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,        42,    29,    91,    25,    29,    23,    25,    91,    42,    23,
2048       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,        42,    23,    21,    42,    23,    23,    40,    21,    38,    36,
2049       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,        34,    29,    42,    35,    39,    34,    25,    38,    36,    29,
2050       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,        25,    29,    25,    34,    29,    25,    28,    45,    34,    40,
2051       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,        25,    34,    23,    25,    41,    36,    39,    91,    21,    23,
2052       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,        23,    34,    23,    91,    21,    36,    34,    25,    25,    38,
2053       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,        40,    41,    36,    38,    25,    25,    25,    25,    36,    34,
2054       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,        25,    25,    32,    39,    91,    36,    40,    21,    21,    32,
2055       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,        91,    21,    34,    32,    91,    36,    41,    91,    38,    33,
2056       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,        36,    38,    25,    36,    21,    40,    24,    21,    25,    21,
2057       214,   215,   216,   217,   218,   219,   220,   221        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  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing        25,    25,    25,    25,    40,    42,    38,    38,    40,    38,
2061     symbol of state STATE-NUM.  */        40,    25,    25,    39,    25,    25,    38,    38,    38,    38,
2062  static const unsigned short yystos[] =        39
 {  
        0,     1,     3,    18,    20,    21,    24,    29,    34,    35,  
       36,    38,   228,   229,   230,   231,   269,   270,   271,   272,  
      273,   274,   277,   278,   279,   280,   281,   314,   317,    21,  
       35,    22,    22,    26,    32,    38,    22,    22,    38,    31,  
        0,   225,   226,   267,   268,     3,     4,     5,     6,     7,  
        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,  
       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,  
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,  
       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,  
       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,  
       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,  
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,  
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,  
       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,  
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   224,   258,   261,   262,   263,   266,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
      266,   266,    21,    22,    36,    37,    36,    18,    26,    30,  
       36,    29,    37,    19,    36,   267,     8,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,   260,   261,   260,   260,  
      260,   260,   260,   260,   260,   260,     3,     8,     9,    10,  
       11,    12,    13,    14,    15,    16,    17,   263,    20,   282,  
       18,    20,    22,    30,   234,   282,   283,   284,   285,   291,  
      293,   294,   295,   296,   297,   298,   300,   302,   303,   304,  
      305,   306,   307,    18,    30,   236,   294,   304,   237,   294,  
      304,    18,    20,    30,   242,   285,   293,   303,    26,   238,  
      290,   291,   282,    18,    22,    30,   235,   282,   292,   297,  
      301,   302,   316,    19,    26,    30,    36,    39,   232,   285,  
      286,   287,   288,   289,   315,   233,   285,   286,   287,   288,  
      289,   315,   258,   264,   266,   282,    18,    37,    37,    21,  
       37,    32,    22,    22,    36,    38,   261,    25,    38,    39,  
       25,    31,    26,   266,   266,   266,   266,   266,   266,   266,  
      266,   266,   266,   266,   266,    38,    26,   266,   266,   266,  
      266,    38,    25,    26,    31,   266,   266,   266,    38,    20,  
       26,   266,   266,   266,   266,   266,   266,    38,    31,    26,  
       37,    32,   258,   266,   266,    37,    35,    39,    37,    20,  
       20,    19,    18,    21,    18,    18,    24,    21,   286,   287,  
      288,   289,   286,   286,   286,   286,   286,   286,   286,   286,  
      286,   286,   286,    21,    21,   258,   258,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,   262,   262,    21,    18,  
       21,    36,    31,   222,   223,   243,   255,   265,   276,   244,  
      254,   258,   252,   262,    21,    25,    21,    18,    30,    39,  
      239,   294,   298,   299,   304,   307,   308,   309,   310,   311,  
      262,   262,   262,   262,   257,   258,   262,    23,    23,    36,  
       35,    26,   252,    22,    32,    22,    37,    35,    36,    31,  
       26,    26,    31,    26,    26,   266,   266,   266,   266,   266,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
       26,    26,   266,   266,    26,    31,    26,    37,    32,   264,  
      264,   266,   266,   266,    26,    32,    26,    38,    26,    32,  
      266,   266,   266,   266,   266,   266,   266,   266,   266,   266,  
      266,   266,   266,    23,    32,    20,    22,    20,    42,    26,  
       20,    31,    32,    29,    31,    31,    89,   252,    19,    33,  
      241,   312,   313,   252,   252,   254,   262,   258,   258,   262,  
      262,   262,   262,   258,   258,   262,    32,    89,   240,   258,  
      240,    32,    31,    89,    35,    31,   222,   223,   253,   262,  
      255,   252,    32,    89,    21,    21,    29,   252,   252,   252,  
      252,   252,   252,   252,   252,   252,   258,   262,   258,   262,  
       22,    22,    18,    22,    19,    35,    22,    89,    18,    22,  
       22,    26,    42,    22,   266,   266,   266,   266,   266,   266,  
      266,    89,    26,   266,     4,    89,    22,    26,    38,    89,  
      266,   266,    89,    26,    26,    26,    38,   266,   266,   266,  
      266,   266,   266,   266,   266,   266,     4,   266,     4,   266,  
       35,    29,    30,    89,    22,    26,    29,    32,    19,    29,  
       31,    37,    35,   252,   258,   262,   262,   262,   258,   262,  
       32,    31,   258,     6,     7,   256,   258,   259,   260,   261,  
      262,   265,    32,    29,    31,    30,    30,   252,   253,    32,  
       31,    32,    89,    30,   245,   262,   246,   262,   247,   258,  
      245,   248,   262,    18,   249,   262,   275,   250,   258,   245,  
        6,     7,   251,   259,   262,   256,   258,   256,   258,    89,  
       29,    89,    20,    19,    38,    29,    36,    33,    22,    20,  
      266,   266,   266,   266,    38,    33,     4,   260,   260,     5,  
       38,    33,    22,    32,   266,    38,    33,    89,    26,    22,  
      266,    29,   266,     4,     4,    23,    18,    20,    32,    22,  
       37,    22,    38,    36,    22,   240,   258,   258,   240,    37,  
       38,   256,     5,     5,   260,    37,    38,    31,    21,   252,  
       37,    38,    32,    31,   246,    29,   248,   256,   256,    26,  
       31,    32,    38,    33,    89,    37,    31,    33,    37,   260,  
      260,    33,    37,    37,    18,    33,    37,    38,    33,   266,  
       29,    22,    38,    31,    38,    18,    22,    30,    89,    37,  
       38,    89,    38,    89,    29,    38,    89,    37,    38,   249,  
       29,    32,    31,    37,    37,    38,    31,    26,    21,    33,  
       18,    37,    21,    37,    21,    37,    21,    33,    33,    37,  
       38,    37,    89,    21,    24,    21,    22,    35,    32,    24,  
       89,    22,    89,    22,    89,    22,    32,    38,    89,    36,  
       20,    21,    26,    26,    26,    39,    26,    35,    22,    21,  
       39,    21,    39,    20,    21,    39,    35,    37,    20,    33,  
       37,    25,    22,    35,    32,    31,    89,    26,    39,    37,  
       22,    26,    22,    26,    25,    22,    26,    37,    89,    25,  
       32,    42,    18,    39,    26,    89,    22,    26,    20,    22,  
       89,    39,    20,    39,    20,    18,    39,    20,    20,    37,  
       18,    35,    33,    31,    26,    39,    32,    36,    31,    22,  
       35,    33,    26,    22,    26,    22,    31,    26,    22,    25,  
       42,    31,    37,    22,    31,    20,    22,    38,    33,    36,  
       89,    18,    20,    20,    31,    20,    89,    18,    33,    31,  
       22,    22,    35,    37,    38,    33,    35,    22,    22,    22,  
       22,    33,    31,    22,    22,    29,    36,    89,    33,    37,  
       18,    18,    29,    89,    18,    31,    29,    89,    33,    38,  
       89,    35,    30,    33,    35,    22,    33,    18,    37,    21,  
       18,    22,    18,    18,    29,    18,    35,    89,    35,    30,  
       37,    35,    30,    35,    18,    21,    26,    22,    22,    18,  
       22,    18,    30,    35,    39,    37,    35,    30,    37,    30,  
       22,    26,    22,    22,    22,    22,    22,    37,    39,    35,  
       35,    37,    35,    37,    22,    22,    36,    22,    22,    35,  
       35,    35,    35,    36  
2063  };  };
2064    
2065  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1949  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 1984  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 2032  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 2072  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 2111  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 2309  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 2348  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 2373  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 2401  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 2534  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->QueryDatabase(yyvsp[0].String);                     }      { 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->ResetChannel(yyvsp[0].Number);                      }      { 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      { yyval.String = LSCPSERVER->ResetSampler();                        }      { yyval.String = LSCPSERVER->ResetSampler();                        }
2756      break;      break;
2757    
2758    case 26:    case 26:
2759  #line 111 "lscp.y"  #line 120 "lscp.y"
2760      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { 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_channels);     }      { 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_voice_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_stream_count); }      { 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_buffer_fill);  }      { 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_info);         }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);  }
2786      break;      break;
2787    
2788    case 32:    case 32:
2789  #line 119 "lscp.y"  #line 128 "lscp.y"
2790      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }      { 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_channels);     }      { 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_voice_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_stream_count); }      { 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_buffer_fill);  }      { 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_info);         }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);  }
2816      break;      break;
2817    
2818    case 38:    case 38:
2819  #line 127 "lscp.y"  #line 136 "lscp.y"
2820      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }      { 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->GetAvailableEngines();                          }      { 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->GetAvailableMidiInputDrivers();                 }      { 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->GetMidiInputDriverInfo(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[-2].String, yyvsp[0].String);        }      { 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->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { 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->GetAvailableAudioOutputDrivers();               }      { 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->GetAudioOutputDriverInfo(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[-2].String, yyvsp[0].String);      }      { 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->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { 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->GetAudioOutputDeviceCount();                    }      { 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->GetMidiInputDeviceCount();                      }      { 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->GetAudioOutputDeviceInfo(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->GetMidiInputDeviceInfo(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->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { 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->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { 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->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { 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->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { 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->GetChannels();                                  }      { 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->GetChannelInfo(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->GetBufferFill(yyvsp[-2].FillResponse, 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->GetStreamCount(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->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }
2931      break;      break;
2932    
2933    case 61:    case 61:
2934  #line 152 "lscp.y"  #line 161 "lscp.y"
2935      { yyval.String = LSCPSERVER->GetEngineInfo(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->SetAudioOutputDeviceParameter(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->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
2946      break;      break;
2947    
2948    case 64:    case 64:
2949  #line 157 "lscp.y"  #line 166 "lscp.y"
2950      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
2951      break;      break;
2952    
2953    case 65:    case 65:
2954  #line 158 "lscp.y"  #line 167 "lscp.y"
2955      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }
2956      break;      break;
2957    
2958    case 66:    case 66:
2959  #line 159 "lscp.y"  #line 168 "lscp.y"
2960      { yyval.String = yyvsp[0].String;                                                         }      { 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 160 "lscp.y"  #line 169 "lscp.y"
2965      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { 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[-2].String,yyvsp[0].KeyValList); }      { 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->CreateAudioOutputDevice(yyvsp[0].String);    }      { 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[-2].String,yyvsp[0].KeyValList);   }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
2981      break;      break;
2982    
2983    case 71:    case 71:
2984  #line 166 "lscp.y"  #line 175 "lscp.y"
2985      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { 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->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
2991      break;      break;
2992    
2993    case 73:    case 73:
2994  #line 170 "lscp.y"  #line 179 "lscp.y"
2995      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { 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 174 "lscp.y"  #line 183 "lscp.y"
3005      { yyval.String = yyvsp[0].String; }      { 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->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].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->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].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->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].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->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].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->SetMIDIInputDevice(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->SetMIDIInputPort(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->SetMIDIInputChannel(yyvsp[0].Number, 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->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
3046      break;      break;
3047    
3048    case 84:    case 84:
3049  #line 185 "lscp.y"  #line 194 "lscp.y"
3050      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { 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[-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 189 "lscp.y"  #line 198 "lscp.y"
3060      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { 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_bytes;      }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
3066      break;      break;
3067    
3068    case 88:    case 88:
3069  #line 193 "lscp.y"  #line 202 "lscp.y"
3070      { yyval.FillResponse = fill_response_percentage; }      { 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->GetAudioOutputDevices(); }      { 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->GetMidiInputDevices();   }      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }
3081      break;      break;
3082    
3083    case 91:    case 91:
3084  #line 198 "lscp.y"  #line 207 "lscp.y"
3085      { yyval.String = LSCPSERVER->ListChannels();          }      { 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);       }      { yyval.String = LSCPSERVER->ListChannels();                    }
3091      break;      break;
3092    
3093    case 93:    case 93:
3094  #line 202 "lscp.y"  #line 209 "lscp.y"
3095      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { yyval.String = LSCPSERVER->ListAvailableEngines();            }
3096      break;      break;
3097    
3098    case 94:    case 94:
3099  #line 205 "lscp.y"  #line 210 "lscp.y"
3100      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { 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;
3112    
3113      case 97:
3114    #line 215 "lscp.y"
3115        { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }
3116      break;      break;
3117    
3118    case 100:    case 98:
3119  #line 221 "lscp.y"  #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; }      { yyval.Number = 16; }
3126      break;      break;
3127    
3128    case 103:    case 107:
3129  #line 228 "lscp.y"  #line 241 "lscp.y"
3130      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.Dotnum = yyvsp[0].Number; }
3131      break;      break;
3132    
3133    case 110:    case 113:
3134  #line 245 "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;      break;
3142    
3143    case 111:    case 116:
3144  #line 246 "lscp.y"  #line 262 "lscp.y"
3145      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }      { yyval.String = "\"" + yyvsp[-1].String + "\""; }
3146      break;      break;
3147    
3148    case 112:    case 117:
3149  #line 252 "lscp.y"  #line 263 "lscp.y"
3150        { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }
3151        break;
3152    
3153      case 118:
3154    #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 113:    case 120:
3164  #line 253 "lscp.y"  #line 273 "lscp.y"
3165      { yyval.Dotnum = -1; }      { yyval.Dotnum = -1; }
3166      break;      break;
3167    
3168    case 114:    case 121:
3169  #line 256 "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 115:    case 122:
3174  #line 257 "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 116:    case 123:
3179  #line 260 "lscp.y"  #line 280 "lscp.y"
3180      { yyval.Dotnum = atof(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 117:    case 124:
3184  #line 261 "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 118:    case 125:
3189  #line 262 "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 119:    case 126:
3194  #line 266 "lscp.y"  #line 286 "lscp.y"
3195      { yyval.String = yyvsp[0].Char;      }      { yyval.String = yyvsp[0].Char;      }
3196      break;      break;
3197    
3198    case 120:    case 127:
3199  #line 267 "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 121:    case 128:
3204  #line 270 "lscp.y"  #line 290 "lscp.y"
3205      { yyval.Char = '0'; }      { yyval.Char = '0'; }
3206      break;      break;
3207    
3208    case 122:    case 129:
3209  #line 271 "lscp.y"  #line 291 "lscp.y"
3210      { yyval.Char = '1'; }      { yyval.Char = '1'; }
3211      break;      break;
3212    
3213    case 123:    case 130:
3214  #line 272 "lscp.y"  #line 292 "lscp.y"
3215      { yyval.Char = '2'; }      { yyval.Char = '2'; }
3216      break;      break;
3217    
3218    case 124:    case 131:
3219  #line 273 "lscp.y"  #line 293 "lscp.y"
3220      { yyval.Char = '3'; }      { yyval.Char = '3'; }
3221      break;      break;
3222    
3223    case 125:    case 132:
3224  #line 274 "lscp.y"  #line 294 "lscp.y"
3225      { yyval.Char = '4'; }      { yyval.Char = '4'; }
3226      break;      break;
3227    
3228    case 126:    case 133:
3229  #line 275 "lscp.y"  #line 295 "lscp.y"
3230      { yyval.Char = '5'; }      { yyval.Char = '5'; }
3231      break;      break;
3232    
3233    case 127:    case 134:
3234  #line 276 "lscp.y"  #line 296 "lscp.y"
3235      { yyval.Char = '6'; }      { yyval.Char = '6'; }
3236      break;      break;
3237    
3238    case 128:    case 135:
3239  #line 277 "lscp.y"  #line 297 "lscp.y"
3240      { yyval.Char = '7'; }      { yyval.Char = '7'; }
3241      break;      break;
3242    
3243    case 129:    case 136:
3244  #line 278 "lscp.y"  #line 298 "lscp.y"
3245      { yyval.Char = '8'; }      { yyval.Char = '8'; }
3246      break;      break;
3247    
3248    case 130:    case 137:
3249  #line 279 "lscp.y"  #line 299 "lscp.y"
3250      { yyval.Char = '9'; }      { yyval.Char = '9'; }
3251      break;      break;
3252    
3253    case 131:    case 138:
3254  #line 282 "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 132:    case 139:
3259  #line 283 "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 133:    case 140:
3264  #line 284 "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 134:    case 141:
3269  #line 285 "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 135:    case 142:
3274  #line 286 "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 136:    case 143:
3279  #line 287 "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 137:    case 144:
3284  #line 288 "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 138:    case 145:
3289  #line 289 "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 139:    case 146:
3294  #line 290 "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 140:    case 147:
3299  #line 291 "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 141:    case 148:
3304  #line 293 "lscp.y"  #line 313 "lscp.y"
3305      { yyval.Char = 'A'; }      { yyval.Char = 'A'; }
3306      break;      break;
3307    
3308    case 142:    case 149:
3309  #line 293 "lscp.y"  #line 313 "lscp.y"
3310      { yyval.Char = 'B'; }      { yyval.Char = 'B'; }
3311      break;      break;
3312    
3313    case 143:    case 150:
3314  #line 293 "lscp.y"  #line 313 "lscp.y"
3315      { yyval.Char = 'C'; }      { yyval.Char = 'C'; }
3316      break;      break;
3317    
3318    case 144:    case 151:
3319  #line 293 "lscp.y"  #line 313 "lscp.y"
3320      { yyval.Char = 'D'; }      { yyval.Char = 'D'; }
3321      break;      break;
3322    
3323    case 145:    case 152:
3324  #line 293 "lscp.y"  #line 313 "lscp.y"
3325      { yyval.Char = 'E'; }      { yyval.Char = 'E'; }
3326      break;      break;
3327    
3328    case 146:    case 153:
3329  #line 293 "lscp.y"  #line 313 "lscp.y"
3330      { yyval.Char = 'F'; }      { yyval.Char = 'F'; }
3331      break;      break;
3332    
3333    case 147:    case 154:
3334  #line 293 "lscp.y"  #line 313 "lscp.y"
3335      { yyval.Char = 'G'; }      { yyval.Char = 'G'; }
3336      break;      break;
3337    
3338    case 148:    case 155:
3339  #line 293 "lscp.y"  #line 313 "lscp.y"
3340      { yyval.Char = 'H'; }      { yyval.Char = 'H'; }
3341      break;      break;
3342    
3343    case 149:    case 156:
3344  #line 293 "lscp.y"  #line 313 "lscp.y"
3345      { yyval.Char = 'I'; }      { yyval.Char = 'I'; }
3346      break;      break;
3347    
3348    case 150:    case 157:
3349  #line 293 "lscp.y"  #line 313 "lscp.y"
3350      { yyval.Char = 'J'; }      { yyval.Char = 'J'; }
3351      break;      break;
3352    
3353    case 151:    case 158:
3354  #line 293 "lscp.y"  #line 313 "lscp.y"
3355      { yyval.Char = 'K'; }      { yyval.Char = 'K'; }
3356      break;      break;
3357    
3358    case 152:    case 159:
3359  #line 293 "lscp.y"  #line 313 "lscp.y"
3360      { yyval.Char = 'L'; }      { yyval.Char = 'L'; }
3361      break;      break;
3362    
3363    case 153:    case 160:
3364  #line 293 "lscp.y"  #line 313 "lscp.y"
3365      { yyval.Char = 'M'; }      { yyval.Char = 'M'; }
3366      break;      break;
3367    
3368    case 154:    case 161:
3369  #line 293 "lscp.y"  #line 313 "lscp.y"
3370      { yyval.Char = 'N'; }      { yyval.Char = 'N'; }
3371      break;      break;
3372    
3373    case 155:    case 162:
3374  #line 293 "lscp.y"  #line 313 "lscp.y"
3375      { yyval.Char = 'O'; }      { yyval.Char = 'O'; }
3376      break;      break;
3377    
3378    case 156:    case 163:
3379  #line 293 "lscp.y"  #line 313 "lscp.y"
3380      { yyval.Char = 'P'; }      { yyval.Char = 'P'; }
3381      break;      break;
3382    
3383    case 157:    case 164:
3384  #line 293 "lscp.y"  #line 313 "lscp.y"
3385      { yyval.Char = 'Q'; }      { yyval.Char = 'Q'; }
3386      break;      break;
3387    
3388    case 158:    case 165:
3389  #line 293 "lscp.y"  #line 313 "lscp.y"
3390      { yyval.Char = 'R'; }      { yyval.Char = 'R'; }
3391      break;      break;
3392    
3393    case 159:    case 166:
3394  #line 293 "lscp.y"  #line 313 "lscp.y"
3395      { yyval.Char = 'S'; }      { yyval.Char = 'S'; }
3396      break;      break;
3397    
3398    case 160:    case 167:
3399  #line 293 "lscp.y"  #line 313 "lscp.y"
3400      { yyval.Char = 'T'; }      { yyval.Char = 'T'; }
3401      break;      break;
3402    
3403    case 161:    case 168:
3404  #line 293 "lscp.y"  #line 313 "lscp.y"
3405      { yyval.Char = 'U'; }      { yyval.Char = 'U'; }
3406      break;      break;
3407    
3408    case 162:    case 169:
3409  #line 293 "lscp.y"  #line 313 "lscp.y"
3410      { yyval.Char = 'V'; }      { yyval.Char = 'V'; }
3411      break;      break;
3412    
3413    case 163:    case 170:
3414  #line 293 "lscp.y"  #line 313 "lscp.y"
3415      { yyval.Char = 'W'; }      { yyval.Char = 'W'; }
3416      break;      break;
3417    
3418    case 164:    case 171:
3419  #line 293 "lscp.y"  #line 313 "lscp.y"
3420      { yyval.Char = 'X'; }      { yyval.Char = 'X'; }
3421      break;      break;
3422    
3423    case 165:    case 172:
3424  #line 293 "lscp.y"  #line 313 "lscp.y"
3425      { yyval.Char = 'Y'; }      { yyval.Char = 'Y'; }
3426      break;      break;
3427    
3428    case 166:    case 173:
3429  #line 293 "lscp.y"  #line 313 "lscp.y"
3430      { yyval.Char = 'Z'; }      { yyval.Char = 'Z'; }
3431      break;      break;
3432    
3433    case 167:    case 174:
3434  #line 294 "lscp.y"  #line 314 "lscp.y"
3435      { yyval.Char = 'a'; }      { yyval.Char = 'a'; }
3436      break;      break;
3437    
3438    case 168:    case 175:
3439  #line 294 "lscp.y"  #line 314 "lscp.y"
3440      { yyval.Char = 'b'; }      { yyval.Char = 'b'; }
3441      break;      break;
3442    
3443    case 169:    case 176:
3444  #line 294 "lscp.y"  #line 314 "lscp.y"
3445      { yyval.Char = 'c'; }      { yyval.Char = 'c'; }
3446      break;      break;
3447    
3448    case 170:    case 177:
3449  #line 294 "lscp.y"  #line 314 "lscp.y"
3450      { yyval.Char = 'd'; }      { yyval.Char = 'd'; }
3451      break;      break;
3452    
3453    case 171:    case 178:
3454  #line 294 "lscp.y"  #line 314 "lscp.y"
3455      { yyval.Char = 'e'; }      { yyval.Char = 'e'; }
3456      break;      break;
3457    
3458    case 172:    case 179:
3459  #line 294 "lscp.y"  #line 314 "lscp.y"
3460      { yyval.Char = 'f'; }      { yyval.Char = 'f'; }
3461      break;      break;
3462    
3463    case 173:    case 180:
3464  #line 294 "lscp.y"  #line 314 "lscp.y"
3465      { yyval.Char = 'g'; }      { yyval.Char = 'g'; }
3466      break;      break;
3467    
3468    case 174:    case 181:
3469  #line 294 "lscp.y"  #line 314 "lscp.y"
3470      { yyval.Char = 'h'; }      { yyval.Char = 'h'; }
3471      break;      break;
3472    
3473    case 175:    case 182:
3474  #line 294 "lscp.y"  #line 314 "lscp.y"
3475      { yyval.Char = 'i'; }      { yyval.Char = 'i'; }
3476      break;      break;
3477    
3478    case 176:    case 183:
3479  #line 294 "lscp.y"  #line 314 "lscp.y"
3480      { yyval.Char = 'j'; }      { yyval.Char = 'j'; }
3481      break;      break;
3482    
3483    case 177:    case 184:
3484  #line 294 "lscp.y"  #line 314 "lscp.y"
3485      { yyval.Char = 'k'; }      { yyval.Char = 'k'; }
3486      break;      break;
3487    
3488    case 178:    case 185:
3489  #line 294 "lscp.y"  #line 314 "lscp.y"
3490      { yyval.Char = 'l'; }      { yyval.Char = 'l'; }
3491      break;      break;
3492    
3493    case 179:    case 186:
3494  #line 294 "lscp.y"  #line 314 "lscp.y"
3495      { yyval.Char = 'm'; }      { yyval.Char = 'm'; }
3496      break;      break;
3497    
3498    case 180:    case 187:
3499  #line 294 "lscp.y"  #line 314 "lscp.y"
3500      { yyval.Char = 'n'; }      { yyval.Char = 'n'; }
3501      break;      break;
3502    
3503    case 181:    case 188:
3504  #line 294 "lscp.y"  #line 314 "lscp.y"
3505      { yyval.Char = 'o'; }      { yyval.Char = 'o'; }
3506      break;      break;
3507    
3508    case 182:    case 189:
3509  #line 294 "lscp.y"  #line 314 "lscp.y"
3510      { yyval.Char = 'p'; }      { yyval.Char = 'p'; }
3511      break;      break;
3512    
3513    case 183:    case 190:
3514  #line 294 "lscp.y"  #line 314 "lscp.y"
3515      { yyval.Char = 'q'; }      { yyval.Char = 'q'; }
3516      break;      break;
3517    
3518    case 184:    case 191:
3519  #line 294 "lscp.y"  #line 314 "lscp.y"
3520      { yyval.Char = 'r'; }      { yyval.Char = 'r'; }
3521      break;      break;
3522    
3523    case 185:    case 192:
3524  #line 294 "lscp.y"  #line 314 "lscp.y"
3525      { yyval.Char = 's'; }      { yyval.Char = 's'; }
3526      break;      break;
3527    
3528    case 186:    case 193:
3529  #line 294 "lscp.y"  #line 314 "lscp.y"
3530      { yyval.Char = 't'; }      { yyval.Char = 't'; }
3531      break;      break;
3532    
3533    case 187:    case 194:
3534  #line 294 "lscp.y"  #line 314 "lscp.y"
3535      { yyval.Char = 'u'; }      { yyval.Char = 'u'; }
3536      break;      break;
3537    
3538    case 188:    case 195:
3539  #line 294 "lscp.y"  #line 314 "lscp.y"
3540      { yyval.Char = 'v'; }      { yyval.Char = 'v'; }
3541      break;      break;
3542    
3543    case 189:    case 196:
3544  #line 294 "lscp.y"  #line 314 "lscp.y"
3545      { yyval.Char = 'w'; }      { yyval.Char = 'w'; }
3546      break;      break;
3547    
3548    case 190:    case 197:
3549  #line 294 "lscp.y"  #line 314 "lscp.y"
3550      { yyval.Char = 'x'; }      { yyval.Char = 'x'; }
3551      break;      break;
3552    
3553    case 191:    case 198:
3554  #line 294 "lscp.y"  #line 314 "lscp.y"
3555      { yyval.Char = 'y'; }      { yyval.Char = 'y'; }
3556      break;      break;
3557    
3558    case 192:    case 199:
3559  #line 294 "lscp.y"  #line 314 "lscp.y"
3560      { yyval.Char = 'z'; }      { yyval.Char = 'z'; }
3561      break;      break;
3562    
3563    case 193:    case 200:
3564  #line 295 "lscp.y"  #line 315 "lscp.y"
3565      { yyval.Char = '0'; }      { yyval.Char = '0'; }
3566      break;      break;
3567    
3568    case 194:    case 201:
3569  #line 295 "lscp.y"  #line 315 "lscp.y"
3570      { yyval.Char = '1'; }      { yyval.Char = '1'; }
3571      break;      break;
3572    
3573    case 195:    case 202:
3574  #line 295 "lscp.y"  #line 315 "lscp.y"
3575      { yyval.Char = '2'; }      { yyval.Char = '2'; }
3576      break;      break;
3577    
3578    case 196:    case 203:
3579  #line 295 "lscp.y"  #line 315 "lscp.y"
3580      { yyval.Char = '3'; }      { yyval.Char = '3'; }
3581      break;      break;
3582    
3583    case 197:    case 204:
3584  #line 295 "lscp.y"  #line 315 "lscp.y"
3585      { yyval.Char = '4'; }      { yyval.Char = '4'; }
3586      break;      break;
3587    
3588    case 198:    case 205:
3589  #line 295 "lscp.y"  #line 315 "lscp.y"
3590      { yyval.Char = '5'; }      { yyval.Char = '5'; }
3591      break;      break;
3592    
3593    case 199:    case 206:
3594  #line 295 "lscp.y"  #line 315 "lscp.y"
3595      { yyval.Char = '6'; }      { yyval.Char = '6'; }
3596      break;      break;
3597    
3598    case 200:    case 207:
3599  #line 295 "lscp.y"  #line 315 "lscp.y"
3600      { yyval.Char = '7'; }      { yyval.Char = '7'; }
3601      break;      break;
3602    
3603    case 201:    case 208:
3604  #line 295 "lscp.y"  #line 315 "lscp.y"
3605      { yyval.Char = '8'; }      { yyval.Char = '8'; }
3606      break;      break;
3607    
3608    case 202:    case 209:
3609  #line 295 "lscp.y"  #line 315 "lscp.y"
3610      { yyval.Char = '9'; }      { yyval.Char = '9'; }
3611      break;      break;
3612    
3613    case 203:    case 210:
3614  #line 296 "lscp.y"  #line 316 "lscp.y"
3615      { yyval.Char = '!'; }      { yyval.Char = '!'; }
3616      break;      break;
3617    
3618    case 204:    case 211:
3619  #line 296 "lscp.y"  #line 316 "lscp.y"
3620      { yyval.Char = '#'; }      { yyval.Char = '#'; }
3621      break;      break;
3622    
3623    case 205:    case 212:
3624  #line 296 "lscp.y"  #line 316 "lscp.y"
3625      { yyval.Char = '$'; }      { yyval.Char = '$'; }
3626      break;      break;
3627    
3628    case 206:    case 213:
3629  #line 296 "lscp.y"  #line 316 "lscp.y"
3630      { yyval.Char = '%'; }      { yyval.Char = '%'; }
3631      break;      break;
3632    
3633    case 207:    case 214:
3634  #line 296 "lscp.y"  #line 316 "lscp.y"
3635      { yyval.Char = '&'; }      { yyval.Char = '&'; }
3636      break;      break;
3637    
3638    case 208:    case 215:
3639  #line 296 "lscp.y"  #line 316 "lscp.y"
3640      { yyval.Char = '('; }      { yyval.Char = '('; }
3641      break;      break;
3642    
3643    case 209:    case 216:
3644  #line 296 "lscp.y"  #line 316 "lscp.y"
3645      { yyval.Char = ')'; }      { yyval.Char = ')'; }
3646      break;      break;
3647    
3648    case 210:    case 217:
3649  #line 296 "lscp.y"  #line 316 "lscp.y"
3650      { yyval.Char = '*'; }      { yyval.Char = '*'; }
3651      break;      break;
3652    
3653    case 211:    case 218:
3654  #line 296 "lscp.y"  #line 316 "lscp.y"
3655      { yyval.Char = '+'; }      { yyval.Char = '+'; }
3656      break;      break;
3657    
3658    case 212:    case 219:
3659  #line 296 "lscp.y"  #line 316 "lscp.y"
3660      { yyval.Char = '-'; }      { yyval.Char = '-'; }
3661      break;      break;
3662    
3663    case 213:    case 220:
3664  #line 296 "lscp.y"  #line 316 "lscp.y"
3665      { yyval.Char = '.'; }      { yyval.Char = '.'; }
3666      break;      break;
3667    
3668    case 214:    case 221:
3669  #line 296 "lscp.y"  #line 316 "lscp.y"
3670      { yyval.Char = ','; }      { yyval.Char = ','; }
3671      break;      break;
3672    
3673    case 215:    case 222:
3674  #line 296 "lscp.y"  #line 316 "lscp.y"
3675      { yyval.Char = '/'; }      { yyval.Char = '/'; }
3676      break;      break;
3677    
3678    case 216:    case 223:
3679  #line 297 "lscp.y"  #line 317 "lscp.y"
3680      { yyval.Char = ':'; }      { yyval.Char = ':'; }
3681      break;      break;
3682    
3683    case 217:    case 224:
3684  #line 297 "lscp.y"  #line 317 "lscp.y"
3685      { yyval.Char = ';'; }      { yyval.Char = ';'; }
3686      break;      break;
3687    
3688    case 218:    case 225:
3689  #line 297 "lscp.y"  #line 317 "lscp.y"
3690      { yyval.Char = '<'; }      { yyval.Char = '<'; }
3691      break;      break;
3692    
3693    case 219:    case 226:
3694  #line 297 "lscp.y"  #line 317 "lscp.y"
3695      { yyval.Char = '='; }      { yyval.Char = '='; }
3696      break;      break;
3697    
3698    case 220:    case 227:
3699  #line 297 "lscp.y"  #line 317 "lscp.y"
3700      { yyval.Char = '>'; }      { yyval.Char = '>'; }
3701      break;      break;
3702    
3703    case 221:    case 228:
3704  #line 297 "lscp.y"  #line 317 "lscp.y"
3705      { yyval.Char = '?'; }      { yyval.Char = '?'; }
3706      break;      break;
3707    
3708    case 222:    case 229:
3709  #line 297 "lscp.y"  #line 317 "lscp.y"
3710      { yyval.Char = '@'; }      { yyval.Char = '@'; }
3711      break;      break;
3712    
3713    case 223:    case 230:
3714  #line 298 "lscp.y"  #line 318 "lscp.y"
3715      { yyval.Char = '['; }      { yyval.Char = '['; }
3716      break;      break;
3717    
3718    case 224:    case 231:
3719  #line 298 "lscp.y"  #line 318 "lscp.y"
3720      { yyval.Char = '\\'; }      { yyval.Char = '\\'; }
3721      break;      break;
3722    
3723    case 225:    case 232:
3724  #line 298 "lscp.y"  #line 318 "lscp.y"
3725      { yyval.Char = ']'; }      { yyval.Char = ']'; }
3726      break;      break;
3727    
3728    case 226:    case 233:
3729  #line 298 "lscp.y"  #line 318 "lscp.y"
3730      { yyval.Char = '^'; }      { yyval.Char = '^'; }
3731      break;      break;
3732    
3733    case 227:    case 234:
3734  #line 298 "lscp.y"  #line 318 "lscp.y"
3735      { yyval.Char = '_'; }      { yyval.Char = '_'; }
3736      break;      break;
3737    
3738    case 228:    case 235:
3739  #line 299 "lscp.y"  #line 319 "lscp.y"
3740      { yyval.Char = '{'; }      { yyval.Char = '{'; }
3741      break;      break;
3742    
3743    case 229:    case 236:
3744  #line 299 "lscp.y"  #line 319 "lscp.y"
3745      { yyval.Char = '|'; }      { yyval.Char = '|'; }
3746      break;      break;
3747    
3748    case 230:    case 237:
3749  #line 299 "lscp.y"  #line 319 "lscp.y"
3750      { yyval.Char = '}'; }      { yyval.Char = '}'; }
3751      break;      break;
3752    
3753    case 231:    case 238:
3754  #line 299 "lscp.y"  #line 319 "lscp.y"
3755      { yyval.Char = '~'; }      { yyval.Char = '~'; }
3756      break;      break;
3757    
3758    case 232:    case 239:
3759  #line 300 "lscp.y"  #line 320 "lscp.y"
3760      { yyval.Char = '\200'; }      { yyval.Char = '\200'; }
3761      break;      break;
3762    
3763    case 233:    case 240:
3764  #line 300 "lscp.y"  #line 320 "lscp.y"
3765      { yyval.Char = '\201'; }      { yyval.Char = '\201'; }
3766      break;      break;
3767    
3768    case 234:    case 241:
3769  #line 300 "lscp.y"  #line 320 "lscp.y"
3770      { yyval.Char = '\202'; }      { yyval.Char = '\202'; }
3771      break;      break;
3772    
3773    case 235:    case 242:
3774  #line 301 "lscp.y"  #line 321 "lscp.y"
3775      { yyval.Char = '\203'; }      { yyval.Char = '\203'; }
3776      break;      break;
3777    
3778    case 236:    case 243:
3779  #line 301 "lscp.y"  #line 321 "lscp.y"
3780      { yyval.Char = '\204'; }      { yyval.Char = '\204'; }
3781      break;      break;
3782    
3783    case 237:    case 244:
3784  #line 301 "lscp.y"  #line 321 "lscp.y"
3785      { yyval.Char = '\205'; }      { yyval.Char = '\205'; }
3786      break;      break;
3787    
3788    case 238:    case 245:
3789  #line 302 "lscp.y"  #line 322 "lscp.y"
3790      { yyval.Char = '\206'; }      { yyval.Char = '\206'; }
3791      break;      break;
3792    
3793    case 239:    case 246:
3794  #line 302 "lscp.y"  #line 322 "lscp.y"
3795      { yyval.Char = '\207'; }      { yyval.Char = '\207'; }
3796      break;      break;
3797    
3798    case 240:    case 247:
3799  #line 302 "lscp.y"  #line 322 "lscp.y"
3800      { yyval.Char = '\210'; }      { yyval.Char = '\210'; }
3801      break;      break;
3802    
3803    case 241:    case 248:
3804  #line 303 "lscp.y"  #line 323 "lscp.y"
3805      { yyval.Char = '\211'; }      { yyval.Char = '\211'; }
3806      break;      break;
3807    
3808    case 242:    case 249:
3809  #line 303 "lscp.y"  #line 323 "lscp.y"
3810      { yyval.Char = '\212'; }      { yyval.Char = '\212'; }
3811      break;      break;
3812    
3813    case 243:    case 250:
3814  #line 303 "lscp.y"  #line 323 "lscp.y"
3815      { yyval.Char = '\213'; }      { yyval.Char = '\213'; }
3816      break;      break;
3817    
3818    case 244:    case 251:
3819  #line 304 "lscp.y"  #line 324 "lscp.y"
3820      { yyval.Char = '\214'; }      { yyval.Char = '\214'; }
3821      break;      break;
3822    
3823    case 245:    case 252:
3824  #line 304 "lscp.y"  #line 324 "lscp.y"
3825      { yyval.Char = '\215'; }      { yyval.Char = '\215'; }
3826      break;      break;
3827    
3828    case 246:    case 253:
3829  #line 304 "lscp.y"  #line 324 "lscp.y"
3830      { yyval.Char = '\216'; }      { yyval.Char = '\216'; }
3831      break;      break;
3832    
3833    case 247:    case 254:
3834  #line 305 "lscp.y"  #line 325 "lscp.y"
3835      { yyval.Char = '\217'; }      { yyval.Char = '\217'; }
3836      break;      break;
3837    
3838    case 248:    case 255:
3839  #line 305 "lscp.y"  #line 325 "lscp.y"
3840      { yyval.Char = '\220'; }      { yyval.Char = '\220'; }
3841      break;      break;
3842    
3843    case 249:    case 256:
3844  #line 305 "lscp.y"  #line 325 "lscp.y"
3845      { yyval.Char = '\221'; }      { yyval.Char = '\221'; }
3846      break;      break;
3847    
3848    case 250:    case 257:
3849  #line 306 "lscp.y"  #line 326 "lscp.y"
3850      { yyval.Char = '\222'; }      { yyval.Char = '\222'; }
3851      break;      break;
3852    
3853    case 251:    case 258:
3854  #line 306 "lscp.y"  #line 326 "lscp.y"
3855      { yyval.Char = '\223'; }      { yyval.Char = '\223'; }
3856      break;      break;
3857    
3858    case 252:    case 259:
3859  #line 306 "lscp.y"  #line 326 "lscp.y"
3860      { yyval.Char = '\224'; }      { yyval.Char = '\224'; }
3861      break;      break;
3862    
3863    case 253:    case 260:
3864  #line 307 "lscp.y"  #line 327 "lscp.y"
3865      { yyval.Char = '\225'; }      { yyval.Char = '\225'; }
3866      break;      break;
3867    
3868    case 254:    case 261:
3869  #line 307 "lscp.y"  #line 327 "lscp.y"
3870      { yyval.Char = '\226'; }      { yyval.Char = '\226'; }
3871      break;      break;
3872    
3873    case 255:    case 262:
3874  #line 307 "lscp.y"  #line 327 "lscp.y"
3875      { yyval.Char = '\227'; }      { yyval.Char = '\227'; }
3876      break;      break;
3877    
3878    case 256:    case 263:
3879  #line 308 "lscp.y"  #line 328 "lscp.y"
3880      { yyval.Char = '\230'; }      { yyval.Char = '\230'; }
3881      break;      break;
3882    
3883    case 257:    case 264:
3884  #line 308 "lscp.y"  #line 328 "lscp.y"
3885      { yyval.Char = '\231'; }      { yyval.Char = '\231'; }
3886      break;      break;
3887    
3888    case 258:    case 265:
3889  #line 308 "lscp.y"  #line 328 "lscp.y"
3890      { yyval.Char = '\232'; }      { yyval.Char = '\232'; }
3891      break;      break;
3892    
3893    case 259:    case 266:
3894  #line 309 "lscp.y"  #line 329 "lscp.y"
3895      { yyval.Char = '\233'; }      { yyval.Char = '\233'; }
3896      break;      break;
3897    
3898    case 260:    case 267:
3899  #line 309 "lscp.y"  #line 329 "lscp.y"
3900      { yyval.Char = '\234'; }      { yyval.Char = '\234'; }
3901      break;      break;
3902    
3903    case 261:    case 268:
3904  #line 309 "lscp.y"  #line 329 "lscp.y"
3905      { yyval.Char = '\235'; }      { yyval.Char = '\235'; }
3906      break;      break;
3907    
3908    case 262:    case 269:
3909  #line 310 "lscp.y"  #line 330 "lscp.y"
3910      { yyval.Char = '\236'; }      { yyval.Char = '\236'; }
3911      break;      break;
3912    
3913    case 263:    case 270:
3914  #line 310 "lscp.y"  #line 330 "lscp.y"
3915      { yyval.Char = '\237'; }      { yyval.Char = '\237'; }
3916      break;      break;
3917    
3918    case 264:    case 271:
3919  #line 310 "lscp.y"  #line 330 "lscp.y"
3920      { yyval.Char = '\240'; }      { yyval.Char = '\240'; }
3921      break;      break;
3922    
3923    case 265:    case 272:
3924  #line 311 "lscp.y"  #line 331 "lscp.y"
3925      { yyval.Char = '\241'; }      { yyval.Char = '\241'; }
3926      break;      break;
3927    
3928    case 266:    case 273:
3929  #line 311 "lscp.y"  #line 331 "lscp.y"
3930      { yyval.Char = '\242'; }      { yyval.Char = '\242'; }
3931      break;      break;
3932    
3933    case 267:    case 274:
3934  #line 311 "lscp.y"  #line 331 "lscp.y"
3935      { yyval.Char = '\243'; }      { yyval.Char = '\243'; }
3936      break;      break;
3937    
3938    case 268:    case 275:
3939  #line 312 "lscp.y"  #line 332 "lscp.y"
3940      { yyval.Char = '\244'; }      { yyval.Char = '\244'; }
3941      break;      break;
3942    
3943    case 269:    case 276:
3944  #line 312 "lscp.y"  #line 332 "lscp.y"
3945      { yyval.Char = '\245'; }      { yyval.Char = '\245'; }
3946      break;      break;
3947    
3948    case 270:    case 277:
3949  #line 312 "lscp.y"  #line 332 "lscp.y"
3950      { yyval.Char = '\246'; }      { yyval.Char = '\246'; }
3951      break;      break;
3952    
3953    case 271:    case 278:
3954  #line 313 "lscp.y"  #line 333 "lscp.y"
3955      { yyval.Char = '\247'; }      { yyval.Char = '\247'; }
3956      break;      break;
3957    
3958    case 272:    case 279:
3959  #line 313 "lscp.y"  #line 333 "lscp.y"
3960      { yyval.Char = '\250'; }      { yyval.Char = '\250'; }
3961      break;      break;
3962    
3963    case 273:    case 280:
3964  #line 313 "lscp.y"  #line 333 "lscp.y"
3965      { yyval.Char = '\251'; }      { yyval.Char = '\251'; }
3966      break;      break;
3967    
3968    case 274:    case 281:
3969  #line 314 "lscp.y"  #line 334 "lscp.y"
3970      { yyval.Char = '\252'; }      { yyval.Char = '\252'; }
3971      break;      break;
3972    
3973    case 275:    case 282:
3974  #line 314 "lscp.y"  #line 334 "lscp.y"
3975      { yyval.Char = '\253'; }      { yyval.Char = '\253'; }
3976      break;      break;
3977    
3978    case 276:    case 283:
3979  #line 314 "lscp.y"  #line 334 "lscp.y"
3980      { yyval.Char = '\254'; }      { yyval.Char = '\254'; }
3981      break;      break;
3982    
3983    case 277:    case 284:
3984  #line 315 "lscp.y"  #line 335 "lscp.y"
3985      { yyval.Char = '\255'; }      { yyval.Char = '\255'; }
3986      break;      break;
3987    
3988    case 278:    case 285:
3989  #line 315 "lscp.y"  #line 335 "lscp.y"
3990      { yyval.Char = '\256'; }      { yyval.Char = '\256'; }
3991      break;      break;
3992    
3993    case 279:    case 286:
3994  #line 315 "lscp.y"  #line 335 "lscp.y"
3995      { yyval.Char = '\257'; }      { yyval.Char = '\257'; }
3996      break;      break;
3997    
3998    case 280:    case 287:
3999  #line 316 "lscp.y"  #line 336 "lscp.y"
4000      { yyval.Char = '\260'; }      { yyval.Char = '\260'; }
4001      break;      break;
4002    
4003    case 281:    case 288:
4004  #line 316 "lscp.y"  #line 336 "lscp.y"
4005      { yyval.Char = '\261'; }      { yyval.Char = '\261'; }
4006      break;      break;
4007    
4008    case 282:    case 289:
4009  #line 316 "lscp.y"  #line 336 "lscp.y"
4010      { yyval.Char = '\262'; }      { yyval.Char = '\262'; }
4011      break;      break;
4012    
4013    case 283:    case 290:
4014  #line 317 "lscp.y"  #line 337 "lscp.y"
4015      { yyval.Char = '\263'; }      { yyval.Char = '\263'; }
4016      break;      break;
4017    
4018    case 284:    case 291:
4019  #line 317 "lscp.y"  #line 337 "lscp.y"
4020      { yyval.Char = '\264'; }      { yyval.Char = '\264'; }
4021      break;      break;
4022    
4023    case 285:    case 292:
4024  #line 317 "lscp.y"  #line 337 "lscp.y"
4025      { yyval.Char = '\265'; }      { yyval.Char = '\265'; }
4026      break;      break;
4027    
4028    case 286:    case 293:
4029  #line 318 "lscp.y"  #line 338 "lscp.y"
4030      { yyval.Char = '\266'; }      { yyval.Char = '\266'; }
4031      break;      break;
4032    
4033    case 287:    case 294:
4034  #line 318 "lscp.y"  #line 338 "lscp.y"
4035      { yyval.Char = '\267'; }      { yyval.Char = '\267'; }
4036      break;      break;
4037    
4038    case 288:    case 295:
4039  #line 318 "lscp.y"  #line 338 "lscp.y"
4040      { yyval.Char = '\270'; }      { yyval.Char = '\270'; }
4041      break;      break;
4042    
4043    case 289:    case 296:
4044  #line 319 "lscp.y"  #line 339 "lscp.y"
4045      { yyval.Char = '\271'; }      { yyval.Char = '\271'; }
4046      break;      break;
4047    
4048    case 290:    case 297:
4049  #line 319 "lscp.y"  #line 339 "lscp.y"
4050      { yyval.Char = '\272'; }      { yyval.Char = '\272'; }
4051      break;      break;
4052    
4053    case 291:    case 298:
4054  #line 319 "lscp.y"  #line 339 "lscp.y"
4055      { yyval.Char = '\273'; }      { yyval.Char = '\273'; }
4056      break;      break;
4057    
4058    case 292:    case 299:
4059  #line 320 "lscp.y"  #line 340 "lscp.y"
4060      { yyval.Char = '\274'; }      { yyval.Char = '\274'; }
4061      break;      break;
4062    
4063    case 293:    case 300:
4064  #line 320 "lscp.y"  #line 340 "lscp.y"
4065      { yyval.Char = '\275'; }      { yyval.Char = '\275'; }
4066      break;      break;
4067    
4068    case 294:    case 301:
4069  #line 320 "lscp.y"  #line 340 "lscp.y"
4070      { yyval.Char = '\276'; }      { yyval.Char = '\276'; }
4071      break;      break;
4072    
4073    case 295:    case 302:
4074  #line 321 "lscp.y"  #line 341 "lscp.y"
4075      { yyval.Char = '\277'; }      { yyval.Char = '\277'; }
4076      break;      break;
4077    
4078    case 296:    case 303:
4079  #line 321 "lscp.y"  #line 341 "lscp.y"
4080      { yyval.Char = '\300'; }      { yyval.Char = '\300'; }
4081      break;      break;
4082    
4083    case 297:    case 304:
4084  #line 321 "lscp.y"  #line 341 "lscp.y"
4085      { yyval.Char = '\301'; }      { yyval.Char = '\301'; }
4086      break;      break;
4087    
4088    case 298:    case 305:
4089  #line 322 "lscp.y"  #line 342 "lscp.y"
4090      { yyval.Char = '\302'; }      { yyval.Char = '\302'; }
4091      break;      break;
4092    
4093    case 299:    case 306:
4094  #line 322 "lscp.y"  #line 342 "lscp.y"
4095      { yyval.Char = '\303'; }      { yyval.Char = '\303'; }
4096      break;      break;
4097    
4098    case 300:    case 307:
4099  #line 322 "lscp.y"  #line 342 "lscp.y"
4100      { yyval.Char = '\304'; }      { yyval.Char = '\304'; }
4101      break;      break;
4102    
4103    case 301:    case 308:
4104  #line 323 "lscp.y"  #line 343 "lscp.y"
4105      { yyval.Char = '\305'; }      { yyval.Char = '\305'; }
4106      break;      break;
4107    
4108    case 302:    case 309:
4109  #line 323 "lscp.y"  #line 343 "lscp.y"
4110      { yyval.Char = '\306'; }      { yyval.Char = '\306'; }
4111      break;      break;
4112    
4113    case 303:    case 310:
4114  #line 323 "lscp.y"  #line 343 "lscp.y"
4115      { yyval.Char = '\307'; }      { yyval.Char = '\307'; }
4116      break;      break;
4117    
4118    case 304:    case 311:
4119  #line 324 "lscp.y"  #line 344 "lscp.y"
4120      { yyval.Char = '\310'; }      { yyval.Char = '\310'; }
4121      break;      break;
4122    
4123    case 305:    case 312:
4124  #line 324 "lscp.y"  #line 344 "lscp.y"
4125      { yyval.Char = '\311'; }      { yyval.Char = '\311'; }
4126      break;      break;
4127    
4128    case 306:    case 313:
4129  #line 324 "lscp.y"  #line 344 "lscp.y"
4130      { yyval.Char = '\312'; }      { yyval.Char = '\312'; }
4131      break;      break;
4132    
4133    case 307:    case 314:
4134  #line 325 "lscp.y"  #line 345 "lscp.y"
4135      { yyval.Char = '\313'; }      { yyval.Char = '\313'; }
4136      break;      break;
4137    
4138    case 308:    case 315:
4139  #line 325 "lscp.y"  #line 345 "lscp.y"
4140      { yyval.Char = '\314'; }      { yyval.Char = '\314'; }
4141      break;      break;
4142    
4143    case 309:    case 316:
4144  #line 325 "lscp.y"  #line 345 "lscp.y"
4145      { yyval.Char = '\315'; }      { yyval.Char = '\315'; }
4146      break;      break;
4147    
4148    case 310:    case 317:
4149  #line 326 "lscp.y"  #line 346 "lscp.y"
4150      { yyval.Char = '\316'; }      { yyval.Char = '\316'; }
4151      break;      break;
4152    
4153    case 311:    case 318:
4154  #line 326 "lscp.y"  #line 346 "lscp.y"
4155      { yyval.Char = '\317'; }      { yyval.Char = '\317'; }
4156      break;      break;
4157    
4158    case 312:    case 319:
4159  #line 326 "lscp.y"  #line 346 "lscp.y"
4160      { yyval.Char = '\320'; }      { yyval.Char = '\320'; }
4161      break;      break;
4162    
4163    case 313:    case 320:
4164  #line 327 "lscp.y"  #line 347 "lscp.y"
4165      { yyval.Char = '\321'; }      { yyval.Char = '\321'; }
4166      break;      break;
4167    
4168    case 314:    case 321:
4169  #line 327 "lscp.y"  #line 347 "lscp.y"
4170      { yyval.Char = '\322'; }      { yyval.Char = '\322'; }
4171      break;      break;
4172    
4173    case 315:    case 322:
4174  #line 327 "lscp.y"  #line 347 "lscp.y"
4175      { yyval.Char = '\323'; }      { yyval.Char = '\323'; }
4176      break;      break;
4177    
4178    case 316:    case 323:
4179  #line 328 "lscp.y"  #line 348 "lscp.y"
4180      { yyval.Char = '\324'; }      { yyval.Char = '\324'; }
4181      break;      break;
4182    
4183    case 317:    case 324:
4184  #line 328 "lscp.y"  #line 348 "lscp.y"
4185      { yyval.Char = '\325'; }      { yyval.Char = '\325'; }
4186      break;      break;
4187    
4188    case 318:    case 325:
4189  #line 328 "lscp.y"  #line 348 "lscp.y"
4190      { yyval.Char = '\326'; }      { yyval.Char = '\326'; }
4191      break;      break;
4192    
4193    case 319:    case 326:
4194  #line 329 "lscp.y"  #line 349 "lscp.y"
4195      { yyval.Char = '\327'; }      { yyval.Char = '\327'; }
4196      break;      break;
4197    
4198    case 320:    case 327:
4199  #line 329 "lscp.y"  #line 349 "lscp.y"
4200      { yyval.Char = '\330'; }      { yyval.Char = '\330'; }
4201      break;      break;
4202    
4203    case 321:    case 328:
4204  #line 329 "lscp.y"  #line 349 "lscp.y"
4205      { yyval.Char = '\331'; }      { yyval.Char = '\331'; }
4206      break;      break;
4207    
4208    case 322:    case 329:
4209  #line 330 "lscp.y"  #line 350 "lscp.y"
4210      { yyval.Char = '\332'; }      { yyval.Char = '\332'; }
4211      break;      break;
4212    
4213    case 323:    case 330:
4214  #line 330 "lscp.y"  #line 350 "lscp.y"
4215      { yyval.Char = '\333'; }      { yyval.Char = '\333'; }
4216      break;      break;
4217    
4218    case 324:    case 331:
4219  #line 330 "lscp.y"  #line 350 "lscp.y"
4220      { yyval.Char = '\334'; }      { yyval.Char = '\334'; }
4221      break;      break;
4222    
4223    case 325:    case 332:
4224  #line 331 "lscp.y"  #line 351 "lscp.y"
4225      { yyval.Char = '\335'; }      { yyval.Char = '\335'; }
4226      break;      break;
4227    
4228    case 326:    case 333:
4229  #line 331 "lscp.y"  #line 351 "lscp.y"
4230      { yyval.Char = '\336'; }      { yyval.Char = '\336'; }
4231      break;      break;
4232    
4233    case 327:    case 334:
4234  #line 331 "lscp.y"  #line 351 "lscp.y"
4235      { yyval.Char = '\337'; }      { yyval.Char = '\337'; }
4236      break;      break;
4237    
4238    case 328:    case 335:
4239  #line 332 "lscp.y"  #line 352 "lscp.y"
4240      { yyval.Char = '\340'; }      { yyval.Char = '\340'; }
4241      break;      break;
4242    
4243    case 329:    case 336:
4244  #line 332 "lscp.y"  #line 352 "lscp.y"
4245      { yyval.Char = '\341'; }      { yyval.Char = '\341'; }
4246      break;      break;
4247    
4248    case 330:    case 337:
4249  #line 332 "lscp.y"  #line 352 "lscp.y"
4250      { yyval.Char = '\342'; }      { yyval.Char = '\342'; }
4251      break;      break;
4252    
4253    case 331:    case 338:
4254  #line 333 "lscp.y"  #line 353 "lscp.y"
4255      { yyval.Char = '\343'; }      { yyval.Char = '\343'; }
4256      break;      break;
4257    
4258    case 332:    case 339:
4259  #line 333 "lscp.y"  #line 353 "lscp.y"
4260      { yyval.Char = '\344'; }      { yyval.Char = '\344'; }
4261      break;      break;
4262    
4263    case 333:    case 340:
4264  #line 333 "lscp.y"  #line 353 "lscp.y"
4265      { yyval.Char = '\345'; }      { yyval.Char = '\345'; }
4266      break;      break;
4267    
4268    case 334:    case 341:
4269  #line 334 "lscp.y"  #line 354 "lscp.y"
4270      { yyval.Char = '\346'; }      { yyval.Char = '\346'; }
4271      break;      break;
4272    
4273    case 335:    case 342:
4274  #line 334 "lscp.y"  #line 354 "lscp.y"
4275      { yyval.Char = '\347'; }      { yyval.Char = '\347'; }
4276      break;      break;
4277    
4278    case 336:    case 343:
4279  #line 334 "lscp.y"  #line 354 "lscp.y"
4280      { yyval.Char = '\350'; }      { yyval.Char = '\350'; }
4281      break;      break;
4282    
4283    case 337:    case 344:
4284  #line 335 "lscp.y"  #line 355 "lscp.y"
4285      { yyval.Char = '\351'; }      { yyval.Char = '\351'; }
4286      break;      break;
4287    
4288    case 338:    case 345:
4289  #line 335 "lscp.y"  #line 355 "lscp.y"
4290      { yyval.Char = '\352'; }      { yyval.Char = '\352'; }
4291      break;      break;
4292    
4293    case 339:    case 346:
4294  #line 335 "lscp.y"  #line 355 "lscp.y"
4295      { yyval.Char = '\353'; }      { yyval.Char = '\353'; }
4296      break;      break;
4297    
4298    case 340:    case 347:
4299  #line 336 "lscp.y"  #line 356 "lscp.y"
4300      { yyval.Char = '\354'; }      { yyval.Char = '\354'; }
4301      break;      break;
4302    
4303    case 341:    case 348:
4304  #line 336 "lscp.y"  #line 356 "lscp.y"
4305      { yyval.Char = '\355'; }      { yyval.Char = '\355'; }
4306      break;      break;
4307    
4308    case 342:    case 349:
4309  #line 336 "lscp.y"  #line 356 "lscp.y"
4310      { yyval.Char = '\356'; }      { yyval.Char = '\356'; }
4311      break;      break;
4312    
4313    case 343:    case 350:
4314  #line 337 "lscp.y"  #line 357 "lscp.y"
4315      { yyval.Char = '\357'; }      { yyval.Char = '\357'; }
4316      break;      break;
4317    
4318    case 344:    case 351:
4319  #line 337 "lscp.y"  #line 357 "lscp.y"
4320      { yyval.Char = '\360'; }      { yyval.Char = '\360'; }
4321      break;      break;
4322    
4323    case 345:    case 352:
4324  #line 337 "lscp.y"  #line 357 "lscp.y"
4325      { yyval.Char = '\361'; }      { yyval.Char = '\361'; }
4326      break;      break;
4327    
4328    case 346:    case 353:
4329  #line 338 "lscp.y"  #line 358 "lscp.y"
4330      { yyval.Char = '\362'; }      { yyval.Char = '\362'; }
4331      break;      break;
4332    
4333    case 347:    case 354:
4334  #line 338 "lscp.y"  #line 358 "lscp.y"
4335      { yyval.Char = '\363'; }      { yyval.Char = '\363'; }
4336      break;      break;
4337    
4338    case 348:    case 355:
4339  #line 338 "lscp.y"  #line 358 "lscp.y"
4340      { yyval.Char = '\364'; }      { yyval.Char = '\364'; }
4341      break;      break;
4342    
4343    case 349:    case 356:
4344  #line 339 "lscp.y"  #line 359 "lscp.y"
4345      { yyval.Char = '\365'; }      { yyval.Char = '\365'; }
4346      break;      break;
4347    
4348    case 350:    case 357:
4349  #line 339 "lscp.y"  #line 359 "lscp.y"
4350      { yyval.Char = '\366'; }      { yyval.Char = '\366'; }
4351      break;      break;
4352    
4353    case 351:    case 358:
4354  #line 339 "lscp.y"  #line 359 "lscp.y"
4355      { yyval.Char = '\367'; }      { yyval.Char = '\367'; }
4356      break;      break;
4357    
4358    case 352:    case 359:
4359  #line 340 "lscp.y"  #line 360 "lscp.y"
4360      { yyval.Char = '\370'; }      { yyval.Char = '\370'; }
4361      break;      break;
4362    
4363    case 353:    case 360:
4364  #line 340 "lscp.y"  #line 360 "lscp.y"
4365      { yyval.Char = '\371'; }      { yyval.Char = '\371'; }
4366      break;      break;
4367    
4368    case 354:    case 361:
4369  #line 340 "lscp.y"  #line 360 "lscp.y"
4370      { yyval.Char = '\372'; }      { yyval.Char = '\372'; }
4371      break;      break;
4372    
4373    case 355:    case 362:
4374  #line 341 "lscp.y"  #line 361 "lscp.y"
4375      { yyval.Char = '\373'; }      { yyval.Char = '\373'; }
4376      break;      break;
4377    
4378    case 356:    case 363:
4379  #line 341 "lscp.y"  #line 361 "lscp.y"
4380      { yyval.Char = '\374'; }      { yyval.Char = '\374'; }
4381      break;      break;
4382    
4383    case 357:    case 364:
4384  #line 341 "lscp.y"  #line 361 "lscp.y"
4385      { yyval.Char = '\375'; }      { yyval.Char = '\375'; }
4386      break;      break;
4387    
4388    case 358:    case 365:
4389  #line 342 "lscp.y"  #line 362 "lscp.y"
4390      { yyval.Char = '\376'; }      { yyval.Char = '\376'; }
4391      break;      break;
4392    
4393    case 359:    case 366:
4394  #line 342 "lscp.y"  #line 362 "lscp.y"
4395      { yyval.Char = '\377'; }      { yyval.Char = '\377'; }
4396      break;      break;
4397    
4398    case 360:    case 367:
4399  #line 345 "lscp.y"  #line 365 "lscp.y"
4400      { yyval.String = " ";      }      { yyval.String = " ";      }
4401      break;      break;
4402    
4403    case 362:    case 369:
4404  #line 347 "lscp.y"  #line 367 "lscp.y"
4405      { yyval.String = yyvsp[-1].String + " "; }      { yyval.String = yyvsp[-1].String + " "; }
4406      break;      break;
4407    
4408    case 363:    case 370:
4409  #line 348 "lscp.y"  #line 368 "lscp.y"
4410      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }
4411      break;      break;
4412    
4413    case 364:    case 371:
4414  #line 351 "lscp.y"  #line 371 "lscp.y"
4415      { yyval.String = yyvsp[-1].String; }      { yyval.String = yyvsp[-1].String; }
4416      break;      break;
4417    
4418    case 365:    case 372:
4419  #line 352 "lscp.y"  #line 372 "lscp.y"
4420      { yyval.String = yyvsp[-1].String; }      { 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 4255 "y.tab.c"  #line 4428 "y.tab.c"
4428    
4429    yyvsp -= yylen;    yyvsp -= yylen;
4430    yyssp -= yylen;    yyssp -= yylen;
# Line 4293  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 4313  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 4343  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 4369  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 4395  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 4446  yyreturn: Line 4649  yyreturn:
4649  }  }
4650    
4651    
4652  #line 514 "lscp.y"  #line 543 "lscp.y"
4653    
4654    
4655  /**  /**

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

  ViewVC Help
Powered by ViewVC