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