Defined-or patch (cleaned up)
[p5sagit/p5-mst-13.2.git] / vms / perly_c.vms
1 /* Postprocessed by vms_yfix.pl 1.11 to add VMS declarations of globals */
2 #ifndef lint
3 /* static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; */
4 #endif
5 #define YYBYACC 1
6 #line 16 "perly.y"
7 #include "EXTERN.h"
8 #define PERL_IN_PERLY_C
9 #include "perl.h"
10 #ifdef EBCDIC
11 #undef YYDEBUG
12 #endif
13 #define dep() deprecate_old("\"do\" to call subroutines")
14
15 /* stuff included here to make perly_c.diff apply better */
16
17 #define yydebug     PL_yydebug
18 #define yynerrs     PL_yynerrs
19 #define yyerrflag   PL_yyerrflag
20 #define yychar      PL_yychar
21 #define yyval       PL_yyval
22 #define yylval      PL_yylval
23
24 struct ysv {
25     short* yyss;
26     YYSTYPE* yyvs;
27     int oldyydebug;
28     int oldyynerrs;
29     int oldyyerrflag;
30     int oldyychar;
31     YYSTYPE oldyyval;
32     YYSTYPE oldyylval;
33 };
34
35 static void yydestruct(pTHX_ void *ptr);
36
37 #line 51 "perly.y"
38 #if 0 /* get this from perly.h instead */
39 #line 54 "perly.y"
40 typedef union {
41     I32 ival;
42     char *pval;
43     OP *opval;
44     GV *gvval;
45 } YYSTYPE;
46 #line 62 "perly.y"
47 #endif /* 0 */
48
49 #ifdef USE_PURE_BISON
50 #define YYLEX_PARAM (&yychar)
51 #define yylex yylex_r
52 #endif
53
54 #line 54 "perly.c"
55 #define YYERRCODE 256
56 static short yylhs[] = {                                        -1,
57     0,    9,    7,    6,   10,    8,   11,   11,   11,   12,
58    12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
59    15,   15,   15,   14,   14,   43,   43,   13,   13,   13,
60    13,   13,   13,   13,   27,   27,   28,   28,   29,   30,
61    31,   32,   33,   54,   54,    1,    1,    1,    1,    1,
62     2,   39,   39,   47,   55,    3,    4,    5,   40,   41,
63    41,   45,   45,   45,   46,   46,   42,   42,   56,   56,
64    58,   57,   16,   16,   16,   16,   26,   26,   26,   37,
65    37,   37,   37,   37,   37,   37,   37,   59,   37,   38,
66    38,   18,   18,   18,   18,   18,   18,   18,   18,   18,
67    18,   18,   50,   50,   50,   50,   50,   50,   50,   50,
68    50,   50,   50,   50,   50,   50,   51,   51,   51,   51,
69    51,   51,   51,   51,   52,   52,   52,   52,   52,   53,
70    53,   53,   53,   53,   53,   17,   17,   17,   17,   17,
71    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
72    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
73    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
74    17,   17,   17,   17,   17,   17,   48,   48,   49,   49,
75    49,   49,   49,   34,   34,   35,   35,   35,   44,   24,
76    19,   20,   21,   22,   23,   36,   36,   36,   36,
77 };
78 static short yylen[] = {                                         2,
79     2,    4,    0,    0,    4,    0,    0,    2,    2,    2,
80     1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
81     0,    2,    6,    7,    7,    0,    2,    8,    8,   10,
82     9,    8,   11,    3,    0,    1,    0,    1,    1,    1,
83     1,    1,    1,    0,    1,    1,    1,    1,    1,    1,
84     4,    1,    0,    6,    6,    0,    0,    0,    1,    0,
85     1,    0,    2,    1,    2,    1,    1,    1,    3,    2,
86     0,    7,    3,    3,    3,    1,    2,    3,    1,    3,
87     5,    6,    3,    3,    5,    2,    4,    0,    5,    1,
88     1,    5,    4,    5,    4,    5,    6,    5,    4,    5,
89     4,    3,    3,    3,    3,    3,    3,    3,    3,    3,
90     3,    3,    3,    3,    3,    3,    2,    2,    2,    2,
91     2,    2,    2,    2,    3,    2,    4,    3,    5,    2,
92     2,    4,    5,    4,    5,    1,    1,    1,    1,    5,
93     2,    1,    2,    3,    2,    1,    1,    1,    1,    1,
94     1,    6,    5,    4,    5,    1,    1,    3,    4,    3,
95     1,    2,    2,    1,    2,    2,    2,    1,    3,    1,
96     3,    4,    4,    6,    1,    1,    3,    2,    3,    2,
97     1,    1,    1,    0,    1,    0,    1,    2,    1,    2,
98     2,    2,    2,    2,    2,    1,    1,    1,    1,
99 };
100 static short yydefred[] = {                                      4,
101     0,    7,    0,   45,   58,   56,    0,   56,   56,    8,
102    46,    9,   11,   48,    0,   47,   49,   50,    0,    0,
103     0,   70,   71,    0,   14,    3,  175,    0,    0,  156,
104     0,  170,    0,   57,   57,    0,    0,    0,    0,    0,
105     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
106     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
107     0,   12,    0,    0,    0,    0,    0,    0,    0,   10,
108     0,    0,    0,    0,    0,  148,  150,    0,    0,    0,
109     0,  176,  142,  136,  137,  138,  139,   52,    0,   59,
110     0,   69,    0,    0,    7,  196,  199,  198,  197,    0,
111     0,    0,    0,    0,    0,    3,    3,    3,    3,    3,
112     3,    0,    0,    0,    0,    0,  165,    0,    0,    0,
113     0,   86,    0,  194,    0,  131,    0,    0,    0,    0,
114     0,    0,    0,  181,  183,  182,    0,  190,    0,    0,
115     0,    0,    0,    0,    0,    0,  126,    0,    0,    0,
116   191,  192,  193,  195,    0,   34,    0,    0,    0,    0,
117     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
118     0,    0,    0,    0,    0,    0,    0,    0,    0,  121,
119   122,    0,    0,    0,    0,    0,    0,    0,    0,    0,
120     0,   13,    0,   51,   61,    0,    0,    0,    0,   84,
121     0,    0,   88,    0,    0,    0,    0,    0,    0,    0,
122     3,  169,  171,    0,    0,    0,    0,    0,    0,    0,
123   128,    0,  160,  180,    0,    0,  177,    0,    0,  125,
124    27,    0,    0,   19,    0,    0,    0,    0,    0,   73,
125     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
126     0,    0,    0,    0,    0,    0,   90,    0,    0,   91,
127     0,    0,  102,    0,    0,    0,    0,    0,    0,    0,
128   158,    0,    0,    0,    0,    0,    0,    2,    0,    0,
129   173,    0,    0,    0,   42,    0,   43,    0,    0,    0,
130     0,  189,    0,    0,   36,   41,    0,    0,    0,  172,
131   188,   87,    0,  132,    0,  134,    0,  127,  179,   65,
132     0,    0,    0,    0,   99,    0,    0,    0,    0,  101,
133    95,    0,   93,    0,  154,    0,  159,   63,   68,   67,
134    55,    0,   54,   85,    0,   89,  129,    0,    0,    0,
135     0,    0,    0,    0,    0,   81,  133,  135,  153,    0,
136     0,    0,  100,   94,    0,   98,   96,  155,   92,   72,
137   174,    6,    0,    0,    0,    0,    0,    0,    0,    0,
138   152,   97,   82,    7,   28,   29,    0,    0,   24,   25,
139     0,   32,    0,    0,    0,   22,    0,    0,    0,   31,
140     5,    0,   30,    0,    0,   33,    0,   23,
141 };
142 static short yydgoto[] = {                                       1,
143    10,   11,   20,  104,   19,    2,   95,  374,   98,  363,
144     3,   12,   13,   70,  379,  289,   72,   73,   74,   75,
145    76,   77,   78,   79,  295,   81,  296,  285,  287,  290,
146   298,  286,  288,  122,  216,  100,   82,  261,   89,   91,
147   196,  331,  156,  293,  275,  227,   14,   83,  137,   84,
148    85,   86,   87,   15,   16,   17,   18,   93,  282,
149 };
150 static short yysindex[] = {                                      0,
151     0,    0, -183,    0,    0,    0,  -57,    0,    0,    0,
152     0,    0,    0,    0,  820,    0,    0,    0, -222, -208,
153     7,    0,    0, -208,    0,    0,    0,  -31,  -31,    0,
154    32,    0, 2214,    0,    0,   33,   49,   56,   59,  -30,
155  2214,   63,   65,   66, 1005,  941,  -31, 1150, 1269, -149,
156  2214,   -7,  -31, 2214, 2214, 2214, 2214, 2214, 2214, 1329,
157  1414,    0, 2214, 2214,  -31,  -31,  -31,  -31, -168,    0,
158  -121,  704,  -16,  -63,  -59,    0,    0,   -8,   80,   64,
159    81,    0,    0,    0,    0,    0,    0,    0,   -1,    0,
160  -134,    0, -125, -134,    0,    0,    0,    0,    0, 2214,
161    95, 2214,  744,   -1, -134,    0,    0,    0,    0,    0,
162     0,  117,  704,   97, 1455,  941,    0,  744,    0,  -63,
163    81,    0, 2214,    0,  123,    0,  744,  -14,   36,  -52,
164  2214,  744, 1563,    0,    0,    0, -132,    0,   81, -111,
165  -111, -111, -155, -155,   76,  -37,    0,  -66, -111, -111,
166     0,    0,    0,    0,   -1,    0, 2214, 2214, 2214, 2214,
167  2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214,
168  2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214,    0,
169     0,  -21, 2214, 1724, 2214, 2214, 2214, 2214, 2214, 2214,
170  1797,    0, 2214,    0,    0, -120,  -74, -120,  343,    0,
171  2214,   27,    0, -120, 2214, 2214, 2214, 2214,  153, 1860,
172     0,    0,    0,  -25,    4,  156, 2214,   81, 1933, 2005,
173     0,   73,    0,    0,   18,  -51,    0, 2214,  110,    0,
174     0,  228,  228,    0,  228,  228,  228,  -92,  -92,    0,
175  1351,  744,  961,  375,  271,  704,  585, 1068, 1068,  646,
176  1485,  394,  611, -111, -111, 2214,    0, 2141, 2214,    0,
177   172,  101,    0,   21,  -62,  133,  -43,  137,  128,  140,
178     0,   24,  704,  -38,  -45, 2214,  -45,    0,  177, 2214,
179     0, 2214,   -1,  228,    0,  178,    0,  204,  228,  206,
180   211,    0,  175, -121,    0,    0,  220,  169, 2214,    0,
181     0,    0,   78,    0,   98,    0,  121,    0,    0,    0,
182   186, 2214, 2214,  174,    0,  124,  191, 2214,  142,    0,
183     0,  147,    0,  148,    0,  168,    0,    0,    0,    0,
184     0,  235,    0,    0,  233,    0,    0,  179,  179,  179,
185   179, 2214,  179, 2214,  260,    0,    0,    0,    0,  216,
186  1035,  182,    0,    0,  270,    0,    0,    0,    0,    0,
187     0,    0, -168, -168, -256, -256,  286, -168,  269,  179,
188     0,    0,    0,    0,    0,    0,  179,  290,    0,    0,
189   179,    0, 1860, -168,  352,    0, 2214, -168,  298,    0,
190     0,  299,    0,  179,  179,    0, -256,    0,
191 };
192 static short yyrindex[] = {                                      0,
193     0,    0,  372,    0,    0,    0,    0,    0,    0,    0,
194     0,    0,    0,    0,    0,    0,    0,    0,  219,    0,
195     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
196     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
197   -19, 2283,    0,    0, 2402, 2567,    0,    0,    0,    0,
198     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
199     0,    0,    0,    0,    0,    0,    0,    0,   91,    0,
200   -18, 1608, 2621, 2674, 2722,    0,    0, 2770, 2857,    0,
201   118,    0,    0,    0,    0,    0,    0,    0,    0,    0,
202   -56,    0,    0,  -56,    0,    0,    0,    0,    0, 2567,
203     0,    0, 4275,    0, -114,    0,    0,    0,    0,    0,
204     0,    0, 1887,    0,    0,  302,    0, 4340,  468,  533,
205  3225,    0,    0,    0, 3006,    0, 4395, 2674,    0,    0,
206  2567, 4405,    0,    0,    0,    0, 3056,    0, 3460, 3696,
207  3747, 3802, 3583, 3631, 3128,    0,    0,    0, 3867, 3915,
208     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
209     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
210     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
211     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
212     0,    0, 3176,    0,    0,  -42,    0,  -42,  881,    0,
213   302,    0,    0,  230,  326,    0,    0,    0,    0,  310,
214     0,    0,    0,    0,  340,    0,    0, 3511,    0,    0,
215     0,    0,    0,    0,    0, 3292,    0,    0, 3347,    0,
216     0,   17,   20,    0,   39,   45,   52, 1480, 1643,    0,
217  2275, 4446, 4494, 4121, 4169, 2422,    0, 4698, 4746, 4631,
218  4592, 4544, 4220, 4001, 4056,    0,    0,    0,    0,    0,
219  3412,    0,    0,    0,    0,    0,    0,    0,    0,    0,
220     0,    0, 2475,  -41,    0,  330,    0,    0,    0,    0,
221     0, 2567,    0,   53,    0,    0,    0,    0,  354,    0,
222     0,    0,    0,   54,    0,    0,    0,    0,    0,    0,
223     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
224     0,    0,    0,    0,    0,    0,    0,  302,    0,    0,
225     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
226     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
227     0,    0,    0,  337,    0,    0,    0,    0,    0,    0,
228  1202,    0,    0,    0,    0,    0,    0,    0,    0,    0,
229     0,    0,   91,   91,  187,  187,    0,   91,    0,    0,
230     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
231     0,    0,  370,   91,  881,    0,    0,   91,    0,    0,
232     0,    0,    0,    0,    0,    0,  187,    0,
233 };
234 static short yygindex[] = {                                      0,
235     0,    0,   29,  378,    0,    0,  -55,    0,  676,  567,
236   -94,    0,    0,    0, -355,  -15, 2480,    0,  650,  364,
237   380,    0,    0,    0,  412,  755,    0,    0,  291, -202,
238    82,  120,  277,  -88, -188,  534,    0,    0,    0,  465,
239   -58,  217, -247,    0, -135,    0,    0,    0,    0,    0,
240     0,    0,    0,    0,    0,    0,    0,    0,    0,
241 };
242 #define YYTABLESIZE 5052
243 static short yytable[] = {                                      71,
244   199,   22,   60,  229,   65,   65,  222,  297,   60,  111,
245   380,  200,  279,  329,   65,  300,   62,   64,  258,  377,
246   378,  161,   15,  184,  161,  220,  230,  187,   65,   67,
247   321,  189,  133,  130,   88,  198,   23,   24,  161,  161,
248    15,  398,  223,  161,  146,  148,  204,  301,   90,  323,
249   205,  206,  207,  208,  209,  210,   66,   18,  309,  186,
250    39,  320,  277,  188,  327,   92,   60,  281,  283,  259,
251   280,  102,  106,  161,  185,   18,  187,   26,   39,   16,
252    62,   64,    4,    5,    6,   17,    7,    8,  107,  171,
253    26,   26,   20,   38,   40,  108,  345,   16,  109,  214,
254   215,  256,  114,   17,  115,  116,  183,  131,  186,  155,
255    20,   38,   15,    9,  190,  375,  376,  225,  346,  191,
256   382,   26,  192,   26,  193,  195,   26,   26,   26,  355,
257    26,  197,   26,   26,  201,   26,  390,  212,  347,  367,
258   393,  232,  233,  235,  236,  237,  238,  239,  240,   26,
259   157,  158,  159,  160,   26,  299,  211,  161,   76,  319,
260   221,  348,  219,  182,  353,  226,  228,  262,  264,  265,
261   266,  267,  268,  269,  270,  272,   76,  274,  162,  163,
262   164,   26,  276,   60,  392,  215,   21,  332,   65,  284,
263   233,  322,  233,  336,  294,  324,  302,  308,  326,   21,
264   312,  303,  179,  305,  307,  180,  181,  182,  310,  164,
265    76,  318,  311,   26,  342,   26,   26,  334,  338,   21,
266   325,  328,   21,   21,   21,   96,   21,  344,   21,   21,
267    97,   21,  352,  162,  163,  164,  257,  162,  163,  164,
268   314,   60,  316,  317,  339,   21,  340,  162,  163,  164,
269    21,  341,  161,  161,  161,  161,  162,  163,  164,  161,
270   343,  161,  162,  163,  164,  110,  356,  161,  161,  161,
271   161,  357,  358,  361,  162,  163,  164,   21,  349,  385,
272   161,  161,  161,  354,  161,  161,  161,  161,  161,  161,
273   161,  161,  359,  360,  161,  171,  350,  161,  161,  161,
274   370,  362,  215,  162,  163,  164,  372,  165,  371,   21,
275   373,   21,   21,  166,  167,  168,  169,  162,  163,  164,
276   162,  163,  164,  162,  163,  164,  381,  383,  284,  387,
277   170,  172,  173,  174,  175,  176,  177,  178,  394,  395,
278   179,   53,  186,  180,  181,  182,   26,   26,   26,   26,
279    26,   26,   62,   26,   26,   26,   26,   26,   26,   26,
280    26,   26,   26,   26,   26,   26,   37,   71,   35,   26,
281    26,    1,   26,   26,   26,   26,   26,  162,  163,  164,
282   187,   26,   26,   26,   26,   26,   26,   26,  184,   76,
283    76,   76,   76,   26,   40,   37,   76,  162,  163,  164,
284   162,  163,  164,   26,   44,   26,   26,   44,   44,   44,
285    35,   44,  105,   44,   44,  135,   44,   76,   76,   76,
286   162,  163,  164,  162,  163,  164,   80,  162,  163,  164,
287    44,  136,  162,  163,  164,   44,  162,  163,  164,  162,
288   163,  164,   21,   21,   21,   21,   21,   21,  234,   21,
289    21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
290    21,   21,   44,  369,  389,   21,   21,  278,   21,   21,
291    21,   21,   21,  162,  163,  164,  391,   21,   21,   21,
292    21,   21,   21,   21,  291,  162,  163,  164,   94,   21,
293   162,  163,  164,  333,   44,    0,    0,   44,    0,   21,
294   196,   21,   21,  196,  196,  196,    0,  196,  175,  196,
295   196,  175,  196,  165,    0,  162,  163,  164,    0,  166,
296   167,  168,  169,    0,    0,  175,  175,  162,  163,  164,
297   175,  196,    0,    0,    0,    0,  170,  172,  173,  174,
298   175,  176,  177,  178,    0,    0,  179,    0,    0,  180,
299   181,  182,    0,    0,    0,    0,    0,    0,  196,  168,
300   175,    0,  101,    0,    0,  197,    0,    0,  197,  197,
301   197,    0,  197,  146,  197,  197,  146,  197,    0,  123,
302   124,  178,    0,    0,  179,    0,  138,  180,  181,  182,
303   146,  146,    0,  196,    0,  146,  197,    0,  151,  152,
304   153,  154,    0,    0,    0,    0,    0,    0,    4,    5,
305     6,    0,    7,    8,    0,    0,    0,    4,    5,    6,
306     0,    7,    8,    0,    0,  146,    0,   44,   44,   44,
307    44,   44,   44,    0,   44,   44,   44,    0,    0,    9,
308    44,    0,  313,   44,   44,   44,   44,  171,    9,  217,
309    44,   44,    0,   44,   44,   44,   44,   44,  197,    0,
310     0,    0,   44,   44,   44,   44,   44,   44,    0,    0,
311     0,    0,    0,    0,   44,    0,    0,   99,   99,    0,
312   166,  167,  168,  169,   44,  178,   44,   44,  179,  112,
313    69,  180,  181,  182,    0,  120,   99,  128,    0,    0,
314     0,  134,   99,  177,  178,    0,    0,  179,    0,    0,
315   180,  181,  182,    0,   99,   99,   99,   99,    0,    0,
316   117,    0,    0,  126,  196,  196,  196,  196,  196,    0,
317   196,  196,  196,    0,    0,    0,  196,    0,    0,  175,
318   175,  175,  175,    0,    0,    0,  175,  196,  175,  196,
319   196,  196,  196,  196,  175,  175,  175,  175,  196,  196,
320   196,  196,  196,  196,  194,  120,  171,  175,  175,  175,
321   196,  175,  175,  175,  175,  175,  175,  175,  175,  203,
322   196,  175,  196,  196,  175,  175,  175,    0,    0,  197,
323   197,  197,  197,  197,    0,  197,  197,  197,    0,    0,
324   121,  197,    0,    0,  146,  146,  146,  146,  139,    0,
325     0,  146,  197,  146,  197,  197,  197,  197,  197,  146,
326   146,  146,  146,  197,  197,  197,  197,  197,  197,    0,
327   231,  260,  146,  146,  146,  197,  146,  146,  146,  146,
328   146,  146,  146,  146,    0,  197,  146,  197,  197,  146,
329   146,  146,   55,    0,  121,   65,   67,   53,  292,   60,
330     0,   68,   64,    0,   63,  165,    0,    0,    0,    0,
331     0,  166,  167,  168,  169,    0,    0,  218,   62,    0,
332     0,    0,    0,   66,    0,  121,    0,    0,  170,  172,
333   173,  174,  175,  176,  177,  178,    0,    0,  179,  168,
334   169,  180,  181,  182,    0,  364,  365,  366,    0,  368,
335    61,    0,    0,   44,    0,    0,   44,   44,   44,    0,
336    44,  178,   44,   44,  179,   44,    0,  180,  181,  182,
337     0,    0,  166,  167,  168,  169,  384,    0,    0,   44,
338     0,    0,   26,  386,   44,   56,    0,  388,    0,    0,
339   330,    0,  330,  175,  176,  177,  178,    0,  337,  179,
340   396,  397,  180,  181,  182,    0,    0,    0,    0,    0,
341     0,   44,    0,   55,    0,    0,   65,   67,   53,    0,
342    60,    0,   68,   64,  165,   63,    0,    0,    0,    0,
343   166,  167,  168,  169,    0,    0,    0,    0,    0,    0,
344     0,    0,    0,   44,   66,    0,   44,  170,  172,  173,
345   174,  175,  176,  177,  178,    0,    0,  179,    0,    0,
346   180,  181,  182,    0,    0,    0,    0,    0,    0,    0,
347   121,   61,  168,  169,    0,    0,  121,   55,    0,    0,
348    65,   67,   53,    0,   60,    0,   68,   64,    0,   63,
349     0,    0,    0,  177,  178,    0,    0,  179,    0,    0,
350   180,  181,  182,   26,    0,    0,   56,    0,   66,    0,
351     0,    0,    0,    0,    0,   25,   27,   28,   29,   30,
352    31,    0,   32,   33,   34,    0,    0,    0,   35,    0,
353     0,   36,   37,   38,   39,   61,    0,  171,   40,   41,
354     0,   42,   43,   44,   45,   46,    0,    0,    0,    0,
355    47,   48,   49,   50,   51,   52,    0,    0,    0,    0,
356     0,    0,   54,    0,    0,    0,    0,   26,    0,    0,
357    56,    0,   57,    0,   58,   59,   44,   44,   44,   44,
358    44,   44,    0,   44,   44,   44,    0,    0,    0,   44,
359     0,    0,   44,   44,   44,   44,    0,    0,    0,   44,
360    44,    0,   44,   44,   44,   44,   44,    0,    0,    0,
361     0,   44,   44,   44,   44,   44,   44,    0,    0,    0,
362     0,    0,   55,   44,    0,   65,   67,   53,    0,   60,
363     0,   68,   64,   44,   63,   44,   44,  119,   28,   29,
364    30,   31,   97,   32,   33,   34,    0,    0,    0,   35,
365     0,    0,    0,   66,    0,    0,    0,    0,    0,    0,
366    41,    0,   42,   43,   44,   45,   46,    0,    0,    0,
367     0,   47,   48,   49,   50,   51,   52,    0,    0,    0,
368    61,    0,  140,   54,    0,  140,    0,  166,    0,  168,
369   169,    0,    0,   57,    0,   58,   59,    0,    0,  140,
370   140,   27,   28,   29,   30,   31,    0,   32,   33,   34,
371   177,  178,   26,   35,  179,   56,    0,  180,  181,  182,
372     0,    0,    0,    0,   41,    0,   42,   43,   44,   45,
373    46,    0,    0,    0,  140,   47,   48,   49,   50,   51,
374    52,   55,    0,    0,   65,   67,   53,   54,   60,    0,
375    68,   64,    0,   63,    0,  165,    0,   57,    0,   58,
376    59,  166,  167,  168,  169,    0,    0,  129,    0,    0,
377     0,    0,   66,    0,    0,    0,    0,    0,    0,  172,
378   173,  174,  175,  176,  177,  178,    0,    0,  179,    0,
379     0,  180,  181,  182,  166,  167,  168,  169,    0,   61,
380     0,   55,    0,    0,   65,   67,   53,    0,   60,  145,
381    68,   64,    0,   63,  174,  175,  176,  177,  178,    0,
382     0,  179,    0,    0,  180,  181,  182,    0,    0,    0,
383     0,    0,   66,    0,   56,    0,    0,    0,    0,    0,
384     0,    0,    0,    0,    0,    0,  125,   28,   29,   30,
385    31,    0,   32,   33,   34,    0,    0,    0,   35,   61,
386     0,    0,    0,    0,    0,    0,    0,    0,    0,   41,
387     0,   42,   43,   44,   45,   46,    0,    0,    0,    0,
388    47,   48,   49,   50,   51,   52,   55,    0,    0,   65,
389    67,   53,   54,   60,   56,   68,   64,    0,   63,    0,
390     0,    0,   57,    0,   58,   59,    0,    0,    0,    0,
391     0,    0,    0,  140,  140,  140,  140,   66,    0,    0,
392   140,    0,    0,    0,    0,    0,    0,   55,    0,    0,
393    65,   67,   53,    0,   60,  213,   68,   64,    0,   63,
394     0,  140,  140,  140,   61,  140,  147,    0,    0,    0,
395     0,    0,    0,    0,    0,    0,    0,    0,   66,    0,
396    74,    0,    0,   74,    0,   27,   28,   29,   30,   31,
397     0,   32,   33,   34,    0,    0,    0,   35,   74,   56,
398     0,    0,    0,    0,    0,   61,    0,    0,   41,    0,
399    42,   43,   44,   45,   46,    0,    0,    0,    0,   47,
400    48,   49,   50,   51,   52,    0,    0,    0,    0,    0,
401     0,   54,   74,    0,    0,    0,    0,    0,    0,    0,
402    56,   57,    0,   58,   59,   27,   28,   29,   30,   31,
403     0,   32,   33,   34,    0,   55,    0,   35,   65,   67,
404    53,    0,   60,  224,   68,   64,    0,   63,   41,    0,
405    42,   43,   44,   45,   46,    0,    0,    0,    0,   47,
406    48,   49,   50,   51,   52,    0,   66,    0,    0,    0,
407     0,   54,    0,    0,    0,    0,    0,  166,  167,  168,
408   169,   57,    0,   58,   59,    0,    0,    0,   79,    0,
409     0,   79,    0,   61,    0,  172,  173,  174,  175,  176,
410   177,  178,    0,    0,  179,   79,   79,  180,  181,  182,
411    27,   28,   29,   30,   31,    0,   32,   33,   34,    0,
412     0,    0,   35,   75,    0,    0,   75,    0,   56,    0,
413     0,    0,    0,   41,    0,   42,   43,   44,   45,   46,
414    79,   75,    0,    0,   47,   48,   49,   50,   51,   52,
415     0,   27,   28,   29,   30,   31,   54,   32,   33,   34,
416     0,    0,    0,   35,    0,    0,   57,    0,   58,   59,
417     0,    0,    0,    0,   41,   75,   42,   43,   44,   45,
418    46,    0,    0,    0,    0,   47,   48,   49,   50,   51,
419    52,   74,   74,   74,   74,    0,   55,   54,   74,   65,
420    67,   53,    0,   60,  263,   68,   64,   57,   63,   58,
421    59,  166,  167,  168,  169,    0,    0,    0,    0,   74,
422    74,    0,    0,    0,    0,    0,    0,   66,    0,    0,
423     0,    0,    0,  176,  177,  178,    0,    0,  179,    0,
424     0,  180,  181,  182,    0,    0,    0,    0,    0,    0,
425     0,    0,    0,    0,   61,    0,    0,    0,    0,   27,
426    28,   29,   30,   31,    0,   32,   33,   34,    0,   55,
427     0,   35,   65,   67,   53,    0,   60,  271,   68,   64,
428     0,   63,   41,    0,   42,   43,   44,   45,   46,   56,
429     0,    0,    0,   47,   48,   49,   50,   51,   52,    0,
430    66,    0,    0,    0,    0,   54,    0,    0,    0,    0,
431     0,    0,    0,    0,    0,   57,    0,   58,   59,   79,
432    79,   79,   79,    0,    0,    0,   79,   61,    0,    0,
433     0,    0,   55,    0,    0,   65,   67,   53,    0,   60,
434     0,   68,   64,    0,   63,    0,    0,   79,   79,   79,
435     0,    0,    0,    0,   75,   75,   75,   75,    0,    0,
436     0,   75,   56,   66,    0,    0,    0,  162,    0,    0,
437   162,    0,    0,    0,    0,    0,    0,    0,    0,    0,
438     0,    0,   75,   75,  162,  162,    0,    0,    0,    0,
439    61,    0,    0,    0,    0,    0,    0,    0,    0,    0,
440     0,    0,    0,    0,    0,   55,    0,    0,   65,   67,
441    53,    0,   60,  304,   68,   64,    0,   63,    0,  162,
442    27,   28,   29,   30,   31,   56,   32,   33,   34,    0,
443     0,    0,   35,    0,    0,    0,   66,    0,    0,    0,
444     0,    0,    0,   41,    0,   42,   43,   44,   45,   46,
445     0,    0,    0,    0,   47,   48,   49,   50,   51,   52,
446     0,    0,    0,   61,    0,    0,   54,    0,    0,    0,
447     0,    0,    0,    0,    0,    0,   57,   55,   58,   59,
448    65,   67,   53,    0,   60,  306,   68,   64,    0,   63,
449     0,    0,    0,   27,   28,   29,   30,   31,   56,   32,
450    33,   34,    0,    0,    0,   35,    0,    0,   66,    0,
451     0,    0,    0,    0,    0,    0,   41,    0,   42,   43,
452    44,   45,   46,    0,    0,    0,    0,   47,   48,   49,
453    50,   51,   52,    0,    0,   61,    0,    0,    0,   54,
454     0,    0,    0,    0,    0,    0,    0,    0,    0,   57,
455     0,   58,   59,    0,    0,   25,   27,   28,   29,   30,
456    31,    0,   32,   33,   34,    0,    0,    0,   35,    0,
457    56,    0,    0,    0,    0,    0,    0,    0,    0,   41,
458     0,   42,   43,   44,   45,   46,    0,    0,    0,    0,
459    47,   48,   49,   50,   51,   52,    0,    0,  162,  162,
460   162,  162,   54,    0,    0,  162,    0,    0,    0,    0,
461     0,    0,   57,   55,   58,   59,   65,   67,   53,    0,
462    60,  315,   68,   64,    0,   63,  162,  162,  162,   27,
463    28,   29,   30,   31,    0,   32,   33,   34,    0,    0,
464     0,   35,    0,    0,   66,    0,    0,    0,    0,    0,
465     0,    0,   41,    0,   42,   43,   44,   45,   46,    0,
466     0,    0,    0,   47,   48,   49,   50,   51,   52,    0,
467     0,   61,    0,    0,    0,   54,    0,    0,    0,    0,
468     0,    0,    0,    0,    0,   57,   55,   58,   59,   65,
469    67,   53,    0,   60,    0,   68,   64,    0,   63,    0,
470     0,   27,   28,   29,   30,   31,   56,   32,   33,   34,
471     0,    0,    0,   35,    0,    0,    0,   66,    0,    0,
472     0,    0,    0,    0,   41,    0,   42,   43,   44,   45,
473    46,    0,    0,    0,    0,   47,   48,   49,   50,   51,
474    52,    0,    0,    0,   61,    0,    0,   54,    0,    0,
475     0,    0,    0,    0,    0,  112,    0,   57,  112,   58,
476    59,    0,    0,  168,    0,    0,  168,    0,    0,    0,
477     0,    0,  112,  112,    0,    0,    0,  112,    0,   56,
478   168,  168,    0,    0,    0,  168,    0,    0,    0,    0,
479     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
480     0,    0,    0,    0,    0,    0,    0,  112,    0,    0,
481     0,    0,    0,    0,    0,  168,    0,    0,    0,    0,
482     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
483     0,    0,    0,    0,    0,    0,    0,   27,   28,   29,
484    30,   31,    0,   32,   33,   34,    0,    0,    0,   35,
485     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
486    41,    0,   42,   43,   44,   45,   46,    0,    0,    0,
487     0,   47,   48,   49,   50,   51,   52,    0,    0,    0,
488     0,    0,  164,   54,    0,  164,    0,    0,    0,    0,
489     0,    0,    0,   57,    0,   58,   59,    0,    0,  164,
490   164,    0,  103,    0,  164,  103,    0,    0,    0,    0,
491    27,   28,   29,   30,   31,    0,   32,   33,   34,  103,
492   103,    0,   35,    0,    0,    0,    0,    0,    0,    0,
493     0,    0,    0,   41,  164,   42,   43,   44,   45,   46,
494     0,    0,    0,    0,   47,   48,   49,   50,   51,   52,
495     0,    0,  103,    0,  103,   78,   54,    0,   78,    0,
496   113,    0,    0,    0,  118,    0,   57,  127,   58,   59,
497   132,    0,   78,   78,  140,  141,  142,  143,  144,    0,
498     0,    0,  149,  150,    0,    0,  112,  112,  112,  112,
499     0,    0,    0,  112,  168,  168,  168,  168,    0,    0,
500     0,  168,    0,  168,    0,    0,    0,   78,    0,  168,
501   168,  168,  168,    0,  112,  112,  112,    0,  112,    0,
502     0,  202,  168,  168,  168,    0,  168,  168,  168,  168,
503   168,  168,  168,  168,    0,    0,  168,    0,    0,  168,
504   168,  168,    0,    0,    0,    0,    0,  184,    0,    0,
505   184,    0,    0,    0,    0,    0,    0,    0,    0,    0,
506     0,    0,    0,    0,  184,  184,    0,    0,    0,  184,
507     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
508     0,    0,    0,    0,  241,  242,  243,  244,  245,  246,
509   247,  248,  249,  250,  251,  252,  253,  254,  255,  184,
510     0,  151,    0,    0,  151,    0,    0,    0,    0,    0,
511     0,    0,  273,  164,  164,  164,  164,    0,  151,  151,
512   164,    0,  164,  151,    0,    0,    0,    0,  164,  164,
513   164,  164,    0,  103,  103,  103,  103,    0,    0,    0,
514   103,  164,  164,  164,    0,  164,  164,  164,  164,  164,
515   164,  164,  164,  151,  146,  164,    0,  146,  164,  164,
516   164,  103,  103,  103,    0,    0,    0,    0,    0,    0,
517     0,  146,  146,    0,    0,    0,  146,    0,    0,    0,
518     0,    0,    0,    0,    0,    0,   78,   78,   78,   78,
519     0,    0,    0,   78,    0,    0,    0,    0,    0,  335,
520     0,    0,  149,    0,    0,  149,  146,    0,    0,    0,
521     0,    0,    0,    0,   78,   78,   78,    0,    0,  149,
522   149,    0,    0,    0,  149,    0,    0,    0,    0,    0,
523     0,    0,  351,    0,    0,    0,    0,    0,    0,    0,
524     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
525   147,    0,    0,  147,  149,    0,    0,    0,    0,    0,
526     0,    0,    0,    0,    0,    0,    0,  147,  147,    0,
527     0,    0,  147,    0,    0,    0,    0,    0,  184,  184,
528   184,  184,    0,    0,    0,  184,    0,  184,    0,    0,
529     0,    0,    0,  184,  184,  184,  184,    0,    0,    0,
530     0,    0,  147,    0,    0,    0,  184,  184,  184,    0,
531   184,  184,  184,  184,  184,  184,  184,  184,    0,    0,
532   184,    0,    0,  184,  184,  184,    0,    0,    0,    0,
533     0,    0,  151,  151,  151,  151,    0,  157,    0,  151,
534   157,  151,    0,    0,    0,    0,    0,  151,  151,  151,
535   151,    0,    0,    0,  157,  157,    0,    0,    0,  157,
536   151,  151,  151,    0,  151,  151,  151,  151,  151,  151,
537   151,  151,    0,    0,  151,    0,    0,  151,  151,  151,
538     0,    0,    0,    0,    0,  146,  146,  146,  146,  157,
539     0,    0,  146,    0,  146,    0,    0,    0,    0,    0,
540   146,  146,  146,  146,    0,    0,    0,    0,    0,    0,
541     0,    0,    0,  146,  146,  146,    0,  146,  146,  146,
542   146,  146,  146,  146,  146,    0,    0,  146,    0,    0,
543   146,  146,  146,  149,  149,  149,  149,    0,    0,    0,
544   149,    0,  149,    0,    0,    0,    0,    0,  149,  149,
545   149,  149,    0,    0,    0,    0,    0,    0,    0,    0,
546     0,  149,  149,  149,    0,  149,  149,  149,  149,  149,
547   149,  149,  149,    0,    0,  149,    0,    0,  149,  149,
548   149,  147,  147,  147,  147,    0,  175,    0,  147,  175,
549   147,    0,    0,    0,    0,    0,  147,  147,  147,  147,
550     0,    0,    0,  175,  175,    0,    0,    0,  175,  147,
551   147,  147,    0,  147,  147,  147,  147,  147,  147,  147,
552   147,    0,    0,  147,    0,    0,  147,  147,  147,    0,
553     0,    0,    0,    0,    0,    0,  178,    0,  175,  178,
554     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
555     0,    0,    0,  178,  178,    0,    0,    0,  178,    0,
556     0,    0,    0,    0,    0,    0,    0,    0,  157,  157,
557   157,  157,    0,    0,    0,  157,    0,  157,    0,    0,
558     0,    0,    0,  157,  157,  157,  157,    0,  178,    0,
559     0,    0,    0,    0,    0,    0,  157,  157,  157,    0,
560   157,  157,  157,  157,  157,  157,  157,  157,  145,    0,
561   157,  145,    0,  157,  157,  157,    0,    0,    0,    0,
562     0,    0,    0,    0,    0,  145,  145,    0,    0,    0,
563   145,    0,    0,    0,    0,    0,    0,    0,    0,    0,
564     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
565     0,    0,    0,    0,    0,    0,   77,    0,    0,   77,
566   145,    0,    0,    0,    0,    0,    0,    0,    0,    0,
567     0,    0,    0,   77,   77,    0,    0,    0,   77,    0,
568     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
569     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
570     0,    0,    0,    0,    0,  185,    0,    0,   77,    0,
571     0,    0,    0,    0,    0,    0,    0,  175,  175,  175,
572   175,    0,  185,  185,  175,    0,  175,  185,    0,    0,
573     0,    0,  175,  175,  175,  175,    0,    0,    0,    0,
574     0,    0,    0,    0,    0,  175,  175,  175,    0,  175,
575   175,  175,  175,  175,  175,  175,  175,  185,    0,  175,
576     0,    0,  175,  175,  175,    0,    0,  178,  178,  178,
577   178,    0,   66,    0,  178,   66,  178,    0,    0,    0,
578     0,    0,  178,  178,  178,  178,    0,    0,    0,   66,
579    66,    0,    0,    0,   66,  178,  178,  178,    0,  178,
580   178,  178,  178,  178,  178,  178,  178,    0,    0,  178,
581     0,    0,  178,  178,  178,    0,    0,    0,    0,    0,
582     0,    0,    0,    0,   66,    0,    0,  144,    0,    0,
583   144,    0,    0,    0,    0,    0,    0,    0,    0,  145,
584   145,  145,  145,    0,  144,  144,  145,    0,  145,  144,
585     0,    0,    0,    0,  145,  145,  145,  145,    0,    0,
586     0,    0,    0,    0,    0,    0,    0,  145,  145,  145,
587     0,  145,  145,  145,  145,  145,  145,  145,  145,  144,
588     0,  145,    0,    0,  145,  145,  145,   77,   77,   77,
589    77,    0,   83,    0,   77,   83,   77,    0,    0,    0,
590     0,    0,   77,   77,   77,   77,    0,    0,    0,   83,
591    83,    0,    0,    0,   83,   77,   77,   77,    0,   77,
592    77,   77,   77,   77,   77,   77,   77,    0,    0,   77,
593     0,    0,   77,   77,   77,    0,  185,  185,  185,  185,
594   163,    0,    0,  185,   83,  185,    0,    0,    0,    0,
595     0,  185,  185,  185,  185,    0,    0,  163,  163,    0,
596     0,    0,  163,    0,  185,  185,  185,    0,  185,  185,
597   185,  185,  185,  185,  185,  185,    0,    0,  185,    0,
598     0,  185,  185,  185,    0,    0,    0,    0,    0,    0,
599     0,   80,  163,    0,    0,    0,    0,    0,    0,    0,
600     0,    0,    0,   66,   66,   66,   66,    0,   80,   80,
601    66,    0,   66,   80,    0,    0,    0,    0,   66,   66,
602    66,   66,    0,    0,    0,    0,    0,    0,    0,    0,
603     0,   66,   66,   66,    0,   66,   66,   66,   66,   66,
604    66,   66,   66,   80,    0,   66,    0,    0,   66,   66,
605    66,    0,    0,    0,    0,    0,    0,    0,  144,  144,
606   144,  144,    0,  123,    0,  144,  123,  144,    0,    0,
607     0,    0,    0,  144,  144,  144,  144,    0,    0,    0,
608   123,  123,    0,    0,    0,  123,  144,  144,  144,    0,
609   144,  144,  144,  144,  144,  144,  144,  144,    0,    0,
610   144,    0,    0,  144,  144,  144,    0,    0,    0,    0,
611     0,  124,    0,    0,  124,  123,    0,    0,    0,    0,
612     0,    0,    0,   83,   83,   83,   83,    0,  124,  124,
613    83,    0,   83,  124,    0,    0,    0,    0,   83,   83,
614    83,   83,    0,    0,    0,    0,    0,    0,    0,    0,
615     0,   83,   83,   83,    0,   83,   83,   83,   83,   83,
616    83,   83,   83,  124,    0,   83,    0,    0,   83,   83,
617    83,  163,  163,  163,  163,    0,  119,    0,  163,  119,
618   163,    0,    0,    0,    0,    0,  163,  163,  163,  163,
619     0,    0,    0,  119,  119,    0,    0,    0,  119,  163,
620   163,  163,    0,  163,  163,  163,  163,  163,  163,  163,
621   163,    0,    0,  163,    0,    0,  163,  163,  163,    0,
622     0,    0,   80,   80,   80,   80,    0,  120,  119,   80,
623   120,   80,    0,    0,    0,    0,    0,   80,   80,   80,
624    80,    0,    0,    0,  120,  120,    0,    0,    0,  120,
625    80,   80,   80,    0,   80,   80,   80,   80,   80,   80,
626    80,   80,    0,    0,   80,    0,    0,   80,   80,   80,
627     0,    0,    0,    0,    0,    0,    0,    0,    0,  120,
628     0,    0,  141,    0,    0,  141,    0,    0,    0,    0,
629     0,    0,    0,    0,  123,  123,  123,  123,    0,  141,
630   141,  123,    0,  123,  141,    0,    0,    0,    0,  123,
631   123,  123,  123,    0,    0,    0,    0,    0,    0,    0,
632     0,    0,  123,  123,  123,    0,  123,  123,  123,  123,
633   123,  123,  123,  123,  141,    0,  123,    0,    0,    0,
634     0,    0,  124,  124,  124,  124,    0,  117,    0,  124,
635   117,  124,    0,    0,    0,    0,    0,  124,  124,  124,
636   124,    0,    0,    0,  117,  117,    0,    0,    0,  117,
637   124,  124,  124,    0,  124,  124,  124,  124,  124,  124,
638   124,  124,    0,    0,  124,    0,    0,    0,    0,    0,
639     0,    0,    0,    0,    0,  118,    0,    0,  118,  117,
640     0,    0,    0,    0,    0,    0,    0,  119,  119,  119,
641   119,    0,  118,  118,  119,    0,  119,  118,    0,    0,
642     0,    0,  119,  119,  119,  119,    0,    0,    0,    0,
643     0,    0,    0,    0,    0,  119,  119,  119,    0,  119,
644   119,  119,  119,  119,  119,  119,  119,  118,    0,    0,
645     0,    0,    0,    0,    0,    0,    0,    0,  120,  120,
646   120,  120,    0,    0,    0,  120,    0,  120,    0,    0,
647     0,    0,    0,  120,  120,  120,  120,    0,    0,    0,
648     0,  116,    0,    0,  116,    0,  120,  120,  120,    0,
649   120,  120,  120,  120,  120,  120,  120,  120,  116,  116,
650     0,    0,    0,  116,    0,    0,    0,    0,    0,    0,
651     0,    0,    0,  141,  141,  141,  141,    0,    0,    0,
652   141,    0,  141,    0,    0,    0,    0,    0,  141,  141,
653   141,  141,    0,  116,    0,    0,  104,    0,    0,  104,
654     0,  141,  141,  141,    0,  141,  141,  141,  141,  141,
655   141,  141,  141,  104,  104,    0,    0,    0,  104,    0,
656     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
657     0,    0,    0,    0,    0,    0,    0,    0,  117,  117,
658   117,  117,    0,    0,    0,  117,    0,  117,  104,    0,
659     0,    0,    0,  117,  117,  117,  117,    0,    0,    0,
660     0,  105,    0,    0,  105,    0,  117,  117,  117,    0,
661   117,  117,  117,  117,  117,  117,  117,  117,  105,  105,
662     0,    0,    0,  105,    0,    0,  118,  118,  118,  118,
663     0,    0,    0,  118,    0,  118,    0,    0,    0,    0,
664     0,  118,  118,  118,  118,    0,    0,    0,    0,  106,
665     0,    0,  106,  105,  118,  118,  118,    0,  118,  118,
666   118,  118,  118,  118,  118,  118,  106,  106,    0,    0,
667     0,  106,    0,    0,    0,    0,    0,    0,    0,    0,
668     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
669     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
670   107,  106,    0,  107,    0,    0,    0,    0,    0,    0,
671     0,    0,  116,  116,  116,  116,    0,  107,  107,  116,
672     0,  116,  107,    0,    0,    0,    0,  116,  116,  116,
673   116,    0,    0,    0,    0,    0,    0,    0,    0,    0,
674   116,  116,  116,    0,  116,  116,  116,  116,  116,  116,
675   116,  116,  107,    0,    0,  167,    0,    0,  167,    0,
676     0,    0,    0,    0,    0,    0,    0,  104,  104,  104,
677   104,    0,  167,  167,  104,    0,  104,  167,    0,    0,
678     0,    0,  104,  104,  104,  104,    0,    0,    0,    0,
679     0,    0,    0,    0,    0,  104,  104,  104,    0,  104,
680   104,  104,  104,  104,  104,  104,  104,  167,    0,    0,
681     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
682   166,    0,    0,  166,    0,    0,    0,    0,    0,    0,
683     0,    0,  105,  105,  105,  105,    0,  166,  166,  105,
684     0,  105,  166,    0,    0,    0,    0,  105,  105,  105,
685   105,    0,    0,    0,    0,    0,    0,    0,    0,    0,
686   105,  105,  105,    0,  105,  105,  105,  105,  105,  105,
687   105,    0,  166,    0,    0,  130,    0,    0,  130,    0,
688   106,  106,  106,  106,    0,  143,    0,  106,  143,  106,
689     0,    0,  130,  130,    0,  106,  106,  130,  106,    0,
690     0,    0,  143,  143,    0,    0,    0,  143,  106,  106,
691   106,    0,  106,  106,  106,  106,  106,  106,  106,    0,
692     0,    0,    0,    0,    0,    0,  108,  130,    0,  108,
693     0,  107,  107,  107,  107,    0,    0,  143,  107,    0,
694   107,    0,    0,  108,  108,    0,  107,  107,  108,    0,
695     0,    0,    0,    0,    0,    0,    0,    0,    0,  107,
696   107,  107,    0,  107,  107,  107,  107,  107,  107,  107,
697     0,    0,    0,    0,  109,    0,    0,  109,  108,    0,
698     0,    0,    0,    0,    0,    0,  167,  167,  167,  167,
699     0,  109,  109,  167,    0,  167,  109,    0,    0,    0,
700     0,  167,  167,    0,    0,    0,    0,    0,    0,    0,
701     0,    0,    0,    0,  167,  167,  167,    0,  167,  167,
702   167,  167,  167,  167,  110,    0,  109,  110,    0,    0,
703     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
704     0,  110,  110,    0,    0,    0,  110,    0,    0,    0,
705     0,  166,  166,  166,  166,    0,    0,    0,  166,    0,
706   166,    0,    0,    0,    0,    0,  166,  166,    0,    0,
707     0,    0,  111,    0,    0,  111,  110,    0,    0,  166,
708   166,  166,    0,  166,  166,  166,  166,  166,  166,  111,
709   111,    0,    0,    0,  111,    0,    0,    0,    0,    0,
710     0,    0,    0,    0,    0,    0,  130,  130,  130,  130,
711     0,  113,    0,  130,  113,  130,  143,  143,  143,  143,
712     0,  130,  130,  143,  111,  143,    0,    0,  113,  113,
713     0,  143,  143,  113,  130,  130,  130,    0,  130,  130,
714   130,  130,  130,  130,  143,  143,  143,    0,  143,  143,
715   143,  143,  143,  143,    0,    0,    0,  108,  108,  108,
716   108,    0,    0,  113,  108,    0,  108,    0,    0,    0,
717     0,    0,    0,  108,    0,    0,    0,    0,  114,    0,
718     0,  114,    0,    0,    0,  108,  108,  108,    0,  108,
719   108,  108,  108,  108,  108,  114,  114,    0,    0,    0,
720   114,    0,    0,    0,    0,  109,  109,  109,  109,    0,
721     0,    0,  109,    0,  109,    0,    0,    0,    0,    0,
722     0,    0,    0,    0,    0,    0,  115,    0,    0,  115,
723   114,    0,    0,  109,  109,  109,    0,  109,  109,  109,
724   109,  109,  109,  115,  115,    0,    0,    0,  115,    0,
725     0,    0,    0,    0,    0,  110,  110,  110,  110,    0,
726     0,    0,  110,    0,  110,    0,    0,    0,    0,    0,
727     0,    0,    0,    0,    0,    0,    0,    0,  115,    0,
728     0,    0,    0,  110,  110,  110,    0,  110,  110,  110,
729   110,  110,  110,    0,    0,    0,    0,    0,    0,    0,
730     0,    0,    0,  111,  111,  111,  111,    0,    0,    0,
731   111,    0,  111,    0,    0,    0,    0,    0,    0,    0,
732     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
733     0,  111,  111,  111,    0,  111,  111,  111,  111,  111,
734     0,    0,  113,  113,  113,  113,    0,    0,    0,  113,
735     0,  113,    0,    0,    0,    0,    0,    0,    0,    0,
736     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
737   113,  113,  113,    0,  113,  113,  113,  113,    0,    0,
738     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
739     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
740     0,    0,    0,    0,    0,    0,    0,    0,    0,  114,
741   114,  114,  114,    0,    0,    0,  114,    0,  114,    0,
742     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
743     0,    0,    0,    0,    0,    0,    0,  114,  114,  114,
744     0,  114,  114,  114,    0,    0,    0,    0,    0,    0,
745     0,    0,    0,    0,    0,    0,    0,  115,  115,  115,
746   115,    0,    0,    0,  115,    0,  115,    0,    0,    0,
747     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
748     0,    0,    0,    0,    0,  115,  115,  115,    0,  115,
749   115,  115,
750 };
751 static short yycheck[] = {                                      15,
752    95,   59,   59,   41,   36,   36,   59,  210,  123,   40,
753   366,  100,  201,   59,   36,   41,   59,   59,   40,  276,
754   277,   41,   41,   40,   44,   40,   93,   91,   36,   37,
755    93,   91,   40,   49,  257,   94,    8,    9,   58,   59,
756    59,  397,  131,   63,   60,   61,  105,   44,  257,   93,
757   106,  107,  108,  109,  110,  111,   64,   41,   41,  123,
758    41,   41,  198,  123,   41,   59,  123,   41,  204,   91,
759    44,   40,   40,   93,   91,   59,   91,  123,   59,   41,
760   123,  123,  266,  267,  268,   41,  270,  271,   40,   63,
761     0,  123,   41,   41,   41,   40,  299,   59,   40,  115,
762   116,  123,   40,   59,   40,   40,  123,  257,  123,  278,
763    59,   59,   59,  297,  123,  363,  364,  133,   41,   40,
764   368,  123,   59,   33,   44,  260,   36,   37,   38,  318,
765    40,  257,   42,   43,   40,   45,  384,   41,   41,  342,
766   388,  157,  158,  159,  160,  161,  162,  163,  164,   59,
767   272,  273,  274,  275,   64,  211,   40,  279,   41,   59,
768   125,   41,   40,  319,   41,  298,   91,  183,  184,  185,
769   186,  187,  188,  189,  190,  191,   59,  298,  300,  301,
770   302,   91,  257,  298,  387,  201,    0,  276,   36,  205,
771   206,   59,  208,  282,  210,   59,   41,  125,   59,  257,
772    91,  217,  314,  219,  220,  317,  318,  319,  260,  302,
773    93,   40,  228,  123,   40,  125,  126,   41,   41,   33,
774    93,  260,   36,   37,   38,  257,   40,   59,   42,   43,
775   262,   45,   59,  300,  301,  302,  258,  300,  301,  302,
776   256,  298,  258,  259,   41,   59,   41,  300,  301,  302,
777    64,   41,  272,  273,  274,  275,  300,  301,  302,  279,
778    41,  281,  300,  301,  302,  296,  125,  287,  288,  289,
779   290,  125,  125,   41,  300,  301,  302,   91,   93,  374,
780   300,  301,  302,   93,  304,  305,  306,  307,  308,  309,
781   310,  311,  125,   59,  314,   63,  312,  317,  318,  319,
782    41,  123,  318,  300,  301,  302,  125,  281,   93,  123,
783    41,  125,  126,  287,  288,  289,  290,  300,  301,  302,
784   300,  301,  302,  300,  301,  302,   41,   59,  344,   40,
785   304,  305,  306,  307,  308,  309,  310,  311,   41,   41,
786   314,  123,   41,  317,  318,  319,  256,  257,  258,  259,
787   260,  261,  123,  263,  264,  265,  266,  267,  268,  269,
788   270,  271,  272,  273,  274,  275,   41,  383,   59,  279,
789   280,    0,  282,  283,  284,  285,  286,  300,  301,  302,
790    41,  291,  292,  293,  294,  295,  296,  297,   59,  272,
791   273,  274,  275,  303,   41,   59,  279,  300,  301,  302,
792   300,  301,  302,  313,   33,  315,  316,   36,   37,   38,
793    41,   40,   35,   42,   43,   52,   45,  300,  301,  302,
794   300,  301,  302,  300,  301,  302,   15,  300,  301,  302,
795    59,   52,  300,  301,  302,   64,  300,  301,  302,  300,
796   301,  302,  256,  257,  258,  259,  260,  261,  158,  263,
797   264,  265,  266,  267,  268,  269,  270,  271,  272,  273,
798   274,  275,   91,  344,  383,  279,  280,  125,  282,  283,
799   284,  285,  286,  300,  301,  302,  125,  291,  292,  293,
800   294,  295,  296,  297,  208,  300,  301,  302,   24,  303,
801   300,  301,  302,  277,  123,   -1,   -1,  126,   -1,  313,
802    33,  315,  316,   36,   37,   38,   -1,   40,   41,   42,
803    43,   44,   45,  281,   -1,  300,  301,  302,   -1,  287,
804   288,  289,  290,   -1,   -1,   58,   59,  300,  301,  302,
805    63,   64,   -1,   -1,   -1,   -1,  304,  305,  306,  307,
806   308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,  317,
807   318,  319,   -1,   -1,   -1,   -1,   -1,   -1,   91,  289,
808    93,   -1,   29,   -1,   -1,   33,   -1,   -1,   36,   37,
809    38,   -1,   40,   41,   42,   43,   44,   45,   -1,   46,
810    47,  311,   -1,   -1,  314,   -1,   53,  317,  318,  319,
811    58,   59,   -1,  126,   -1,   63,   64,   -1,   65,   66,
812    67,   68,   -1,   -1,   -1,   -1,   -1,   -1,  266,  267,
813   268,   -1,  270,  271,   -1,   -1,   -1,  266,  267,  268,
814    -1,  270,  271,   -1,   -1,   93,   -1,  256,  257,  258,
815   259,  260,  261,   -1,  263,  264,  265,   -1,   -1,  297,
816   269,   -1,   58,  272,  273,  274,  275,   63,  297,  116,
817   279,  280,   -1,  282,  283,  284,  285,  286,  126,   -1,
818    -1,   -1,  291,  292,  293,  294,  295,  296,   -1,   -1,
819    -1,   -1,   -1,   -1,  303,   -1,   -1,   28,   29,   -1,
820   287,  288,  289,  290,  313,  311,  315,  316,  314,   40,
821    15,  317,  318,  319,   -1,   46,   47,   48,   -1,   -1,
822    -1,   52,   53,  310,  311,   -1,   -1,  314,   -1,   -1,
823   317,  318,  319,   -1,   65,   66,   67,   68,   -1,   -1,
824    45,   -1,   -1,   48,  257,  258,  259,  260,  261,   -1,
825   263,  264,  265,   -1,   -1,   -1,  269,   -1,   -1,  272,
826   273,  274,  275,   -1,   -1,   -1,  279,  280,  281,  282,
827   283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
828   293,  294,  295,  296,   89,  116,   63,  300,  301,  302,
829   303,  304,  305,  306,  307,  308,  309,  310,  311,  104,
830   313,  314,  315,  316,  317,  318,  319,   -1,   -1,  257,
831   258,  259,  260,  261,   -1,  263,  264,  265,   -1,   -1,
832    46,  269,   -1,   -1,  272,  273,  274,  275,   54,   -1,
833    -1,  279,  280,  281,  282,  283,  284,  285,  286,  287,
834   288,  289,  290,  291,  292,  293,  294,  295,  296,   -1,
835   155,  182,  300,  301,  302,  303,  304,  305,  306,  307,
836   308,  309,  310,  311,   -1,  313,  314,  315,  316,  317,
837   318,  319,   33,   -1,  100,   36,   37,   38,  209,   40,
838    -1,   42,   43,   -1,   45,  281,   -1,   -1,   -1,   -1,
839    -1,  287,  288,  289,  290,   -1,   -1,  123,   59,   -1,
840    -1,   -1,   -1,   64,   -1,  131,   -1,   -1,  304,  305,
841   306,  307,  308,  309,  310,  311,   -1,   -1,  314,  289,
842   290,  317,  318,  319,   -1,  339,  340,  341,   -1,  343,
843    91,   -1,   -1,   33,   -1,   -1,   36,   37,   38,   -1,
844    40,  311,   42,   43,  314,   45,   -1,  317,  318,  319,
845    -1,   -1,  287,  288,  289,  290,  370,   -1,   -1,   59,
846    -1,   -1,  123,  377,   64,  126,   -1,  381,   -1,   -1,
847   275,   -1,  277,  308,  309,  310,  311,   -1,  283,  314,
848   394,  395,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,
849    -1,   91,   -1,   33,   -1,   -1,   36,   37,   38,   -1,
850    40,   -1,   42,   43,  281,   45,   -1,   -1,   -1,   -1,
851   287,  288,  289,  290,   -1,   -1,   -1,   -1,   -1,   -1,
852    -1,   -1,   -1,  123,   64,   -1,  126,  304,  305,  306,
853   307,  308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,
854   317,  318,  319,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
855   276,   91,  289,  290,   -1,   -1,  282,   33,   -1,   -1,
856    36,   37,   38,   -1,   40,   -1,   42,   43,   -1,   45,
857    -1,   -1,   -1,  310,  311,   -1,   -1,  314,   -1,   -1,
858   317,  318,  319,  123,   -1,   -1,  126,   -1,   64,   -1,
859    -1,   -1,   -1,   -1,   -1,  256,  257,  258,  259,  260,
860   261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,   -1,
861    -1,  272,  273,  274,  275,   91,   -1,   63,  279,  280,
862    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
863   291,  292,  293,  294,  295,  296,   -1,   -1,   -1,   -1,
864    -1,   -1,  303,   -1,   -1,   -1,   -1,  123,   -1,   -1,
865   126,   -1,  313,   -1,  315,  316,  256,  257,  258,  259,
866   260,  261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,
867    -1,   -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,
868   280,   -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,
869    -1,  291,  292,  293,  294,  295,  296,   -1,   -1,   -1,
870    -1,   -1,   33,  303,   -1,   36,   37,   38,   -1,   40,
871    -1,   42,   43,  313,   45,  315,  316,  257,  258,  259,
872   260,  261,  262,  263,  264,  265,   -1,   -1,   -1,  269,
873    -1,   -1,   -1,   64,   -1,   -1,   -1,   -1,   -1,   -1,
874   280,   -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,
875    -1,  291,  292,  293,  294,  295,  296,   -1,   -1,   -1,
876    91,   -1,   41,  303,   -1,   44,   -1,  287,   -1,  289,
877   290,   -1,   -1,  313,   -1,  315,  316,   -1,   -1,   58,
878    59,  257,  258,  259,  260,  261,   -1,  263,  264,  265,
879   310,  311,  123,  269,  314,  126,   -1,  317,  318,  319,
880    -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,
881   286,   -1,   -1,   -1,   93,  291,  292,  293,  294,  295,
882   296,   33,   -1,   -1,   36,   37,   38,  303,   40,   -1,
883    42,   43,   -1,   45,   -1,  281,   -1,  313,   -1,  315,
884   316,  287,  288,  289,  290,   -1,   -1,   59,   -1,   -1,
885    -1,   -1,   64,   -1,   -1,   -1,   -1,   -1,   -1,  305,
886   306,  307,  308,  309,  310,  311,   -1,   -1,  314,   -1,
887    -1,  317,  318,  319,  287,  288,  289,  290,   -1,   91,
888    -1,   33,   -1,   -1,   36,   37,   38,   -1,   40,   41,
889    42,   43,   -1,   45,  307,  308,  309,  310,  311,   -1,
890    -1,  314,   -1,   -1,  317,  318,  319,   -1,   -1,   -1,
891    -1,   -1,   64,   -1,  126,   -1,   -1,   -1,   -1,   -1,
892    -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
893   261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,   91,
894    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
895    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
896   291,  292,  293,  294,  295,  296,   33,   -1,   -1,   36,
897    37,   38,  303,   40,  126,   42,   43,   -1,   45,   -1,
898    -1,   -1,  313,   -1,  315,  316,   -1,   -1,   -1,   -1,
899    -1,   -1,   -1,  272,  273,  274,  275,   64,   -1,   -1,
900   279,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,
901    36,   37,   38,   -1,   40,   41,   42,   43,   -1,   45,
902    -1,  300,  301,  302,   91,  304,   93,   -1,   -1,   -1,
903    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   64,   -1,
904    41,   -1,   -1,   44,   -1,  257,  258,  259,  260,  261,
905    -1,  263,  264,  265,   -1,   -1,   -1,  269,   59,  126,
906    -1,   -1,   -1,   -1,   -1,   91,   -1,   -1,  280,   -1,
907   282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,
908   292,  293,  294,  295,  296,   -1,   -1,   -1,   -1,   -1,
909    -1,  303,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
910   126,  313,   -1,  315,  316,  257,  258,  259,  260,  261,
911    -1,  263,  264,  265,   -1,   33,   -1,  269,   36,   37,
912    38,   -1,   40,   41,   42,   43,   -1,   45,  280,   -1,
913   282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,
914   292,  293,  294,  295,  296,   -1,   64,   -1,   -1,   -1,
915    -1,  303,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,
916   290,  313,   -1,  315,  316,   -1,   -1,   -1,   41,   -1,
917    -1,   44,   -1,   91,   -1,  305,  306,  307,  308,  309,
918   310,  311,   -1,   -1,  314,   58,   59,  317,  318,  319,
919   257,  258,  259,  260,  261,   -1,  263,  264,  265,   -1,
920    -1,   -1,  269,   41,   -1,   -1,   44,   -1,  126,   -1,
921    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
922    93,   59,   -1,   -1,  291,  292,  293,  294,  295,  296,
923    -1,  257,  258,  259,  260,  261,  303,  263,  264,  265,
924    -1,   -1,   -1,  269,   -1,   -1,  313,   -1,  315,  316,
925    -1,   -1,   -1,   -1,  280,   93,  282,  283,  284,  285,
926   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,  295,
927   296,  272,  273,  274,  275,   -1,   33,  303,  279,   36,
928    37,   38,   -1,   40,   41,   42,   43,  313,   45,  315,
929   316,  287,  288,  289,  290,   -1,   -1,   -1,   -1,  300,
930   301,   -1,   -1,   -1,   -1,   -1,   -1,   64,   -1,   -1,
931    -1,   -1,   -1,  309,  310,  311,   -1,   -1,  314,   -1,
932    -1,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,   -1,
933    -1,   -1,   -1,   -1,   91,   -1,   -1,   -1,   -1,  257,
934   258,  259,  260,  261,   -1,  263,  264,  265,   -1,   33,
935    -1,  269,   36,   37,   38,   -1,   40,   41,   42,   43,
936    -1,   45,  280,   -1,  282,  283,  284,  285,  286,  126,
937    -1,   -1,   -1,  291,  292,  293,  294,  295,  296,   -1,
938    64,   -1,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,
939    -1,   -1,   -1,   -1,   -1,  313,   -1,  315,  316,  272,
940   273,  274,  275,   -1,   -1,   -1,  279,   91,   -1,   -1,
941    -1,   -1,   33,   -1,   -1,   36,   37,   38,   -1,   40,
942    -1,   42,   43,   -1,   45,   -1,   -1,  300,  301,  302,
943    -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,   -1,
944    -1,  279,  126,   64,   -1,   -1,   -1,   41,   -1,   -1,
945    44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
946    -1,   -1,  300,  301,   58,   59,   -1,   -1,   -1,   -1,
947    91,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
948    -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   36,   37,
949    38,   -1,   40,   41,   42,   43,   -1,   45,   -1,   93,
950   257,  258,  259,  260,  261,  126,  263,  264,  265,   -1,
951    -1,   -1,  269,   -1,   -1,   -1,   64,   -1,   -1,   -1,
952    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
953    -1,   -1,   -1,   -1,  291,  292,  293,  294,  295,  296,
954    -1,   -1,   -1,   91,   -1,   -1,  303,   -1,   -1,   -1,
955    -1,   -1,   -1,   -1,   -1,   -1,  313,   33,  315,  316,
956    36,   37,   38,   -1,   40,   41,   42,   43,   -1,   45,
957    -1,   -1,   -1,  257,  258,  259,  260,  261,  126,  263,
958   264,  265,   -1,   -1,   -1,  269,   -1,   -1,   64,   -1,
959    -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,
960   284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,
961   294,  295,  296,   -1,   -1,   91,   -1,   -1,   -1,  303,
962    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  313,
963    -1,  315,  316,   -1,   -1,  256,  257,  258,  259,  260,
964   261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,   -1,
965   126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
966    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
967   291,  292,  293,  294,  295,  296,   -1,   -1,  272,  273,
968   274,  275,  303,   -1,   -1,  279,   -1,   -1,   -1,   -1,
969    -1,   -1,  313,   33,  315,  316,   36,   37,   38,   -1,
970    40,   41,   42,   43,   -1,   45,  300,  301,  302,  257,
971   258,  259,  260,  261,   -1,  263,  264,  265,   -1,   -1,
972    -1,  269,   -1,   -1,   64,   -1,   -1,   -1,   -1,   -1,
973    -1,   -1,  280,   -1,  282,  283,  284,  285,  286,   -1,
974    -1,   -1,   -1,  291,  292,  293,  294,  295,  296,   -1,
975    -1,   91,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,
976    -1,   -1,   -1,   -1,   -1,  313,   33,  315,  316,   36,
977    37,   38,   -1,   40,   -1,   42,   43,   -1,   45,   -1,
978    -1,  257,  258,  259,  260,  261,  126,  263,  264,  265,
979    -1,   -1,   -1,  269,   -1,   -1,   -1,   64,   -1,   -1,
980    -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,
981   286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,  295,
982   296,   -1,   -1,   -1,   91,   -1,   -1,  303,   -1,   -1,
983    -1,   -1,   -1,   -1,   -1,   41,   -1,  313,   44,  315,
984   316,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,
985    -1,   -1,   58,   59,   -1,   -1,   -1,   63,   -1,  126,
986    58,   59,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,
987    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
988    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
989    -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,
990    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
991    -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
992   260,  261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,
993    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
994   280,   -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,
995    -1,  291,  292,  293,  294,  295,  296,   -1,   -1,   -1,
996    -1,   -1,   41,  303,   -1,   44,   -1,   -1,   -1,   -1,
997    -1,   -1,   -1,  313,   -1,  315,  316,   -1,   -1,   58,
998    59,   -1,   41,   -1,   63,   44,   -1,   -1,   -1,   -1,
999   257,  258,  259,  260,  261,   -1,  263,  264,  265,   58,
1000    59,   -1,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1001    -1,   -1,   -1,  280,   93,  282,  283,  284,  285,  286,
1002    -1,   -1,   -1,   -1,  291,  292,  293,  294,  295,  296,
1003    -1,   -1,   33,   -1,   93,   41,  303,   -1,   44,   -1,
1004    41,   -1,   -1,   -1,   45,   -1,  313,   48,  315,  316,
1005    51,   -1,   58,   59,   55,   56,   57,   58,   59,   -1,
1006    -1,   -1,   63,   64,   -1,   -1,  272,  273,  274,  275,
1007    -1,   -1,   -1,  279,  272,  273,  274,  275,   -1,   -1,
1008    -1,  279,   -1,  281,   -1,   -1,   -1,   93,   -1,  287,
1009   288,  289,  290,   -1,  300,  301,  302,   -1,  304,   -1,
1010    -1,  102,  300,  301,  302,   -1,  304,  305,  306,  307,
1011   308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,  317,
1012   318,  319,   -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,
1013    44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1014    -1,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,
1015    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1016    -1,   -1,   -1,   -1,  165,  166,  167,  168,  169,  170,
1017   171,  172,  173,  174,  175,  176,  177,  178,  179,   93,
1018    -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
1019    -1,   -1,  193,  272,  273,  274,  275,   -1,   58,   59,
1020   279,   -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,
1021   289,  290,   -1,  272,  273,  274,  275,   -1,   -1,   -1,
1022   279,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1023   309,  310,  311,   93,   41,  314,   -1,   44,  317,  318,
1024   319,  300,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,
1025    -1,   58,   59,   -1,   -1,   -1,   63,   -1,   -1,   -1,
1026    -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,
1027    -1,   -1,   -1,  279,   -1,   -1,   -1,   -1,   -1,  280,
1028    -1,   -1,   41,   -1,   -1,   44,   93,   -1,   -1,   -1,
1029    -1,   -1,   -1,   -1,  300,  301,  302,   -1,   -1,   58,
1030    59,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,
1031    -1,   -1,  313,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1032    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1033    41,   -1,   -1,   44,   93,   -1,   -1,   -1,   -1,   -1,
1034    -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,
1035    -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,  272,  273,
1036   274,  275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,
1037    -1,   -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,
1038    -1,   -1,   93,   -1,   -1,   -1,  300,  301,  302,   -1,
1039   304,  305,  306,  307,  308,  309,  310,  311,   -1,   -1,
1040   314,   -1,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,
1041    -1,   -1,  272,  273,  274,  275,   -1,   41,   -1,  279,
1042    44,  281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,
1043   290,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,
1044   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1045   310,  311,   -1,   -1,  314,   -1,   -1,  317,  318,  319,
1046    -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,   93,
1047    -1,   -1,  279,   -1,  281,   -1,   -1,   -1,   -1,   -1,
1048   287,  288,  289,  290,   -1,   -1,   -1,   -1,   -1,   -1,
1049    -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,  306,
1050   307,  308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,
1051   317,  318,  319,  272,  273,  274,  275,   -1,   -1,   -1,
1052   279,   -1,  281,   -1,   -1,   -1,   -1,   -1,  287,  288,
1053   289,  290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1054    -1,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1055   309,  310,  311,   -1,   -1,  314,   -1,   -1,  317,  318,
1056   319,  272,  273,  274,  275,   -1,   41,   -1,  279,   44,
1057   281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,  290,
1058    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,
1059   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1060   311,   -1,   -1,  314,   -1,   -1,  317,  318,  319,   -1,
1061    -1,   -1,   -1,   -1,   -1,   -1,   41,   -1,   93,   44,
1062    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1063    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,   -1,
1064    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,
1065   274,  275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,
1066    -1,   -1,   -1,  287,  288,  289,  290,   -1,   93,   -1,
1067    -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,
1068   304,  305,  306,  307,  308,  309,  310,  311,   41,   -1,
1069   314,   44,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,
1070    -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,
1071    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1072    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1073    -1,   -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,
1074    93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1075    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,   -1,
1076    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1077    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1078    -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   93,   -1,
1079    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1080   275,   -1,   58,   59,  279,   -1,  281,   63,   -1,   -1,
1081    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,
1082    -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,
1083   305,  306,  307,  308,  309,  310,  311,   93,   -1,  314,
1084    -1,   -1,  317,  318,  319,   -1,   -1,  272,  273,  274,
1085   275,   -1,   41,   -1,  279,   44,  281,   -1,   -1,   -1,
1086    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   58,
1087    59,   -1,   -1,   -1,   63,  300,  301,  302,   -1,  304,
1088   305,  306,  307,  308,  309,  310,  311,   -1,   -1,  314,
1089    -1,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,
1090    -1,   -1,   -1,   -1,   93,   -1,   -1,   41,   -1,   -1,
1091    44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,
1092   273,  274,  275,   -1,   58,   59,  279,   -1,  281,   63,
1093    -1,   -1,   -1,   -1,  287,  288,  289,  290,   -1,   -1,
1094    -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,
1095    -1,  304,  305,  306,  307,  308,  309,  310,  311,   93,
1096    -1,  314,   -1,   -1,  317,  318,  319,  272,  273,  274,
1097   275,   -1,   41,   -1,  279,   44,  281,   -1,   -1,   -1,
1098    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   58,
1099    59,   -1,   -1,   -1,   63,  300,  301,  302,   -1,  304,
1100   305,  306,  307,  308,  309,  310,  311,   -1,   -1,  314,
1101    -1,   -1,  317,  318,  319,   -1,  272,  273,  274,  275,
1102    41,   -1,   -1,  279,   93,  281,   -1,   -1,   -1,   -1,
1103    -1,  287,  288,  289,  290,   -1,   -1,   58,   59,   -1,
1104    -1,   -1,   63,   -1,  300,  301,  302,   -1,  304,  305,
1105   306,  307,  308,  309,  310,  311,   -1,   -1,  314,   -1,
1106    -1,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,   -1,
1107    -1,   41,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1108    -1,   -1,   -1,  272,  273,  274,  275,   -1,   58,   59,
1109   279,   -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,
1110   289,  290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1111    -1,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1112   309,  310,  311,   93,   -1,  314,   -1,   -1,  317,  318,
1113   319,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,
1114   274,  275,   -1,   41,   -1,  279,   44,  281,   -1,   -1,
1115    -1,   -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,
1116    58,   59,   -1,   -1,   -1,   63,  300,  301,  302,   -1,
1117   304,  305,  306,  307,  308,  309,  310,  311,   -1,   -1,
1118   314,   -1,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,
1119    -1,   41,   -1,   -1,   44,   93,   -1,   -1,   -1,   -1,
1120    -1,   -1,   -1,  272,  273,  274,  275,   -1,   58,   59,
1121   279,   -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,
1122   289,  290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1123    -1,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1124   309,  310,  311,   93,   -1,  314,   -1,   -1,  317,  318,
1125   319,  272,  273,  274,  275,   -1,   41,   -1,  279,   44,
1126   281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,  290,
1127    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,
1128   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1129   311,   -1,   -1,  314,   -1,   -1,  317,  318,  319,   -1,
1130    -1,   -1,  272,  273,  274,  275,   -1,   41,   93,  279,
1131    44,  281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,
1132   290,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,
1133   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1134   310,  311,   -1,   -1,  314,   -1,   -1,  317,  318,  319,
1135    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
1136    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
1137    -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,   58,
1138    59,  279,   -1,  281,   63,   -1,   -1,   -1,   -1,  287,
1139   288,  289,  290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1140    -1,   -1,  300,  301,  302,   -1,  304,  305,  306,  307,
1141   308,  309,  310,  311,   93,   -1,  314,   -1,   -1,   -1,
1142    -1,   -1,  272,  273,  274,  275,   -1,   41,   -1,  279,
1143    44,  281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,
1144   290,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,
1145   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1146   310,  311,   -1,   -1,  314,   -1,   -1,   -1,   -1,   -1,
1147    -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,   93,
1148    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1149   275,   -1,   58,   59,  279,   -1,  281,   63,   -1,   -1,
1150    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,
1151    -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,
1152   305,  306,  307,  308,  309,  310,  311,   93,   -1,   -1,
1153    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,
1154   274,  275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,
1155    -1,   -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,
1156    -1,   41,   -1,   -1,   44,   -1,  300,  301,  302,   -1,
1157   304,  305,  306,  307,  308,  309,  310,  311,   58,   59,
1158    -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,
1159    -1,   -1,   -1,  272,  273,  274,  275,   -1,   -1,   -1,
1160   279,   -1,  281,   -1,   -1,   -1,   -1,   -1,  287,  288,
1161   289,  290,   -1,   93,   -1,   -1,   41,   -1,   -1,   44,
1162    -1,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1163   309,  310,  311,   58,   59,   -1,   -1,   -1,   63,   -1,
1164    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1165    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,
1166   274,  275,   -1,   -1,   -1,  279,   -1,  281,   93,   -1,
1167    -1,   -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,
1168    -1,   41,   -1,   -1,   44,   -1,  300,  301,  302,   -1,
1169   304,  305,  306,  307,  308,  309,  310,  311,   58,   59,
1170    -1,   -1,   -1,   63,   -1,   -1,  272,  273,  274,  275,
1171    -1,   -1,   -1,  279,   -1,  281,   -1,   -1,   -1,   -1,
1172    -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,   41,
1173    -1,   -1,   44,   93,  300,  301,  302,   -1,  304,  305,
1174   306,  307,  308,  309,  310,  311,   58,   59,   -1,   -1,
1175    -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1176    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1177    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1178    41,   93,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,
1179    -1,   -1,  272,  273,  274,  275,   -1,   58,   59,  279,
1180    -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,  289,
1181   290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1182   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1183   310,  311,   93,   -1,   -1,   41,   -1,   -1,   44,   -1,
1184    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1185   275,   -1,   58,   59,  279,   -1,  281,   63,   -1,   -1,
1186    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,
1187    -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,
1188   305,  306,  307,  308,  309,  310,  311,   93,   -1,   -1,
1189    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1190    41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,
1191    -1,   -1,  272,  273,  274,  275,   -1,   58,   59,  279,
1192    -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,  289,
1193   290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1194   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1195   310,   -1,   93,   -1,   -1,   41,   -1,   -1,   44,   -1,
1196   272,  273,  274,  275,   -1,   41,   -1,  279,   44,  281,
1197    -1,   -1,   58,   59,   -1,  287,  288,   63,  290,   -1,
1198    -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,  301,
1199   302,   -1,  304,  305,  306,  307,  308,  309,  310,   -1,
1200    -1,   -1,   -1,   -1,   -1,   -1,   41,   93,   -1,   44,
1201    -1,  272,  273,  274,  275,   -1,   -1,   93,  279,   -1,
1202   281,   -1,   -1,   58,   59,   -1,  287,  288,   63,   -1,
1203    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,
1204   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1205    -1,   -1,   -1,   -1,   41,   -1,   -1,   44,   93,   -1,
1206    -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,
1207    -1,   58,   59,  279,   -1,  281,   63,   -1,   -1,   -1,
1208    -1,  287,  288,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1209    -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,
1210   306,  307,  308,  309,   41,   -1,   93,   44,   -1,   -1,
1211    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1212    -1,   58,   59,   -1,   -1,   -1,   63,   -1,   -1,   -1,
1213    -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,   -1,
1214   281,   -1,   -1,   -1,   -1,   -1,  287,  288,   -1,   -1,
1215    -1,   -1,   41,   -1,   -1,   44,   93,   -1,   -1,  300,
1216   301,  302,   -1,  304,  305,  306,  307,  308,  309,   58,
1217    59,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,
1218    -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,
1219    -1,   41,   -1,  279,   44,  281,  272,  273,  274,  275,
1220    -1,  287,  288,  279,   93,  281,   -1,   -1,   58,   59,
1221    -1,  287,  288,   63,  300,  301,  302,   -1,  304,  305,
1222   306,  307,  308,  309,  300,  301,  302,   -1,  304,  305,
1223   306,  307,  308,  309,   -1,   -1,   -1,  272,  273,  274,
1224   275,   -1,   -1,   93,  279,   -1,  281,   -1,   -1,   -1,
1225    -1,   -1,   -1,  288,   -1,   -1,   -1,   -1,   41,   -1,
1226    -1,   44,   -1,   -1,   -1,  300,  301,  302,   -1,  304,
1227   305,  306,  307,  308,  309,   58,   59,   -1,   -1,   -1,
1228    63,   -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,
1229    -1,   -1,  279,   -1,  281,   -1,   -1,   -1,   -1,   -1,
1230    -1,   -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,
1231    93,   -1,   -1,  300,  301,  302,   -1,  304,  305,  306,
1232   307,  308,  309,   58,   59,   -1,   -1,   -1,   63,   -1,
1233    -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,
1234    -1,   -1,  279,   -1,  281,   -1,   -1,   -1,   -1,   -1,
1235    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
1236    -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,  306,
1237   307,  308,  309,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1238    -1,   -1,   -1,  272,  273,  274,  275,   -1,   -1,   -1,
1239   279,   -1,  281,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1240    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1241    -1,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1242    -1,   -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,
1243    -1,  281,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1244    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1245   300,  301,  302,   -1,  304,  305,  306,  307,   -1,   -1,
1246    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1247    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1248    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,
1249   273,  274,  275,   -1,   -1,   -1,  279,   -1,  281,   -1,
1250    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1251    -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,
1252    -1,  304,  305,  306,   -1,   -1,   -1,   -1,   -1,   -1,
1253    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1254   275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,   -1,
1255    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1256    -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,
1257   305,  306,
1258 };
1259 #define YYFINAL 1
1260 #ifndef YYDEBUG
1261 #define YYDEBUG 0
1262 #endif
1263 #define YYMAXTOKEN 319
1264 #if YYDEBUG
1265 static char *yyname[] = {
1266 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1267 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1268 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1269 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1270 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1271 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1272 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1273 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","FUNCMETH","THING",
1274 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1275 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1276 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1277 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1278 "MYSUB","COLONATTR","PREC_LOW","OROP","DOROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1279 "DORDOR","ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN",
1280 "POWOP","PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1281 };
1282 static char *yyrule[] = {
1283 "$accept : prog",
1284 "prog : progstart lineseq",
1285 "block : '{' remember lineseq '}'",
1286 "remember :",
1287 "progstart :",
1288 "mblock : '{' mremember lineseq '}'",
1289 "mremember :",
1290 "lineseq :",
1291 "lineseq : lineseq decl",
1292 "lineseq : lineseq line",
1293 "line : label cond",
1294 "line : loop",
1295 "line : label ';'",
1296 "line : label sideff ';'",
1297 "sideff : error",
1298 "sideff : expr",
1299 "sideff : expr IF expr",
1300 "sideff : expr UNLESS expr",
1301 "sideff : expr WHILE expr",
1302 "sideff : expr UNTIL iexpr",
1303 "sideff : expr FOR expr",
1304 "else :",
1305 "else : ELSE mblock",
1306 "else : ELSIF '(' mexpr ')' mblock else",
1307 "cond : IF '(' remember mexpr ')' mblock else",
1308 "cond : UNLESS '(' remember miexpr ')' mblock else",
1309 "cont :",
1310 "cont : CONTINUE block",
1311 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1312 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1313 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1314 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1315 "loop : label FOR '(' remember mexpr ')' mblock cont",
1316 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1317 "loop : label block cont",
1318 "nexpr :",
1319 "nexpr : sideff",
1320 "texpr :",
1321 "texpr : expr",
1322 "iexpr : expr",
1323 "mexpr : expr",
1324 "mnexpr : nexpr",
1325 "mtexpr : texpr",
1326 "miexpr : iexpr",
1327 "label :",
1328 "label : LABEL",
1329 "decl : format",
1330 "decl : subrout",
1331 "decl : mysubrout",
1332 "decl : package",
1333 "decl : use",
1334 "format : FORMAT startformsub formname block",
1335 "formname : WORD",
1336 "formname :",
1337 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1338 "subrout : SUB startsub subname proto subattrlist subbody",
1339 "startsub :",
1340 "startanonsub :",
1341 "startformsub :",
1342 "subname : WORD",
1343 "proto :",
1344 "proto : THING",
1345 "subattrlist :",
1346 "subattrlist : COLONATTR THING",
1347 "subattrlist : COLONATTR",
1348 "myattrlist : COLONATTR THING",
1349 "myattrlist : COLONATTR",
1350 "subbody : block",
1351 "subbody : ';'",
1352 "package : PACKAGE WORD ';'",
1353 "package : PACKAGE ';'",
1354 "$$1 :",
1355 "use : USE startsub $$1 WORD WORD listexpr ';'",
1356 "expr : expr ANDOP expr",
1357 "expr : expr OROP expr",
1358 "expr : expr DOROP expr",
1359 "expr : argexpr",
1360 "argexpr : argexpr ','",
1361 "argexpr : argexpr ',' term",
1362 "argexpr : term",
1363 "listop : LSTOP indirob argexpr",
1364 "listop : FUNC '(' indirob expr ')'",
1365 "listop : term ARROW method '(' listexprcom ')'",
1366 "listop : term ARROW method",
1367 "listop : METHOD indirob listexpr",
1368 "listop : FUNCMETH indirob '(' listexprcom ')'",
1369 "listop : LSTOP listexpr",
1370 "listop : FUNC '(' listexprcom ')'",
1371 "$$2 :",
1372 "listop : LSTOPSUB startanonsub block $$2 listexpr",
1373 "method : METHOD",
1374 "method : scalar",
1375 "subscripted : star '{' expr ';' '}'",
1376 "subscripted : scalar '[' expr ']'",
1377 "subscripted : term ARROW '[' expr ']'",
1378 "subscripted : subscripted '[' expr ']'",
1379 "subscripted : scalar '{' expr ';' '}'",
1380 "subscripted : term ARROW '{' expr ';' '}'",
1381 "subscripted : subscripted '{' expr ';' '}'",
1382 "subscripted : term ARROW '(' ')'",
1383 "subscripted : term ARROW '(' expr ')'",
1384 "subscripted : subscripted '(' expr ')'",
1385 "subscripted : subscripted '(' ')'",
1386 "termbinop : term ASSIGNOP term",
1387 "termbinop : term POWOP term",
1388 "termbinop : term MULOP term",
1389 "termbinop : term ADDOP term",
1390 "termbinop : term SHIFTOP term",
1391 "termbinop : term RELOP term",
1392 "termbinop : term EQOP term",
1393 "termbinop : term BITANDOP term",
1394 "termbinop : term BITOROP term",
1395 "termbinop : term DOTDOT term",
1396 "termbinop : term ANDAND term",
1397 "termbinop : term OROR term",
1398 "termbinop : term DORDOR term",
1399 "termbinop : term MATCHOP term",
1400 "termunop : '-' term",
1401 "termunop : '+' term",
1402 "termunop : '!' term",
1403 "termunop : '~' term",
1404 "termunop : term POSTINC",
1405 "termunop : term POSTDEC",
1406 "termunop : PREINC term",
1407 "termunop : PREDEC term",
1408 "anonymous : '[' expr ']'",
1409 "anonymous : '[' ']'",
1410 "anonymous : HASHBRACK expr ';' '}'",
1411 "anonymous : HASHBRACK ';' '}'",
1412 "anonymous : ANONSUB startanonsub proto subattrlist block",
1413 "termdo : DO term",
1414 "termdo : DO block",
1415 "termdo : DO WORD '(' ')'",
1416 "termdo : DO WORD '(' expr ')'",
1417 "termdo : DO scalar '(' ')'",
1418 "termdo : DO scalar '(' expr ')'",
1419 "term : termbinop",
1420 "term : termunop",
1421 "term : anonymous",
1422 "term : termdo",
1423 "term : term '?' term ':' term",
1424 "term : REFGEN term",
1425 "term : myattrterm",
1426 "term : LOCAL term",
1427 "term : '(' expr ')'",
1428 "term : '(' ')'",
1429 "term : scalar",
1430 "term : star",
1431 "term : hsh",
1432 "term : ary",
1433 "term : arylen",
1434 "term : subscripted",
1435 "term : '(' expr ')' '[' expr ']'",
1436 "term : '(' ')' '[' expr ']'",
1437 "term : ary '[' expr ']'",
1438 "term : ary '{' expr ';' '}'",
1439 "term : THING",
1440 "term : amper",
1441 "term : amper '(' ')'",
1442 "term : amper '(' expr ')'",
1443 "term : NOAMP WORD listexpr",
1444 "term : LOOPEX",
1445 "term : LOOPEX term",
1446 "term : NOTOP argexpr",
1447 "term : UNIOP",
1448 "term : UNIOP block",
1449 "term : UNIOP term",
1450 "term : UNIOPSUB term",
1451 "term : FUNC0",
1452 "term : FUNC0 '(' ')'",
1453 "term : FUNC0SUB",
1454 "term : FUNC1 '(' ')'",
1455 "term : FUNC1 '(' expr ')'",
1456 "term : PMFUNC '(' term ')'",
1457 "term : PMFUNC '(' term ',' term ')'",
1458 "term : WORD",
1459 "term : listop",
1460 "myattrterm : MY myterm myattrlist",
1461 "myattrterm : MY myterm",
1462 "myterm : '(' expr ')'",
1463 "myterm : '(' ')'",
1464 "myterm : scalar",
1465 "myterm : hsh",
1466 "myterm : ary",
1467 "listexpr :",
1468 "listexpr : argexpr",
1469 "listexprcom :",
1470 "listexprcom : expr",
1471 "listexprcom : expr ','",
1472 "my_scalar : scalar",
1473 "amper : '&' indirob",
1474 "scalar : '$' indirob",
1475 "ary : '@' indirob",
1476 "hsh : '%' indirob",
1477 "arylen : DOLSHARP indirob",
1478 "star : '*' indirob",
1479 "indirob : WORD",
1480 "indirob : scalar",
1481 "indirob : block",
1482 "indirob : PRIVATEREF",
1483 };
1484 #endif
1485 #define yyclearin (yychar=(-1))
1486 #define yyerrok (yyerrflag=0)
1487 #ifdef YYSTACKSIZE
1488 #ifndef YYMAXDEPTH
1489 #define YYMAXDEPTH YYSTACKSIZE
1490 #endif
1491 #else
1492 #ifdef YYMAXDEPTH
1493 #define YYSTACKSIZE YYMAXDEPTH
1494 #else
1495 #define YYSTACKSIZE 500
1496 #define YYMAXDEPTH 500
1497 #endif
1498 #endif
1499 #line 797 "perly.y"
1500  /* PROGRAM */
1501
1502 /* more stuff added to make perly_c.diff easier to apply */
1503
1504 #ifdef yyparse
1505 #undef yyparse
1506 #endif
1507 #define yyparse() Perl_yyparse(pTHX)
1508
1509 #line 1509 "perly.c"
1510 #define YYABORT goto yyabort
1511 #define YYACCEPT goto yyaccept
1512 #define YYERROR goto yyerrlab
1513 int
1514 yyparse()
1515 {
1516     register int yym, yyn, yystate;
1517     register short *yyssp;
1518     register YYSTYPE *yyvsp;
1519     short* yyss;
1520     YYSTYPE* yyvs;
1521     unsigned yystacksize = YYSTACKSIZE;
1522     int retval = 0;
1523 #if YYDEBUG
1524     register char *yys;
1525 #endif
1526
1527     struct ysv *ysave;
1528 #ifdef USE_ITHREADS
1529     ENTER;                      /* force yydestruct() before we return */
1530 #endif
1531     New(73, ysave, 1, struct ysv);
1532     SAVEDESTRUCTOR_X(yydestruct, ysave);
1533     ysave->oldyydebug   = yydebug;
1534     ysave->oldyynerrs   = yynerrs;
1535     ysave->oldyyerrflag = yyerrflag;
1536     ysave->oldyychar    = yychar;
1537     ysave->oldyyval     = yyval;
1538     ysave->oldyylval    = yylval;
1539
1540 #if YYDEBUG
1541   {
1542     register int saved_errno = errno;
1543 #ifdef VMS
1544     register int saved_vaxc_errno = vaxc$errno;
1545 #else
1546     register int saved_vaxc_errno = 0;
1547 #endif
1548     if ((yys = getenv("YYDEBUG")))
1549     {
1550         yyn = *yys;
1551         if (yyn >= '0' && yyn <= '9')
1552             yydebug = yyn - '0';
1553     }
1554     else SETERRNO(saved_errno,saved_vaxc_errno);
1555   }
1556 #endif
1557
1558     yynerrs = 0;
1559     yyerrflag = 0;
1560     yychar = (-1);
1561
1562     /*
1563     ** Initialize private stacks (yyparse may be called from an action)
1564     */
1565     New(73, yyss, yystacksize, short);
1566     New(73, yyvs, yystacksize, YYSTYPE);
1567     ysave->yyss = yyss;
1568     ysave->yyvs = yyvs;
1569     if (!yyvs || !yyss)
1570         goto yyoverflow;
1571
1572     yyssp = yyss;
1573     yyvsp = yyvs;
1574     *yyssp = yystate = 0;
1575
1576 yyloop:
1577     if ((yyn = yydefred[yystate])) goto yyreduce;
1578     if (yychar < 0)
1579     {
1580         if ((yychar = yylex()) < 0) yychar = 0;
1581 #if YYDEBUG
1582         if (yydebug)
1583         {
1584             yys = 0;
1585             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1586             if (!yys) yys = "illegal-symbol";
1587             PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1588                     yychar, yys);
1589         }
1590 #endif
1591     }
1592     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1593             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1594     {
1595 #if YYDEBUG
1596         if (yydebug)
1597             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1598                     yystate, yytable[yyn]);
1599 #endif
1600         if (yyssp >= yyss + yystacksize - 1)
1601         {
1602             /*
1603             ** reallocate and recover.  Note that pointers
1604             ** have to be reset, or bad things will happen
1605             */
1606             int yyps_index = (yyssp - yyss);
1607             int yypv_index = (yyvsp - yyvs);
1608             yystacksize += YYSTACKSIZE;
1609             ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1610             ysave->yyss = Renew(yyss, yystacksize, short);
1611             if (!yyvs || !yyss)
1612             goto yyoverflow;
1613             yyssp = yyss + yyps_index;
1614             yyvsp = yyvs + yypv_index;
1615         }
1616         *++yyssp = yystate = yytable[yyn];
1617         *++yyvsp = yylval;
1618         yychar = (-1);
1619         if (yyerrflag > 0)  --yyerrflag;
1620         goto yyloop;
1621     }
1622     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1623             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1624     {
1625         yyn = yytable[yyn];
1626         goto yyreduce;
1627     }
1628     if (yyerrflag) goto yyinrecovery;
1629 #ifdef lint
1630
1631 #endif
1632
1633     yyerror("syntax error");
1634 #ifdef lint
1635
1636 #endif
1637
1638     ++yynerrs;
1639 yyinrecovery:
1640     if (yyerrflag < 3)
1641     {
1642         yyerrflag = 3;
1643         for (;;)
1644         {
1645             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1646                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1647             {
1648 #if YYDEBUG
1649                 if (yydebug)
1650                     PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1651  to state %d\n", *yyssp, yytable[yyn]);
1652 #endif
1653                 if (yyssp >= yyss + yystacksize - 1)
1654                 {
1655                     /*
1656                     ** reallocate and recover.  Note that pointers
1657                     ** have to be reset, or bad things will happen
1658                     */
1659                     int yyps_index = (yyssp - yyss);
1660                     int yypv_index = (yyvsp - yyvs);
1661                     yystacksize += YYSTACKSIZE;
1662                     ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1663                     ysave->yyss = Renew(yyss, yystacksize, short);
1664                     if (!yyvs || !yyss)
1665                     goto yyoverflow;
1666                     yyssp = yyss + yyps_index;
1667                     yyvsp = yyvs + yypv_index;
1668                 }
1669                 *++yyssp = yystate = yytable[yyn];
1670                 *++yyvsp = yylval;
1671                 goto yyloop;
1672             }
1673             else
1674             {
1675 #if YYDEBUG
1676                 if (yydebug)
1677                     PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1678                             *yyssp);
1679 #endif
1680                 if (yyssp <= yyss) goto yyabort;
1681                 --yyssp;
1682                 --yyvsp;
1683             }
1684         }
1685     }
1686     else
1687     {
1688         if (yychar == 0) goto yyabort;
1689 #if YYDEBUG
1690         if (yydebug)
1691         {
1692             yys = 0;
1693             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1694             if (!yys) yys = "illegal-symbol";
1695             PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1696                     yystate, yychar, yys);
1697         }
1698 #endif
1699         yychar = (-1);
1700         goto yyloop;
1701     }
1702 yyreduce:
1703 #if YYDEBUG
1704     if (yydebug)
1705         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1706                 yystate, yyn, yyrule[yyn]);
1707 #endif
1708     yym = yylen[yyn];
1709     yyval = yyvsp[1-yym];
1710     switch (yyn)
1711     {
1712 case 1:
1713 #line 131 "perly.y"
1714 { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1715 break;
1716 case 2:
1717 #line 136 "perly.y"
1718 { if (PL_copline > (line_t)yyvsp[-3].ival)
1719                               PL_copline = (line_t)yyvsp[-3].ival;
1720                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1721 break;
1722 case 3:
1723 #line 142 "perly.y"
1724 { yyval.ival = block_start(TRUE); }
1725 break;
1726 case 4:
1727 #line 146 "perly.y"
1728 {
1729 #if defined(YYDEBUG) && defined(DEBUGGING)
1730                     yydebug = (DEBUG_p_TEST);
1731 #endif
1732                     PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1733                 }
1734 break;
1735 case 5:
1736 #line 156 "perly.y"
1737 { if (PL_copline > (line_t)yyvsp[-3].ival)
1738                               PL_copline = (line_t)yyvsp[-3].ival;
1739                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1740 break;
1741 case 6:
1742 #line 162 "perly.y"
1743 { yyval.ival = block_start(FALSE); }
1744 break;
1745 case 7:
1746 #line 167 "perly.y"
1747 { yyval.opval = Nullop; }
1748 break;
1749 case 8:
1750 #line 169 "perly.y"
1751 { yyval.opval = yyvsp[-1].opval; }
1752 break;
1753 case 9:
1754 #line 171 "perly.y"
1755 {   yyval.opval = append_list(OP_LINESEQ,
1756                                 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1757                             PL_pad_reset_pending = TRUE;
1758                             if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1759 break;
1760 case 10:
1761 #line 179 "perly.y"
1762 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1763 break;
1764 case 12:
1765 #line 182 "perly.y"
1766 { if (yyvsp[-1].pval != Nullch) {
1767                               yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1768                             }
1769                             else {
1770                               yyval.opval = Nullop;
1771                               PL_copline = NOLINE;
1772                             }
1773                             PL_expect = XSTATE; }
1774 break;
1775 case 13:
1776 #line 191 "perly.y"
1777 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1778                           PL_expect = XSTATE; }
1779 break;
1780 case 14:
1781 #line 197 "perly.y"
1782 { yyval.opval = Nullop; }
1783 break;
1784 case 15:
1785 #line 199 "perly.y"
1786 { yyval.opval = yyvsp[0].opval; }
1787 break;
1788 case 16:
1789 #line 201 "perly.y"
1790 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1791 break;
1792 case 17:
1793 #line 203 "perly.y"
1794 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1795 break;
1796 case 18:
1797 #line 205 "perly.y"
1798 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1799 break;
1800 case 19:
1801 #line 207 "perly.y"
1802 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1803 break;
1804 case 20:
1805 #line 209 "perly.y"
1806 { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
1807                                         Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1808 break;
1809 case 21:
1810 #line 215 "perly.y"
1811 { yyval.opval = Nullop; }
1812 break;
1813 case 22:
1814 #line 217 "perly.y"
1815 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1816 break;
1817 case 23:
1818 #line 219 "perly.y"
1819 { PL_copline = (line_t)yyvsp[-5].ival;
1820                             yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1821                             PL_hints |= HINT_BLOCK_SCOPE; }
1822 break;
1823 case 24:
1824 #line 226 "perly.y"
1825 { PL_copline = (line_t)yyvsp[-6].ival;
1826                             yyval.opval = block_end(yyvsp[-4].ival,
1827                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1828 break;
1829 case 25:
1830 #line 230 "perly.y"
1831 { PL_copline = (line_t)yyvsp[-6].ival;
1832                             yyval.opval = block_end(yyvsp[-4].ival,
1833                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1834 break;
1835 case 26:
1836 #line 237 "perly.y"
1837 { yyval.opval = Nullop; }
1838 break;
1839 case 27:
1840 #line 239 "perly.y"
1841 { yyval.opval = scope(yyvsp[0].opval); }
1842 break;
1843 case 28:
1844 #line 244 "perly.y"
1845 { PL_copline = (line_t)yyvsp[-6].ival;
1846                             yyval.opval = block_end(yyvsp[-4].ival,
1847                                    newSTATEOP(0, yyvsp[-7].pval,
1848                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1849                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1850 break;
1851 case 29:
1852 #line 250 "perly.y"
1853 { PL_copline = (line_t)yyvsp[-6].ival;
1854                             yyval.opval = block_end(yyvsp[-4].ival,
1855                                    newSTATEOP(0, yyvsp[-7].pval,
1856                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1857                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1858 break;
1859 case 30:
1860 #line 256 "perly.y"
1861 { yyval.opval = block_end(yyvsp[-6].ival,
1862                                  newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1863 break;
1864 case 31:
1865 #line 259 "perly.y"
1866 { yyval.opval = block_end(yyvsp[-4].ival,
1867                                  newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1868                                           yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1869 break;
1870 case 32:
1871 #line 263 "perly.y"
1872 { yyval.opval = block_end(yyvsp[-4].ival,
1873                                  newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1874 break;
1875 case 33:
1876 #line 267 "perly.y"
1877 { OP *forop;
1878                           PL_copline = (line_t)yyvsp[-9].ival;
1879                           forop = newSTATEOP(0, yyvsp[-10].pval,
1880                                             newWHILEOP(0, 1, (LOOP*)Nullop,
1881                                                 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1882                                                 yyvsp[0].opval, yyvsp[-2].opval));
1883                           if (yyvsp[-6].opval) {
1884                                 forop = append_elem(OP_LINESEQ,
1885                                         newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1886                                                    yyvsp[-6].opval),
1887                                         forop);
1888                           }
1889
1890                           yyval.opval = block_end(yyvsp[-7].ival, forop); }
1891 break;
1892 case 34:
1893 #line 282 "perly.y"
1894 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1895                                  newWHILEOP(0, 1, (LOOP*)Nullop,
1896                                             NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1897 break;
1898 case 35:
1899 #line 289 "perly.y"
1900 { yyval.opval = Nullop; }
1901 break;
1902 case 37:
1903 #line 295 "perly.y"
1904 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1905 break;
1906 case 39:
1907 #line 301 "perly.y"
1908 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1909 break;
1910 case 40:
1911 #line 306 "perly.y"
1912 { yyval.opval = yyvsp[0].opval; intro_my(); }
1913 break;
1914 case 41:
1915 #line 310 "perly.y"
1916 { yyval.opval = yyvsp[0].opval; intro_my(); }
1917 break;
1918 case 42:
1919 #line 314 "perly.y"
1920 { yyval.opval = yyvsp[0].opval; intro_my(); }
1921 break;
1922 case 43:
1923 #line 318 "perly.y"
1924 { yyval.opval = yyvsp[0].opval; intro_my(); }
1925 break;
1926 case 44:
1927 #line 323 "perly.y"
1928 { yyval.pval = Nullch; }
1929 break;
1930 case 46:
1931 #line 329 "perly.y"
1932 { yyval.ival = 0; }
1933 break;
1934 case 47:
1935 #line 331 "perly.y"
1936 { yyval.ival = 0; }
1937 break;
1938 case 48:
1939 #line 333 "perly.y"
1940 { yyval.ival = 0; }
1941 break;
1942 case 49:
1943 #line 335 "perly.y"
1944 { yyval.ival = 0; }
1945 break;
1946 case 50:
1947 #line 337 "perly.y"
1948 { yyval.ival = 0; }
1949 break;
1950 case 51:
1951 #line 341 "perly.y"
1952 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1953 break;
1954 case 52:
1955 #line 344 "perly.y"
1956 { yyval.opval = yyvsp[0].opval; }
1957 break;
1958 case 53:
1959 #line 345 "perly.y"
1960 { yyval.opval = Nullop; }
1961 break;
1962 case 54:
1963 #line 350 "perly.y"
1964 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1965 break;
1966 case 55:
1967 #line 355 "perly.y"
1968 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1969 break;
1970 case 56:
1971 #line 359 "perly.y"
1972 { yyval.ival = start_subparse(FALSE, 0); }
1973 break;
1974 case 57:
1975 #line 363 "perly.y"
1976 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1977 break;
1978 case 58:
1979 #line 367 "perly.y"
1980 { yyval.ival = start_subparse(TRUE, 0); }
1981 break;
1982 case 59:
1983 #line 371 "perly.y"
1984 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1985                           if (strEQ(name, "BEGIN") || strEQ(name, "END")
1986                               || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1987                               CvSPECIAL_on(PL_compcv);
1988                           yyval.opval = yyvsp[0].opval; }
1989 break;
1990 case 60:
1991 #line 380 "perly.y"
1992 { yyval.opval = Nullop; }
1993 break;
1994 case 62:
1995 #line 386 "perly.y"
1996 { yyval.opval = Nullop; }
1997 break;
1998 case 63:
1999 #line 388 "perly.y"
2000 { yyval.opval = yyvsp[0].opval; }
2001 break;
2002 case 64:
2003 #line 390 "perly.y"
2004 { yyval.opval = Nullop; }
2005 break;
2006 case 65:
2007 #line 395 "perly.y"
2008 { yyval.opval = yyvsp[0].opval; }
2009 break;
2010 case 66:
2011 #line 397 "perly.y"
2012 { yyval.opval = Nullop; }
2013 break;
2014 case 67:
2015 #line 401 "perly.y"
2016 { yyval.opval = yyvsp[0].opval; }
2017 break;
2018 case 68:
2019 #line 402 "perly.y"
2020 { yyval.opval = Nullop; PL_expect = XSTATE; }
2021 break;
2022 case 69:
2023 #line 406 "perly.y"
2024 { package(yyvsp[-1].opval); }
2025 break;
2026 case 70:
2027 #line 408 "perly.y"
2028 { package(Nullop); }
2029 break;
2030 case 71:
2031 #line 412 "perly.y"
2032 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
2033 break;
2034 case 72:
2035 #line 414 "perly.y"
2036 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
2037 break;
2038 case 73:
2039 #line 419 "perly.y"
2040 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2041 break;
2042 case 74:
2043 #line 421 "perly.y"
2044 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2045 break;
2046 case 75:
2047 #line 423 "perly.y"
2048 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2049 break;
2050 case 77:
2051 #line 429 "perly.y"
2052 { yyval.opval = yyvsp[-1].opval; }
2053 break;
2054 case 78:
2055 #line 431 "perly.y"
2056 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2057 break;
2058 case 80:
2059 #line 437 "perly.y"
2060 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2061                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
2062 break;
2063 case 81:
2064 #line 440 "perly.y"
2065 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2066                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
2067 break;
2068 case 82:
2069 #line 443 "perly.y"
2070 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2071                                 append_elem(OP_LIST,
2072                                     prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
2073                                     newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
2074 break;
2075 case 83:
2076 #line 448 "perly.y"
2077 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2078                                 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
2079                                     newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
2080 break;
2081 case 84:
2082 #line 452 "perly.y"
2083 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2084                                 append_elem(OP_LIST,
2085                                     prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
2086                                     newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
2087 break;
2088 case 85:
2089 #line 457 "perly.y"
2090 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2091                                 append_elem(OP_LIST,
2092                                     prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
2093                                     newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
2094 break;
2095 case 86:
2096 #line 462 "perly.y"
2097 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2098 break;
2099 case 87:
2100 #line 464 "perly.y"
2101 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2102 break;
2103 case 88:
2104 #line 466 "perly.y"
2105 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
2106 break;
2107 case 89:
2108 #line 468 "perly.y"
2109 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2110                                  append_elem(OP_LIST,
2111                                    prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2112 break;
2113 case 92:
2114 #line 482 "perly.y"
2115 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2116 break;
2117 case 93:
2118 #line 484 "perly.y"
2119 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2120 break;
2121 case 94:
2122 #line 486 "perly.y"
2123 { yyval.opval = newBINOP(OP_AELEM, 0,
2124                                         ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2125                                         scalar(yyvsp[-1].opval));}
2126 break;
2127 case 95:
2128 #line 490 "perly.y"
2129 { yyval.opval = newBINOP(OP_AELEM, 0,
2130                                         ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2131                                         scalar(yyvsp[-1].opval));}
2132 break;
2133 case 96:
2134 #line 494 "perly.y"
2135 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2136                             PL_expect = XOPERATOR; }
2137 break;
2138 case 97:
2139 #line 497 "perly.y"
2140 { yyval.opval = newBINOP(OP_HELEM, 0,
2141                                         ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2142                                         jmaybe(yyvsp[-2].opval));
2143                             PL_expect = XOPERATOR; }
2144 break;
2145 case 98:
2146 #line 502 "perly.y"
2147 { yyval.opval = newBINOP(OP_HELEM, 0,
2148                                         ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2149                                         jmaybe(yyvsp[-2].opval));
2150                             PL_expect = XOPERATOR; }
2151 break;
2152 case 99:
2153 #line 507 "perly.y"
2154 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2155                                    newCVREF(0, scalar(yyvsp[-3].opval))); }
2156 break;
2157 case 100:
2158 #line 510 "perly.y"
2159 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2160                                    append_elem(OP_LIST, yyvsp[-1].opval,
2161                                        newCVREF(0, scalar(yyvsp[-4].opval)))); }
2162 break;
2163 case 101:
2164 #line 515 "perly.y"
2165 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2166                                    append_elem(OP_LIST, yyvsp[-1].opval,
2167                                                newCVREF(0, scalar(yyvsp[-3].opval)))); }
2168 break;
2169 case 102:
2170 #line 519 "perly.y"
2171 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2172                                    newCVREF(0, scalar(yyvsp[-2].opval))); }
2173 break;
2174 case 103:
2175 #line 525 "perly.y"
2176 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2177 break;
2178 case 104:
2179 #line 527 "perly.y"
2180 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2181 break;
2182 case 105:
2183 #line 529 "perly.y"
2184 {   if (yyvsp[-1].ival != OP_REPEAT)
2185                                 scalar(yyvsp[-2].opval);
2186                             yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2187 break;
2188 case 106:
2189 #line 533 "perly.y"
2190 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2191 break;
2192 case 107:
2193 #line 535 "perly.y"
2194 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2195 break;
2196 case 108:
2197 #line 537 "perly.y"
2198 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2199 break;
2200 case 109:
2201 #line 539 "perly.y"
2202 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2203 break;
2204 case 110:
2205 #line 541 "perly.y"
2206 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2207 break;
2208 case 111:
2209 #line 543 "perly.y"
2210 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2211 break;
2212 case 112:
2213 #line 545 "perly.y"
2214 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2215 break;
2216 case 113:
2217 #line 547 "perly.y"
2218 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2219 break;
2220 case 114:
2221 #line 549 "perly.y"
2222 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2223 break;
2224 case 115:
2225 #line 551 "perly.y"
2226 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2227 break;
2228 case 116:
2229 #line 553 "perly.y"
2230 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2231 break;
2232 case 117:
2233 #line 558 "perly.y"
2234 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2235 break;
2236 case 118:
2237 #line 560 "perly.y"
2238 { yyval.opval = yyvsp[0].opval; }
2239 break;
2240 case 119:
2241 #line 562 "perly.y"
2242 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2243 break;
2244 case 120:
2245 #line 564 "perly.y"
2246 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2247 break;
2248 case 121:
2249 #line 566 "perly.y"
2250 { yyval.opval = newUNOP(OP_POSTINC, 0,
2251                                         mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2252 break;
2253 case 122:
2254 #line 569 "perly.y"
2255 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2256                                         mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2257 break;
2258 case 123:
2259 #line 572 "perly.y"
2260 { yyval.opval = newUNOP(OP_PREINC, 0,
2261                                         mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2262 break;
2263 case 124:
2264 #line 575 "perly.y"
2265 { yyval.opval = newUNOP(OP_PREDEC, 0,
2266                                         mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2267 break;
2268 case 125:
2269 #line 582 "perly.y"
2270 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2271 break;
2272 case 126:
2273 #line 584 "perly.y"
2274 { yyval.opval = newANONLIST(Nullop); }
2275 break;
2276 case 127:
2277 #line 586 "perly.y"
2278 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2279 break;
2280 case 128:
2281 #line 588 "perly.y"
2282 { yyval.opval = newANONHASH(Nullop); }
2283 break;
2284 case 129:
2285 #line 590 "perly.y"
2286 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2287 break;
2288 case 130:
2289 #line 596 "perly.y"
2290 { yyval.opval = dofile(yyvsp[0].opval); }
2291 break;
2292 case 131:
2293 #line 598 "perly.y"
2294 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2295 break;
2296 case 132:
2297 #line 600 "perly.y"
2298 { yyval.opval = newUNOP(OP_ENTERSUB,
2299                             OPf_SPECIAL|OPf_STACKED,
2300                             prepend_elem(OP_LIST,
2301                                 scalar(newCVREF(
2302                                     (OPpENTERSUB_AMPER<<8),
2303                                     scalar(yyvsp[-2].opval)
2304                                 )),Nullop)); dep();}
2305 break;
2306 case 133:
2307 #line 608 "perly.y"
2308 { yyval.opval = newUNOP(OP_ENTERSUB,
2309                             OPf_SPECIAL|OPf_STACKED,
2310                             append_elem(OP_LIST,
2311                                 yyvsp[-1].opval,
2312                                 scalar(newCVREF(
2313                                     (OPpENTERSUB_AMPER<<8),
2314                                     scalar(yyvsp[-3].opval)
2315                                 )))); dep();}
2316 break;
2317 case 134:
2318 #line 617 "perly.y"
2319 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2320                             prepend_elem(OP_LIST,
2321                                 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2322 break;
2323 case 135:
2324 #line 621 "perly.y"
2325 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2326                             prepend_elem(OP_LIST,
2327                                 yyvsp[-1].opval,
2328                                 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2329 break;
2330 case 140:
2331 #line 633 "perly.y"
2332 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2333 break;
2334 case 141:
2335 #line 635 "perly.y"
2336 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2337 break;
2338 case 142:
2339 #line 637 "perly.y"
2340 { yyval.opval = yyvsp[0].opval; }
2341 break;
2342 case 143:
2343 #line 639 "perly.y"
2344 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2345 break;
2346 case 144:
2347 #line 641 "perly.y"
2348 { yyval.opval = sawparens(yyvsp[-1].opval); }
2349 break;
2350 case 145:
2351 #line 643 "perly.y"
2352 { yyval.opval = sawparens(newNULLLIST()); }
2353 break;
2354 case 146:
2355 #line 645 "perly.y"
2356 { yyval.opval = yyvsp[0].opval; }
2357 break;
2358 case 147:
2359 #line 647 "perly.y"
2360 { yyval.opval = yyvsp[0].opval; }
2361 break;
2362 case 148:
2363 #line 649 "perly.y"
2364 { yyval.opval = yyvsp[0].opval; }
2365 break;
2366 case 149:
2367 #line 651 "perly.y"
2368 { yyval.opval = yyvsp[0].opval; }
2369 break;
2370 case 150:
2371 #line 653 "perly.y"
2372 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2373 break;
2374 case 151:
2375 #line 655 "perly.y"
2376 { yyval.opval = yyvsp[0].opval; }
2377 break;
2378 case 152:
2379 #line 657 "perly.y"
2380 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2381 break;
2382 case 153:
2383 #line 659 "perly.y"
2384 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2385 break;
2386 case 154:
2387 #line 661 "perly.y"
2388 { yyval.opval = prepend_elem(OP_ASLICE,
2389                                 newOP(OP_PUSHMARK, 0),
2390                                     newLISTOP(OP_ASLICE, 0,
2391                                         list(yyvsp[-1].opval),
2392                                         ref(yyvsp[-3].opval, OP_ASLICE))); }
2393 break;
2394 case 155:
2395 #line 667 "perly.y"
2396 { yyval.opval = prepend_elem(OP_HSLICE,
2397                                 newOP(OP_PUSHMARK, 0),
2398                                     newLISTOP(OP_HSLICE, 0,
2399                                         list(yyvsp[-2].opval),
2400                                         ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2401                             PL_expect = XOPERATOR; }
2402 break;
2403 case 156:
2404 #line 674 "perly.y"
2405 { yyval.opval = yyvsp[0].opval; }
2406 break;
2407 case 157:
2408 #line 676 "perly.y"
2409 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2410 break;
2411 case 158:
2412 #line 678 "perly.y"
2413 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2414 break;
2415 case 159:
2416 #line 680 "perly.y"
2417 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2418                             append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2419 break;
2420 case 160:
2421 #line 683 "perly.y"
2422 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2423                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2424 break;
2425 case 161:
2426 #line 686 "perly.y"
2427 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2428                             PL_hints |= HINT_BLOCK_SCOPE; }
2429 break;
2430 case 162:
2431 #line 689 "perly.y"
2432 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2433 break;
2434 case 163:
2435 #line 691 "perly.y"
2436 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2437 break;
2438 case 164:
2439 #line 693 "perly.y"
2440 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2441 break;
2442 case 165:
2443 #line 695 "perly.y"
2444 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2445 break;
2446 case 166:
2447 #line 697 "perly.y"
2448 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2449 break;
2450 case 167:
2451 #line 699 "perly.y"
2452 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2453                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2454 break;
2455 case 168:
2456 #line 702 "perly.y"
2457 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2458 break;
2459 case 169:
2460 #line 704 "perly.y"
2461 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2462 break;
2463 case 170:
2464 #line 706 "perly.y"
2465 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2466                                 scalar(yyvsp[0].opval)); }
2467 break;
2468 case 171:
2469 #line 709 "perly.y"
2470 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2471 break;
2472 case 172:
2473 #line 711 "perly.y"
2474 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2475 break;
2476 case 173:
2477 #line 713 "perly.y"
2478 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2479 break;
2480 case 174:
2481 #line 715 "perly.y"
2482 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2483 break;
2484 case 177:
2485 #line 722 "perly.y"
2486 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2487 break;
2488 case 178:
2489 #line 724 "perly.y"
2490 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2491 break;
2492 case 179:
2493 #line 729 "perly.y"
2494 { yyval.opval = sawparens(yyvsp[-1].opval); }
2495 break;
2496 case 180:
2497 #line 731 "perly.y"
2498 { yyval.opval = sawparens(newNULLLIST()); }
2499 break;
2500 case 181:
2501 #line 733 "perly.y"
2502 { yyval.opval = yyvsp[0].opval; }
2503 break;
2504 case 182:
2505 #line 735 "perly.y"
2506 { yyval.opval = yyvsp[0].opval; }
2507 break;
2508 case 183:
2509 #line 737 "perly.y"
2510 { yyval.opval = yyvsp[0].opval; }
2511 break;
2512 case 184:
2513 #line 742 "perly.y"
2514 { yyval.opval = Nullop; }
2515 break;
2516 case 185:
2517 #line 744 "perly.y"
2518 { yyval.opval = yyvsp[0].opval; }
2519 break;
2520 case 186:
2521 #line 748 "perly.y"
2522 { yyval.opval = Nullop; }
2523 break;
2524 case 187:
2525 #line 750 "perly.y"
2526 { yyval.opval = yyvsp[0].opval; }
2527 break;
2528 case 188:
2529 #line 752 "perly.y"
2530 { yyval.opval = yyvsp[-1].opval; }
2531 break;
2532 case 189:
2533 #line 758 "perly.y"
2534 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2535 break;
2536 case 190:
2537 #line 762 "perly.y"
2538 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2539 break;
2540 case 191:
2541 #line 766 "perly.y"
2542 { yyval.opval = newSVREF(yyvsp[0].opval); }
2543 break;
2544 case 192:
2545 #line 770 "perly.y"
2546 { yyval.opval = newAVREF(yyvsp[0].opval); }
2547 break;
2548 case 193:
2549 #line 774 "perly.y"
2550 { yyval.opval = newHVREF(yyvsp[0].opval); }
2551 break;
2552 case 194:
2553 #line 778 "perly.y"
2554 { yyval.opval = newAVREF(yyvsp[0].opval); }
2555 break;
2556 case 195:
2557 #line 782 "perly.y"
2558 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2559 break;
2560 case 196:
2561 #line 787 "perly.y"
2562 { yyval.opval = scalar(yyvsp[0].opval); }
2563 break;
2564 case 197:
2565 #line 789 "perly.y"
2566 { yyval.opval = scalar(yyvsp[0].opval);  }
2567 break;
2568 case 198:
2569 #line 791 "perly.y"
2570 { yyval.opval = scope(yyvsp[0].opval); }
2571 break;
2572 case 199:
2573 #line 794 "perly.y"
2574 { yyval.opval = yyvsp[0].opval; }
2575 break;
2576 #line 2567 "perly.c"
2577     }
2578     yyssp -= yym;
2579     yystate = *yyssp;
2580     yyvsp -= yym;
2581     yym = yylhs[yyn];
2582     if (yystate == 0 && yym == 0)
2583     {
2584 #if YYDEBUG
2585         if (yydebug)
2586             PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2587  state %d\n", YYFINAL);
2588 #endif
2589         yystate = YYFINAL;
2590         *++yyssp = YYFINAL;
2591         *++yyvsp = yyval;
2592         if (yychar < 0)
2593         {
2594             if ((yychar = yylex()) < 0) yychar = 0;
2595 #if YYDEBUG
2596             if (yydebug)
2597             {
2598                 yys = 0;
2599                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2600                 if (!yys) yys = "illegal-symbol";
2601                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2602                         YYFINAL, yychar, yys);
2603             }
2604 #endif
2605         }
2606         if (yychar == 0) goto yyaccept;
2607         goto yyloop;
2608     }
2609     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2610             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2611         yystate = yytable[yyn];
2612     else
2613         yystate = yydgoto[yym];
2614 #if YYDEBUG
2615     if (yydebug)
2616         PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2617 to state %d\n", *yyssp, yystate);
2618 #endif
2619     if (yyssp >= yyss + yystacksize - 1)
2620     {
2621         /*
2622         ** reallocate and recover.  Note that pointers
2623         ** have to be reset, or bad things will happen
2624         */
2625         int yyps_index = (yyssp - yyss);
2626         int yypv_index = (yyvsp - yyvs);
2627         yystacksize += YYSTACKSIZE;
2628         ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2629         ysave->yyss = Renew(yyss, yystacksize, short);
2630         if (!yyvs || !yyss)
2631         goto yyoverflow;
2632         yyssp = yyss + yyps_index;
2633         yyvsp = yyvs + yypv_index;
2634     }
2635     *++yyssp = yystate;
2636     *++yyvsp = yyval;
2637     goto yyloop;
2638 yyoverflow:
2639     yyerror("Out of memory for yacc stack");
2640 yyabort:
2641     retval = 1;
2642 yyaccept:
2643 #ifdef USE_ITHREADS
2644     LEAVE;                      /* force yydestruct() before we return */
2645 #endif
2646     return retval;
2647 }
2648
2649 static void
2650 yydestruct(pTHX_ void *ptr)
2651 {
2652     struct ysv* ysave = (struct ysv*)ptr;
2653     if (ysave->yyss) Safefree(ysave->yyss);
2654     if (ysave->yyvs) Safefree(ysave->yyvs);
2655     yydebug     = ysave->oldyydebug;
2656     yynerrs     = ysave->oldyynerrs;
2657     yyerrflag   = ysave->oldyyerrflag;
2658     yychar      = ysave->oldyychar;
2659     yyval       = ysave->oldyyval;
2660     yylval      = ysave->oldyylval;
2661     Safefree(ysave);
2662 }