2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
12 deprecate("\"do\" to call subroutines");
17 31, 0, 5, 3, 6, 6, 6, 7, 7, 7,
18 7, 21, 21, 21, 21, 21, 21, 11, 11, 11,
19 9, 9, 9, 9, 30, 30, 8, 8, 8, 8,
20 8, 8, 8, 8, 10, 10, 25, 25, 29, 29,
21 1, 1, 1, 1, 2, 2, 32, 32, 28, 28,
22 4, 33, 33, 34, 13, 13, 13, 12, 12, 12,
23 26, 26, 26, 26, 26, 26, 26, 26, 27, 27,
24 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
25 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
26 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
27 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
28 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
29 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
30 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
31 14, 14, 14, 14, 22, 22, 23, 23, 23, 20,
32 15, 16, 17, 18, 19, 24, 24, 24, 24,
35 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
36 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
37 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
38 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
39 1, 1, 1, 1, 4, 3, 5, 5, 0, 1,
40 0, 3, 2, 5, 3, 3, 1, 2, 3, 1,
41 3, 5, 6, 3, 5, 2, 4, 4, 1, 1,
42 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
43 3, 3, 5, 3, 2, 2, 2, 2, 2, 2,
44 2, 2, 2, 2, 3, 2, 3, 2, 4, 3,
45 4, 1, 5, 1, 4, 5, 4, 1, 1, 1,
46 5, 6, 5, 6, 5, 4, 5, 1, 1, 3,
47 4, 3, 2, 2, 4, 5, 4, 5, 1, 2,
48 2, 1, 2, 2, 2, 1, 3, 1, 3, 4,
49 4, 6, 1, 1, 0, 1, 0, 1, 2, 2,
50 2, 2, 2, 2, 2, 1, 1, 1, 1,
52 short yydefred[] = { 1,
53 0, 5, 0, 40, 51, 51, 0, 51, 6, 41,
54 7, 9, 0, 42, 43, 44, 0, 0, 0, 53,
55 0, 12, 4, 143, 0, 0, 118, 0, 138, 0,
56 51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
59 0, 0, 0, 0, 0, 8, 0, 0, 0, 0,
60 0, 108, 110, 0, 0, 0, 144, 0, 46, 0,
61 52, 0, 5, 156, 159, 158, 157, 0, 0, 0,
62 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63 0, 0, 0, 0, 0, 0, 0, 154, 0, 124,
64 0, 0, 0, 0, 0, 0, 150, 0, 0, 0,
65 0, 66, 0, 133, 0, 0, 0, 0, 0, 0,
66 0, 0, 0, 0, 98, 0, 151, 152, 153, 155,
67 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
68 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
69 0, 0, 0, 0, 90, 91, 0, 0, 0, 0,
70 0, 0, 0, 0, 11, 45, 50, 0, 0, 0,
71 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
72 0, 0, 0, 0, 0, 0, 36, 0, 137, 139,
73 0, 0, 0, 0, 0, 0, 100, 0, 122, 0,
74 0, 0, 97, 26, 0, 0, 0, 0, 0, 0,
75 55, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0, 69, 0, 70,
77 0, 0, 0, 0, 0, 0, 0, 120, 0, 48,
78 47, 54, 3, 0, 141, 0, 68, 101, 0, 29,
79 0, 30, 0, 0, 0, 23, 0, 24, 0, 0,
80 0, 140, 149, 67, 0, 125, 0, 127, 0, 99,
81 0, 0, 0, 0, 0, 0, 0, 107, 0, 105,
82 0, 116, 0, 121, 65, 0, 0, 0, 0, 19,
83 0, 0, 0, 0, 0, 62, 126, 128, 115, 0,
84 113, 0, 0, 106, 0, 111, 117, 103, 142, 27,
85 28, 21, 0, 22, 0, 32, 0, 114, 112, 63,
86 0, 0, 31, 0, 0, 20, 33,
88 short yydgoto[] = { 1,
89 9, 10, 83, 17, 86, 3, 11, 12, 66, 195,
90 266, 67, 202, 69, 70, 71, 72, 73, 74, 75,
91 197, 122, 203, 88, 187, 77, 241, 178, 13, 142,
94 short yysindex[] = { 0,
95 0, 0, -82, 0, 0, 0, -52, 0, 0, 0,
96 0, 0, 853, 0, 0, 0, -80, -256, -19, 0,
97 -245, 0, 0, 0, 19, 19, 0, 20, 0, 2177,
98 0, 0, -2, 1, 28, 41, 133, 2177, 27, 33,
99 52, 19, 1028, 2177, 1303, -210, 19, 2177, 965, 1359,
100 2177, 2177, 2177, 2177, 2177, 1415, 0, 2177, 2177, 1478,
101 19, 19, 19, 19, -225, 0, 71, 209, 1535, -49,
102 -30, 0, 0, 8, 101, 42, 0, 30, 0, -112,
103 0, 2177, 0, 0, 0, 0, 0, 2177, 127, 2177,
104 1535, 30, -112, 2177, 30, 2177, 30, 2177, 30, 2177,
105 30, 1712, 128, 1535, 139, 1768, 965, 0, 141, 0,
106 1485, -14, 1485, 65, -42, 2177, 0, 71, 0, 71,
107 -49, 0, 2177, 0, 1485, 334, 334, 334, -47, -47,
108 92, -26, 334, 334, 0, 63, 0, 0, 0, 0,
109 30, 0, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
110 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
111 2177, 2177, 2177, 2177, 0, 0, -27, 2177, 2177, 2177,
112 2177, 2177, 2177, 1824, 0, 0, 0, -48, 137, -92,
113 0, 2177, 221, 2177, 30, -191, 151, -225, -22, -225,
114 -12, -147, 7, -147, 138, 5, 0, 2177, 0, 0,
115 9, -39, 160, 2177, 1887, 2121, 0, 77, 0, 71,
116 2177, 113, 0, 0, 1535, -191, -191, -191, -191, -86,
117 0, -20, 395, 1485, 1566, 461, -88, 1535, 4122, 1064,
118 679, 364, 1120, 728, 334, 334, 2177, 0, 2177, 0,
119 174, 89, 51, 98, 55, 118, 57, 0, 11, 0,
120 0, 0, 0, 175, 0, 2177, 0, 0, 30, 0,
121 30, 0, 30, 30, 178, 0, 30, 0, 2177, 30,
122 15, 0, 0, 0, 22, 0, 25, 0, 29, 0,
123 152, 2177, 94, 2177, 59, 177, 2177, 0, 96, 0,
124 97, 0, 102, 0, 0, 1190, -225, -225, -147, 0,
125 2177, -147, 176, -225, 30, 0, 0, 0, 0, 205,
126 0, 3039, 111, 0, 206, 0, 0, 0, 0, 0,
127 0, 0, 37, 0, 1712, 0, -225, 0, 0, 0,
128 30, 208, 0, -147, 30, 0, 0,
130 short yyrindex[] = { 0,
131 0, 0, 297, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 2253, 505, 0,
135 0, 0, 0, 0, 0, 0, 0, 0, 2847, 2935,
136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137 0, 0, 0, 0, 107, 0, -35, 10, 53, 3109,
138 3156, 0, 0, 2298, 1976, 0, 0, 0, 0, -23,
139 0, 230, 0, 0, 0, 0, 0, 2385, 0, 0,
140 1004, 0, 168, 253, 0, 0, 0, 0, 0, 0,
141 0, 254, 0, 2242, 0, 0, 274, 0, 2032, 0,
142 3844, 3109, 3902, 0, 0, 2385, 0, 2440, 452, 2554,
143 572, 0, 0, 0, 3981, 3274, 3312, 3421, 3200, 3237,
144 2661, 0, 3560, 3596, 0, 0, 0, 0, 0, 0,
145 0, 0, 2714, 0, 0, 0, 0, 0, 0, 0,
146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
148 0, 0, 0, 0, 0, 0, 0, 0, 0, 909,
149 0, 274, 0, 2385, 0, 39, 0, 107, 0, 107,
150 0, 170, 0, 170, 0, 262, 0, 0, 0, 0,
151 0, 288, 0, 0, 0, 0, 0, 0, 0, 2805,
152 0, 2757, 0, 0, 2650, 49, 58, 61, 64, 365,
153 0, 0, -31, 4018, 4028, 3719, 630, 2995, 0, 1623,
154 4106, 4096, 4064, 3756, 3640, 3683, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157 0, 0, 0, 0, 0, 0, 0, 0, 277, 0,
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 274, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 107, 107, 170, 0,
161 0, 170, 0, 107, 0, 0, 0, 0, 0, 0,
162 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 0, 300, 0, 107, 0, 0, 0,
164 0, 0, 0, 170, 0, 0, 0,
166 short yygindex[] = { 0,
167 0, 0, 0, 506, -13, 255, 0, 0, 0, 18,
168 -180, 839, -11, 4398, 2162, 0, 0, 0, 0, 0,
169 342, -57, -174, 1032, 90, 0, 0, 267, 0, -172,
172 #define YYTABLESIZE 4682
173 short yytable[] = { 65,
174 80, 68, 168, 79, 273, 57, 20, 254, 61, 80,
175 250, 82, 80, 268, 212, 260, 208, 262, 261, 95,
176 97, 99, 101, 57, 179, 206, 80, 80, 263, 110,
177 181, 80, 253, 115, 150, 49, 124, 94, 283, 81,
178 96, 170, 23, 168, 132, 270, 116, 267, 136, 272,
179 13, 294, 141, 83, 61, 305, 83, 57, 209, 90,
180 172, 80, 306, 239, 176, 307, 105, 98, 13, 308,
181 83, 83, 106, 169, 23, 150, 170, 331, 184, 38,
182 100, 188, 186, 190, 189, 192, 191, 194, 193, 16,
183 196, 107, 171, 60, 201, 237, 60, 38, 17, 49,
184 175, 14, 148, 149, 15, 83, 25, 16, 169, 289,
185 60, 60, 315, 291, 143, 293, 17, 313, 322, 14,
186 23, 324, 15, 23, 320, 321, 257, 214, 264, 265,
187 173, 326, 216, 217, 218, 219, 220, 221, 222, 25,
188 174, 23, 25, 25, 25, 60, 25, 177, 25, 25,
189 23, 25, 23, 336, 333, 213, 242, 243, 244, 245,
190 246, 247, 249, 23, 251, 25, 182, 198, 61, 18,
191 25, 258, 102, 4, 5, 6, 78, 7, 8, 199,
192 205, 288, 211, 4, 5, 6, 271, 7, 8, 207,
193 290, 259, 275, 277, 279, 252, 269, 25, 154, 281,
194 274, 280, 18, 282, 19, 18, 18, 18, 149, 18,
195 292, 18, 18, 287, 18, 295, 163, 301, 311, 164,
196 316, 317, 165, 166, 167, 285, 318, 286, 18, 25,
197 238, 25, 25, 18, 325, 329, 57, 57, 57, 57,
198 80, 80, 80, 80, 309, 297, 330, 298, 335, 299,
199 300, 148, 149, 302, 148, 149, 304, 186, 57, 57,
200 18, 255, 80, 80, 256, 167, 80, 148, 149, 314,
201 310, 148, 149, 148, 149, 84, 144, 145, 146, 147,
202 85, 148, 149, 157, 83, 83, 83, 83, 145, 323,
203 49, 327, 18, 37, 18, 18, 2, 328, 148, 149,
204 148, 149, 148, 149, 148, 149, 83, 83, 148, 149,
205 83, 168, 35, 68, 147, 148, 149, 334, 148, 149,
206 13, 337, 148, 149, 60, 60, 60, 60, 148, 39,
207 148, 149, 39, 39, 39, 37, 39, 180, 39, 39,
208 35, 39, 332, 150, 148, 149, 60, 60, 148, 149,
209 148, 149, 148, 149, 76, 39, 148, 149, 303, 185,
210 39, 0, 25, 25, 25, 25, 25, 25, 0, 25,
211 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
212 25, 25, 148, 149, 0, 25, 25, 39, 25, 25,
213 25, 148, 149, 0, 0, 25, 25, 25, 25, 25,
214 0, 0, 25, 25, 0, 56, 0, 0, 56, 25,
215 0, 148, 149, 25, 0, 25, 25, 0, 0, 39,
216 0, 0, 39, 56, 168, 18, 18, 18, 18, 18,
217 18, 0, 18, 18, 18, 18, 18, 18, 18, 18,
218 18, 18, 18, 18, 18, 148, 149, 0, 18, 18,
219 0, 18, 18, 18, 168, 0, 150, 56, 18, 18,
220 18, 18, 18, 0, 0, 18, 18, 0, 0, 0,
221 148, 149, 18, 0, 0, 0, 18, 0, 18, 18,
222 144, 145, 146, 147, 156, 168, 150, 156, 156, 156,
223 0, 156, 143, 156, 156, 143, 156, 0, 148, 149,
224 0, 151, 148, 149, 0, 152, 153, 154, 155, 143,
225 143, 18, 0, 21, 143, 156, 0, 150, 156, 158,
226 159, 160, 161, 0, 162, 163, 0, 0, 164, 0,
227 0, 165, 166, 167, 0, 0, 92, 93, 0, 0,
228 0, 0, 143, 0, 143, 136, 0, 0, 136, 0,
229 0, 168, 39, 39, 39, 39, 39, 39, 0, 39,
230 39, 39, 136, 136, 0, 39, 0, 136, 39, 39,
231 39, 39, 0, 0, 143, 39, 39, 156, 39, 39,
232 39, 0, 0, 150, 0, 39, 39, 39, 39, 39,
233 0, 0, 39, 39, 0, 136, 0, 136, 0, 39,
234 0, 0, 0, 39, 157, 39, 39, 157, 157, 157,
235 0, 157, 102, 157, 157, 102, 157, 0, 0, 0,
236 0, 0, 0, 0, 0, 0, 0, 136, 0, 102,
237 102, 0, 0, 0, 102, 157, 56, 56, 56, 56,
238 0, 164, 0, 0, 165, 166, 167, 0, 152, 153,
239 154, 155, 0, 0, 0, 0, 0, 0, 56, 0,
240 0, 0, 0, 0, 102, 161, 0, 162, 163, 0,
241 74, 164, 0, 74, 165, 166, 167, 0, 0, 152,
242 153, 154, 155, 0, 0, 0, 0, 74, 74, 0,
243 0, 0, 74, 158, 159, 160, 161, 157, 162, 163,
244 0, 0, 164, 0, 0, 165, 166, 167, 156, 156,
245 156, 156, 156, 0, 156, 156, 156, 0, 0, 0,
246 156, 0, 74, 143, 143, 143, 143, 0, 0, 0,
247 0, 156, 143, 156, 156, 156, 143, 143, 143, 143,
248 156, 156, 156, 156, 156, 143, 143, 156, 156, 143,
249 143, 143, 143, 143, 156, 143, 143, 0, 156, 143,
250 156, 156, 143, 143, 143, 163, 0, 0, 164, 168,
251 0, 165, 166, 167, 0, 0, 136, 136, 136, 136,
252 0, 0, 0, 0, 0, 136, 0, 0, 0, 136,
253 136, 136, 136, 0, 0, 0, 0, 0, 136, 136,
254 0, 150, 136, 136, 136, 136, 136, 0, 136, 136,
255 0, 0, 136, 0, 0, 136, 136, 136, 168, 0,
256 0, 0, 0, 0, 0, 0, 0, 0, 157, 157,
257 157, 157, 157, 0, 157, 157, 157, 0, 0, 0,
258 157, 0, 0, 102, 102, 102, 102, 0, 0, 0,
259 150, 157, 102, 157, 157, 157, 102, 102, 102, 102,
260 157, 157, 157, 157, 157, 102, 102, 157, 157, 102,
261 102, 102, 102, 102, 157, 102, 102, 0, 157, 102,
262 157, 157, 102, 102, 102, 51, 118, 120, 61, 63,
263 47, 0, 56, 0, 64, 59, 0, 58, 0, 0,
264 0, 74, 74, 74, 74, 0, 0, 0, 0, 0,
265 74, 57, 0, 0, 74, 74, 62, 74, 0, 0,
266 120, 0, 0, 74, 74, 0, 120, 74, 74, 74,
267 74, 74, 0, 74, 0, 0, 0, 0, 0, 0,
268 0, 39, 0, 60, 39, 39, 39, 0, 39, 0,
269 39, 39, 0, 39, 120, 0, 0, 0, 0, 0,
270 0, 210, 0, 152, 153, 154, 155, 39, 0, 0,
271 0, 0, 39, 0, 0, 23, 0, 0, 52, 160,
272 161, 0, 162, 163, 0, 0, 164, 0, 0, 165,
273 166, 167, 0, 0, 0, 0, 0, 51, 0, 39,
274 61, 63, 47, 0, 56, 0, 64, 59, 0, 58,
275 0, 0, 0, 0, 154, 155, 0, 0, 0, 0,
276 0, 0, 120, 0, 0, 0, 0, 0, 62, 0,
277 0, 39, 163, 0, 39, 164, 0, 0, 165, 166,
278 167, 0, 0, 0, 135, 0, 0, 135, 0, 0,
279 0, 0, 0, 0, 0, 60, 0, 89, 0, 0,
280 51, 135, 135, 61, 63, 47, 0, 56, 0, 64,
281 59, 0, 58, 108, 0, 0, 0, 0, 117, 0,
282 123, 0, 0, 0, 0, 0, 0, 23, 0, 0,
283 52, 62, 137, 138, 139, 140, 135, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 22, 24,
285 25, 26, 27, 28, 0, 29, 30, 31, 60, 0,
286 0, 32, 0, 0, 33, 34, 35, 36, 0, 0,
287 0, 37, 38, 0, 39, 40, 41, 0, 204, 0,
288 0, 42, 43, 44, 45, 46, 0, 0, 48, 49,
289 23, 0, 0, 52, 168, 50, 0, 0, 0, 53,
290 0, 54, 55, 0, 39, 39, 39, 39, 39, 39,
291 0, 39, 39, 39, 0, 0, 0, 39, 0, 0,
292 39, 39, 39, 39, 0, 0, 150, 39, 39, 0,
293 39, 39, 39, 0, 0, 0, 0, 39, 39, 39,
294 39, 39, 0, 0, 39, 39, 0, 0, 0, 0,
295 168, 39, 0, 0, 0, 39, 0, 39, 39, 0,
296 0, 119, 25, 26, 27, 28, 85, 29, 30, 31,
297 319, 0, 0, 32, 0, 0, 0, 0, 0, 0,
298 0, 0, 150, 0, 38, 0, 39, 40, 41, 0,
299 0, 0, 157, 42, 43, 44, 45, 46, 0, 0,
300 48, 49, 0, 0, 0, 0, 0, 50, 0, 0,
301 0, 53, 0, 54, 55, 135, 135, 135, 135, 0,
302 168, 0, 0, 0, 109, 25, 26, 27, 28, 0,
303 29, 30, 31, 0, 0, 0, 32, 135, 135, 0,
304 0, 0, 0, 0, 0, 0, 0, 38, 0, 39,
305 40, 41, 150, 0, 0, 0, 42, 43, 44, 45,
306 46, 0, 0, 48, 49, 0, 0, 0, 0, 0,
307 50, 0, 0, 0, 53, 51, 54, 55, 61, 63,
308 47, 0, 56, 0, 64, 59, 0, 58, 152, 153,
309 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 114, 0, 159, 160, 161, 62, 162, 163, 0,
311 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
313 0, 51, 0, 60, 61, 63, 47, 0, 56, 0,
314 64, 59, 0, 58, 152, 153, 154, 155, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 62, 162, 163, 0, 0, 164, 52, 0,
317 165, 166, 167, 0, 0, 0, 0, 0, 0, 0,
318 0, 0, 0, 0, 0, 0, 0, 51, 0, 60,
319 61, 63, 47, 0, 56, 131, 64, 59, 0, 58,
320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
321 151, 0, 0, 0, 152, 153, 154, 155, 62, 0,
322 0, 23, 0, 0, 52, 0, 0, 156, 158, 159,
323 160, 161, 0, 162, 163, 0, 0, 164, 0, 0,
324 165, 166, 167, 0, 0, 60, 0, 0, 0, 0,
325 51, 0, 0, 61, 63, 47, 0, 56, 0, 64,
326 59, 0, 58, 0, 0, 0, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 52, 62, 0, 0, 0, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
330 25, 26, 27, 28, 0, 29, 30, 31, 60, 0,
331 135, 32, 0, 0, 0, 168, 0, 0, 0, 0,
332 0, 0, 38, 0, 39, 40, 41, 0, 0, 0,
333 0, 42, 43, 44, 45, 46, 0, 157, 48, 49,
334 0, 0, 0, 52, 0, 50, 0, 150, 0, 53,
335 0, 54, 55, 0, 0, 24, 25, 26, 27, 28,
336 0, 29, 30, 31, 0, 168, 0, 32, 0, 0,
337 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
338 39, 40, 41, 0, 0, 0, 0, 42, 43, 44,
339 45, 46, 0, 0, 48, 49, 168, 150, 0, 0,
340 0, 50, 0, 82, 0, 53, 82, 54, 55, 0,
341 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
342 82, 82, 0, 32, 0, 82, 0, 0, 150, 0,
343 0, 0, 0, 0, 38, 0, 39, 40, 41, 0,
344 0, 0, 0, 42, 43, 44, 45, 46, 0, 0,
345 48, 49, 0, 0, 0, 82, 0, 50, 0, 0,
346 0, 53, 0, 54, 55, 0, 0, 0, 0, 0,
347 0, 0, 0, 0, 24, 25, 26, 27, 28, 0,
348 29, 30, 31, 0, 51, 0, 32, 61, 63, 47,
349 0, 56, 0, 64, 59, 0, 58, 38, 0, 39,
350 40, 41, 0, 0, 0, 0, 42, 43, 44, 45,
351 46, 154, 155, 48, 49, 62, 0, 0, 0, 0,
352 50, 0, 0, 0, 53, 0, 54, 55, 162, 163,
353 0, 0, 164, 0, 0, 165, 166, 167, 0, 0,
354 51, 0, 60, 61, 63, 47, 0, 56, 200, 64,
355 59, 0, 58, 0, 0, 151, 0, 0, 0, 152,
356 153, 154, 155, 0, 0, 0, 0, 0, 0, 0,
357 0, 62, 156, 158, 159, 160, 161, 52, 162, 163,
358 0, 0, 164, 0, 0, 165, 166, 167, 0, 0,
359 152, 0, 154, 155, 0, 0, 51, 0, 60, 61,
360 63, 47, 0, 56, 248, 64, 59, 0, 58, 162,
361 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
362 0, 0, 0, 0, 0, 0, 0, 62, 0, 0,
363 0, 0, 0, 52, 82, 82, 82, 82, 0, 0,
364 0, 0, 0, 82, 0, 0, 0, 0, 0, 0,
365 0, 0, 0, 0, 60, 0, 82, 82, 0, 51,
366 82, 82, 61, 63, 47, 0, 56, 276, 64, 59,
367 0, 58, 0, 0, 0, 0, 0, 0, 0, 0,
368 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,
369 62, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 0, 0, 0, 0, 0, 0, 22, 24, 25,
371 26, 27, 28, 0, 29, 30, 31, 60, 0, 0,
372 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 38, 0, 39, 40, 41, 0, 0, 0, 0,
374 42, 43, 44, 45, 46, 0, 0, 48, 49, 0,
375 0, 0, 52, 0, 50, 0, 119, 0, 53, 119,
376 54, 55, 0, 0, 24, 25, 26, 27, 28, 0,
377 29, 30, 31, 119, 119, 0, 32, 0, 119, 0,
378 0, 0, 0, 0, 0, 0, 0, 38, 0, 39,
379 40, 41, 0, 0, 0, 0, 42, 43, 44, 45,
380 46, 0, 0, 48, 49, 0, 119, 0, 119, 0,
381 50, 0, 143, 0, 53, 143, 54, 55, 0, 0,
382 24, 25, 26, 27, 28, 0, 29, 30, 31, 143,
383 143, 0, 32, 0, 143, 0, 0, 0, 119, 0,
384 0, 0, 0, 38, 0, 39, 40, 41, 0, 0,
385 0, 0, 42, 43, 44, 45, 46, 0, 0, 48,
386 49, 0, 143, 0, 143, 0, 50, 0, 0, 0,
387 53, 0, 54, 55, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
389 30, 31, 0, 51, 143, 32, 61, 63, 47, 0,
390 56, 278, 64, 59, 0, 58, 38, 0, 39, 40,
391 41, 0, 0, 0, 0, 42, 43, 44, 45, 46,
392 0, 0, 48, 49, 62, 0, 87, 87, 0, 50,
393 0, 0, 0, 53, 0, 54, 55, 0, 103, 0,
394 0, 0, 0, 87, 112, 0, 0, 0, 87, 51,
395 121, 60, 61, 63, 47, 0, 56, 0, 64, 59,
396 0, 58, 87, 87, 87, 87, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 62, 0, 0, 0, 0, 0, 52, 119, 119, 119,
399 119, 0, 0, 0, 0, 0, 119, 0, 0, 0,
400 119, 119, 119, 119, 0, 0, 0, 60, 121, 119,
401 119, 0, 0, 119, 119, 119, 119, 119, 0, 119,
402 119, 0, 130, 119, 0, 130, 119, 119, 119, 0,
403 0, 0, 0, 129, 0, 0, 129, 0, 0, 130,
404 130, 0, 52, 143, 143, 143, 143, 0, 0, 0,
405 129, 129, 143, 0, 0, 129, 143, 143, 143, 143,
406 0, 0, 0, 0, 0, 143, 143, 0, 240, 143,
407 143, 143, 143, 143, 130, 143, 143, 0, 104, 143,
408 0, 104, 143, 143, 143, 129, 0, 0, 0, 0,
409 0, 0, 0, 0, 0, 104, 104, 0, 0, 0,
410 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
411 0, 0, 0, 0, 0, 129, 0, 24, 25, 26,
412 27, 28, 0, 29, 30, 31, 0, 0, 104, 32,
413 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 38, 0, 39, 40, 41, 0, 0, 0, 0, 42,
415 43, 44, 45, 46, 0, 0, 48, 49, 0, 0,
416 0, 0, 0, 50, 0, 145, 0, 53, 145, 54,
417 55, 0, 0, 24, 25, 26, 27, 28, 0, 29,
418 30, 31, 145, 145, 0, 32, 0, 145, 0, 0,
419 0, 0, 0, 0, 0, 0, 38, 0, 39, 40,
420 41, 0, 0, 0, 0, 42, 43, 44, 45, 46,
421 0, 0, 48, 49, 0, 0, 0, 145, 0, 50,
422 131, 0, 0, 53, 0, 54, 55, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 131, 131, 0,
424 0, 0, 131, 0, 0, 0, 0, 145, 0, 0,
425 0, 0, 0, 130, 130, 130, 130, 0, 0, 0,
426 0, 0, 0, 0, 129, 129, 129, 129, 0, 0,
427 131, 0, 131, 129, 0, 130, 130, 129, 129, 129,
428 129, 0, 0, 0, 0, 0, 129, 129, 0, 0,
429 129, 129, 129, 129, 129, 0, 129, 129, 0, 0,
430 129, 0, 131, 129, 129, 129, 0, 0, 0, 104,
431 104, 104, 104, 0, 0, 0, 0, 0, 104, 0,
432 0, 0, 104, 104, 104, 104, 0, 0, 0, 0,
433 0, 104, 104, 0, 146, 104, 104, 104, 104, 104,
434 0, 104, 104, 0, 0, 104, 0, 0, 104, 104,
435 104, 146, 146, 0, 0, 0, 146, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 0, 0, 0, 146, 0, 146, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 145, 145, 145, 145,
440 0, 0, 0, 0, 0, 145, 0, 0, 0, 145,
441 145, 145, 145, 0, 0, 0, 146, 0, 145, 145,
442 0, 0, 145, 145, 145, 145, 145, 0, 145, 145,
443 59, 0, 145, 59, 0, 145, 145, 145, 0, 0,
444 0, 96, 0, 0, 96, 0, 0, 59, 59, 0,
445 0, 131, 131, 131, 131, 0, 0, 0, 96, 96,
446 131, 0, 0, 96, 131, 131, 131, 131, 0, 0,
447 0, 0, 0, 131, 131, 0, 0, 131, 131, 131,
448 131, 131, 59, 131, 131, 0, 0, 131, 0, 0,
449 131, 131, 131, 96, 58, 0, 0, 58, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
451 0, 58, 58, 0, 0, 0, 58, 0, 0, 0,
452 0, 0, 0, 96, 0, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 95, 0, 0,
454 95, 0, 0, 0, 0, 0, 58, 0, 0, 0,
455 0, 0, 0, 0, 95, 95, 0, 0, 0, 95,
456 0, 0, 0, 0, 0, 146, 146, 146, 146, 0,
457 0, 0, 0, 0, 146, 0, 58, 0, 146, 146,
458 146, 146, 0, 0, 0, 61, 0, 146, 146, 95,
459 0, 146, 146, 146, 146, 146, 0, 146, 146, 0,
460 0, 146, 61, 61, 146, 146, 146, 61, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
462 0, 0, 0, 0, 0, 0, 0, 145, 0, 0,
463 145, 0, 0, 0, 0, 61, 0, 61, 0, 0,
464 0, 0, 0, 0, 145, 145, 0, 0, 0, 145,
465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
466 0, 59, 59, 59, 59, 0, 0, 61, 0, 0,
467 0, 0, 96, 96, 96, 96, 0, 0, 0, 145,
468 0, 96, 0, 59, 59, 96, 96, 96, 96, 0,
469 0, 0, 0, 0, 96, 96, 0, 0, 96, 96,
470 96, 96, 96, 0, 96, 96, 0, 0, 96, 0,
471 0, 96, 96, 96, 0, 132, 0, 0, 132, 0,
472 0, 0, 0, 0, 0, 58, 58, 58, 58, 0,
473 0, 0, 132, 132, 58, 0, 0, 132, 58, 58,
474 58, 58, 0, 0, 0, 0, 0, 58, 58, 0,
475 0, 58, 58, 58, 58, 58, 0, 58, 58, 0,
476 0, 58, 0, 0, 58, 58, 58, 132, 95, 95,
477 95, 95, 0, 0, 0, 71, 0, 95, 71, 0,
478 0, 95, 95, 95, 95, 0, 0, 0, 0, 0,
479 95, 95, 71, 71, 95, 95, 95, 95, 95, 0,
480 95, 95, 0, 0, 95, 0, 0, 95, 95, 95,
481 0, 0, 0, 0, 0, 0, 61, 61, 61, 61,
482 0, 0, 0, 0, 0, 61, 0, 71, 0, 61,
483 61, 61, 61, 0, 0, 0, 0, 0, 61, 61,
484 0, 157, 61, 61, 61, 61, 61, 0, 61, 61,
485 0, 0, 61, 0, 0, 61, 61, 61, 145, 145,
486 145, 145, 0, 0, 0, 0, 0, 145, 0, 168,
487 0, 145, 145, 145, 145, 0, 0, 0, 0, 0,
488 145, 145, 0, 0, 145, 145, 145, 145, 145, 102,
489 145, 145, 102, 0, 145, 0, 0, 145, 145, 145,
490 0, 150, 0, 0, 0, 0, 102, 102, 0, 0,
491 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
493 0, 0, 0, 0, 0, 0, 109, 0, 0, 109,
494 0, 102, 0, 0, 0, 0, 132, 132, 132, 132,
495 0, 0, 0, 109, 109, 132, 0, 0, 109, 132,
496 132, 132, 132, 0, 0, 0, 0, 0, 132, 132,
497 0, 0, 132, 132, 132, 132, 132, 0, 132, 132,
498 92, 0, 132, 92, 0, 132, 132, 132, 109, 0,
499 0, 0, 0, 0, 0, 0, 0, 92, 92, 0,
500 0, 0, 92, 0, 0, 0, 71, 71, 71, 71,
501 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
502 93, 0, 0, 0, 0, 0, 0, 0, 71, 71,
503 0, 0, 92, 0, 93, 93, 0, 0, 0, 93,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 87, 0, 0, 87, 0, 151,
506 0, 0, 0, 152, 153, 154, 155, 0, 0, 93,
507 0, 87, 87, 0, 0, 0, 87, 158, 159, 160,
508 161, 0, 162, 163, 0, 0, 164, 0, 0, 165,
509 166, 167, 88, 0, 0, 88, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 87, 0, 0, 88,
511 88, 0, 0, 0, 88, 0, 0, 0, 0, 0,
512 102, 102, 102, 102, 0, 0, 0, 0, 0, 102,
513 0, 0, 0, 102, 102, 102, 102, 0, 0, 0,
514 0, 0, 102, 102, 88, 0, 102, 102, 102, 102,
515 102, 0, 102, 102, 0, 0, 102, 0, 0, 102,
516 102, 102, 0, 0, 0, 0, 0, 109, 109, 109,
517 109, 0, 0, 0, 0, 0, 109, 0, 0, 0,
518 109, 109, 109, 109, 0, 0, 0, 0, 0, 109,
519 109, 0, 0, 109, 109, 109, 109, 109, 0, 109,
520 109, 89, 0, 109, 89, 0, 109, 109, 109, 0,
521 0, 92, 92, 92, 92, 0, 0, 0, 89, 89,
522 92, 0, 0, 89, 92, 92, 92, 92, 0, 0,
523 0, 0, 0, 92, 92, 0, 0, 92, 92, 92,
524 92, 92, 0, 92, 92, 0, 0, 92, 93, 93,
525 93, 93, 0, 89, 0, 0, 0, 93, 0, 0,
526 0, 93, 93, 93, 93, 0, 0, 0, 0, 0,
527 93, 93, 0, 0, 93, 93, 93, 93, 93, 0,
528 93, 93, 0, 0, 93, 87, 87, 87, 87, 0,
529 0, 0, 0, 0, 87, 0, 0, 0, 87, 87,
530 87, 87, 0, 0, 0, 0, 0, 87, 87, 0,
531 0, 87, 87, 87, 87, 87, 0, 87, 87, 0,
532 0, 0, 0, 88, 88, 88, 88, 0, 0, 0,
533 0, 0, 88, 0, 0, 0, 88, 88, 88, 88,
534 85, 0, 0, 85, 0, 88, 88, 0, 0, 88,
535 88, 88, 88, 88, 0, 88, 88, 85, 85, 0,
536 0, 0, 85, 0, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 86, 0, 0, 86,
538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
539 0, 0, 85, 86, 86, 0, 0, 0, 86, 0,
540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
542 84, 0, 0, 84, 0, 0, 0, 0, 86, 0,
543 0, 0, 89, 89, 89, 89, 0, 84, 84, 0,
544 0, 89, 84, 0, 0, 89, 89, 89, 89, 0,
545 0, 0, 0, 0, 89, 89, 0, 0, 89, 89,
546 89, 89, 89, 72, 89, 89, 72, 0, 0, 0,
547 0, 0, 84, 0, 0, 0, 0, 0, 0, 0,
548 72, 72, 0, 0, 0, 72, 0, 0, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,
550 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
551 0, 0, 0, 0, 0, 72, 73, 73, 0, 0,
552 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 75, 0, 0, 75,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 0, 73, 0, 75, 75, 0, 0, 0, 75, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 85, 85, 85, 85, 0, 0, 0, 0, 0,
558 85, 0, 0, 0, 85, 85, 85, 85, 75, 0,
559 0, 0, 0, 85, 85, 0, 0, 85, 85, 85,
560 85, 85, 0, 85, 85, 0, 0, 86, 86, 86,
561 86, 0, 0, 0, 0, 0, 86, 0, 0, 0,
562 86, 86, 86, 86, 123, 0, 0, 123, 0, 86,
563 86, 0, 0, 86, 86, 86, 86, 86, 0, 86,
564 86, 123, 123, 0, 0, 0, 123, 0, 0, 0,
565 0, 84, 84, 84, 84, 0, 0, 0, 0, 0,
566 84, 0, 0, 0, 84, 84, 84, 84, 0, 0,
567 0, 0, 0, 84, 84, 0, 123, 84, 84, 84,
568 84, 84, 94, 84, 84, 94, 0, 0, 0, 0,
569 0, 0, 0, 0, 72, 72, 72, 72, 0, 94,
570 94, 0, 0, 72, 94, 0, 0, 72, 72, 72,
571 72, 0, 0, 0, 0, 0, 72, 72, 0, 0,
572 72, 72, 72, 72, 72, 0, 72, 72, 0, 0,
573 73, 73, 73, 73, 94, 0, 0, 0, 0, 73,
574 0, 0, 0, 73, 73, 73, 73, 0, 0, 0,
575 0, 0, 73, 73, 0, 0, 73, 73, 73, 73,
576 73, 134, 73, 0, 134, 0, 0, 75, 75, 75,
577 75, 0, 0, 0, 0, 0, 75, 0, 134, 134,
578 75, 75, 0, 134, 0, 0, 0, 0, 0, 75,
579 75, 0, 0, 75, 75, 75, 75, 75, 76, 75,
580 0, 76, 0, 0, 0, 0, 0, 0, 77, 0,
581 0, 77, 0, 134, 0, 76, 76, 0, 0, 0,
582 76, 0, 0, 0, 0, 77, 77, 0, 0, 0,
583 77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 78, 0, 0, 78, 0, 0,
585 76, 0, 0, 0, 0, 123, 123, 123, 123, 0,
586 77, 78, 78, 0, 123, 0, 78, 0, 123, 123,
587 0, 0, 0, 0, 0, 0, 79, 123, 123, 79,
588 0, 123, 123, 123, 123, 123, 81, 0, 0, 81,
589 0, 0, 0, 79, 79, 0, 78, 0, 79, 0,
590 0, 0, 0, 81, 81, 0, 0, 0, 81, 0,
591 0, 0, 0, 94, 94, 94, 94, 0, 0, 284,
592 0, 0, 94, 0, 157, 0, 94, 94, 79, 0,
593 0, 0, 0, 0, 0, 94, 94, 0, 81, 94,
594 94, 94, 94, 94, 0, 0, 0, 0, 0, 0,
595 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
599 0, 0, 134, 134, 134, 134, 0, 0, 0, 0,
600 0, 134, 0, 0, 0, 134, 134, 0, 0, 0,
601 0, 0, 0, 0, 134, 134, 0, 0, 134, 134,
602 134, 134, 134, 0, 0, 0, 0, 0, 0, 76,
603 76, 76, 76, 0, 0, 0, 0, 0, 76, 77,
604 77, 77, 77, 76, 0, 0, 0, 0, 77, 0,
605 0, 76, 76, 0, 0, 76, 76, 76, 76, 76,
606 0, 77, 77, 0, 0, 77, 77, 77, 77, 77,
607 0, 0, 0, 0, 0, 78, 78, 78, 78, 0,
608 0, 0, 0, 0, 78, 0, 0, 0, 0, 0,
609 0, 0, 0, 0, 0, 0, 0, 78, 78, 0,
610 0, 78, 78, 78, 78, 78, 0, 79, 79, 79,
611 79, 0, 0, 0, 0, 0, 79, 81, 81, 81,
612 81, 0, 0, 0, 0, 0, 81, 0, 0, 79,
613 79, 0, 0, 79, 79, 79, 79, 0, 0, 81,
614 81, 0, 151, 81, 81, 81, 152, 153, 154, 155,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
616 158, 159, 160, 161, 0, 162, 163, 91, 0, 164,
617 0, 0, 165, 166, 167, 104, 0, 0, 0, 0,
618 111, 113, 0, 0, 0, 0, 0, 125, 126, 127,
619 128, 129, 130, 0, 0, 133, 134, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 183, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628 215, 0, 0, 0, 0, 0, 0, 0, 223, 224,
629 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
630 235, 236, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 296, 0, 0, 0, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 short yycheck[] = { 13,
645 257, 13, 91, 17, 44, 41, 59, 182, 36, 41,
646 59, 257, 44, 194, 41, 188, 59, 190, 41, 33,
647 34, 35, 36, 59, 82, 40, 58, 59, 41, 43,
648 88, 63, 125, 45, 123, 59, 50, 40, 59, 59,
649 40, 91, 123, 91, 56, 41, 257, 41, 60, 41,
650 41, 41, 278, 41, 36, 41, 44, 93, 116, 40,
651 91, 93, 41, 91, 78, 41, 40, 40, 59, 41,
652 58, 59, 40, 123, 123, 123, 91, 41, 92, 41,
653 40, 95, 94, 97, 96, 99, 98, 101, 100, 41,
654 102, 40, 123, 41, 106, 123, 44, 59, 41, 123,
655 59, 41, 294, 295, 41, 93, 0, 59, 123, 59,
656 58, 59, 287, 59, 44, 59, 59, 59, 299, 59,
657 123, 302, 59, 123, 297, 298, 184, 141, 276, 277,
658 123, 304, 144, 145, 146, 147, 148, 149, 150, 33,
659 40, 123, 36, 37, 38, 93, 40, 260, 42, 43,
660 123, 45, 123, 334, 327, 93, 168, 169, 170, 171,
661 172, 173, 174, 123, 178, 59, 40, 40, 36, 0,
662 64, 185, 40, 266, 267, 268, 257, 270, 271, 41,
663 40, 93, 91, 266, 267, 268, 198, 270, 271, 125,
664 93, 41, 204, 205, 206, 59, 59, 91, 287, 211,
665 41, 125, 33, 91, 257, 36, 37, 38, 295, 40,
666 93, 42, 43, 40, 45, 41, 305, 40, 125, 308,
667 125, 125, 311, 312, 313, 237, 125, 239, 59, 123,
668 258, 125, 126, 64, 59, 125, 272, 273, 274, 275,
669 272, 273, 274, 275, 93, 259, 41, 261, 41, 263,
670 264, 294, 295, 267, 294, 295, 270, 269, 294, 295,
671 91, 41, 294, 295, 44, 313, 298, 294, 295, 93,
672 282, 294, 295, 294, 295, 257, 272, 273, 274, 275,
673 262, 294, 295, 63, 272, 273, 274, 275, 59, 301,
674 123, 305, 123, 41, 125, 126, 0, 93, 294, 295,
675 294, 295, 294, 295, 294, 295, 294, 295, 294, 295,
676 298, 91, 59, 325, 41, 294, 295, 331, 294, 295,
677 59, 335, 294, 295, 272, 273, 274, 275, 41, 33,
678 294, 295, 36, 37, 38, 59, 40, 83, 42, 43,
679 41, 45, 325, 123, 294, 295, 294, 295, 294, 295,
680 294, 295, 294, 295, 13, 59, 294, 295, 269, 93,
681 64, -1, 256, 257, 258, 259, 260, 261, -1, 263,
682 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
683 274, 275, 294, 295, -1, 279, 280, 91, 282, 283,
684 284, 294, 295, -1, -1, 289, 290, 291, 292, 293,
685 -1, -1, 296, 297, -1, 41, -1, -1, 44, 303,
686 -1, 294, 295, 307, -1, 309, 310, -1, -1, 123,
687 -1, -1, 126, 59, 91, 256, 257, 258, 259, 260,
688 261, -1, 263, 264, 265, 266, 267, 268, 269, 270,
689 271, 272, 273, 274, 275, 294, 295, -1, 279, 280,
690 -1, 282, 283, 284, 91, -1, 123, 93, 289, 290,
691 291, 292, 293, -1, -1, 296, 297, -1, -1, -1,
692 294, 295, 303, -1, -1, -1, 307, -1, 309, 310,
693 272, 273, 274, 275, 33, 91, 123, 36, 37, 38,
694 -1, 40, 41, 42, 43, 44, 45, -1, 294, 295,
695 -1, 281, 294, 295, -1, 285, 286, 287, 288, 58,
696 59, 6, -1, 8, 63, 64, -1, 123, 298, 299,
697 300, 301, 302, -1, 304, 305, -1, -1, 308, -1,
698 -1, 311, 312, 313, -1, -1, 31, 32, -1, -1,
699 -1, -1, 91, -1, 93, 41, -1, -1, 44, -1,
700 -1, 91, 256, 257, 258, 259, 260, 261, -1, 263,
701 264, 265, 58, 59, -1, 269, -1, 63, 272, 273,
702 274, 275, -1, -1, 123, 279, 280, 126, 282, 283,
703 284, -1, -1, 123, -1, 289, 290, 291, 292, 293,
704 -1, -1, 296, 297, -1, 91, -1, 93, -1, 303,
705 -1, -1, -1, 307, 33, 309, 310, 36, 37, 38,
706 -1, 40, 41, 42, 43, 44, 45, -1, -1, -1,
707 -1, -1, -1, -1, -1, -1, -1, 123, -1, 58,
708 59, -1, -1, -1, 63, 64, 272, 273, 274, 275,
709 -1, 308, -1, -1, 311, 312, 313, -1, 285, 286,
710 287, 288, -1, -1, -1, -1, -1, -1, 294, -1,
711 -1, -1, -1, -1, 93, 302, -1, 304, 305, -1,
712 41, 308, -1, 44, 311, 312, 313, -1, -1, 285,
713 286, 287, 288, -1, -1, -1, -1, 58, 59, -1,
714 -1, -1, 63, 299, 300, 301, 302, 126, 304, 305,
715 -1, -1, 308, -1, -1, 311, 312, 313, 257, 258,
716 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
717 269, -1, 93, 272, 273, 274, 275, -1, -1, -1,
718 -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
719 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
720 299, 300, 301, 302, 303, 304, 305, -1, 307, 308,
721 309, 310, 311, 312, 313, 305, -1, -1, 308, 91,
722 -1, 311, 312, 313, -1, -1, 272, 273, 274, 275,
723 -1, -1, -1, -1, -1, 281, -1, -1, -1, 285,
724 286, 287, 288, -1, -1, -1, -1, -1, 294, 295,
725 -1, 123, 298, 299, 300, 301, 302, -1, 304, 305,
726 -1, -1, 308, -1, -1, 311, 312, 313, 91, -1,
727 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
728 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
729 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
730 123, 280, 281, 282, 283, 284, 285, 286, 287, 288,
731 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
732 299, 300, 301, 302, 303, 304, 305, -1, 307, 308,
733 309, 310, 311, 312, 313, 33, 48, 49, 36, 37,
734 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
735 -1, 272, 273, 274, 275, -1, -1, -1, -1, -1,
736 281, 59, -1, -1, 285, 286, 64, 288, -1, -1,
737 82, -1, -1, 294, 295, -1, 88, 298, 299, 300,
738 301, 302, -1, 304, -1, -1, -1, -1, -1, -1,
739 -1, 33, -1, 91, 36, 37, 38, -1, 40, -1,
740 42, 43, -1, 45, 116, -1, -1, -1, -1, -1,
741 -1, 123, -1, 285, 286, 287, 288, 59, -1, -1,
742 -1, -1, 64, -1, -1, 123, -1, -1, 126, 301,
743 302, -1, 304, 305, -1, -1, 308, -1, -1, 311,
744 312, 313, -1, -1, -1, -1, -1, 33, -1, 91,
745 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
746 -1, -1, -1, -1, 287, 288, -1, -1, -1, -1,
747 -1, -1, 184, -1, -1, -1, -1, -1, 64, -1,
748 -1, 123, 305, -1, 126, 308, -1, -1, 311, 312,
749 313, -1, -1, -1, 41, -1, -1, 44, -1, -1,
750 -1, -1, -1, -1, -1, 91, -1, 26, -1, -1,
751 33, 58, 59, 36, 37, 38, -1, 40, -1, 42,
752 43, -1, 45, 42, -1, -1, -1, -1, 47, -1,
753 49, -1, -1, -1, -1, -1, -1, 123, -1, -1,
754 126, 64, 61, 62, 63, 64, 93, -1, -1, -1,
755 -1, -1, -1, -1, -1, -1, -1, -1, 256, 257,
756 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
757 -1, 269, -1, -1, 272, 273, 274, 275, -1, -1,
758 -1, 279, 280, -1, 282, 283, 284, -1, 107, -1,
759 -1, 289, 290, 291, 292, 293, -1, -1, 296, 297,
760 123, -1, -1, 126, 91, 303, -1, -1, -1, 307,
761 -1, 309, 310, -1, 256, 257, 258, 259, 260, 261,
762 -1, 263, 264, 265, -1, -1, -1, 269, -1, -1,
763 272, 273, 274, 275, -1, -1, 123, 279, 280, -1,
764 282, 283, 284, -1, -1, -1, -1, 289, 290, 291,
765 292, 293, -1, -1, 296, 297, -1, -1, -1, -1,
766 91, 303, -1, -1, -1, 307, -1, 309, 310, -1,
767 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
768 41, -1, -1, 269, -1, -1, -1, -1, -1, -1,
769 -1, -1, 123, -1, 280, -1, 282, 283, 284, -1,
770 -1, -1, 63, 289, 290, 291, 292, 293, -1, -1,
771 296, 297, -1, -1, -1, -1, -1, 303, -1, -1,
772 -1, 307, -1, 309, 310, 272, 273, 274, 275, -1,
773 91, -1, -1, -1, 257, 258, 259, 260, 261, -1,
774 263, 264, 265, -1, -1, -1, 269, 294, 295, -1,
775 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
776 283, 284, 123, -1, -1, -1, 289, 290, 291, 292,
777 293, -1, -1, 296, 297, -1, -1, -1, -1, -1,
778 303, -1, -1, -1, 307, 33, 309, 310, 36, 37,
779 38, -1, 40, -1, 42, 43, -1, 45, 285, 286,
780 287, 288, -1, -1, -1, -1, -1, -1, -1, -1,
781 -1, 59, -1, 300, 301, 302, 64, 304, 305, -1,
782 -1, 308, -1, -1, 311, 312, 313, -1, -1, -1,
783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
784 -1, 33, -1, 91, 36, 37, 38, -1, 40, -1,
785 42, 43, -1, 45, 285, 286, 287, 288, -1, -1,
786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
787 -1, -1, 64, 304, 305, -1, -1, 308, 126, -1,
788 311, 312, 313, -1, -1, -1, -1, -1, -1, -1,
789 -1, -1, -1, -1, -1, -1, -1, 33, -1, 91,
790 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
791 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
792 281, -1, -1, -1, 285, 286, 287, 288, 64, -1,
793 -1, 123, -1, -1, 126, -1, -1, 298, 299, 300,
794 301, 302, -1, 304, 305, -1, -1, 308, -1, -1,
795 311, 312, 313, -1, -1, 91, -1, -1, -1, -1,
796 33, -1, -1, 36, 37, 38, -1, 40, -1, 42,
797 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
799 126, 64, -1, -1, -1, -1, -1, -1, -1, -1,
800 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
801 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
802 93, 269, -1, -1, -1, 91, -1, -1, -1, -1,
803 -1, -1, 280, -1, 282, 283, 284, -1, -1, -1,
804 -1, 289, 290, 291, 292, 293, -1, 63, 296, 297,
805 -1, -1, -1, 126, -1, 303, -1, 123, -1, 307,
806 -1, 309, 310, -1, -1, 257, 258, 259, 260, 261,
807 -1, 263, 264, 265, -1, 91, -1, 269, -1, -1,
808 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
809 282, 283, 284, -1, -1, -1, -1, 289, 290, 291,
810 292, 293, -1, -1, 296, 297, 91, 123, -1, -1,
811 -1, 303, -1, 41, -1, 307, 44, 309, 310, -1,
812 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
813 58, 59, -1, 269, -1, 63, -1, -1, 123, -1,
814 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
815 -1, -1, -1, 289, 290, 291, 292, 293, -1, -1,
816 296, 297, -1, -1, -1, 93, -1, 303, -1, -1,
817 -1, 307, -1, 309, 310, -1, -1, -1, -1, -1,
818 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
819 263, 264, 265, -1, 33, -1, 269, 36, 37, 38,
820 -1, 40, -1, 42, 43, -1, 45, 280, -1, 282,
821 283, 284, -1, -1, -1, -1, 289, 290, 291, 292,
822 293, 287, 288, 296, 297, 64, -1, -1, -1, -1,
823 303, -1, -1, -1, 307, -1, 309, 310, 304, 305,
824 -1, -1, 308, -1, -1, 311, 312, 313, -1, -1,
825 33, -1, 91, 36, 37, 38, -1, 40, 41, 42,
826 43, -1, 45, -1, -1, 281, -1, -1, -1, 285,
827 286, 287, 288, -1, -1, -1, -1, -1, -1, -1,
828 -1, 64, 298, 299, 300, 301, 302, 126, 304, 305,
829 -1, -1, 308, -1, -1, 311, 312, 313, -1, -1,
830 285, -1, 287, 288, -1, -1, 33, -1, 91, 36,
831 37, 38, -1, 40, 41, 42, 43, -1, 45, 304,
832 305, -1, -1, 308, -1, -1, 311, 312, 313, -1,
833 -1, -1, -1, -1, -1, -1, -1, 64, -1, -1,
834 -1, -1, -1, 126, 272, 273, 274, 275, -1, -1,
835 -1, -1, -1, 281, -1, -1, -1, -1, -1, -1,
836 -1, -1, -1, -1, 91, -1, 294, 295, -1, 33,
837 298, 299, 36, 37, 38, -1, 40, 41, 42, 43,
838 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
839 -1, -1, -1, -1, -1, -1, -1, -1, -1, 126,
840 64, -1, -1, -1, -1, -1, -1, -1, -1, -1,
841 -1, -1, -1, -1, -1, -1, -1, 256, 257, 258,
842 259, 260, 261, -1, 263, 264, 265, 91, -1, -1,
843 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
844 -1, 280, -1, 282, 283, 284, -1, -1, -1, -1,
845 289, 290, 291, 292, 293, -1, -1, 296, 297, -1,
846 -1, -1, 126, -1, 303, -1, 41, -1, 307, 44,
847 309, 310, -1, -1, 257, 258, 259, 260, 261, -1,
848 263, 264, 265, 58, 59, -1, 269, -1, 63, -1,
849 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
850 283, 284, -1, -1, -1, -1, 289, 290, 291, 292,
851 293, -1, -1, 296, 297, -1, 91, -1, 93, -1,
852 303, -1, 41, -1, 307, 44, 309, 310, -1, -1,
853 257, 258, 259, 260, 261, -1, 263, 264, 265, 58,
854 59, -1, 269, -1, 63, -1, -1, -1, 123, -1,
855 -1, -1, -1, 280, -1, 282, 283, 284, -1, -1,
856 -1, -1, 289, 290, 291, 292, 293, -1, -1, 296,
857 297, -1, 91, -1, 93, -1, 303, -1, -1, -1,
858 307, -1, 309, 310, -1, -1, -1, -1, -1, -1,
859 -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
860 264, 265, -1, 33, 123, 269, 36, 37, 38, -1,
861 40, 41, 42, 43, -1, 45, 280, -1, 282, 283,
862 284, -1, -1, -1, -1, 289, 290, 291, 292, 293,
863 -1, -1, 296, 297, 64, -1, 25, 26, -1, 303,
864 -1, -1, -1, 307, -1, 309, 310, -1, 37, -1,
865 -1, -1, -1, 42, 43, -1, -1, -1, 47, 33,
866 49, 91, 36, 37, 38, -1, 40, -1, 42, 43,
867 -1, 45, 61, 62, 63, 64, -1, -1, -1, -1,
868 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
869 64, -1, -1, -1, -1, -1, 126, 272, 273, 274,
870 275, -1, -1, -1, -1, -1, 281, -1, -1, -1,
871 285, 286, 287, 288, -1, -1, -1, 91, 107, 294,
872 295, -1, -1, 298, 299, 300, 301, 302, -1, 304,
873 305, -1, 41, 308, -1, 44, 311, 312, 313, -1,
874 -1, -1, -1, 41, -1, -1, 44, -1, -1, 58,
875 59, -1, 126, 272, 273, 274, 275, -1, -1, -1,
876 58, 59, 281, -1, -1, 63, 285, 286, 287, 288,
877 -1, -1, -1, -1, -1, 294, 295, -1, 167, 298,
878 299, 300, 301, 302, 93, 304, 305, -1, 41, 308,
879 -1, 44, 311, 312, 313, 93, -1, -1, -1, -1,
880 -1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
881 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
882 -1, -1, -1, -1, -1, 123, -1, 257, 258, 259,
883 260, 261, -1, 263, 264, 265, -1, -1, 91, 269,
884 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
885 280, -1, 282, 283, 284, -1, -1, -1, -1, 289,
886 290, 291, 292, 293, -1, -1, 296, 297, -1, -1,
887 -1, -1, -1, 303, -1, 41, -1, 307, 44, 309,
888 310, -1, -1, 257, 258, 259, 260, 261, -1, 263,
889 264, 265, 58, 59, -1, 269, -1, 63, -1, -1,
890 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
891 284, -1, -1, -1, -1, 289, 290, 291, 292, 293,
892 -1, -1, 296, 297, -1, -1, -1, 93, -1, 303,
893 41, -1, -1, 307, -1, 309, 310, -1, -1, -1,
894 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
895 -1, -1, 63, -1, -1, -1, -1, 123, -1, -1,
896 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
897 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
898 91, -1, 93, 281, -1, 294, 295, 285, 286, 287,
899 288, -1, -1, -1, -1, -1, 294, 295, -1, -1,
900 298, 299, 300, 301, 302, -1, 304, 305, -1, -1,
901 308, -1, 123, 311, 312, 313, -1, -1, -1, 272,
902 273, 274, 275, -1, -1, -1, -1, -1, 281, -1,
903 -1, -1, 285, 286, 287, 288, -1, -1, -1, -1,
904 -1, 294, 295, -1, 41, 298, 299, 300, 301, 302,
905 -1, 304, 305, -1, -1, 308, -1, -1, 311, 312,
906 313, 58, 59, -1, -1, -1, 63, -1, -1, -1,
907 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
908 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909 -1, -1, -1, -1, 91, -1, 93, -1, -1, -1,
910 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
911 -1, -1, -1, -1, -1, 281, -1, -1, -1, 285,
912 286, 287, 288, -1, -1, -1, 123, -1, 294, 295,
913 -1, -1, 298, 299, 300, 301, 302, -1, 304, 305,
914 41, -1, 308, 44, -1, 311, 312, 313, -1, -1,
915 -1, 41, -1, -1, 44, -1, -1, 58, 59, -1,
916 -1, 272, 273, 274, 275, -1, -1, -1, 58, 59,
917 281, -1, -1, 63, 285, 286, 287, 288, -1, -1,
918 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
919 301, 302, 93, 304, 305, -1, -1, 308, -1, -1,
920 311, 312, 313, 93, 41, -1, -1, 44, -1, -1,
921 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
922 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
923 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
924 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
925 44, -1, -1, -1, -1, -1, 93, -1, -1, -1,
926 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
927 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
928 -1, -1, -1, -1, 281, -1, 123, -1, 285, 286,
929 287, 288, -1, -1, -1, 41, -1, 294, 295, 93,
930 -1, 298, 299, 300, 301, 302, -1, 304, 305, -1,
931 -1, 308, 58, 59, 311, 312, 313, 63, -1, -1,
932 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
933 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
934 44, -1, -1, -1, -1, 91, -1, 93, -1, -1,
935 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
937 -1, 272, 273, 274, 275, -1, -1, 123, -1, -1,
938 -1, -1, 272, 273, 274, 275, -1, -1, -1, 93,
939 -1, 281, -1, 294, 295, 285, 286, 287, 288, -1,
940 -1, -1, -1, -1, 294, 295, -1, -1, 298, 299,
941 300, 301, 302, -1, 304, 305, -1, -1, 308, -1,
942 -1, 311, 312, 313, -1, 41, -1, -1, 44, -1,
943 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
944 -1, -1, 58, 59, 281, -1, -1, 63, 285, 286,
945 287, 288, -1, -1, -1, -1, -1, 294, 295, -1,
946 -1, 298, 299, 300, 301, 302, -1, 304, 305, -1,
947 -1, 308, -1, -1, 311, 312, 313, 93, 272, 273,
948 274, 275, -1, -1, -1, 41, -1, 281, 44, -1,
949 -1, 285, 286, 287, 288, -1, -1, -1, -1, -1,
950 294, 295, 58, 59, 298, 299, 300, 301, 302, -1,
951 304, 305, -1, -1, 308, -1, -1, 311, 312, 313,
952 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
953 -1, -1, -1, -1, -1, 281, -1, 93, -1, 285,
954 286, 287, 288, -1, -1, -1, -1, -1, 294, 295,
955 -1, 63, 298, 299, 300, 301, 302, -1, 304, 305,
956 -1, -1, 308, -1, -1, 311, 312, 313, 272, 273,
957 274, 275, -1, -1, -1, -1, -1, 281, -1, 91,
958 -1, 285, 286, 287, 288, -1, -1, -1, -1, -1,
959 294, 295, -1, -1, 298, 299, 300, 301, 302, 41,
960 304, 305, 44, -1, 308, -1, -1, 311, 312, 313,
961 -1, 123, -1, -1, -1, -1, 58, 59, -1, -1,
962 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
963 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
964 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
965 -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
966 -1, -1, -1, 58, 59, 281, -1, -1, 63, 285,
967 286, 287, 288, -1, -1, -1, -1, -1, 294, 295,
968 -1, -1, 298, 299, 300, 301, 302, -1, 304, 305,
969 41, -1, 308, 44, -1, 311, 312, 313, 93, -1,
970 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
971 -1, -1, 63, -1, -1, -1, 272, 273, 274, 275,
972 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
973 44, -1, -1, -1, -1, -1, -1, -1, 294, 295,
974 -1, -1, 93, -1, 58, 59, -1, -1, -1, 63,
975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
976 -1, -1, -1, -1, 41, -1, -1, 44, -1, 281,
977 -1, -1, -1, 285, 286, 287, 288, -1, -1, 93,
978 -1, 58, 59, -1, -1, -1, 63, 299, 300, 301,
979 302, -1, 304, 305, -1, -1, 308, -1, -1, 311,
980 312, 313, 41, -1, -1, 44, -1, -1, -1, -1,
981 -1, -1, -1, -1, -1, -1, 93, -1, -1, 58,
982 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
983 272, 273, 274, 275, -1, -1, -1, -1, -1, 281,
984 -1, -1, -1, 285, 286, 287, 288, -1, -1, -1,
985 -1, -1, 294, 295, 93, -1, 298, 299, 300, 301,
986 302, -1, 304, 305, -1, -1, 308, -1, -1, 311,
987 312, 313, -1, -1, -1, -1, -1, 272, 273, 274,
988 275, -1, -1, -1, -1, -1, 281, -1, -1, -1,
989 285, 286, 287, 288, -1, -1, -1, -1, -1, 294,
990 295, -1, -1, 298, 299, 300, 301, 302, -1, 304,
991 305, 41, -1, 308, 44, -1, 311, 312, 313, -1,
992 -1, 272, 273, 274, 275, -1, -1, -1, 58, 59,
993 281, -1, -1, 63, 285, 286, 287, 288, -1, -1,
994 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
995 301, 302, -1, 304, 305, -1, -1, 308, 272, 273,
996 274, 275, -1, 93, -1, -1, -1, 281, -1, -1,
997 -1, 285, 286, 287, 288, -1, -1, -1, -1, -1,
998 294, 295, -1, -1, 298, 299, 300, 301, 302, -1,
999 304, 305, -1, -1, 308, 272, 273, 274, 275, -1,
1000 -1, -1, -1, -1, 281, -1, -1, -1, 285, 286,
1001 287, 288, -1, -1, -1, -1, -1, 294, 295, -1,
1002 -1, 298, 299, 300, 301, 302, -1, 304, 305, -1,
1003 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1004 -1, -1, 281, -1, -1, -1, 285, 286, 287, 288,
1005 41, -1, -1, 44, -1, 294, 295, -1, -1, 298,
1006 299, 300, 301, 302, -1, 304, 305, 58, 59, -1,
1007 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1008 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1010 -1, -1, 93, 58, 59, -1, -1, -1, 63, -1,
1011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1013 41, -1, -1, 44, -1, -1, -1, -1, 93, -1,
1014 -1, -1, 272, 273, 274, 275, -1, 58, 59, -1,
1015 -1, 281, 63, -1, -1, 285, 286, 287, 288, -1,
1016 -1, -1, -1, -1, 294, 295, -1, -1, 298, 299,
1017 300, 301, 302, 41, 304, 305, 44, -1, -1, -1,
1018 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
1019 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1020 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1021 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1022 -1, -1, -1, -1, -1, 93, 58, 59, -1, -1,
1023 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1024 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1026 -1, 93, -1, 58, 59, -1, -1, -1, 63, -1,
1027 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1028 -1, 272, 273, 274, 275, -1, -1, -1, -1, -1,
1029 281, -1, -1, -1, 285, 286, 287, 288, 93, -1,
1030 -1, -1, -1, 294, 295, -1, -1, 298, 299, 300,
1031 301, 302, -1, 304, 305, -1, -1, 272, 273, 274,
1032 275, -1, -1, -1, -1, -1, 281, -1, -1, -1,
1033 285, 286, 287, 288, 41, -1, -1, 44, -1, 294,
1034 295, -1, -1, 298, 299, 300, 301, 302, -1, 304,
1035 305, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1036 -1, 272, 273, 274, 275, -1, -1, -1, -1, -1,
1037 281, -1, -1, -1, 285, 286, 287, 288, -1, -1,
1038 -1, -1, -1, 294, 295, -1, 93, 298, 299, 300,
1039 301, 302, 41, 304, 305, 44, -1, -1, -1, -1,
1040 -1, -1, -1, -1, 272, 273, 274, 275, -1, 58,
1041 59, -1, -1, 281, 63, -1, -1, 285, 286, 287,
1042 288, -1, -1, -1, -1, -1, 294, 295, -1, -1,
1043 298, 299, 300, 301, 302, -1, 304, 305, -1, -1,
1044 272, 273, 274, 275, 93, -1, -1, -1, -1, 281,
1045 -1, -1, -1, 285, 286, 287, 288, -1, -1, -1,
1046 -1, -1, 294, 295, -1, -1, 298, 299, 300, 301,
1047 302, 41, 304, -1, 44, -1, -1, 272, 273, 274,
1048 275, -1, -1, -1, -1, -1, 281, -1, 58, 59,
1049 285, 286, -1, 63, -1, -1, -1, -1, -1, 294,
1050 295, -1, -1, 298, 299, 300, 301, 302, 41, 304,
1051 -1, 44, -1, -1, -1, -1, -1, -1, 41, -1,
1052 -1, 44, -1, 93, -1, 58, 59, -1, -1, -1,
1053 63, -1, -1, -1, -1, 58, 59, -1, -1, -1,
1054 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1055 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1056 93, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1057 93, 58, 59, -1, 281, -1, 63, -1, 285, 286,
1058 -1, -1, -1, -1, -1, -1, 41, 294, 295, 44,
1059 -1, 298, 299, 300, 301, 302, 41, -1, -1, 44,
1060 -1, -1, -1, 58, 59, -1, 93, -1, 63, -1,
1061 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1062 -1, -1, -1, 272, 273, 274, 275, -1, -1, 58,
1063 -1, -1, 281, -1, 63, -1, 285, 286, 93, -1,
1064 -1, -1, -1, -1, -1, 294, 295, -1, 93, 298,
1065 299, 300, 301, 302, -1, -1, -1, -1, -1, -1,
1066 -1, -1, 91, -1, -1, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1069 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
1070 -1, -1, 272, 273, 274, 275, -1, -1, -1, -1,
1071 -1, 281, -1, -1, -1, 285, 286, -1, -1, -1,
1072 -1, -1, -1, -1, 294, 295, -1, -1, 298, 299,
1073 300, 301, 302, -1, -1, -1, -1, -1, -1, 272,
1074 273, 274, 275, -1, -1, -1, -1, -1, 281, 272,
1075 273, 274, 275, 286, -1, -1, -1, -1, 281, -1,
1076 -1, 294, 295, -1, -1, 298, 299, 300, 301, 302,
1077 -1, 294, 295, -1, -1, 298, 299, 300, 301, 302,
1078 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1079 -1, -1, -1, -1, 281, -1, -1, -1, -1, -1,
1080 -1, -1, -1, -1, -1, -1, -1, 294, 295, -1,
1081 -1, 298, 299, 300, 301, 302, -1, 272, 273, 274,
1082 275, -1, -1, -1, -1, -1, 281, 272, 273, 274,
1083 275, -1, -1, -1, -1, -1, 281, -1, -1, 294,
1084 295, -1, -1, 298, 299, 300, 301, -1, -1, 294,
1085 295, -1, 281, 298, 299, 300, 285, 286, 287, 288,
1086 -1, -1, -1, -1, -1, -1, -1, -1, -1, 298,
1087 299, 300, 301, 302, -1, 304, 305, 30, -1, 308,
1088 -1, -1, 311, 312, 313, 38, -1, -1, -1, -1,
1089 43, 44, -1, -1, -1, -1, -1, 50, 51, 52,
1090 53, 54, 55, -1, -1, 58, 59, -1, -1, -1,
1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, 90, -1, -1,
1094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1095 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1099 143, -1, -1, -1, -1, -1, -1, -1, 151, 152,
1100 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1101 163, 164, -1, -1, -1, -1, -1, -1, -1, -1,
1102 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, -1, -1, 256, -1, -1, -1, -1, -1, -1,
1111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1119 #define YYMAXTOKEN 313
1122 "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,
1123 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1124 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,
1125 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,
1126 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,
1127 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,
1128 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,
1129 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",
1130 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1131 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1132 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","RELOP","EQOP",
1133 "MULOP","ADDOP","DOLSHARP","DO","LOCAL","HASHBRACK","NOAMP","OROP","ANDOP",
1134 "NOTOP","LSTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP","UNIOP",
1135 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1141 "prog : $$1 lineseq",
1142 "block : '{' remember lineseq '}'",
1145 "lineseq : lineseq decl",
1146 "lineseq : lineseq line",
1147 "line : label cond",
1150 "line : label sideff ';'",
1153 "sideff : expr IF expr",
1154 "sideff : expr UNLESS expr",
1155 "sideff : expr WHILE expr",
1156 "sideff : expr UNTIL expr",
1158 "else : ELSE block",
1159 "else : ELSIF '(' expr ')' block else",
1160 "cond : IF '(' expr ')' block else",
1161 "cond : UNLESS '(' expr ')' block else",
1162 "cond : IF block block else",
1163 "cond : UNLESS block block else",
1165 "cont : CONTINUE block",
1166 "loop : label WHILE '(' texpr ')' block cont",
1167 "loop : label UNTIL '(' expr ')' block cont",
1168 "loop : label WHILE block block cont",
1169 "loop : label UNTIL block block cont",
1170 "loop : label FOR scalar '(' expr ')' block cont",
1171 "loop : label FOR '(' expr ')' block cont",
1172 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1173 "loop : label block cont",
1184 "format : FORMAT startsub WORD block",
1185 "format : FORMAT startsub block",
1186 "subrout : SUB startsub WORD proto block",
1187 "subrout : SUB startsub WORD proto ';'",
1191 "package : PACKAGE WORD ';'",
1192 "package : PACKAGE ';'",
1193 "use : USE startsub WORD listexpr ';'",
1194 "expr : expr ANDOP expr",
1195 "expr : expr OROP expr",
1197 "argexpr : argexpr ','",
1198 "argexpr : argexpr ',' term",
1200 "listop : LSTOP indirob argexpr",
1201 "listop : FUNC '(' indirob expr ')'",
1202 "listop : term ARROW method '(' listexprcom ')'",
1203 "listop : METHOD indirob listexpr",
1204 "listop : FUNCMETH indirob '(' listexprcom ')'",
1205 "listop : LSTOP listexpr",
1206 "listop : FUNC '(' listexprcom ')'",
1207 "listop : LSTOPSUB startsub block listexpr",
1210 "term : term ASSIGNOP term",
1211 "term : term POWOP term",
1212 "term : term MULOP term",
1213 "term : term ADDOP term",
1214 "term : term SHIFTOP term",
1215 "term : term RELOP term",
1216 "term : term EQOP term",
1217 "term : term BITANDOP term",
1218 "term : term BITOROP term",
1219 "term : term DOTDOT term",
1220 "term : term ANDAND term",
1221 "term : term OROR term",
1222 "term : term '?' term ':' term",
1223 "term : term MATCHOP term",
1228 "term : REFGEN term",
1229 "term : term POSTINC",
1230 "term : term POSTDEC",
1231 "term : PREINC term",
1232 "term : PREDEC term",
1233 "term : LOCAL term",
1234 "term : '(' expr ')'",
1236 "term : '[' expr ']'",
1238 "term : HASHBRACK expr ';' '}'",
1239 "term : HASHBRACK ';' '}'",
1240 "term : ANONSUB startsub proto block",
1242 "term : star '{' expr ';' '}'",
1244 "term : scalar '[' expr ']'",
1245 "term : term ARROW '[' expr ']'",
1246 "term : term '[' expr ']'",
1250 "term : scalar '{' expr ';' '}'",
1251 "term : term ARROW '{' expr ';' '}'",
1252 "term : term '{' expr ';' '}'",
1253 "term : '(' expr ')' '[' expr ']'",
1254 "term : '(' ')' '[' expr ']'",
1255 "term : ary '[' expr ']'",
1256 "term : ary '{' expr ';' '}'",
1259 "term : amper '(' ')'",
1260 "term : amper '(' expr ')'",
1261 "term : NOAMP WORD listexpr",
1264 "term : DO WORD '(' ')'",
1265 "term : DO WORD '(' expr ')'",
1266 "term : DO scalar '(' ')'",
1267 "term : DO scalar '(' expr ')'",
1269 "term : LOOPEX term",
1270 "term : NOTOP argexpr",
1272 "term : UNIOP block",
1273 "term : UNIOP term",
1274 "term : UNIOPSUB term",
1276 "term : FUNC0 '(' ')'",
1278 "term : FUNC1 '(' ')'",
1279 "term : FUNC1 '(' expr ')'",
1280 "term : PMFUNC '(' term ')'",
1281 "term : PMFUNC '(' term ',' term ')'",
1285 "listexpr : argexpr",
1287 "listexprcom : expr",
1288 "listexprcom : expr ','",
1289 "amper : '&' indirob",
1290 "scalar : '$' indirob",
1291 "ary : '@' indirob",
1292 "hsh : '%' indirob",
1293 "arylen : DOLSHARP indirob",
1294 "star : '*' indirob",
1298 "indirob : PRIVATEREF",
1301 #define yyclearin (yychar=(-1))
1302 #define yyerrok (yyerrflag=0)
1305 #define YYMAXDEPTH YYSTACKSIZE
1309 #define YYSTACKSIZE YYMAXDEPTH
1311 #define YYSTACKSIZE 500
1312 #define YYMAXDEPTH 500
1323 #line 1394 "y.tab.c"
1324 #define YYABORT goto yyabort
1325 #define YYACCEPT goto yyaccept
1326 #define YYERROR goto yyerrlab
1343 struct ysv* ysave = (struct ysv*)ptr;
1344 if (ysave->yyss) Safefree(ysave->yyss);
1345 if (ysave->yyvs) Safefree(ysave->yyvs);
1346 yydebug = ysave->oldyydebug;
1347 yynerrs = ysave->oldyynerrs;
1348 yyerrflag = ysave->oldyyerrflag;
1349 yychar = ysave->oldyychar;
1350 yyval = ysave->oldyyval;
1351 yylval = ysave->oldyylval;
1358 register int yym, yyn, yystate;
1359 register short *yyssp;
1360 register YYSTYPE *yyvsp;
1363 unsigned yystacksize = YYSTACKSIZE;
1367 extern char *getenv();
1370 struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1371 SAVEDESTRUCTOR(yydestruct, ysave);
1372 ysave->oldyydebug = yydebug;
1373 ysave->oldyynerrs = yynerrs;
1374 ysave->oldyyerrflag = yyerrflag;
1375 ysave->oldyychar = yychar;
1376 ysave->oldyyval = yyval;
1377 ysave->oldyylval = yylval;
1380 if (yys = getenv("YYDEBUG"))
1383 if (yyn >= '0' && yyn <= '9')
1384 yydebug = yyn - '0';
1393 ** Initialize private stacks (yyparse may be called from an action)
1395 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1396 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1402 *yyssp = yystate = 0;
1405 if (yyn = yydefred[yystate]) goto yyreduce;
1408 if ((yychar = yylex()) < 0) yychar = 0;
1413 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1414 if (!yys) yys = "illegal-symbol";
1415 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
1420 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1421 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1425 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
1426 yystate, yytable[yyn]);
1428 if (yyssp >= yyss + yystacksize - 1)
1431 ** reallocate and recover. Note that pointers
1432 ** have to be reset, or bad things will happen
1434 int yyps_index = (yyssp - yyss);
1435 int yypv_index = (yyvsp - yyvs);
1436 yystacksize += YYSTACKSIZE;
1437 ysave->yyvs = yyvs =
1438 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1439 ysave->yyss = yyss =
1440 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1443 yyssp = yyss + yyps_index;
1444 yyvsp = yyvs + yypv_index;
1446 *++yyssp = yystate = yytable[yyn];
1449 if (yyerrflag > 0) --yyerrflag;
1452 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1453 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1458 if (yyerrflag) goto yyinrecovery;
1463 yyerror("syntax error");
1475 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1476 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1481 "yydebug: state %d, error recovery shifting to state %d\n",
1482 *yyssp, yytable[yyn]);
1484 if (yyssp >= yyss + yystacksize - 1)
1487 ** reallocate and recover. Note that pointers
1488 ** have to be reset, or bad things will happen
1490 int yyps_index = (yyssp - yyss);
1491 int yypv_index = (yyvsp - yyvs);
1492 yystacksize += YYSTACKSIZE;
1493 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1494 yystacksize * sizeof(YYSTYPE));
1495 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1496 yystacksize * sizeof(short));
1499 yyssp = yyss + yyps_index;
1500 yyvsp = yyvs + yypv_index;
1502 *++yyssp = yystate = yytable[yyn];
1511 "yydebug: error recovery discarding state %d\n",
1514 if (yyssp <= yyss) goto yyabort;
1522 if (yychar == 0) goto yyabort;
1527 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1528 if (!yys) yys = "illegal-symbol";
1530 "yydebug: state %d, error recovery discards token %d (%s)\n",
1531 yystate, yychar, yys);
1540 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
1541 yystate, yyn, yyrule[yyn]);
1544 yyval = yyvsp[1-yym];
1550 #if defined(YYDEBUG) && defined(DEBUGGING)
1551 yydebug = (debug & 1);
1558 { newPROG(yyvsp[0].opval); }
1562 { yyval.opval = block_end(yyvsp[-3].ival,yyvsp[-2].ival,yyvsp[-1].opval); }
1566 { yyval.ival = block_start(); }
1570 { yyval.opval = Nullop; }
1574 { yyval.opval = yyvsp[-1].opval; }
1578 { yyval.opval = append_list(OP_LINESEQ,
1579 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1580 pad_reset_pending = TRUE;
1581 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1585 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1589 { if (yyvsp[-1].pval != Nullch) {
1590 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1593 yyval.opval = Nullop;
1600 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1605 { yyval.opval = Nullop; }
1609 { yyval.opval = yyvsp[0].opval; }
1613 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1617 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1621 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1625 { yyval.opval = newLOOPOP(OPf_PARENS, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1629 { yyval.opval = Nullop; }
1633 { yyval.opval = scope(yyvsp[0].opval); }
1637 { copline = yyvsp[-5].ival;
1638 yyval.opval = newSTATEOP(0, 0,
1639 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1640 hints |= HINT_BLOCK_SCOPE; }
1644 { copline = yyvsp[-5].ival;
1645 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1649 { copline = yyvsp[-5].ival;
1650 yyval.opval = newCONDOP(0,
1651 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1655 { copline = yyvsp[-3].ival;
1656 deprecate("if BLOCK BLOCK");
1657 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1661 { copline = yyvsp[-3].ival;
1662 deprecate("unless BLOCK BLOCK");
1663 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1664 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1668 { yyval.opval = Nullop; }
1672 { yyval.opval = scope(yyvsp[0].opval); }
1676 { copline = yyvsp[-5].ival;
1677 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1678 newWHILEOP(0, 1, (LOOP*)Nullop,
1679 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
1683 { copline = yyvsp[-5].ival;
1684 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1685 newWHILEOP(0, 1, (LOOP*)Nullop,
1686 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1690 { copline = yyvsp[-3].ival;
1691 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1692 newWHILEOP(0, 1, (LOOP*)Nullop,
1693 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1697 { copline = yyvsp[-3].ival;
1698 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1699 newWHILEOP(0, 1, (LOOP*)Nullop,
1700 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1704 { yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
1705 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1709 { yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1713 { copline = yyvsp[-8].ival;
1714 yyval.opval = append_elem(OP_LINESEQ,
1715 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
1716 newSTATEOP(0, yyvsp[-9].pval,
1717 newWHILEOP(0, 1, (LOOP*)Nullop,
1718 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
1722 { yyval.opval = newSTATEOP(0,
1723 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
1724 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1728 { yyval.opval = Nullop; }
1732 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1736 { yyval.pval = Nullch; }
1756 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1760 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
1764 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1768 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, Nullop); expect = XSTATE; }
1772 { yyval.opval = Nullop; }
1776 { yyval.ival = start_subparse(); }
1780 { package(yyvsp[-1].opval); }
1784 { package(Nullop); }
1788 { utilize(yyvsp[-4].ival, yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval); }
1792 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1796 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1800 { yyval.opval = yyvsp[-1].opval; }
1804 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1808 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1809 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1813 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1814 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1818 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1819 append_elem(OP_LIST,
1820 prepend_elem(OP_LIST, yyvsp[-5].opval, yyvsp[-1].opval),
1821 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1825 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1826 append_elem(OP_LIST,
1827 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1828 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1832 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1833 append_elem(OP_LIST,
1834 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1835 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1839 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1843 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1847 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1848 append_elem(OP_LIST,
1849 prepend_elem(OP_LIST, newANONSUB(yyvsp[-2].ival, 0, yyvsp[-1].opval), yyvsp[0].opval),
1850 yyvsp[-3].opval)); }
1854 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1858 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1862 { if (yyvsp[-1].ival != OP_REPEAT)
1863 scalar(yyvsp[-2].opval);
1864 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1868 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1872 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1876 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1880 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1884 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1888 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1892 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1896 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1900 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1904 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1908 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1912 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1916 { yyval.opval = yyvsp[0].opval; }
1920 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1924 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1928 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1932 { yyval.opval = newUNOP(OP_POSTINC, 0,
1933 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1937 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1938 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1942 { yyval.opval = newUNOP(OP_PREINC, 0,
1943 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1947 { yyval.opval = newUNOP(OP_PREDEC, 0,
1948 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1952 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1956 { yyval.opval = sawparens(yyvsp[-1].opval); }
1960 { yyval.opval = sawparens(newNULLLIST()); }
1964 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1968 { yyval.opval = newANONLIST(Nullop); }
1972 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1976 { yyval.opval = newANONHASH(Nullop); }
1980 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1984 { yyval.opval = yyvsp[0].opval; }
1988 { yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
1992 { yyval.opval = yyvsp[0].opval; }
1996 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2000 { yyval.opval = newBINOP(OP_AELEM, 0,
2001 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2002 scalar(yyvsp[-1].opval));}
2006 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2007 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2008 scalar(yyvsp[-1].opval));}
2012 { yyval.opval = yyvsp[0].opval; }
2016 { yyval.opval = yyvsp[0].opval; }
2020 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2024 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2025 expect = XOPERATOR; }
2029 { yyval.opval = newBINOP(OP_HELEM, 0,
2030 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2031 jmaybe(yyvsp[-2].opval));
2032 expect = XOPERATOR; }
2036 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2037 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2038 jmaybe(yyvsp[-2].opval));
2039 expect = XOPERATOR; }
2043 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2047 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2051 { yyval.opval = prepend_elem(OP_ASLICE,
2052 newOP(OP_PUSHMARK, 0),
2053 newLISTOP(OP_ASLICE, 0,
2054 list(yyvsp[-1].opval),
2055 ref(yyvsp[-3].opval, OP_ASLICE))); }
2059 { yyval.opval = prepend_elem(OP_HSLICE,
2060 newOP(OP_PUSHMARK, 0),
2061 newLISTOP(OP_HSLICE, 0,
2062 list(yyvsp[-2].opval),
2063 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2064 expect = XOPERATOR; }
2068 { yyval.opval = yyvsp[0].opval; }
2072 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2076 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2080 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2081 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2085 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2086 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2090 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2094 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2098 { yyval.opval = newUNOP(OP_ENTERSUB,
2099 OPf_SPECIAL|OPf_STACKED,
2100 prepend_elem(OP_LIST,
2102 (OPpENTERSUB_AMPER<<8),
2103 scalar(yyvsp[-2].opval)
2104 )),Nullop)); dep();}
2108 { yyval.opval = newUNOP(OP_ENTERSUB,
2109 OPf_SPECIAL|OPf_STACKED,
2110 append_elem(OP_LIST,
2113 (OPpENTERSUB_AMPER<<8),
2114 scalar(yyvsp[-3].opval)
2119 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2120 prepend_elem(OP_LIST,
2121 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2125 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2126 prepend_elem(OP_LIST,
2128 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2132 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2133 hints |= HINT_BLOCK_SCOPE; }
2137 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2141 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2145 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2149 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2153 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2157 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2158 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2162 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2166 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2170 { yyval.opval = newUNOP(OP_ENTERSUB, 0,
2171 scalar(yyvsp[0].opval)); }
2175 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2179 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2183 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2187 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2191 { yyval.opval = Nullop; }
2195 { yyval.opval = yyvsp[0].opval; }
2199 { yyval.opval = Nullop; }
2203 { yyval.opval = yyvsp[0].opval; }
2207 { yyval.opval = yyvsp[-1].opval; }
2211 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2215 { yyval.opval = newSVREF(yyvsp[0].opval); }
2219 { yyval.opval = newAVREF(yyvsp[0].opval); }
2223 { yyval.opval = newHVREF(yyvsp[0].opval); }
2227 { yyval.opval = newAVREF(yyvsp[0].opval); }
2231 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2235 { yyval.opval = scalar(yyvsp[0].opval); }
2239 { yyval.opval = scalar(yyvsp[0].opval); }
2243 { yyval.opval = scope(yyvsp[0].opval); }
2247 { yyval.opval = yyvsp[0].opval; }
2249 #line 2236 "y.tab.c"
2255 if (yystate == 0 && yym == 0)
2260 "yydebug: after reduction, shifting from state 0 to state %d\n",
2268 if ((yychar = yylex()) < 0) yychar = 0;
2273 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2274 if (!yys) yys = "illegal-symbol";
2275 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
2276 YYFINAL, yychar, yys);
2280 if (yychar == 0) goto yyaccept;
2283 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2284 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2285 yystate = yytable[yyn];
2287 yystate = yydgoto[yym];
2291 "yydebug: after reduction, shifting from state %d to state %d\n",
2294 if (yyssp >= yyss + yystacksize - 1)
2297 ** reallocate and recover. Note that pointers
2298 ** have to be reset, or bad things will happen
2300 int yyps_index = (yyssp - yyss);
2301 int yypv_index = (yyvsp - yyvs);
2302 yystacksize += YYSTACKSIZE;
2303 ysave->yyvs = yyvs =
2304 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2305 ysave->yyss = yyss =
2306 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2309 yyssp = yyss + yyps_index;
2310 yyvsp = yyvs + yypv_index;
2316 yyerror("Out of memory for yacc stack");