1 <?php
2 /**
3 * Smarty Internal Plugin Templateparser
4 *
5 * This is the template parser.
6 * It is generated from the internal.templateparser.y file
7 * @package Smarty
8 * @subpackage Compiler
9 * @author Uwe Tews
10 */
12 class TP_yyToken implements ArrayAccess
13 {
14 public $string = '';
15 public $metadata = array();
17 function __construct($s, $m = array())
18 {
19 if ($s instanceof TP_yyToken) {
20 $this->string = $s->string;
21 $this->metadata = $s->metadata;
22 } else {
23 $this->string = (string) $s;
24 if ($m instanceof TP_yyToken) {
25 $this->metadata = $m->metadata;
26 } elseif (is_array($m)) {
27 $this->metadata = $m;
28 }
29 }
30 }
32 function __toString()
33 {
34 return $this->_string;
35 }
37 function offsetExists($offset)
38 {
39 return isset($this->metadata[$offset]);
40 }
42 function offsetGet($offset)
43 {
44 return $this->metadata[$offset];
45 }
47 function offsetSet($offset, $value)
48 {
49 if ($offset === null) {
50 if (isset($value[0])) {
51 $x = ($value instanceof TP_yyToken) ?
52 $value->metadata : $value;
53 $this->metadata = array_merge($this->metadata, $x);
54 return;
55 }
56 $offset = count($this->metadata);
57 }
58 if ($value === null) {
59 return;
60 }
61 if ($value instanceof TP_yyToken) {
62 if ($value->metadata) {
63 $this->metadata[$offset] = $value->metadata;
64 }
65 } elseif ($value) {
66 $this->metadata[$offset] = $value;
67 }
68 }
70 function offsetUnset($offset)
71 {
72 unset($this->metadata[$offset]);
73 }
74 }
76 class TP_yyStackEntry
77 {
78 public $stateno; /* The state-number */
79 public $major; /* The major token value. This is the code
80 ** number for the token at this stack level */
81 public $minor; /* The user-supplied minor token value. This
82 ** is the value of the token */
83 };
86 #line 12 "smarty_internal_templateparser.y"
87 class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
88 {
89 #line 14 "smarty_internal_templateparser.y"
91 const Err1 = "Security error: Call to private object member not allowed";
92 const Err2 = "Security error: Call to dynamic object member not allowed";
93 // states whether the parse was successful or not
94 public $successful = true;
95 public $retvalue = 0;
96 private $lex;
97 private $internalError = false;
99 function __construct($lex, $compiler) {
100 // set instance object
101 self::instance($this);
102 $this->lex = $lex;
103 $this->compiler = $compiler;
104 $this->smarty = $this->compiler->smarty;
105 $this->template = $this->compiler->template;
106 $this->compiler->has_variable_string = false;
107 $this->compiler->prefix_code = array();
108 $this->prefix_number = 0;
109 $this->block_nesting_level = 0;
110 if ($this->security = isset($this->smarty->security_policy)) {
111 $this->php_handling = $this->smarty->security_policy->php_handling;
112 } else {
113 $this->php_handling = $this->smarty->php_handling;
114 }
115 $this->is_xml = false;
116 $this->asp_tags = (ini_get('asp_tags') != '0');
117 $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
118 }
119 public static function &instance($new_instance = null)
120 {
121 static $instance = null;
122 if (isset($new_instance) && is_object($new_instance))
123 $instance = $new_instance;
124 return $instance;
125 }
127 public static function escape_start_tag($tag_text) {
128 $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
129 assert($tag !== false && $count === 1);
130 return $tag;
131 }
133 public static function escape_end_tag($tag_text) {
134 assert($tag_text === '?>');
135 return '?<?php ?>>';
136 }
139 #line 132 "smarty_internal_templateparser.php"
141 const TP_VERT = 1;
142 const TP_COLON = 2;
143 const TP_COMMENT = 3;
144 const TP_PHPSTARTTAG = 4;
145 const TP_PHPENDTAG = 5;
146 const TP_ASPSTARTTAG = 6;
147 const TP_ASPENDTAG = 7;
148 const TP_FAKEPHPSTARTTAG = 8;
149 const TP_XMLTAG = 9;
150 const TP_OTHER = 10;
151 const TP_LINEBREAK = 11;
152 const TP_LITERALSTART = 12;
153 const TP_LITERALEND = 13;
154 const TP_LITERAL = 14;
155 const TP_LDEL = 15;
156 const TP_RDEL = 16;
157 const TP_DOLLAR = 17;
158 const TP_ID = 18;
159 const TP_EQUAL = 19;
160 const TP_PTR = 20;
161 const TP_LDELIF = 21;
162 const TP_SPACE = 22;
163 const TP_LDELFOR = 23;
164 const TP_SEMICOLON = 24;
165 const TP_INCDEC = 25;
166 const TP_TO = 26;
167 const TP_STEP = 27;
168 const TP_LDELFOREACH = 28;
169 const TP_AS = 29;
170 const TP_APTR = 30;
171 const TP_SMARTYBLOCKCHILD = 31;
172 const TP_LDELSLASH = 32;
173 const TP_INTEGER = 33;
174 const TP_COMMA = 34;
175 const TP_MATH = 35;
176 const TP_UNIMATH = 36;
177 const TP_ANDSYM = 37;
178 const TP_ISIN = 38;
179 const TP_ISDIVBY = 39;
180 const TP_ISNOTDIVBY = 40;
181 const TP_ISEVEN = 41;
182 const TP_ISNOTEVEN = 42;
183 const TP_ISEVENBY = 43;
184 const TP_ISNOTEVENBY = 44;
185 const TP_ISODD = 45;
186 const TP_ISNOTODD = 46;
187 const TP_ISODDBY = 47;
188 const TP_ISNOTODDBY = 48;
189 const TP_INSTANCEOF = 49;
190 const TP_OPENP = 50;
191 const TP_CLOSEP = 51;
192 const TP_QMARK = 52;
193 const TP_NOT = 53;
194 const TP_TYPECAST = 54;
195 const TP_HEX = 55;
196 const TP_DOT = 56;
197 const TP_SINGLEQUOTESTRING = 57;
198 const TP_DOUBLECOLON = 58;
199 const TP_AT = 59;
200 const TP_HATCH = 60;
201 const TP_OPENB = 61;
202 const TP_CLOSEB = 62;
203 const TP_EQUALS = 63;
204 const TP_NOTEQUALS = 64;
205 const TP_GREATERTHAN = 65;
206 const TP_LESSTHAN = 66;
207 const TP_GREATEREQUAL = 67;
208 const TP_LESSEQUAL = 68;
209 const TP_IDENTITY = 69;
210 const TP_NONEIDENTITY = 70;
211 const TP_MOD = 71;
212 const TP_LAND = 72;
213 const TP_LOR = 73;
214 const TP_LXOR = 74;
215 const TP_QUOTE = 75;
216 const TP_BACKTICK = 76;
217 const TP_DOLLARID = 77;
218 const YY_NO_ACTION = 572;
219 const YY_ACCEPT_ACTION = 571;
220 const YY_ERROR_ACTION = 570;
222 const YY_SZ_ACTTAB = 2394;
223 static public $yy_action = array(
224 /* 0 */ 192, 249, 282, 291, 295, 270, 277, 272, 269, 284,
225 /* 10 */ 287, 373, 349, 168, 155, 308, 39, 136, 138, 5,
226 /* 20 */ 320, 12, 222, 185, 228, 219, 12, 126, 7, 134,
227 /* 30 */ 303, 251, 246, 232, 48, 45, 44, 43, 26, 24,
228 /* 40 */ 255, 250, 16, 27, 267, 286, 14, 10, 364, 307,
229 /* 50 */ 298, 305, 313, 46, 185, 362, 168, 340, 365, 7,
230 /* 60 */ 192, 12, 266, 268, 271, 289, 239, 245, 257, 260,
231 /* 70 */ 254, 297, 353, 345, 192, 290, 302, 157, 13, 208,
232 /* 80 */ 224, 237, 229, 72, 140, 119, 571, 91, 252, 282,
233 /* 90 */ 291, 176, 363, 338, 273, 12, 327, 314, 13, 304,
234 /* 100 */ 41, 237, 30, 230, 196, 259, 195, 175, 48, 45,
235 /* 110 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286,
236 /* 120 */ 14, 10, 211, 318, 13, 147, 439, 237, 100, 34,
237 /* 130 */ 13, 12, 439, 237, 30, 273, 266, 268, 271, 289,
238 /* 140 */ 239, 245, 257, 260, 254, 297, 353, 345, 192, 192,
239 /* 150 */ 302, 181, 148, 8, 224, 101, 229, 72, 13, 119,
240 /* 160 */ 5, 237, 273, 299, 264, 350, 363, 338, 126, 12,
241 /* 170 */ 327, 314, 46, 304, 214, 336, 293, 145, 181, 259,
242 /* 180 */ 201, 12, 48, 45, 44, 43, 26, 24, 255, 250,
243 /* 190 */ 16, 27, 267, 286, 14, 10, 13, 2, 309, 237,
244 /* 200 */ 18, 46, 214, 441, 12, 19, 279, 130, 330, 441,
245 /* 210 */ 266, 268, 271, 289, 239, 245, 257, 260, 254, 297,
246 /* 220 */ 353, 345, 192, 328, 302, 342, 360, 372, 224, 112,
247 /* 230 */ 229, 54, 12, 119, 127, 13, 46, 316, 237, 369,
248 /* 240 */ 363, 338, 12, 12, 327, 314, 32, 304, 124, 154,
249 /* 250 */ 233, 209, 311, 31, 170, 312, 48, 45, 44, 43,
250 /* 260 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10,
251 /* 270 */ 192, 317, 315, 5, 435, 102, 367, 12, 12, 221,
252 /* 280 */ 12, 126, 131, 293, 266, 268, 271, 289, 239, 245,
253 /* 290 */ 257, 260, 254, 297, 353, 345, 304, 438, 355, 164,
254 /* 300 */ 343, 29, 29, 438, 48, 45, 44, 43, 26, 24,
255 /* 310 */ 255, 250, 16, 27, 267, 286, 14, 10, 339, 247,
256 /* 320 */ 248, 436, 181, 33, 4, 40, 138, 436, 114, 220,
257 /* 330 */ 46, 322, 266, 268, 271, 289, 239, 245, 257, 260,
258 /* 340 */ 254, 297, 353, 345, 192, 302, 159, 167, 347, 224,
259 /* 350 */ 13, 229, 72, 237, 119, 5, 273, 21, 22, 285,
260 /* 360 */ 209, 363, 338, 126, 121, 327, 314, 259, 304, 5,
261 /* 370 */ 181, 99, 231, 177, 312, 197, 29, 126, 48, 45,
262 /* 380 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286,
263 /* 390 */ 14, 10, 192, 234, 326, 334, 306, 163, 156, 259,
264 /* 400 */ 12, 12, 12, 192, 293, 28, 266, 268, 271, 289,
265 /* 410 */ 239, 245, 257, 260, 254, 297, 353, 345, 435, 354,
266 /* 420 */ 13, 181, 348, 205, 12, 12, 48, 45, 44, 43,
267 /* 430 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10,
268 /* 440 */ 6, 241, 150, 280, 6, 325, 293, 12, 301, 12,
269 /* 450 */ 210, 12, 273, 253, 266, 268, 271, 289, 239, 245,
270 /* 460 */ 257, 260, 254, 297, 353, 345, 192, 38, 180, 165,
271 /* 470 */ 152, 13, 122, 97, 237, 161, 324, 366, 12, 273,
272 /* 480 */ 273, 46, 23, 21, 22, 273, 204, 238, 222, 173,
273 /* 490 */ 228, 292, 111, 12, 133, 134, 181, 12, 246, 232,
274 /* 500 */ 48, 45, 44, 43, 26, 24, 255, 250, 16, 27,
275 /* 510 */ 267, 286, 14, 10, 256, 160, 172, 356, 3, 13,
276 /* 520 */ 12, 329, 227, 12, 369, 273, 174, 12, 266, 268,
277 /* 530 */ 271, 289, 239, 245, 257, 260, 254, 297, 353, 345,
278 /* 540 */ 192, 180, 357, 37, 370, 137, 294, 162, 333, 166,
279 /* 550 */ 192, 366, 12, 158, 12, 179, 23, 273, 303, 273,
280 /* 560 */ 281, 358, 222, 273, 228, 274, 12, 346, 259, 134,
281 /* 570 */ 259, 217, 246, 232, 48, 45, 44, 43, 26, 24,
282 /* 580 */ 255, 250, 16, 27, 267, 286, 14, 10, 192, 149,
283 /* 590 */ 368, 13, 215, 226, 207, 36, 11, 132, 138, 273,
284 /* 600 */ 192, 98, 266, 268, 271, 289, 239, 245, 257, 260,
285 /* 610 */ 254, 297, 353, 345, 303, 180, 359, 37, 370, 169,
286 /* 620 */ 312, 12, 48, 45, 44, 43, 26, 24, 255, 250,
287 /* 630 */ 16, 27, 267, 286, 14, 10, 121, 144, 216, 337,
288 /* 640 */ 13, 361, 236, 194, 210, 116, 132, 273, 12, 120,
289 /* 650 */ 266, 268, 271, 289, 239, 245, 257, 260, 254, 297,
290 /* 660 */ 353, 345, 192, 302, 300, 105, 123, 224, 94, 229,
291 /* 670 */ 55, 15, 119, 135, 129, 109, 192, 263, 303, 363,
292 /* 680 */ 338, 303, 143, 327, 314, 259, 304, 303, 303, 171,
293 /* 690 */ 335, 258, 273, 261, 90, 118, 48, 45, 44, 43,
294 /* 700 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10,
295 /* 710 */ 192, 35, 323, 180, 311, 138, 153, 192, 113, 259,
296 /* 720 */ 351, 20, 12, 96, 266, 268, 271, 289, 239, 245,
297 /* 730 */ 257, 260, 254, 297, 353, 345, 303, 275, 25, 42,
298 /* 740 */ 276, 212, 95, 352, 48, 45, 44, 43, 26, 24,
299 /* 750 */ 255, 250, 16, 27, 267, 286, 14, 10, 93, 318,
300 /* 760 */ 318, 103, 318, 265, 318, 318, 318, 318, 318, 318,
301 /* 770 */ 318, 303, 266, 268, 271, 289, 239, 245, 257, 260,
302 /* 780 */ 254, 297, 353, 345, 192, 318, 302, 104, 318, 318,
303 /* 790 */ 224, 318, 229, 82, 318, 119, 318, 318, 318, 318,
304 /* 800 */ 303, 318, 363, 338, 318, 12, 327, 314, 318, 304,
305 /* 810 */ 318, 318, 318, 318, 318, 318, 318, 318, 48, 45,
306 /* 820 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286,
307 /* 830 */ 14, 10, 192, 318, 318, 318, 318, 318, 318, 318,
308 /* 840 */ 318, 318, 318, 318, 318, 318, 266, 268, 271, 289,
309 /* 850 */ 239, 245, 257, 260, 254, 297, 353, 345, 318, 318,
310 /* 860 */ 318, 318, 318, 318, 318, 318, 48, 45, 44, 43,
311 /* 870 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10,
312 /* 880 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
313 /* 890 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245,
314 /* 900 */ 257, 260, 254, 297, 353, 345, 192, 371, 302, 318,
315 /* 910 */ 318, 318, 224, 318, 229, 86, 318, 119, 318, 318,
316 /* 920 */ 318, 178, 318, 318, 363, 338, 318, 318, 327, 314,
317 /* 930 */ 318, 304, 318, 318, 318, 318, 318, 318, 318, 318,
318 /* 940 */ 48, 45, 44, 43, 26, 24, 255, 250, 16, 27,
319 /* 950 */ 267, 286, 14, 10, 192, 318, 318, 318, 318, 318,
320 /* 960 */ 318, 318, 318, 318, 318, 318, 318, 318, 266, 268,
321 /* 970 */ 271, 289, 239, 245, 257, 260, 254, 297, 353, 345,
322 /* 980 */ 318, 318, 206, 318, 318, 318, 318, 318, 48, 45,
323 /* 990 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286,
324 /* 1000 */ 14, 10, 192, 318, 318, 318, 318, 318, 318, 318,
325 /* 1010 */ 318, 318, 318, 318, 318, 318, 266, 268, 271, 289,
326 /* 1020 */ 239, 245, 257, 260, 254, 297, 353, 345, 318, 318,
327 /* 1030 */ 318, 318, 318, 318, 318, 318, 48, 45, 44, 43,
328 /* 1040 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10,
329 /* 1050 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
330 /* 1060 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245,
331 /* 1070 */ 257, 260, 254, 297, 353, 345, 48, 45, 44, 43,
332 /* 1080 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10,
333 /* 1090 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
334 /* 1100 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245,
335 /* 1110 */ 257, 260, 254, 297, 353, 345, 318, 318, 318, 318,
336 /* 1120 */ 39, 318, 115, 186, 318, 302, 222, 318, 228, 319,
337 /* 1130 */ 318, 229, 318, 134, 119, 318, 246, 232, 223, 318,
338 /* 1140 */ 318, 50, 321, 441, 318, 327, 314, 318, 304, 441,
339 /* 1150 */ 318, 318, 318, 318, 318, 9, 225, 318, 47, 49,
340 /* 1160 */ 242, 218, 331, 318, 318, 99, 1, 262, 318, 318,
341 /* 1170 */ 318, 39, 318, 115, 199, 318, 46, 222, 318, 228,
342 /* 1180 */ 92, 318, 318, 318, 134, 318, 318, 246, 232, 223,
343 /* 1190 */ 318, 318, 50, 318, 318, 318, 318, 318, 302, 318,
344 /* 1200 */ 318, 318, 193, 318, 229, 85, 9, 119, 318, 47,
345 /* 1210 */ 49, 242, 218, 331, 363, 338, 99, 1, 327, 314,
346 /* 1220 */ 318, 304, 39, 318, 115, 187, 318, 318, 222, 318,
347 /* 1230 */ 228, 92, 200, 341, 318, 134, 318, 318, 246, 232,
348 /* 1240 */ 223, 318, 318, 50, 318, 318, 318, 318, 318, 302,
349 /* 1250 */ 318, 318, 318, 193, 318, 229, 85, 9, 119, 318,
350 /* 1260 */ 47, 49, 242, 218, 331, 363, 338, 99, 1, 327,
351 /* 1270 */ 314, 318, 304, 39, 318, 114, 199, 318, 318, 222,
352 /* 1280 */ 318, 228, 92, 318, 344, 318, 134, 318, 318, 246,
353 /* 1290 */ 232, 223, 318, 318, 50, 318, 318, 318, 318, 318,
354 /* 1300 */ 302, 318, 318, 318, 224, 318, 229, 67, 17, 119,
355 /* 1310 */ 318, 47, 49, 242, 218, 331, 363, 338, 99, 1,
356 /* 1320 */ 327, 314, 318, 304, 39, 318, 115, 190, 318, 318,
357 /* 1330 */ 222, 318, 228, 92, 318, 318, 318, 134, 318, 318,
358 /* 1340 */ 246, 232, 223, 318, 318, 50, 318, 318, 318, 318,
359 /* 1350 */ 318, 302, 318, 318, 318, 224, 318, 229, 68, 9,
360 /* 1360 */ 119, 318, 47, 49, 242, 218, 331, 363, 338, 99,
361 /* 1370 */ 1, 327, 314, 318, 304, 39, 318, 125, 199, 318,
362 /* 1380 */ 318, 222, 318, 228, 92, 318, 318, 318, 134, 318,
363 /* 1390 */ 318, 246, 232, 223, 318, 318, 50, 318, 318, 318,
364 /* 1400 */ 318, 318, 302, 318, 318, 318, 224, 318, 229, 77,
365 /* 1410 */ 9, 119, 318, 47, 49, 242, 218, 331, 363, 338,
366 /* 1420 */ 99, 1, 327, 314, 318, 304, 39, 318, 128, 89,
367 /* 1430 */ 318, 318, 222, 318, 228, 92, 318, 318, 318, 134,
368 /* 1440 */ 318, 318, 246, 232, 223, 318, 318, 50, 318, 318,
369 /* 1450 */ 318, 318, 318, 302, 318, 318, 318, 224, 318, 229,
370 /* 1460 */ 61, 9, 119, 318, 47, 49, 242, 218, 331, 363,
371 /* 1470 */ 338, 99, 1, 327, 314, 318, 304, 39, 318, 115,
372 /* 1480 */ 182, 318, 318, 222, 318, 228, 92, 318, 318, 318,
373 /* 1490 */ 134, 318, 318, 246, 232, 223, 318, 318, 50, 318,
374 /* 1500 */ 318, 318, 318, 318, 302, 318, 318, 318, 224, 318,
375 /* 1510 */ 229, 73, 9, 119, 318, 47, 49, 242, 218, 331,
376 /* 1520 */ 363, 338, 99, 1, 327, 314, 318, 304, 39, 318,
377 /* 1530 */ 115, 183, 318, 318, 222, 318, 228, 92, 318, 318,
378 /* 1540 */ 318, 134, 318, 318, 246, 232, 191, 318, 318, 50,
379 /* 1550 */ 318, 318, 318, 318, 318, 302, 318, 318, 318, 224,
380 /* 1560 */ 318, 229, 63, 9, 119, 318, 47, 49, 242, 218,
381 /* 1570 */ 331, 363, 338, 99, 1, 327, 314, 318, 304, 39,
382 /* 1580 */ 318, 117, 199, 318, 318, 222, 318, 228, 92, 318,
383 /* 1590 */ 318, 318, 134, 318, 318, 246, 232, 223, 318, 318,
384 /* 1600 */ 50, 318, 318, 318, 318, 318, 302, 318, 318, 318,
385 /* 1610 */ 224, 318, 229, 70, 9, 119, 318, 47, 49, 242,
386 /* 1620 */ 218, 331, 363, 338, 99, 1, 327, 314, 318, 304,
387 /* 1630 */ 39, 318, 114, 203, 318, 318, 222, 318, 228, 92,
388 /* 1640 */ 318, 318, 318, 134, 318, 318, 246, 232, 223, 318,
389 /* 1650 */ 318, 50, 318, 318, 318, 318, 318, 302, 318, 318,
390 /* 1660 */ 318, 224, 318, 229, 74, 17, 119, 318, 47, 49,
391 /* 1670 */ 242, 218, 331, 363, 338, 99, 318, 327, 314, 318,
392 /* 1680 */ 304, 39, 318, 114, 199, 318, 318, 222, 318, 228,
393 /* 1690 */ 92, 318, 318, 318, 134, 318, 318, 246, 232, 223,
394 /* 1700 */ 482, 318, 50, 318, 318, 318, 482, 318, 482, 318,
395 /* 1710 */ 482, 482, 318, 482, 151, 318, 17, 167, 482, 47,
396 /* 1720 */ 49, 242, 218, 331, 273, 318, 99, 21, 22, 318,
397 /* 1730 */ 318, 318, 318, 482, 5, 482, 318, 318, 318, 318,
398 /* 1740 */ 181, 92, 126, 318, 318, 141, 482, 302, 167, 318,
399 /* 1750 */ 318, 224, 318, 229, 81, 273, 119, 318, 21, 22,
400 /* 1760 */ 482, 318, 318, 363, 338, 318, 318, 327, 314, 318,
401 /* 1770 */ 304, 181, 302, 318, 318, 318, 224, 318, 229, 71,
402 /* 1780 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338,
403 /* 1790 */ 318, 318, 327, 314, 302, 304, 318, 318, 224, 318,
404 /* 1800 */ 229, 79, 318, 119, 318, 318, 318, 318, 318, 318,
405 /* 1810 */ 363, 338, 318, 318, 327, 314, 302, 304, 318, 318,
406 /* 1820 */ 108, 318, 106, 51, 318, 107, 318, 318, 318, 318,
407 /* 1830 */ 318, 318, 363, 338, 302, 318, 327, 314, 224, 304,
408 /* 1840 */ 229, 78, 318, 119, 318, 318, 318, 318, 318, 318,
409 /* 1850 */ 363, 338, 192, 318, 327, 314, 318, 304, 318, 302,
410 /* 1860 */ 318, 318, 318, 224, 318, 229, 64, 310, 119, 318,
411 /* 1870 */ 318, 213, 318, 12, 318, 363, 338, 302, 318, 327,
412 /* 1880 */ 314, 224, 304, 229, 62, 318, 119, 318, 318, 318,
413 /* 1890 */ 318, 318, 318, 363, 338, 318, 318, 327, 314, 302,
414 /* 1900 */ 304, 5, 318, 188, 318, 229, 84, 318, 119, 126,
415 /* 1910 */ 318, 318, 318, 318, 318, 363, 338, 302, 318, 327,
416 /* 1920 */ 314, 224, 304, 229, 80, 318, 119, 318, 318, 318,
417 /* 1930 */ 318, 318, 318, 363, 338, 318, 318, 327, 314, 318,
418 /* 1940 */ 304, 318, 302, 318, 318, 318, 224, 318, 229, 76,
419 /* 1950 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338,
420 /* 1960 */ 302, 318, 327, 314, 224, 304, 229, 66, 318, 119,
421 /* 1970 */ 318, 318, 318, 318, 318, 318, 363, 338, 318, 318,
422 /* 1980 */ 327, 314, 302, 304, 318, 318, 224, 318, 229, 83,
423 /* 1990 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338,
424 /* 2000 */ 302, 318, 327, 314, 224, 304, 229, 75, 318, 119,
425 /* 2010 */ 318, 318, 318, 318, 318, 318, 363, 338, 318, 318,
426 /* 2020 */ 327, 314, 318, 304, 318, 302, 318, 318, 318, 184,
427 /* 2030 */ 318, 229, 58, 318, 119, 318, 318, 318, 318, 318,
428 /* 2040 */ 318, 363, 338, 302, 318, 327, 314, 224, 304, 229,
429 /* 2050 */ 87, 318, 119, 318, 318, 318, 318, 318, 318, 363,
430 /* 2060 */ 338, 318, 318, 327, 314, 302, 304, 318, 318, 189,
431 /* 2070 */ 318, 229, 69, 318, 119, 318, 318, 318, 318, 318,
432 /* 2080 */ 318, 363, 338, 302, 318, 327, 314, 224, 304, 229,
433 /* 2090 */ 59, 318, 119, 318, 318, 318, 318, 318, 318, 363,
434 /* 2100 */ 338, 318, 318, 327, 314, 318, 304, 318, 302, 318,
435 /* 2110 */ 318, 318, 224, 318, 229, 57, 318, 119, 318, 318,
436 /* 2120 */ 318, 318, 318, 318, 363, 338, 302, 318, 327, 314,
437 /* 2130 */ 108, 304, 110, 56, 318, 107, 318, 318, 318, 318,
438 /* 2140 */ 318, 318, 363, 338, 318, 318, 327, 314, 302, 304,
439 /* 2150 */ 318, 318, 224, 318, 198, 60, 318, 119, 318, 318,
440 /* 2160 */ 318, 318, 318, 318, 363, 338, 302, 318, 327, 314,
441 /* 2170 */ 224, 304, 229, 65, 318, 119, 318, 318, 318, 318,
442 /* 2180 */ 318, 318, 363, 338, 318, 318, 327, 314, 318, 304,
443 /* 2190 */ 318, 302, 318, 318, 318, 224, 318, 229, 52, 318,
444 /* 2200 */ 119, 318, 318, 318, 318, 318, 318, 363, 338, 302,
445 /* 2210 */ 318, 327, 314, 202, 304, 229, 53, 318, 119, 318,
446 /* 2220 */ 318, 318, 318, 318, 318, 363, 338, 318, 318, 327,
447 /* 2230 */ 314, 302, 304, 318, 318, 224, 318, 229, 88, 318,
448 /* 2240 */ 119, 318, 318, 318, 318, 318, 318, 363, 338, 302,
449 /* 2250 */ 318, 327, 314, 240, 304, 229, 302, 318, 119, 318,
450 /* 2260 */ 283, 318, 229, 318, 318, 119, 244, 318, 318, 327,
451 /* 2270 */ 314, 318, 304, 318, 302, 318, 327, 314, 235, 304,
452 /* 2280 */ 229, 302, 318, 119, 318, 278, 318, 229, 318, 318,
453 /* 2290 */ 119, 318, 318, 318, 327, 314, 318, 304, 318, 302,
454 /* 2300 */ 318, 327, 314, 288, 304, 229, 318, 318, 119, 302,
455 /* 2310 */ 318, 318, 318, 296, 318, 229, 318, 318, 119, 327,
456 /* 2320 */ 314, 318, 304, 318, 318, 318, 318, 318, 318, 327,
457 /* 2330 */ 314, 302, 304, 318, 318, 332, 318, 229, 302, 318,
458 /* 2340 */ 119, 318, 243, 318, 229, 318, 318, 119, 318, 318,
459 /* 2350 */ 142, 327, 314, 167, 304, 318, 318, 318, 327, 314,
460 /* 2360 */ 273, 304, 318, 21, 22, 139, 318, 146, 167, 318,
461 /* 2370 */ 167, 318, 318, 318, 318, 273, 181, 273, 21, 22,
462 /* 2380 */ 21, 22, 318, 318, 318, 318, 318, 318, 318, 318,
463 /* 2390 */ 318, 181, 318, 181,
464 );
465 static public $yy_lookahead = array(
466 /* 0 */ 1, 81, 82, 83, 3, 4, 5, 6, 7, 8,
467 /* 10 */ 9, 10, 11, 12, 106, 16, 15, 95, 20, 50,
468 /* 20 */ 16, 22, 21, 56, 23, 56, 22, 58, 61, 28,
469 /* 30 */ 108, 62, 31, 32, 35, 36, 37, 38, 39, 40,
470 /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 4, 5,
471 /* 50 */ 6, 7, 8, 49, 56, 16, 12, 13, 14, 61,
472 /* 60 */ 1, 22, 63, 64, 65, 66, 67, 68, 69, 70,
473 /* 70 */ 71, 72, 73, 74, 1, 16, 82, 106, 15, 20,
474 /* 80 */ 86, 18, 88, 89, 87, 91, 79, 80, 81, 82,
475 /* 90 */ 83, 114, 98, 99, 97, 22, 102, 103, 15, 105,
476 /* 100 */ 27, 18, 19, 92, 93, 108, 112, 114, 35, 36,
477 /* 110 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
478 /* 120 */ 47, 48, 59, 110, 15, 87, 16, 18, 90, 19,
479 /* 130 */ 15, 22, 22, 18, 19, 97, 63, 64, 65, 66,
480 /* 140 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 1,
481 /* 150 */ 82, 113, 87, 30, 86, 90, 88, 89, 15, 91,
482 /* 160 */ 50, 18, 97, 16, 16, 33, 98, 99, 58, 22,
483 /* 170 */ 102, 103, 49, 105, 59, 16, 25, 106, 113, 108,
484 /* 180 */ 112, 22, 35, 36, 37, 38, 39, 40, 41, 42,
485 /* 190 */ 43, 44, 45, 46, 47, 48, 15, 34, 16, 18,
486 /* 200 */ 19, 49, 59, 16, 22, 15, 25, 17, 18, 22,
487 /* 210 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
488 /* 220 */ 73, 74, 1, 33, 82, 62, 16, 76, 86, 17,
489 /* 230 */ 88, 89, 22, 91, 92, 15, 49, 16, 18, 82,
490 /* 240 */ 98, 99, 22, 22, 102, 103, 15, 105, 17, 18,
491 /* 250 */ 30, 56, 107, 30, 109, 110, 35, 36, 37, 38,
492 /* 260 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
493 /* 270 */ 1, 16, 16, 50, 16, 118, 119, 22, 22, 88,
494 /* 280 */ 22, 58, 91, 25, 63, 64, 65, 66, 67, 68,
495 /* 290 */ 69, 70, 71, 72, 73, 74, 105, 16, 83, 90,
496 /* 300 */ 85, 34, 34, 22, 35, 36, 37, 38, 39, 40,
497 /* 310 */ 41, 42, 43, 44, 45, 46, 47, 48, 51, 51,
498 /* 320 */ 51, 16, 113, 19, 22, 19, 20, 22, 17, 18,
499 /* 330 */ 49, 18, 63, 64, 65, 66, 67, 68, 69, 70,
500 /* 340 */ 71, 72, 73, 74, 1, 82, 87, 90, 60, 86,
501 /* 350 */ 15, 88, 89, 18, 91, 50, 97, 100, 101, 16,
502 /* 360 */ 56, 98, 99, 58, 58, 102, 103, 108, 105, 50,
503 /* 370 */ 113, 60, 59, 109, 110, 112, 34, 58, 35, 36,
504 /* 380 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
505 /* 390 */ 47, 48, 1, 51, 16, 16, 16, 106, 90, 108,
506 /* 400 */ 22, 22, 22, 1, 25, 15, 63, 64, 65, 66,
507 /* 410 */ 67, 68, 69, 70, 71, 72, 73, 74, 16, 16,
508 /* 420 */ 15, 113, 60, 18, 22, 22, 35, 36, 37, 38,
509 /* 430 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
510 /* 440 */ 50, 16, 87, 16, 50, 16, 25, 22, 16, 22,
511 /* 450 */ 2, 22, 97, 62, 63, 64, 65, 66, 67, 68,
512 /* 460 */ 69, 70, 71, 72, 73, 74, 1, 19, 113, 87,
513 /* 470 */ 87, 15, 17, 90, 18, 87, 18, 10, 22, 97,
514 /* 480 */ 97, 49, 15, 100, 101, 97, 30, 16, 21, 24,
515 /* 490 */ 23, 16, 18, 22, 22, 28, 113, 22, 31, 32,
516 /* 500 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
517 /* 510 */ 45, 46, 47, 48, 16, 87, 24, 16, 50, 15,
518 /* 520 */ 22, 16, 18, 22, 82, 97, 34, 22, 63, 64,
519 /* 530 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
520 /* 540 */ 1, 113, 75, 76, 77, 95, 16, 87, 16, 87,
521 /* 550 */ 1, 10, 22, 87, 22, 16, 15, 97, 108, 97,
522 /* 560 */ 16, 119, 21, 97, 23, 16, 22, 33, 108, 28,
523 /* 570 */ 108, 18, 31, 32, 35, 36, 37, 38, 39, 40,
524 /* 580 */ 41, 42, 43, 44, 45, 46, 47, 48, 1, 87,
525 /* 590 */ 104, 15, 17, 18, 18, 26, 2, 111, 20, 97,
526 /* 600 */ 1, 95, 63, 64, 65, 66, 67, 68, 69, 70,
527 /* 610 */ 71, 72, 73, 74, 108, 113, 75, 76, 77, 109,
528 /* 620 */ 110, 22, 35, 36, 37, 38, 39, 40, 41, 42,
529 /* 630 */ 43, 44, 45, 46, 47, 48, 58, 87, 51, 104,
530 /* 640 */ 15, 18, 16, 18, 2, 18, 111, 97, 22, 17,
531 /* 650 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
532 /* 660 */ 73, 74, 1, 82, 18, 95, 17, 86, 95, 88,
533 /* 670 */ 89, 52, 91, 96, 95, 95, 1, 16, 108, 98,
534 /* 680 */ 99, 108, 87, 102, 103, 108, 105, 108, 108, 18,
535 /* 690 */ 18, 16, 97, 62, 18, 17, 35, 36, 37, 38,
536 /* 700 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
537 /* 710 */ 1, 2, 97, 113, 107, 20, 106, 1, 17, 108,
538 /* 720 */ 111, 22, 22, 95, 63, 64, 65, 66, 67, 68,
539 /* 730 */ 69, 70, 71, 72, 73, 74, 108, 92, 94, 2,
540 /* 740 */ 22, 94, 106, 13, 35, 36, 37, 38, 39, 40,
541 /* 750 */ 41, 42, 43, 44, 45, 46, 47, 48, 95, 120,
542 /* 760 */ 120, 84, 120, 115, 120, 120, 120, 120, 120, 120,
543 /* 770 */ 120, 108, 63, 64, 65, 66, 67, 68, 69, 70,
544 /* 780 */ 71, 72, 73, 74, 1, 120, 82, 95, 120, 120,
545 /* 790 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120,
546 /* 800 */ 108, 120, 98, 99, 120, 22, 102, 103, 120, 105,
547 /* 810 */ 120, 120, 120, 120, 120, 120, 120, 120, 35, 36,
548 /* 820 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
549 /* 830 */ 47, 48, 1, 120, 120, 120, 120, 120, 120, 120,
550 /* 840 */ 120, 120, 120, 120, 120, 120, 63, 64, 65, 66,
551 /* 850 */ 67, 68, 69, 70, 71, 72, 73, 74, 120, 120,
552 /* 860 */ 120, 120, 120, 120, 120, 120, 35, 36, 37, 38,
553 /* 870 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
554 /* 880 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
555 /* 890 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68,
556 /* 900 */ 69, 70, 71, 72, 73, 74, 1, 76, 82, 120,
557 /* 910 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120,
558 /* 920 */ 120, 16, 120, 120, 98, 99, 120, 120, 102, 103,
559 /* 930 */ 120, 105, 120, 120, 120, 120, 120, 120, 120, 120,
560 /* 940 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
561 /* 950 */ 45, 46, 47, 48, 1, 120, 120, 120, 120, 120,
562 /* 960 */ 120, 120, 120, 120, 120, 120, 120, 120, 63, 64,
563 /* 970 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
564 /* 980 */ 120, 120, 29, 120, 120, 120, 120, 120, 35, 36,
565 /* 990 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
566 /* 1000 */ 47, 48, 1, 120, 120, 120, 120, 120, 120, 120,
567 /* 1010 */ 120, 120, 120, 120, 120, 120, 63, 64, 65, 66,
568 /* 1020 */ 67, 68, 69, 70, 71, 72, 73, 74, 120, 120,
569 /* 1030 */ 120, 120, 120, 120, 120, 120, 35, 36, 37, 38,
570 /* 1040 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
571 /* 1050 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
572 /* 1060 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68,
573 /* 1070 */ 69, 70, 71, 72, 73, 74, 35, 36, 37, 38,
574 /* 1080 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
575 /* 1090 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
576 /* 1100 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68,
577 /* 1110 */ 69, 70, 71, 72, 73, 74, 120, 120, 120, 120,
578 /* 1120 */ 15, 120, 17, 18, 120, 82, 21, 120, 23, 86,
579 /* 1130 */ 120, 88, 120, 28, 91, 120, 31, 32, 33, 120,
580 /* 1140 */ 120, 36, 99, 16, 120, 102, 103, 120, 105, 22,
581 /* 1150 */ 120, 120, 120, 120, 120, 50, 29, 120, 53, 54,
582 /* 1160 */ 55, 56, 57, 120, 120, 60, 61, 62, 120, 120,
583 /* 1170 */ 120, 15, 120, 17, 18, 120, 49, 21, 120, 23,
584 /* 1180 */ 75, 120, 120, 120, 28, 120, 120, 31, 32, 33,
585 /* 1190 */ 120, 120, 36, 120, 120, 120, 120, 120, 82, 120,
586 /* 1200 */ 120, 120, 86, 120, 88, 89, 50, 91, 120, 53,
587 /* 1210 */ 54, 55, 56, 57, 98, 99, 60, 61, 102, 103,
588 /* 1220 */ 120, 105, 15, 120, 17, 18, 120, 120, 21, 120,
589 /* 1230 */ 23, 75, 116, 117, 120, 28, 120, 120, 31, 32,
590 /* 1240 */ 33, 120, 120, 36, 120, 120, 120, 120, 120, 82,
591 /* 1250 */ 120, 120, 120, 86, 120, 88, 89, 50, 91, 120,
592 /* 1260 */ 53, 54, 55, 56, 57, 98, 99, 60, 61, 102,
593 /* 1270 */ 103, 120, 105, 15, 120, 17, 18, 120, 120, 21,
594 /* 1280 */ 120, 23, 75, 120, 117, 120, 28, 120, 120, 31,
595 /* 1290 */ 32, 33, 120, 120, 36, 120, 120, 120, 120, 120,
596 /* 1300 */ 82, 120, 120, 120, 86, 120, 88, 89, 50, 91,
597 /* 1310 */ 120, 53, 54, 55, 56, 57, 98, 99, 60, 61,
598 /* 1320 */ 102, 103, 120, 105, 15, 120, 17, 18, 120, 120,
599 /* 1330 */ 21, 120, 23, 75, 120, 120, 120, 28, 120, 120,
600 /* 1340 */ 31, 32, 33, 120, 120, 36, 120, 120, 120, 120,
601 /* 1350 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 50,
602 /* 1360 */ 91, 120, 53, 54, 55, 56, 57, 98, 99, 60,
603 /* 1370 */ 61, 102, 103, 120, 105, 15, 120, 17, 18, 120,
604 /* 1380 */ 120, 21, 120, 23, 75, 120, 120, 120, 28, 120,
605 /* 1390 */ 120, 31, 32, 33, 120, 120, 36, 120, 120, 120,
606 /* 1400 */ 120, 120, 82, 120, 120, 120, 86, 120, 88, 89,
607 /* 1410 */ 50, 91, 120, 53, 54, 55, 56, 57, 98, 99,
608 /* 1420 */ 60, 61, 102, 103, 120, 105, 15, 120, 17, 18,
609 /* 1430 */ 120, 120, 21, 120, 23, 75, 120, 120, 120, 28,
610 /* 1440 */ 120, 120, 31, 32, 33, 120, 120, 36, 120, 120,
611 /* 1450 */ 120, 120, 120, 82, 120, 120, 120, 86, 120, 88,
612 /* 1460 */ 89, 50, 91, 120, 53, 54, 55, 56, 57, 98,
613 /* 1470 */ 99, 60, 61, 102, 103, 120, 105, 15, 120, 17,
614 /* 1480 */ 18, 120, 120, 21, 120, 23, 75, 120, 120, 120,
615 /* 1490 */ 28, 120, 120, 31, 32, 33, 120, 120, 36, 120,
616 /* 1500 */ 120, 120, 120, 120, 82, 120, 120, 120, 86, 120,
617 /* 1510 */ 88, 89, 50, 91, 120, 53, 54, 55, 56, 57,
618 /* 1520 */ 98, 99, 60, 61, 102, 103, 120, 105, 15, 120,
619 /* 1530 */ 17, 18, 120, 120, 21, 120, 23, 75, 120, 120,
620 /* 1540 */ 120, 28, 120, 120, 31, 32, 33, 120, 120, 36,
621 /* 1550 */ 120, 120, 120, 120, 120, 82, 120, 120, 120, 86,
622 /* 1560 */ 120, 88, 89, 50, 91, 120, 53, 54, 55, 56,
623 /* 1570 */ 57, 98, 99, 60, 61, 102, 103, 120, 105, 15,
624 /* 1580 */ 120, 17, 18, 120, 120, 21, 120, 23, 75, 120,
625 /* 1590 */ 120, 120, 28, 120, 120, 31, 32, 33, 120, 120,
626 /* 1600 */ 36, 120, 120, 120, 120, 120, 82, 120, 120, 120,
627 /* 1610 */ 86, 120, 88, 89, 50, 91, 120, 53, 54, 55,
628 /* 1620 */ 56, 57, 98, 99, 60, 61, 102, 103, 120, 105,
629 /* 1630 */ 15, 120, 17, 18, 120, 120, 21, 120, 23, 75,
630 /* 1640 */ 120, 120, 120, 28, 120, 120, 31, 32, 33, 120,
631 /* 1650 */ 120, 36, 120, 120, 120, 120, 120, 82, 120, 120,
632 /* 1660 */ 120, 86, 120, 88, 89, 50, 91, 120, 53, 54,
633 /* 1670 */ 55, 56, 57, 98, 99, 60, 120, 102, 103, 120,
634 /* 1680 */ 105, 15, 120, 17, 18, 120, 120, 21, 120, 23,
635 /* 1690 */ 75, 120, 120, 120, 28, 120, 120, 31, 32, 33,
636 /* 1700 */ 16, 120, 36, 120, 120, 120, 22, 120, 24, 120,
637 /* 1710 */ 26, 27, 120, 29, 87, 120, 50, 90, 34, 53,
638 /* 1720 */ 54, 55, 56, 57, 97, 120, 60, 100, 101, 120,
639 /* 1730 */ 120, 120, 120, 49, 50, 51, 120, 120, 120, 120,
640 /* 1740 */ 113, 75, 58, 120, 120, 87, 62, 82, 90, 120,
641 /* 1750 */ 120, 86, 120, 88, 89, 97, 91, 120, 100, 101,
642 /* 1760 */ 76, 120, 120, 98, 99, 120, 120, 102, 103, 120,
643 /* 1770 */ 105, 113, 82, 120, 120, 120, 86, 120, 88, 89,
644 /* 1780 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99,
645 /* 1790 */ 120, 120, 102, 103, 82, 105, 120, 120, 86, 120,
646 /* 1800 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120,
647 /* 1810 */ 98, 99, 120, 120, 102, 103, 82, 105, 120, 120,
648 /* 1820 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120,
649 /* 1830 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105,
650 /* 1840 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120,
651 /* 1850 */ 98, 99, 1, 120, 102, 103, 120, 105, 120, 82,
652 /* 1860 */ 120, 120, 120, 86, 120, 88, 89, 16, 91, 120,
653 /* 1870 */ 120, 20, 120, 22, 120, 98, 99, 82, 120, 102,
654 /* 1880 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120,
655 /* 1890 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 82,
656 /* 1900 */ 105, 50, 120, 86, 120, 88, 89, 120, 91, 58,
657 /* 1910 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102,
658 /* 1920 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120,
659 /* 1930 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 120,
660 /* 1940 */ 105, 120, 82, 120, 120, 120, 86, 120, 88, 89,
661 /* 1950 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99,
662 /* 1960 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91,
663 /* 1970 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120,
664 /* 1980 */ 102, 103, 82, 105, 120, 120, 86, 120, 88, 89,
665 /* 1990 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99,
666 /* 2000 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91,
667 /* 2010 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120,
668 /* 2020 */ 102, 103, 120, 105, 120, 82, 120, 120, 120, 86,
669 /* 2030 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120,
670 /* 2040 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88,
671 /* 2050 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98,
672 /* 2060 */ 99, 120, 120, 102, 103, 82, 105, 120, 120, 86,
673 /* 2070 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120,
674 /* 2080 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88,
675 /* 2090 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98,
676 /* 2100 */ 99, 120, 120, 102, 103, 120, 105, 120, 82, 120,
677 /* 2110 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120,
678 /* 2120 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103,
679 /* 2130 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120,
680 /* 2140 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105,
681 /* 2150 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120,
682 /* 2160 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103,
683 /* 2170 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120,
684 /* 2180 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105,
685 /* 2190 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 120,
686 /* 2200 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82,
687 /* 2210 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120,
688 /* 2220 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
689 /* 2230 */ 103, 82, 105, 120, 120, 86, 120, 88, 89, 120,
690 /* 2240 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82,
691 /* 2250 */ 120, 102, 103, 86, 105, 88, 82, 120, 91, 120,
692 /* 2260 */ 86, 120, 88, 120, 120, 91, 99, 120, 120, 102,
693 /* 2270 */ 103, 120, 105, 120, 82, 120, 102, 103, 86, 105,
694 /* 2280 */ 88, 82, 120, 91, 120, 86, 120, 88, 120, 120,
695 /* 2290 */ 91, 120, 120, 120, 102, 103, 120, 105, 120, 82,
696 /* 2300 */ 120, 102, 103, 86, 105, 88, 120, 120, 91, 82,
697 /* 2310 */ 120, 120, 120, 86, 120, 88, 120, 120, 91, 102,
698 /* 2320 */ 103, 120, 105, 120, 120, 120, 120, 120, 120, 102,
699 /* 2330 */ 103, 82, 105, 120, 120, 86, 120, 88, 82, 120,
700 /* 2340 */ 91, 120, 86, 120, 88, 120, 120, 91, 120, 120,
701 /* 2350 */ 87, 102, 103, 90, 105, 120, 120, 120, 102, 103,
702 /* 2360 */ 97, 105, 120, 100, 101, 87, 120, 87, 90, 120,
703 /* 2370 */ 90, 120, 120, 120, 120, 97, 113, 97, 100, 101,
704 /* 2380 */ 100, 101, 120, 120, 120, 120, 120, 120, 120, 120,
705 /* 2390 */ 120, 113, 120, 113,
706 );
707 const YY_SHIFT_USE_DFLT = -34;
708 const YY_SHIFT_MAX = 233;
709 static public $yy_shift_ofst = array(
710 /* 0 */ 1, 1309, 1309, 1156, 1360, 1156, 1156, 1105, 1156, 1156,
711 /* 10 */ 1156, 1462, 1513, 1156, 1156, 1564, 1156, 1156, 1156, 1156,
712 /* 20 */ 1513, 1156, 1156, 1411, 1156, 1156, 1156, 1156, 1156, 1156,
713 /* 30 */ 1156, 1156, 1156, 1156, 1207, 1156, 1156, 1156, 1156, 1411,
714 /* 40 */ 1156, 1156, 1258, 1258, 1666, 1666, 1615, 1666, 1666, 1666,
715 /* 50 */ 1666, 221, 73, 147, -1, 783, 783, 783, 953, 905,
716 /* 60 */ 831, 539, 709, 343, 269, 391, 661, 587, 465, 1001,
717 /* 70 */ 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
718 /* 80 */ 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1041, 1041, 1851,
719 /* 90 */ 599, 1, 541, 456, 220, -2, 109, 402, 109, 311,
720 /* 100 */ 599, 599, 467, 44, 115, 181, 379, 306, 4, 143,
721 /* 110 */ 258, 59, 335, 335, 335, 405, 675, 576, 335, 578,
722 /* 120 */ 335, 575, 335, 335, 504, 405, 575, 626, 625, 335,
723 /* 130 */ 335, 695, 695, 701, 699, 700, 63, 83, 231, 425,
724 /* 140 */ 427, 475, 403, 471, 429, -33, 256, 182, 159, 39,
725 /* 150 */ 210, 380, 255, -33, 390, -33, 148, -33, 532, 530,
726 /* 160 */ 505, 501, 544, -33, 549, 378, 498, 716, 730, 695,
727 /* 170 */ 695, 468, 718, 718, 701, 737, 737, 695, -34, -34,
728 /* 180 */ -34, -34, 1684, 110, 1127, 190, -31, 305, 187, 281,
729 /* 190 */ 223, 304, 313, 123, 448, 268, 492, 267, 151, 319,
730 /* 200 */ 163, 342, 432, 319, 678, 642, 632, 594, 627, 132,
731 /* 210 */ 623, 646, 649, 676, 672, 671, 619, 631, 534, 553,
732 /* 220 */ 288, 362, 302, 195, 152, 212, 394, 468, 472, 421,
733 /* 230 */ 569, 458, 474, 455,
734 );
735 const YY_REDUCE_USE_DFLT = -93;
736 const YY_REDUCE_MAX = 181;
737 static public $yy_reduce_ofst = array(
738 /* 0 */ 7, 1116, 1167, 263, 142, 68, -6, 2084, 1575, 1218,
739 /* 10 */ 1320, 1961, 1817, 1473, 1835, 1795, 1752, 1777, 1860, 1878,
740 /* 20 */ 1943, 1918, 1900, 1734, 1712, 1269, 704, 826, 1371, 1422,
741 /* 30 */ 1690, 1665, 2001, 1524, 1983, 2149, 2109, 2066, 2127, 2044,
742 /* 40 */ 2026, 581, 2167, 1043, 2249, 2199, 2192, 2174, 2256, 2227,
743 /* 50 */ 2217, 383, 1658, 1627, 2263, 2278, 383, 2280, 257, 257,
744 /* 60 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
745 /* 70 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
746 /* 80 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 38,
747 /* 90 */ 65, -80, 157, 259, 460, 145, -3, 428, 462, 191,
748 /* 100 */ 355, 502, 442, 215, 291, 577, 466, 264, 550, 291,
749 /* 110 */ 466, 209, 573, 450, 580, 580, 308, 580, 628, 264,
750 /* 120 */ 663, 486, 506, 570, 579, 692, 535, 595, 580, 71,
751 /* 130 */ -78, 264, 510, 11, 388, 382, 611, 611, 609, 615,
752 /* 140 */ 615, 615, 615, 615, 615, 607, 615, 615, 615, 615,
753 /* 150 */ 615, 615, 615, 607, 610, 607, 600, 607, 615, 615,
754 /* 160 */ 615, 615, 615, 607, 600, 615, 615, 600, 677, 13,
755 /* 170 */ 13, 636, 644, 647, 645, 648, 648, 13, -29, -92,
756 /* 180 */ -23, -7,
757 );
758 static public $yyExpectedTokens = array(
759 /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ),
760 /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
761 /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
762 /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
763 /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
764 /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
765 /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
766 /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 62, 75, ),
767 /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
768 /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
769 /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
770 /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
771 /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
772 /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
773 /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
774 /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
775 /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
776 /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
777 /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
778 /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
779 /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
780 /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
781 /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
782 /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
783 /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
784 /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
785 /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
786 /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
787 /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
788 /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
789 /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
790 /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
791 /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
792 /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
793 /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
794 /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
795 /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
796 /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
797 /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
798 /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
799 /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
800 /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
801 /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
802 /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ),
803 /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ),
804 /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ),
805 /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ),
806 /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ),
807 /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ),
808 /* 49 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ),
809 /* 50 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ),
810 /* 51 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
811 /* 52 */ array(1, 22, 27, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
812 /* 53 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
813 /* 54 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
814 /* 55 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
815 /* 56 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
816 /* 57 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
817 /* 58 */ array(1, 29, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
818 /* 59 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
819 /* 60 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, ),
820 /* 61 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
821 /* 62 */ array(1, 2, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
822 /* 63 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
823 /* 64 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
824 /* 65 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
825 /* 66 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
826 /* 67 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
827 /* 68 */ array(1, 24, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
828 /* 69 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
829 /* 70 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
830 /* 71 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
831 /* 72 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
832 /* 73 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
833 /* 74 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
834 /* 75 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
835 /* 76 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
836 /* 77 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
837 /* 78 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
838 /* 79 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
839 /* 80 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
840 /* 81 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
841 /* 82 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
842 /* 83 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
843 /* 84 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
844 /* 85 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
845 /* 86 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
846 /* 87 */ array(35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
847 /* 88 */ array(35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ),
848 /* 89 */ array(1, 16, 20, 22, 50, 58, ),
849 /* 90 */ array(1, 22, ),
850 /* 91 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ),
851 /* 92 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ),
852 /* 93 */ array(15, 18, 22, 30, ),
853 /* 94 */ array(15, 18, 22, 30, ),
854 /* 95 */ array(20, 56, 61, ),
855 /* 96 */ array(15, 18, 22, ),
856 /* 97 */ array(1, 16, 22, ),
857 /* 98 */ array(15, 18, 22, ),
858 /* 99 */ array(17, 18, 60, ),
859 /* 100 */ array(1, 22, ),
860 /* 101 */ array(1, 22, ),
861 /* 102 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ),
862 /* 103 */ array(4, 5, 6, 7, 8, 12, 13, 14, ),
863 /* 104 */ array(15, 18, 19, 59, ),
864 /* 105 */ array(15, 18, 19, 25, ),
865 /* 106 */ array(16, 22, 25, ),
866 /* 107 */ array(19, 20, 58, ),
867 /* 108 */ array(16, 22, 49, ),
868 /* 109 */ array(15, 18, 59, ),
869 /* 110 */ array(16, 22, 25, ),
870 /* 111 */ array(1, 16, 20, ),
871 /* 112 */ array(15, 18, ),
872 /* 113 */ array(15, 18, ),
873 /* 114 */ array(15, 18, ),
874 /* 115 */ array(15, 18, ),
875 /* 116 */ array(1, 16, ),
876 /* 117 */ array(15, 18, ),
877 /* 118 */ array(15, 18, ),
878 /* 119 */ array(20, 58, ),
879 /* 120 */ array(15, 18, ),
880 /* 121 */ array(17, 18, ),
881 /* 122 */ array(15, 18, ),
882 /* 123 */ array(15, 18, ),
883 /* 124 */ array(15, 18, ),
884 /* 125 */ array(15, 18, ),
885 /* 126 */ array(17, 18, ),
886 /* 127 */ array(16, 22, ),
887 /* 128 */ array(15, 18, ),
888 /* 129 */ array(15, 18, ),
889 /* 130 */ array(15, 18, ),
890 /* 131 */ array(20, ),
891 /* 132 */ array(20, ),
892 /* 133 */ array(17, ),
893 /* 134 */ array(22, ),
894 /* 135 */ array(22, ),
895 /* 136 */ array(15, 18, 59, ),
896 /* 137 */ array(15, 18, 19, ),
897 /* 138 */ array(15, 17, 18, ),
898 /* 139 */ array(16, 22, ),
899 /* 140 */ array(16, 22, ),
900 /* 141 */ array(16, 22, ),
901 /* 142 */ array(16, 22, ),
902 /* 143 */ array(16, 22, ),
903 /* 144 */ array(16, 22, ),
904 /* 145 */ array(56, 61, ),
905 /* 146 */ array(16, 22, ),
906 /* 147 */ array(16, 22, ),
907 /* 148 */ array(16, 22, ),
908 /* 149 */ array(16, 22, ),
909 /* 150 */ array(16, 22, ),
910 /* 151 */ array(16, 22, ),
911 /* 152 */ array(16, 22, ),
912 /* 153 */ array(56, 61, ),
913 /* 154 */ array(15, 50, ),
914 /* 155 */ array(56, 61, ),
915 /* 156 */ array(1, 16, ),
916 /* 157 */ array(56, 61, ),
917 /* 158 */ array(16, 22, ),
918 /* 159 */ array(16, 22, ),
919 /* 160 */ array(16, 22, ),
920 /* 161 */ array(16, 22, ),
921 /* 162 */ array(16, 22, ),
922 /* 163 */ array(56, 61, ),
923 /* 164 */ array(1, 16, ),
924 /* 165 */ array(16, 22, ),
925 /* 166 */ array(16, 22, ),
926 /* 167 */ array(1, ),
927 /* 168 */ array(13, ),
928 /* 169 */ array(20, ),
929 /* 170 */ array(20, ),
930 /* 171 */ array(50, ),
931 /* 172 */ array(22, ),
932 /* 173 */ array(22, ),
933 /* 174 */ array(17, ),
934 /* 175 */ array(2, ),
935 /* 176 */ array(2, ),
936 /* 177 */ array(20, ),
937 /* 178 */ array(),
938 /* 179 */ array(),
939 /* 180 */ array(),
940 /* 181 */ array(),
941 /* 182 */ array(16, 22, 24, 26, 27, 29, 34, 49, 50, 51, 58, 62, 76, ),
942 /* 183 */ array(16, 19, 22, 50, 58, ),
943 /* 184 */ array(16, 22, 29, 49, ),
944 /* 185 */ array(15, 17, 18, 33, ),
945 /* 186 */ array(50, 56, 58, 62, ),
946 /* 187 */ array(16, 22, 50, 58, ),
947 /* 188 */ array(16, 22, 49, ),
948 /* 189 */ array(16, 22, 49, ),
949 /* 190 */ array(30, 50, 58, ),
950 /* 191 */ array(19, 56, ),
951 /* 192 */ array(18, 59, ),
952 /* 193 */ array(30, 49, ),
953 /* 194 */ array(2, 19, ),
954 /* 195 */ array(34, 51, ),
955 /* 196 */ array(24, 34, ),
956 /* 197 */ array(34, 51, ),
957 /* 198 */ array(25, 76, ),
958 /* 199 */ array(50, 58, ),
959 /* 200 */ array(34, 62, ),
960 /* 201 */ array(34, 51, ),
961 /* 202 */ array(16, 49, ),
962 /* 203 */ array(50, 58, ),
963 /* 204 */ array(17, ),
964 /* 205 */ array(2, ),
965 /* 206 */ array(17, ),
966 /* 207 */ array(2, ),
967 /* 208 */ array(18, ),
968 /* 209 */ array(33, ),
969 /* 210 */ array(18, ),
970 /* 211 */ array(18, ),
971 /* 212 */ array(17, ),
972 /* 213 */ array(18, ),
973 /* 214 */ array(18, ),
974 /* 215 */ array(18, ),
975 /* 216 */ array(52, ),
976 /* 217 */ array(62, ),
977 /* 218 */ array(33, ),
978 /* 219 */ array(18, ),
979 /* 220 */ array(60, ),
980 /* 221 */ array(60, ),
981 /* 222 */ array(22, ),
982 /* 223 */ array(56, ),
983 /* 224 */ array(49, ),
984 /* 225 */ array(17, ),
985 /* 226 */ array(50, ),
986 /* 227 */ array(50, ),
987 /* 228 */ array(22, ),
988 /* 229 */ array(25, ),
989 /* 230 */ array(26, ),
990 /* 231 */ array(18, ),
991 /* 232 */ array(18, ),
992 /* 233 */ array(17, ),
993 /* 234 */ array(),
994 /* 235 */ array(),
995 /* 236 */ array(),
996 /* 237 */ array(),
997 /* 238 */ array(),
998 /* 239 */ array(),
999 /* 240 */ array(),
1000 /* 241 */ array(),
1001 /* 242 */ array(),
1002 /* 243 */ array(),
1003 /* 244 */ array(),
1004 /* 245 */ array(),
1005 /* 246 */ array(),
1006 /* 247 */ array(),
1007 /* 248 */ array(),
1008 /* 249 */ array(),
1009 /* 250 */ array(),
1010 /* 251 */ array(),
1011 /* 252 */ array(),
1012 /* 253 */ array(),
1013 /* 254 */ array(),
1014 /* 255 */ array(),
1015 /* 256 */ array(),
1016 /* 257 */ array(),
1017 /* 258 */ array(),
1018 /* 259 */ array(),
1019 /* 260 */ array(),
1020 /* 261 */ array(),
1021 /* 262 */ array(),
1022 /* 263 */ array(),
1023 /* 264 */ array(),
1024 /* 265 */ array(),
1025 /* 266 */ array(),
1026 /* 267 */ array(),
1027 /* 268 */ array(),
1028 /* 269 */ array(),
1029 /* 270 */ array(),
1030 /* 271 */ array(),
1031 /* 272 */ array(),
1032 /* 273 */ array(),
1033 /* 274 */ array(),
1034 /* 275 */ array(),
1035 /* 276 */ array(),
1036 /* 277 */ array(),
1037 /* 278 */ array(),
1038 /* 279 */ array(),
1039 /* 280 */ array(),
1040 /* 281 */ array(),
1041 /* 282 */ array(),
1042 /* 283 */ array(),
1043 /* 284 */ array(),
1044 /* 285 */ array(),
1045 /* 286 */ array(),
1046 /* 287 */ array(),
1047 /* 288 */ array(),
1048 /* 289 */ array(),
1049 /* 290 */ array(),
1050 /* 291 */ array(),
1051 /* 292 */ array(),
1052 /* 293 */ array(),
1053 /* 294 */ array(),
1054 /* 295 */ array(),
1055 /* 296 */ array(),
1056 /* 297 */ array(),
1057 /* 298 */ array(),
1058 /* 299 */ array(),
1059 /* 300 */ array(),
1060 /* 301 */ array(),
1061 /* 302 */ array(),
1062 /* 303 */ array(),
1063 /* 304 */ array(),
1064 /* 305 */ array(),
1065 /* 306 */ array(),
1066 /* 307 */ array(),
1067 /* 308 */ array(),
1068 /* 309 */ array(),
1069 /* 310 */ array(),
1070 /* 311 */ array(),
1071 /* 312 */ array(),
1072 /* 313 */ array(),
1073 /* 314 */ array(),
1074 /* 315 */ array(),
1075 /* 316 */ array(),
1076 /* 317 */ array(),
1077 /* 318 */ array(),
1078 /* 319 */ array(),
1079 /* 320 */ array(),
1080 /* 321 */ array(),
1081 /* 322 */ array(),
1082 /* 323 */ array(),
1083 /* 324 */ array(),
1084 /* 325 */ array(),
1085 /* 326 */ array(),
1086 /* 327 */ array(),
1087 /* 328 */ array(),
1088 /* 329 */ array(),
1089 /* 330 */ array(),
1090 /* 331 */ array(),
1091 /* 332 */ array(),
1092 /* 333 */ array(),
1093 /* 334 */ array(),
1094 /* 335 */ array(),
1095 /* 336 */ array(),
1096 /* 337 */ array(),
1097 /* 338 */ array(),
1098 /* 339 */ array(),
1099 /* 340 */ array(),
1100 /* 341 */ array(),
1101 /* 342 */ array(),
1102 /* 343 */ array(),
1103 /* 344 */ array(),
1104 /* 345 */ array(),
1105 /* 346 */ array(),
1106 /* 347 */ array(),
1107 /* 348 */ array(),
1108 /* 349 */ array(),
1109 /* 350 */ array(),
1110 /* 351 */ array(),
1111 /* 352 */ array(),
1112 /* 353 */ array(),
1113 /* 354 */ array(),
1114 /* 355 */ array(),
1115 /* 356 */ array(),
1116 /* 357 */ array(),
1117 /* 358 */ array(),
1118 /* 359 */ array(),
1119 /* 360 */ array(),
1120 /* 361 */ array(),
1121 /* 362 */ array(),
1122 /* 363 */ array(),
1123 /* 364 */ array(),
1124 /* 365 */ array(),
1125 /* 366 */ array(),
1126 /* 367 */ array(),
1127 /* 368 */ array(),
1128 /* 369 */ array(),
1129 /* 370 */ array(),
1130 /* 371 */ array(),
1131 /* 372 */ array(),
1132 /* 373 */ array(),
1133 );
1134 static public $yy_default = array(
1135 /* 0 */ 377, 553, 570, 524, 570, 524, 524, 570, 570, 570,
1136 /* 10 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
1137 /* 20 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
1138 /* 30 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
1139 /* 40 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
1140 /* 50 */ 570, 570, 435, 570, 570, 435, 435, 435, 440, 570,
1141 /* 60 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 437,
1142 /* 70 */ 442, 445, 523, 522, 554, 454, 419, 467, 462, 459,
1143 /* 80 */ 466, 555, 458, 457, 440, 556, 463, 470, 471, 482,
1144 /* 90 */ 435, 374, 570, 435, 435, 536, 435, 453, 435, 570,
1145 /* 100 */ 435, 435, 570, 570, 497, 570, 472, 490, 446, 497,
1146 /* 110 */ 472, 570, 570, 570, 570, 570, 570, 570, 570, 490,
1147 /* 120 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 497,
1148 /* 130 */ 570, 490, 533, 570, 435, 435, 498, 570, 570, 570,
1149 /* 140 */ 570, 570, 570, 570, 570, 515, 570, 570, 570, 570,
1150 /* 150 */ 570, 570, 570, 514, 497, 517, 570, 516, 570, 570,
1151 /* 160 */ 570, 570, 570, 495, 570, 570, 570, 453, 392, 534,
1152 /* 170 */ 537, 497, 569, 569, 570, 526, 525, 511, 497, 497,
1153 /* 180 */ 530, 530, 448, 482, 446, 570, 482, 482, 446, 446,
1154 /* 190 */ 482, 478, 570, 446, 509, 570, 570, 570, 472, 482,
1155 /* 200 */ 570, 570, 446, 468, 570, 509, 570, 509, 570, 480,
1156 /* 210 */ 570, 570, 570, 570, 570, 570, 484, 570, 570, 570,
1157 /* 220 */ 570, 570, 570, 478, 446, 570, 535, 509, 570, 472,
1158 /* 230 */ 443, 570, 570, 570, 519, 469, 416, 509, 417, 542,
1159 /* 240 */ 531, 422, 477, 449, 532, 543, 428, 520, 484, 376,
1160 /* 250 */ 461, 503, 375, 505, 546, 460, 425, 544, 431, 508,
1161 /* 260 */ 545, 504, 506, 502, 432, 529, 538, 464, 539, 384,
1162 /* 270 */ 381, 540, 383, 434, 430, 444, 568, 382, 450, 420,
1163 /* 280 */ 427, 424, 378, 474, 385, 510, 465, 386, 473, 541,
1164 /* 290 */ 429, 380, 421, 476, 426, 379, 475, 547, 398, 406,
1165 /* 300 */ 499, 405, 489, 507, 492, 399, 407, 397, 414, 409,
1166 /* 310 */ 410, 496, 512, 396, 486, 408, 565, 404, 513, 456,
1167 /* 320 */ 400, 455, 528, 433, 527, 401, 418, 483, 501, 403,
1168 /* 330 */ 500, 485, 451, 402, 564, 491, 411, 487, 452, 521,
1169 /* 340 */ 390, 551, 550, 391, 552, 549, 481, 493, 494, 388,
1170 /* 350 */ 479, 518, 389, 548, 415, 393, 423, 558, 559, 557,
1171 /* 360 */ 412, 448, 413, 447, 395, 394, 567, 560, 488, 566,
1172 /* 370 */ 563, 562, 561, 387,
1173 );
1174 const YYNOCODE = 121;
1175 const YYSTACKDEPTH = 100;
1176 const YYNSTATE = 374;
1177 const YYNRULE = 196;
1178 const YYERRORSYMBOL = 78;
1179 const YYERRSYMDT = 'yy0';
1180 const YYFALLBACK = 0;
1181 static public $yyFallback = array(
1182 );
1183 static function Trace($TraceFILE, $zTracePrompt)
1184 {
1185 if (!$TraceFILE) {
1186 $zTracePrompt = 0;
1187 } elseif (!$zTracePrompt) {
1188 $TraceFILE = 0;
1189 }
1190 self::$yyTraceFILE = $TraceFILE;
1191 self::$yyTracePrompt = $zTracePrompt;
1192 }
1194 static function PrintTrace()
1195 {
1196 self::$yyTraceFILE = fopen('php://output', 'w');
1197 self::$yyTracePrompt = '<br>';
1198 }
1200 static public $yyTraceFILE;
1201 static public $yyTracePrompt;
1202 public $yyidx; /* Index of top element in stack */
1203 public $yyerrcnt; /* Shifts left before out of the error */
1204 public $yystack = array(); /* The parser's stack */
1206 public $yyTokenName = array(
1207 '$', 'VERT', 'COLON', 'COMMENT',
1208 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
1209 'FAKEPHPSTARTTAG', 'XMLTAG', 'OTHER', 'LINEBREAK',
1210 'LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL',
1211 'RDEL', 'DOLLAR', 'ID', 'EQUAL',
1212 'PTR', 'LDELIF', 'SPACE', 'LDELFOR',
1213 'SEMICOLON', 'INCDEC', 'TO', 'STEP',
1214 'LDELFOREACH', 'AS', 'APTR', 'SMARTYBLOCKCHILD',
1215 'LDELSLASH', 'INTEGER', 'COMMA', 'MATH',
1216 'UNIMATH', 'ANDSYM', 'ISIN', 'ISDIVBY',
1217 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY',
1218 'ISNOTEVENBY', 'ISODD', 'ISNOTODD', 'ISODDBY',
1219 'ISNOTODDBY', 'INSTANCEOF', 'OPENP', 'CLOSEP',
1220 'QMARK', 'NOT', 'TYPECAST', 'HEX',
1221 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT',
1222 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS',
1223 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL',
1224 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
1225 'LAND', 'LOR', 'LXOR', 'QUOTE',
1226 'BACKTICK', 'DOLLARID', 'error', 'start',
1227 'template', 'template_element', 'smartytag', 'literal',
1228 'literal_elements', 'literal_element', 'value', 'attributes',
1229 'variable', 'expr', 'modifierlist', 'varindexed',
1230 'statement', 'statements', 'optspace', 'varvar',
1231 'foraction', 'attribute', 'ternary', 'array',
1232 'ifcond', 'lop', 'function', 'doublequoted_with_quotes',
1233 'static_class_access', 'object', 'arrayindex', 'indexdef',
1234 'varvarele', 'objectchain', 'objectelement', 'method',
1235 'params', 'modifier', 'modparameters', 'modparameter',
1236 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
1237 );
1239 static public $yyRuleName = array(
1240 /* 0 */ "start ::= template",
1241 /* 1 */ "template ::= template_element",
1242 /* 2 */ "template ::= template template_element",
1243 /* 3 */ "template ::=",
1244 /* 4 */ "template_element ::= smartytag",
1245 /* 5 */ "template_element ::= COMMENT",
1246 /* 6 */ "template_element ::= literal",
1247 /* 7 */ "template_element ::= PHPSTARTTAG",
1248 /* 8 */ "template_element ::= PHPENDTAG",
1249 /* 9 */ "template_element ::= ASPSTARTTAG",
1250 /* 10 */ "template_element ::= ASPENDTAG",
1251 /* 11 */ "template_element ::= FAKEPHPSTARTTAG",
1252 /* 12 */ "template_element ::= XMLTAG",
1253 /* 13 */ "template_element ::= OTHER",
1254 /* 14 */ "template_element ::= LINEBREAK",
1255 /* 15 */ "literal ::= LITERALSTART LITERALEND",
1256 /* 16 */ "literal ::= LITERALSTART literal_elements LITERALEND",
1257 /* 17 */ "literal_elements ::= literal_elements literal_element",
1258 /* 18 */ "literal_elements ::=",
1259 /* 19 */ "literal_element ::= literal",
1260 /* 20 */ "literal_element ::= LITERAL",
1261 /* 21 */ "literal_element ::= PHPSTARTTAG",
1262 /* 22 */ "literal_element ::= FAKEPHPSTARTTAG",
1263 /* 23 */ "literal_element ::= PHPENDTAG",
1264 /* 24 */ "literal_element ::= ASPSTARTTAG",
1265 /* 25 */ "literal_element ::= ASPENDTAG",
1266 /* 26 */ "smartytag ::= LDEL value RDEL",
1267 /* 27 */ "smartytag ::= LDEL value attributes RDEL",
1268 /* 28 */ "smartytag ::= LDEL variable attributes RDEL",
1269 /* 29 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
1270 /* 30 */ "smartytag ::= LDEL expr attributes RDEL",
1271 /* 31 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
1272 /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
1273 /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
1274 /* 34 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
1275 /* 35 */ "smartytag ::= LDEL ID attributes RDEL",
1276 /* 36 */ "smartytag ::= LDEL ID RDEL",
1277 /* 37 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
1278 /* 38 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
1279 /* 39 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
1280 /* 40 */ "smartytag ::= LDELIF SPACE expr RDEL",
1281 /* 41 */ "smartytag ::= LDELIF SPACE expr attributes RDEL",
1282 /* 42 */ "smartytag ::= LDELIF SPACE statement RDEL",
1283 /* 43 */ "smartytag ::= LDELIF SPACE statement attributes RDEL",
1284 /* 44 */ "smartytag ::= LDELFOR SPACE statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
1285 /* 45 */ "foraction ::= EQUAL expr",
1286 /* 46 */ "foraction ::= INCDEC",
1287 /* 47 */ "smartytag ::= LDELFOR SPACE statement TO expr attributes RDEL",
1288 /* 48 */ "smartytag ::= LDELFOR SPACE statement TO expr STEP expr attributes RDEL",
1289 /* 49 */ "smartytag ::= LDELFOREACH attributes RDEL",
1290 /* 50 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
1291 /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1292 /* 52 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
1293 /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1294 /* 54 */ "smartytag ::= SMARTYBLOCKCHILD",
1295 /* 55 */ "smartytag ::= LDELSLASH ID RDEL",
1296 /* 56 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
1297 /* 57 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
1298 /* 58 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
1299 /* 59 */ "attributes ::= attributes attribute",
1300 /* 60 */ "attributes ::= attribute",
1301 /* 61 */ "attributes ::=",
1302 /* 62 */ "attribute ::= SPACE ID EQUAL ID",
1303 /* 63 */ "attribute ::= SPACE ID EQUAL expr",
1304 /* 64 */ "attribute ::= SPACE ID EQUAL value",
1305 /* 65 */ "attribute ::= SPACE ID",
1306 /* 66 */ "attribute ::= SPACE expr",
1307 /* 67 */ "attribute ::= SPACE value",
1308 /* 68 */ "attribute ::= SPACE INTEGER EQUAL expr",
1309 /* 69 */ "statements ::= statement",
1310 /* 70 */ "statements ::= statements COMMA statement",
1311 /* 71 */ "statement ::= DOLLAR varvar EQUAL expr",
1312 /* 72 */ "expr ::= value",
1313 /* 73 */ "expr ::= ternary",
1314 /* 74 */ "expr ::= DOLLAR ID COLON ID",
1315 /* 75 */ "expr ::= expr MATH value",
1316 /* 76 */ "expr ::= expr UNIMATH value",
1317 /* 77 */ "expr ::= expr ANDSYM value",
1318 /* 78 */ "expr ::= array",
1319 /* 79 */ "expr ::= expr modifierlist",
1320 /* 80 */ "expr ::= expr ifcond expr",
1321 /* 81 */ "expr ::= expr ISIN array",
1322 /* 82 */ "expr ::= expr ISIN value",
1323 /* 83 */ "expr ::= expr lop expr",
1324 /* 84 */ "expr ::= expr ISDIVBY expr",
1325 /* 85 */ "expr ::= expr ISNOTDIVBY expr",
1326 /* 86 */ "expr ::= expr ISEVEN",
1327 /* 87 */ "expr ::= expr ISNOTEVEN",
1328 /* 88 */ "expr ::= expr ISEVENBY expr",
1329 /* 89 */ "expr ::= expr ISNOTEVENBY expr",
1330 /* 90 */ "expr ::= expr ISODD",
1331 /* 91 */ "expr ::= expr ISNOTODD",
1332 /* 92 */ "expr ::= expr ISODDBY expr",
1333 /* 93 */ "expr ::= expr ISNOTODDBY expr",
1334 /* 94 */ "expr ::= value INSTANCEOF ID",
1335 /* 95 */ "expr ::= value INSTANCEOF value",
1336 /* 96 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
1337 /* 97 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
1338 /* 98 */ "value ::= variable",
1339 /* 99 */ "value ::= UNIMATH value",
1340 /* 100 */ "value ::= NOT value",
1341 /* 101 */ "value ::= TYPECAST value",
1342 /* 102 */ "value ::= variable INCDEC",
1343 /* 103 */ "value ::= HEX",
1344 /* 104 */ "value ::= INTEGER",
1345 /* 105 */ "value ::= INTEGER DOT INTEGER",
1346 /* 106 */ "value ::= INTEGER DOT",
1347 /* 107 */ "value ::= DOT INTEGER",
1348 /* 108 */ "value ::= ID",
1349 /* 109 */ "value ::= function",
1350 /* 110 */ "value ::= OPENP expr CLOSEP",
1351 /* 111 */ "value ::= SINGLEQUOTESTRING",
1352 /* 112 */ "value ::= doublequoted_with_quotes",
1353 /* 113 */ "value ::= ID DOUBLECOLON static_class_access",
1354 /* 114 */ "value ::= varindexed DOUBLECOLON static_class_access",
1355 /* 115 */ "value ::= smartytag",
1356 /* 116 */ "variable ::= varindexed",
1357 /* 117 */ "variable ::= DOLLAR varvar AT ID",
1358 /* 118 */ "variable ::= object",
1359 /* 119 */ "variable ::= HATCH ID HATCH",
1360 /* 120 */ "variable ::= HATCH variable HATCH",
1361 /* 121 */ "varindexed ::= DOLLAR varvar arrayindex",
1362 /* 122 */ "arrayindex ::= arrayindex indexdef",
1363 /* 123 */ "arrayindex ::=",
1364 /* 124 */ "indexdef ::= DOT DOLLAR varvar",
1365 /* 125 */ "indexdef ::= DOT DOLLAR varvar AT ID",
1366 /* 126 */ "indexdef ::= DOT ID",
1367 /* 127 */ "indexdef ::= DOT INTEGER",
1368 /* 128 */ "indexdef ::= DOT LDEL expr RDEL",
1369 /* 129 */ "indexdef ::= OPENB ID CLOSEB",
1370 /* 130 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
1371 /* 131 */ "indexdef ::= OPENB expr CLOSEB",
1372 /* 132 */ "indexdef ::= OPENB CLOSEB",
1373 /* 133 */ "varvar ::= varvarele",
1374 /* 134 */ "varvar ::= varvar varvarele",
1375 /* 135 */ "varvarele ::= ID",
1376 /* 136 */ "varvarele ::= LDEL expr RDEL",
1377 /* 137 */ "object ::= varindexed objectchain",
1378 /* 138 */ "objectchain ::= objectelement",
1379 /* 139 */ "objectchain ::= objectchain objectelement",
1380 /* 140 */ "objectelement ::= PTR ID arrayindex",
1381 /* 141 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
1382 /* 142 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
1383 /* 143 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
1384 /* 144 */ "objectelement ::= PTR method",
1385 /* 145 */ "function ::= ID OPENP params CLOSEP",
1386 /* 146 */ "method ::= ID OPENP params CLOSEP",
1387 /* 147 */ "method ::= DOLLAR ID OPENP params CLOSEP",
1388 /* 148 */ "params ::= params COMMA expr",
1389 /* 149 */ "params ::= expr",
1390 /* 150 */ "params ::=",
1391 /* 151 */ "modifierlist ::= modifierlist modifier modparameters",
1392 /* 152 */ "modifierlist ::= modifier modparameters",
1393 /* 153 */ "modifier ::= VERT AT ID",
1394 /* 154 */ "modifier ::= VERT ID",
1395 /* 155 */ "modparameters ::= modparameters modparameter",
1396 /* 156 */ "modparameters ::=",
1397 /* 157 */ "modparameter ::= COLON value",
1398 /* 158 */ "modparameter ::= COLON array",
1399 /* 159 */ "static_class_access ::= method",
1400 /* 160 */ "static_class_access ::= method objectchain",
1401 /* 161 */ "static_class_access ::= ID",
1402 /* 162 */ "static_class_access ::= DOLLAR ID arrayindex",
1403 /* 163 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
1404 /* 164 */ "ifcond ::= EQUALS",
1405 /* 165 */ "ifcond ::= NOTEQUALS",
1406 /* 166 */ "ifcond ::= GREATERTHAN",
1407 /* 167 */ "ifcond ::= LESSTHAN",
1408 /* 168 */ "ifcond ::= GREATEREQUAL",
1409 /* 169 */ "ifcond ::= LESSEQUAL",
1410 /* 170 */ "ifcond ::= IDENTITY",
1411 /* 171 */ "ifcond ::= NONEIDENTITY",
1412 /* 172 */ "ifcond ::= MOD",
1413 /* 173 */ "lop ::= LAND",
1414 /* 174 */ "lop ::= LOR",
1415 /* 175 */ "lop ::= LXOR",
1416 /* 176 */ "array ::= OPENB arrayelements CLOSEB",
1417 /* 177 */ "arrayelements ::= arrayelement",
1418 /* 178 */ "arrayelements ::= arrayelements COMMA arrayelement",
1419 /* 179 */ "arrayelements ::=",
1420 /* 180 */ "arrayelement ::= value APTR expr",
1421 /* 181 */ "arrayelement ::= ID APTR expr",
1422 /* 182 */ "arrayelement ::= expr",
1423 /* 183 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
1424 /* 184 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
1425 /* 185 */ "doublequoted ::= doublequoted doublequotedcontent",
1426 /* 186 */ "doublequoted ::= doublequotedcontent",
1427 /* 187 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
1428 /* 188 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
1429 /* 189 */ "doublequotedcontent ::= DOLLARID",
1430 /* 190 */ "doublequotedcontent ::= LDEL variable RDEL",
1431 /* 191 */ "doublequotedcontent ::= LDEL expr RDEL",
1432 /* 192 */ "doublequotedcontent ::= smartytag",
1433 /* 193 */ "doublequotedcontent ::= OTHER",
1434 /* 194 */ "optspace ::= SPACE",
1435 /* 195 */ "optspace ::=",
1436 );
1438 function tokenName($tokenType)
1439 {
1440 if ($tokenType === 0) {
1441 return 'End of Input';
1442 }
1443 if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1444 return $this->yyTokenName[$tokenType];
1445 } else {
1446 return "Unknown";
1447 }
1448 }
1450 static function yy_destructor($yymajor, $yypminor)
1451 {
1452 switch ($yymajor) {
1453 default: break; /* If no destructor action specified: do nothing */
1454 }
1455 }
1457 function yy_pop_parser_stack()
1458 {
1459 if (!count($this->yystack)) {
1460 return;
1461 }
1462 $yytos = array_pop($this->yystack);
1463 if (self::$yyTraceFILE && $this->yyidx >= 0) {
1464 fwrite(self::$yyTraceFILE,
1465 self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
1466 "\n");
1467 }
1468 $yymajor = $yytos->major;
1469 self::yy_destructor($yymajor, $yytos->minor);
1470 $this->yyidx--;
1471 return $yymajor;
1472 }
1474 function __destruct()
1475 {
1476 while ($this->yystack !== Array()) {
1477 $this->yy_pop_parser_stack();
1478 }
1479 if (is_resource(self::$yyTraceFILE)) {
1480 fclose(self::$yyTraceFILE);
1481 }
1482 }
1484 function yy_get_expected_tokens($token)
1485 {
1486 $state = $this->yystack[$this->yyidx]->stateno;
1487 $expected = self::$yyExpectedTokens[$state];
1488 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1489 return $expected;
1490 }
1491 $stack = $this->yystack;
1492 $yyidx = $this->yyidx;
1493 do {
1494 $yyact = $this->yy_find_shift_action($token);
1495 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1496 // reduce action
1497 $done = 0;
1498 do {
1499 if ($done++ == 100) {
1500 $this->yyidx = $yyidx;
1501 $this->yystack = $stack;
1502 // too much recursion prevents proper detection
1503 // so give up
1504 return array_unique($expected);
1505 }
1506 $yyruleno = $yyact - self::YYNSTATE;
1507 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1508 $nextstate = $this->yy_find_reduce_action(
1509 $this->yystack[$this->yyidx]->stateno,
1510 self::$yyRuleInfo[$yyruleno]['lhs']);
1511 if (isset(self::$yyExpectedTokens[$nextstate])) {
1512 $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
1513 if (in_array($token,
1514 self::$yyExpectedTokens[$nextstate], true)) {
1515 $this->yyidx = $yyidx;
1516 $this->yystack = $stack;
1517 return array_unique($expected);
1518 }
1519 }
1520 if ($nextstate < self::YYNSTATE) {
1521 // we need to shift a non-terminal
1522 $this->yyidx++;
1523 $x = new TP_yyStackEntry;
1524 $x->stateno = $nextstate;
1525 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1526 $this->yystack[$this->yyidx] = $x;
1527 continue 2;
1528 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1529 $this->yyidx = $yyidx;
1530 $this->yystack = $stack;
1531 // the last token was just ignored, we can't accept
1532 // by ignoring input, this is in essence ignoring a
1533 // syntax error!
1534 return array_unique($expected);
1535 } elseif ($nextstate === self::YY_NO_ACTION) {
1536 $this->yyidx = $yyidx;
1537 $this->yystack = $stack;
1538 // input accepted, but not shifted (I guess)
1539 return $expected;
1540 } else {
1541 $yyact = $nextstate;
1542 }
1543 } while (true);
1544 }
1545 break;
1546 } while (true);
1547 $this->yyidx = $yyidx;
1548 $this->yystack = $stack;
1549 return array_unique($expected);
1550 }
1552 function yy_is_expected_token($token)
1553 {
1554 if ($token === 0) {
1555 return true; // 0 is not part of this
1556 }
1557 $state = $this->yystack[$this->yyidx]->stateno;
1558 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1559 return true;
1560 }
1561 $stack = $this->yystack;
1562 $yyidx = $this->yyidx;
1563 do {
1564 $yyact = $this->yy_find_shift_action($token);
1565 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1566 // reduce action
1567 $done = 0;
1568 do {
1569 if ($done++ == 100) {
1570 $this->yyidx = $yyidx;
1571 $this->yystack = $stack;
1572 // too much recursion prevents proper detection
1573 // so give up
1574 return true;
1575 }
1576 $yyruleno = $yyact - self::YYNSTATE;
1577 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1578 $nextstate = $this->yy_find_reduce_action(
1579 $this->yystack[$this->yyidx]->stateno,
1580 self::$yyRuleInfo[$yyruleno]['lhs']);
1581 if (isset(self::$yyExpectedTokens[$nextstate]) &&
1582 in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
1583 $this->yyidx = $yyidx;
1584 $this->yystack = $stack;
1585 return true;
1586 }
1587 if ($nextstate < self::YYNSTATE) {
1588 // we need to shift a non-terminal
1589 $this->yyidx++;
1590 $x = new TP_yyStackEntry;
1591 $x->stateno = $nextstate;
1592 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1593 $this->yystack[$this->yyidx] = $x;
1594 continue 2;
1595 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1596 $this->yyidx = $yyidx;
1597 $this->yystack = $stack;
1598 if (!$token) {
1599 // end of input: this is valid
1600 return true;
1601 }
1602 // the last token was just ignored, we can't accept
1603 // by ignoring input, this is in essence ignoring a
1604 // syntax error!
1605 return false;
1606 } elseif ($nextstate === self::YY_NO_ACTION) {
1607 $this->yyidx = $yyidx;
1608 $this->yystack = $stack;
1609 // input accepted, but not shifted (I guess)
1610 return true;
1611 } else {
1612 $yyact = $nextstate;
1613 }
1614 } while (true);
1615 }
1616 break;
1617 } while (true);
1618 $this->yyidx = $yyidx;
1619 $this->yystack = $stack;
1620 return true;
1621 }
1623 function yy_find_shift_action($iLookAhead)
1624 {
1625 $stateno = $this->yystack[$this->yyidx]->stateno;
1627 /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
1628 if (!isset(self::$yy_shift_ofst[$stateno])) {
1629 // no shift actions
1630 return self::$yy_default[$stateno];
1631 }
1632 $i = self::$yy_shift_ofst[$stateno];
1633 if ($i === self::YY_SHIFT_USE_DFLT) {
1634 return self::$yy_default[$stateno];
1635 }
1636 if ($iLookAhead == self::YYNOCODE) {
1637 return self::YY_NO_ACTION;
1638 }
1639 $i += $iLookAhead;
1640 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1641 self::$yy_lookahead[$i] != $iLookAhead) {
1642 if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
1643 && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
1644 if (self::$yyTraceFILE) {
1645 fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
1646 $this->yyTokenName[$iLookAhead] . " => " .
1647 $this->yyTokenName[$iFallback] . "\n");
1648 }
1649 return $this->yy_find_shift_action($iFallback);
1650 }
1651 return self::$yy_default[$stateno];
1652 } else {
1653 return self::$yy_action[$i];
1654 }
1655 }
1657 function yy_find_reduce_action($stateno, $iLookAhead)
1658 {
1659 /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1661 if (!isset(self::$yy_reduce_ofst[$stateno])) {
1662 return self::$yy_default[$stateno];
1663 }
1664 $i = self::$yy_reduce_ofst[$stateno];
1665 if ($i == self::YY_REDUCE_USE_DFLT) {
1666 return self::$yy_default[$stateno];
1667 }
1668 if ($iLookAhead == self::YYNOCODE) {
1669 return self::YY_NO_ACTION;
1670 }
1671 $i += $iLookAhead;
1672 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1673 self::$yy_lookahead[$i] != $iLookAhead) {
1674 return self::$yy_default[$stateno];
1675 } else {
1676 return self::$yy_action[$i];
1677 }
1678 }
1680 function yy_shift($yyNewState, $yyMajor, $yypMinor)
1681 {
1682 $this->yyidx++;
1683 if ($this->yyidx >= self::YYSTACKDEPTH) {
1684 $this->yyidx--;
1685 if (self::$yyTraceFILE) {
1686 fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
1687 }
1688 while ($this->yyidx >= 0) {
1689 $this->yy_pop_parser_stack();
1690 }
1691 #line 84 "smarty_internal_templateparser.y"
1693 $this->internalError = true;
1694 $this->compiler->trigger_template_error("Stack overflow in template parser");
1695 #line 1691 "smarty_internal_templateparser.php"
1696 return;
1697 }
1698 $yytos = new TP_yyStackEntry;
1699 $yytos->stateno = $yyNewState;
1700 $yytos->major = $yyMajor;
1701 $yytos->minor = $yypMinor;
1702 array_push($this->yystack, $yytos);
1703 if (self::$yyTraceFILE && $this->yyidx > 0) {
1704 fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
1705 $yyNewState);
1706 fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
1707 for($i = 1; $i <= $this->yyidx; $i++) {
1708 fprintf(self::$yyTraceFILE, " %s",
1709 $this->yyTokenName[$this->yystack[$i]->major]);
1710 }
1711 fwrite(self::$yyTraceFILE,"\n");
1712 }
1713 }
1715 static public $yyRuleInfo = array(
1716 array( 'lhs' => 79, 'rhs' => 1 ),
1717 array( 'lhs' => 80, 'rhs' => 1 ),
1718 array( 'lhs' => 80, 'rhs' => 2 ),
1719 array( 'lhs' => 80, 'rhs' => 0 ),
1720 array( 'lhs' => 81, 'rhs' => 1 ),
1721 array( 'lhs' => 81, 'rhs' => 1 ),
1722 array( 'lhs' => 81, 'rhs' => 1 ),
1723 array( 'lhs' => 81, 'rhs' => 1 ),
1724 array( 'lhs' => 81, 'rhs' => 1 ),
1725 array( 'lhs' => 81, 'rhs' => 1 ),
1726 array( 'lhs' => 81, 'rhs' => 1 ),
1727 array( 'lhs' => 81, 'rhs' => 1 ),
1728 array( 'lhs' => 81, 'rhs' => 1 ),
1729 array( 'lhs' => 81, 'rhs' => 1 ),
1730 array( 'lhs' => 81, 'rhs' => 1 ),
1731 array( 'lhs' => 83, 'rhs' => 2 ),
1732 array( 'lhs' => 83, 'rhs' => 3 ),
1733 array( 'lhs' => 84, 'rhs' => 2 ),
1734 array( 'lhs' => 84, 'rhs' => 0 ),
1735 array( 'lhs' => 85, 'rhs' => 1 ),
1736 array( 'lhs' => 85, 'rhs' => 1 ),
1737 array( 'lhs' => 85, 'rhs' => 1 ),
1738 array( 'lhs' => 85, 'rhs' => 1 ),
1739 array( 'lhs' => 85, 'rhs' => 1 ),
1740 array( 'lhs' => 85, 'rhs' => 1 ),
1741 array( 'lhs' => 85, 'rhs' => 1 ),
1742 array( 'lhs' => 82, 'rhs' => 3 ),
1743 array( 'lhs' => 82, 'rhs' => 4 ),
1744 array( 'lhs' => 82, 'rhs' => 4 ),
1745 array( 'lhs' => 82, 'rhs' => 5 ),
1746 array( 'lhs' => 82, 'rhs' => 4 ),
1747 array( 'lhs' => 82, 'rhs' => 6 ),
1748 array( 'lhs' => 82, 'rhs' => 6 ),
1749 array( 'lhs' => 82, 'rhs' => 7 ),
1750 array( 'lhs' => 82, 'rhs' => 6 ),
1751 array( 'lhs' => 82, 'rhs' => 4 ),
1752 array( 'lhs' => 82, 'rhs' => 3 ),
1753 array( 'lhs' => 82, 'rhs' => 6 ),
1754 array( 'lhs' => 82, 'rhs' => 5 ),
1755 array( 'lhs' => 82, 'rhs' => 7 ),
1756 array( 'lhs' => 82, 'rhs' => 4 ),
1757 array( 'lhs' => 82, 'rhs' => 5 ),
1758 array( 'lhs' => 82, 'rhs' => 4 ),
1759 array( 'lhs' => 82, 'rhs' => 5 ),
1760 array( 'lhs' => 82, 'rhs' => 13 ),
1761 array( 'lhs' => 96, 'rhs' => 2 ),
1762 array( 'lhs' => 96, 'rhs' => 1 ),
1763 array( 'lhs' => 82, 'rhs' => 7 ),
1764 array( 'lhs' => 82, 'rhs' => 9 ),
1765 array( 'lhs' => 82, 'rhs' => 3 ),
1766 array( 'lhs' => 82, 'rhs' => 8 ),
1767 array( 'lhs' => 82, 'rhs' => 11 ),
1768 array( 'lhs' => 82, 'rhs' => 8 ),
1769 array( 'lhs' => 82, 'rhs' => 11 ),
1770 array( 'lhs' => 82, 'rhs' => 1 ),
1771 array( 'lhs' => 82, 'rhs' => 3 ),
1772 array( 'lhs' => 82, 'rhs' => 4 ),
1773 array( 'lhs' => 82, 'rhs' => 5 ),
1774 array( 'lhs' => 82, 'rhs' => 6 ),
1775 array( 'lhs' => 87, 'rhs' => 2 ),
1776 array( 'lhs' => 87, 'rhs' => 1 ),
1777 array( 'lhs' => 87, 'rhs' => 0 ),
1778 array( 'lhs' => 97, 'rhs' => 4 ),
1779 array( 'lhs' => 97, 'rhs' => 4 ),
1780 array( 'lhs' => 97, 'rhs' => 4 ),
1781 array( 'lhs' => 97, 'rhs' => 2 ),
1782 array( 'lhs' => 97, 'rhs' => 2 ),
1783 array( 'lhs' => 97, 'rhs' => 2 ),
1784 array( 'lhs' => 97, 'rhs' => 4 ),
1785 array( 'lhs' => 93, 'rhs' => 1 ),
1786 array( 'lhs' => 93, 'rhs' => 3 ),
1787 array( 'lhs' => 92, 'rhs' => 4 ),
1788 array( 'lhs' => 89, 'rhs' => 1 ),
1789 array( 'lhs' => 89, 'rhs' => 1 ),
1790 array( 'lhs' => 89, 'rhs' => 4 ),
1791 array( 'lhs' => 89, 'rhs' => 3 ),
1792 array( 'lhs' => 89, 'rhs' => 3 ),
1793 array( 'lhs' => 89, 'rhs' => 3 ),
1794 array( 'lhs' => 89, 'rhs' => 1 ),
1795 array( 'lhs' => 89, 'rhs' => 2 ),
1796 array( 'lhs' => 89, 'rhs' => 3 ),
1797 array( 'lhs' => 89, 'rhs' => 3 ),
1798 array( 'lhs' => 89, 'rhs' => 3 ),
1799 array( 'lhs' => 89, 'rhs' => 3 ),
1800 array( 'lhs' => 89, 'rhs' => 3 ),
1801 array( 'lhs' => 89, 'rhs' => 3 ),
1802 array( 'lhs' => 89, 'rhs' => 2 ),
1803 array( 'lhs' => 89, 'rhs' => 2 ),
1804 array( 'lhs' => 89, 'rhs' => 3 ),
1805 array( 'lhs' => 89, 'rhs' => 3 ),
1806 array( 'lhs' => 89, 'rhs' => 2 ),
1807 array( 'lhs' => 89, 'rhs' => 2 ),
1808 array( 'lhs' => 89, 'rhs' => 3 ),
1809 array( 'lhs' => 89, 'rhs' => 3 ),
1810 array( 'lhs' => 89, 'rhs' => 3 ),
1811 array( 'lhs' => 89, 'rhs' => 3 ),
1812 array( 'lhs' => 98, 'rhs' => 8 ),
1813 array( 'lhs' => 98, 'rhs' => 7 ),
1814 array( 'lhs' => 86, 'rhs' => 1 ),
1815 array( 'lhs' => 86, 'rhs' => 2 ),
1816 array( 'lhs' => 86, 'rhs' => 2 ),
1817 array( 'lhs' => 86, 'rhs' => 2 ),
1818 array( 'lhs' => 86, 'rhs' => 2 ),
1819 array( 'lhs' => 86, 'rhs' => 1 ),
1820 array( 'lhs' => 86, 'rhs' => 1 ),
1821 array( 'lhs' => 86, 'rhs' => 3 ),
1822 array( 'lhs' => 86, 'rhs' => 2 ),
1823 array( 'lhs' => 86, 'rhs' => 2 ),
1824 array( 'lhs' => 86, 'rhs' => 1 ),
1825 array( 'lhs' => 86, 'rhs' => 1 ),
1826 array( 'lhs' => 86, 'rhs' => 3 ),
1827 array( 'lhs' => 86, 'rhs' => 1 ),
1828 array( 'lhs' => 86, 'rhs' => 1 ),
1829 array( 'lhs' => 86, 'rhs' => 3 ),
1830 array( 'lhs' => 86, 'rhs' => 3 ),
1831 array( 'lhs' => 86, 'rhs' => 1 ),
1832 array( 'lhs' => 88, 'rhs' => 1 ),
1833 array( 'lhs' => 88, 'rhs' => 4 ),
1834 array( 'lhs' => 88, 'rhs' => 1 ),
1835 array( 'lhs' => 88, 'rhs' => 3 ),
1836 array( 'lhs' => 88, 'rhs' => 3 ),
1837 array( 'lhs' => 91, 'rhs' => 3 ),
1838 array( 'lhs' => 106, 'rhs' => 2 ),
1839 array( 'lhs' => 106, 'rhs' => 0 ),
1840 array( 'lhs' => 107, 'rhs' => 3 ),
1841 array( 'lhs' => 107, 'rhs' => 5 ),
1842 array( 'lhs' => 107, 'rhs' => 2 ),
1843 array( 'lhs' => 107, 'rhs' => 2 ),
1844 array( 'lhs' => 107, 'rhs' => 4 ),
1845 array( 'lhs' => 107, 'rhs' => 3 ),
1846 array( 'lhs' => 107, 'rhs' => 5 ),
1847 array( 'lhs' => 107, 'rhs' => 3 ),
1848 array( 'lhs' => 107, 'rhs' => 2 ),
1849 array( 'lhs' => 95, 'rhs' => 1 ),
1850 array( 'lhs' => 95, 'rhs' => 2 ),
1851 array( 'lhs' => 108, 'rhs' => 1 ),
1852 array( 'lhs' => 108, 'rhs' => 3 ),
1853 array( 'lhs' => 105, 'rhs' => 2 ),
1854 array( 'lhs' => 109, 'rhs' => 1 ),
1855 array( 'lhs' => 109, 'rhs' => 2 ),
1856 array( 'lhs' => 110, 'rhs' => 3 ),
1857 array( 'lhs' => 110, 'rhs' => 4 ),
1858 array( 'lhs' => 110, 'rhs' => 5 ),
1859 array( 'lhs' => 110, 'rhs' => 6 ),
1860 array( 'lhs' => 110, 'rhs' => 2 ),
1861 array( 'lhs' => 102, 'rhs' => 4 ),
1862 array( 'lhs' => 111, 'rhs' => 4 ),
1863 array( 'lhs' => 111, 'rhs' => 5 ),
1864 array( 'lhs' => 112, 'rhs' => 3 ),
1865 array( 'lhs' => 112, 'rhs' => 1 ),
1866 array( 'lhs' => 112, 'rhs' => 0 ),
1867 array( 'lhs' => 90, 'rhs' => 3 ),
1868 array( 'lhs' => 90, 'rhs' => 2 ),
1869 array( 'lhs' => 113, 'rhs' => 3 ),
1870 array( 'lhs' => 113, 'rhs' => 2 ),
1871 array( 'lhs' => 114, 'rhs' => 2 ),
1872 array( 'lhs' => 114, 'rhs' => 0 ),
1873 array( 'lhs' => 115, 'rhs' => 2 ),
1874 array( 'lhs' => 115, 'rhs' => 2 ),
1875 array( 'lhs' => 104, 'rhs' => 1 ),
1876 array( 'lhs' => 104, 'rhs' => 2 ),
1877 array( 'lhs' => 104, 'rhs' => 1 ),
1878 array( 'lhs' => 104, 'rhs' => 3 ),
1879 array( 'lhs' => 104, 'rhs' => 4 ),
1880 array( 'lhs' => 100, 'rhs' => 1 ),
1881 array( 'lhs' => 100, 'rhs' => 1 ),
1882 array( 'lhs' => 100, 'rhs' => 1 ),
1883 array( 'lhs' => 100, 'rhs' => 1 ),
1884 array( 'lhs' => 100, 'rhs' => 1 ),
1885 array( 'lhs' => 100, 'rhs' => 1 ),
1886 array( 'lhs' => 100, 'rhs' => 1 ),
1887 array( 'lhs' => 100, 'rhs' => 1 ),
1888 array( 'lhs' => 100, 'rhs' => 1 ),
1889 array( 'lhs' => 101, 'rhs' => 1 ),
1890 array( 'lhs' => 101, 'rhs' => 1 ),
1891 array( 'lhs' => 101, 'rhs' => 1 ),
1892 array( 'lhs' => 99, 'rhs' => 3 ),
1893 array( 'lhs' => 116, 'rhs' => 1 ),
1894 array( 'lhs' => 116, 'rhs' => 3 ),
1895 array( 'lhs' => 116, 'rhs' => 0 ),
1896 array( 'lhs' => 117, 'rhs' => 3 ),
1897 array( 'lhs' => 117, 'rhs' => 3 ),
1898 array( 'lhs' => 117, 'rhs' => 1 ),
1899 array( 'lhs' => 103, 'rhs' => 2 ),
1900 array( 'lhs' => 103, 'rhs' => 3 ),
1901 array( 'lhs' => 118, 'rhs' => 2 ),
1902 array( 'lhs' => 118, 'rhs' => 1 ),
1903 array( 'lhs' => 119, 'rhs' => 3 ),
1904 array( 'lhs' => 119, 'rhs' => 3 ),
1905 array( 'lhs' => 119, 'rhs' => 1 ),
1906 array( 'lhs' => 119, 'rhs' => 3 ),
1907 array( 'lhs' => 119, 'rhs' => 3 ),
1908 array( 'lhs' => 119, 'rhs' => 1 ),
1909 array( 'lhs' => 119, 'rhs' => 1 ),
1910 array( 'lhs' => 94, 'rhs' => 1 ),
1911 array( 'lhs' => 94, 'rhs' => 0 ),
1912 );
1914 static public $yyReduceMap = array(
1915 0 => 0,
1916 1 => 1,
1917 2 => 1,
1918 4 => 4,
1919 5 => 5,
1920 6 => 6,
1921 7 => 7,
1922 8 => 8,
1923 9 => 9,
1924 10 => 10,
1925 11 => 11,
1926 12 => 12,
1927 13 => 13,
1928 14 => 14,
1929 15 => 15,
1930 18 => 15,
1931 16 => 16,
1932 17 => 17,
1933 99 => 17,
1934 101 => 17,
1935 102 => 17,
1936 160 => 17,
1937 19 => 19,
1938 20 => 19,
1939 72 => 19,
1940 73 => 19,
1941 98 => 19,
1942 103 => 19,
1943 104 => 19,
1944 109 => 19,
1945 111 => 19,
1946 112 => 19,
1947 118 => 19,
1948 159 => 19,
1949 177 => 19,
1950 21 => 21,
1951 22 => 21,
1952 23 => 23,
1953 24 => 24,
1954 25 => 25,
1955 26 => 26,
1956 27 => 27,
1957 28 => 27,
1958 30 => 27,
1959 29 => 29,
1960 31 => 31,
1961 32 => 31,
1962 33 => 33,
1963 34 => 34,
1964 35 => 35,
1965 36 => 36,
1966 37 => 37,
1967 38 => 38,
1968 39 => 39,
1969 40 => 40,
1970 42 => 40,
1971 41 => 41,
1972 43 => 41,
1973 44 => 44,
1974 45 => 45,
1975 46 => 46,
1976 66 => 46,
1977 67 => 46,
1978 161 => 46,
1979 182 => 46,
1980 47 => 47,
1981 48 => 48,
1982 49 => 49,
1983 50 => 50,
1984 51 => 51,
1985 52 => 52,
1986 53 => 53,
1987 54 => 54,
1988 55 => 55,
1989 56 => 56,
1990 57 => 57,
1991 58 => 58,
1992 59 => 59,
1993 60 => 60,
1994 69 => 60,
1995 149 => 60,
1996 153 => 60,
1997 61 => 61,
1998 150 => 61,
1999 62 => 62,
2000 63 => 63,
2001 64 => 63,
2002 65 => 65,
2003 68 => 68,
2004 70 => 70,
2005 71 => 71,
2006 74 => 74,
2007 75 => 75,
2008 76 => 75,
2009 77 => 75,
2010 78 => 78,
2011 133 => 78,
2012 194 => 78,
2013 79 => 79,
2014 80 => 80,
2015 83 => 80,
2016 94 => 80,
2017 81 => 81,
2018 82 => 82,
2019 84 => 84,
2020 85 => 85,
2021 86 => 86,
2022 91 => 86,
2023 87 => 87,
2024 90 => 87,
2025 88 => 88,
2026 93 => 88,
2027 89 => 89,
2028 92 => 89,
2029 95 => 95,
2030 96 => 96,
2031 97 => 97,
2032 100 => 100,
2033 105 => 105,
2034 106 => 106,
2035 107 => 107,
2036 108 => 108,
2037 110 => 110,
2038 113 => 113,
2039 114 => 114,
2040 115 => 115,
2041 116 => 116,
2042 117 => 117,
2043 119 => 119,
2044 120 => 120,
2045 121 => 121,
2046 122 => 122,
2047 123 => 123,
2048 124 => 124,
2049 125 => 125,
2050 126 => 126,
2051 127 => 127,
2052 128 => 128,
2053 131 => 128,
2054 129 => 129,
2055 130 => 130,
2056 132 => 132,
2057 134 => 134,
2058 135 => 135,
2059 136 => 136,
2060 137 => 137,
2061 138 => 138,
2062 139 => 139,
2063 140 => 140,
2064 141 => 141,
2065 142 => 142,
2066 143 => 143,
2067 144 => 144,
2068 145 => 145,
2069 146 => 146,
2070 147 => 147,
2071 148 => 148,
2072 151 => 151,
2073 152 => 152,
2074 154 => 154,
2075 155 => 155,
2076 156 => 156,
2077 157 => 157,
2078 158 => 157,
2079 162 => 162,
2080 163 => 163,
2081 164 => 164,
2082 165 => 165,
2083 166 => 166,
2084 167 => 167,
2085 168 => 168,
2086 169 => 169,
2087 170 => 170,
2088 171 => 171,
2089 172 => 172,
2090 173 => 173,
2091 174 => 174,
2092 175 => 175,
2093 176 => 176,
2094 178 => 178,
2095 179 => 179,
2096 180 => 180,
2097 181 => 181,
2098 183 => 183,
2099 184 => 184,
2100 185 => 185,
2101 186 => 186,
2102 187 => 187,
2103 188 => 187,
2104 190 => 187,
2105 189 => 189,
2106 191 => 191,
2107 192 => 192,
2108 193 => 193,
2109 195 => 195,
2110 );
2111 #line 95 "smarty_internal_templateparser.y"
2112 function yy_r0(){ $this->_retvalue = $this->root_buffer->to_smarty_php(); }
2113 #line 2109 "smarty_internal_templateparser.php"
2114 #line 101 "smarty_internal_templateparser.y"
2115 function yy_r1(){ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); }
2116 #line 2112 "smarty_internal_templateparser.php"
2117 #line 113 "smarty_internal_templateparser.y"
2118 function yy_r4(){
2119 if ($this->compiler->has_code) {
2120 $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
2121 $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
2122 } else {
2123 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2124 }
2125 $this->compiler->has_variable_string = false;
2126 $this->block_nesting_level = count($this->compiler->_tag_stack);
2127 }
2128 #line 2124 "smarty_internal_templateparser.php"
2129 #line 125 "smarty_internal_templateparser.y"
2130 function yy_r5(){ $this->_retvalue = new _smarty_tag($this, ''); }
2131 #line 2127 "smarty_internal_templateparser.php"
2132 #line 128 "smarty_internal_templateparser.y"
2133 function yy_r6(){ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); }
2134 #line 2130 "smarty_internal_templateparser.php"
2135 #line 131 "smarty_internal_templateparser.y"
2136 function yy_r7(){
2137 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2138 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2139 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2140 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2141 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2142 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
2143 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2144 $this->_retvalue = new _smarty_text($this, '');
2145 }
2146 }
2147 #line 2143 "smarty_internal_templateparser.php"
2148 #line 143 "smarty_internal_templateparser.y"
2149 function yy_r8(){if ($this->is_xml) {
2150 $this->compiler->tag_nocache = true;
2151 $this->is_xml = true;
2152 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>", $this->compiler, true));
2153 }elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
2154 $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
2155 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2156 $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
2157 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2158 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
2159 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2160 $this->_retvalue = new _smarty_text($this, '');
2161 }
2162 }
2163 #line 2159 "smarty_internal_templateparser.php"
2164 #line 159 "smarty_internal_templateparser.y"
2165 function yy_r9(){
2166 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2167 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2168 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2169 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2170 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2171 if ($this->asp_tags) {
2172 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
2173 } else {
2174 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2175 }
2176 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2177 if ($this->asp_tags) {
2178 $this->_retvalue = new _smarty_text($this, '');
2179 } else {
2180 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2181 }
2182 }
2183 }
2184 #line 2180 "smarty_internal_templateparser.php"
2185 #line 180 "smarty_internal_templateparser.y"
2186 function yy_r10(){
2187 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2188 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2189 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2190 $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
2191 }elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2192 if ($this->asp_tags) {
2193 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
2194 } else {
2195 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2196 }
2197 }elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2198 if ($this->asp_tags) {
2199 $this->_retvalue = new _smarty_text($this, '');
2200 } else {
2201 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2202 }
2203 }
2204 }
2205 #line 2201 "smarty_internal_templateparser.php"
2206 #line 200 "smarty_internal_templateparser.y"
2207 function yy_r11(){if ($this->lex->strip) {
2208 $this->_retvalue = new _smarty_text($this, preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));
2209 } else {
2210 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2211 }
2212 }
2213 #line 2209 "smarty_internal_templateparser.php"
2214 #line 208 "smarty_internal_templateparser.y"
2215 function yy_r12(){ $this->compiler->tag_nocache = true; $this->is_xml = true; $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true)); }
2216 #line 2212 "smarty_internal_templateparser.php"
2217 #line 211 "smarty_internal_templateparser.y"
2218 function yy_r13(){if ($this->lex->strip) {
2219 $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
2220 } else {
2221 $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
2222 }
2223 }
2224 #line 2220 "smarty_internal_templateparser.php"
2225 #line 217 "smarty_internal_templateparser.y"
2226 function yy_r14(){
2227 $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor);
2228 }
2229 #line 2225 "smarty_internal_templateparser.php"
2230 #line 222 "smarty_internal_templateparser.y"
2231 function yy_r15(){ $this->_retvalue = ''; }
2232 #line 2228 "smarty_internal_templateparser.php"
2233 #line 223 "smarty_internal_templateparser.y"
2234 function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
2235 #line 2231 "smarty_internal_templateparser.php"
2236 #line 225 "smarty_internal_templateparser.y"
2237 function yy_r17(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2238 #line 2234 "smarty_internal_templateparser.php"
2239 #line 228 "smarty_internal_templateparser.y"
2240 function yy_r19(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2241 #line 2237 "smarty_internal_templateparser.php"
2242 #line 230 "smarty_internal_templateparser.y"
2243 function yy_r21(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); }
2244 #line 2240 "smarty_internal_templateparser.php"
2245 #line 232 "smarty_internal_templateparser.y"
2246 function yy_r23(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); }
2247 #line 2243 "smarty_internal_templateparser.php"
2248 #line 233 "smarty_internal_templateparser.y"
2249 function yy_r24(){ $this->_retvalue = '<<?php ?>%'; }
2250 #line 2246 "smarty_internal_templateparser.php"
2251 #line 234 "smarty_internal_templateparser.y"
2252 function yy_r25(){ $this->_retvalue = '%<?php ?>>'; }
2253 #line 2249 "smarty_internal_templateparser.php"
2254 #line 242 "smarty_internal_templateparser.y"
2255 function yy_r26(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor)); }
2256 #line 2252 "smarty_internal_templateparser.php"
2257 #line 243 "smarty_internal_templateparser.y"
2258 function yy_r27(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor)); }
2259 #line 2255 "smarty_internal_templateparser.php"
2260 #line 245 "smarty_internal_templateparser.y"
2261 function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor)); }
2262 #line 2258 "smarty_internal_templateparser.php"
2263 #line 253 "smarty_internal_templateparser.y"
2264 function yy_r31(){ $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'"))); }
2265 #line 2261 "smarty_internal_templateparser.php"
2266 #line 255 "smarty_internal_templateparser.y"
2267 function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor)); }
2268 #line 2264 "smarty_internal_templateparser.php"
2269 #line 256 "smarty_internal_templateparser.y"
2270 function yy_r34(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index'])); }
2271 #line 2267 "smarty_internal_templateparser.php"
2272 #line 258 "smarty_internal_templateparser.y"
2273 function yy_r35(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); }
2274 #line 2270 "smarty_internal_templateparser.php"
2275 #line 259 "smarty_internal_templateparser.y"
2276 function yy_r36(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); }
2277 #line 2273 "smarty_internal_templateparser.php"
2278 #line 261 "smarty_internal_templateparser.y"
2279 function yy_r37(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor)); }
2280 #line 2276 "smarty_internal_templateparser.php"
2281 #line 263 "smarty_internal_templateparser.y"
2282 function yy_r38(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
2283 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2284 }
2285 #line 2281 "smarty_internal_templateparser.php"
2286 #line 267 "smarty_internal_templateparser.y"
2287 function yy_r39(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo ';
2288 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2289 }
2290 #line 2286 "smarty_internal_templateparser.php"
2291 #line 271 "smarty_internal_templateparser.y"
2292 function yy_r40(){ $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); }
2293 #line 2289 "smarty_internal_templateparser.php"
2294 #line 272 "smarty_internal_templateparser.y"
2295 function yy_r41(){ $tag = trim(substr($this->yystack[$this->yyidx + -4]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor)); }
2296 #line 2292 "smarty_internal_templateparser.php"
2297 #line 276 "smarty_internal_templateparser.y"
2298 function yy_r44(){
2299 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1); }
2300 #line 2296 "smarty_internal_templateparser.php"
2301 #line 279 "smarty_internal_templateparser.y"
2302 function yy_r45(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; }
2303 #line 2299 "smarty_internal_templateparser.php"
2304 #line 280 "smarty_internal_templateparser.y"
2305 function yy_r46(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2306 #line 2302 "smarty_internal_templateparser.php"
2307 #line 281 "smarty_internal_templateparser.y"
2308 function yy_r47(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0); }
2309 #line 2305 "smarty_internal_templateparser.php"
2310 #line 282 "smarty_internal_templateparser.y"
2311 function yy_r48(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0); }
2312 #line 2308 "smarty_internal_templateparser.php"
2313 #line 284 "smarty_internal_templateparser.y"
2314 function yy_r49(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); }
2315 #line 2311 "smarty_internal_templateparser.php"
2316 #line 286 "smarty_internal_templateparser.y"
2317 function yy_r50(){
2318 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); }
2319 #line 2315 "smarty_internal_templateparser.php"
2320 #line 288 "smarty_internal_templateparser.y"
2321 function yy_r51(){
2322 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); }
2323 #line 2319 "smarty_internal_templateparser.php"
2324 #line 290 "smarty_internal_templateparser.y"
2325 function yy_r52(){
2326 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); }
2327 #line 2323 "smarty_internal_templateparser.php"
2328 #line 292 "smarty_internal_templateparser.y"
2329 function yy_r53(){
2330 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); }
2331 #line 2327 "smarty_internal_templateparser.php"
2332 #line 296 "smarty_internal_templateparser.y"
2333 function yy_r54(){ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler); }
2334 #line 2330 "smarty_internal_templateparser.php"
2335 #line 300 "smarty_internal_templateparser.y"
2336 function yy_r55(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); }
2337 #line 2333 "smarty_internal_templateparser.php"
2338 #line 302 "smarty_internal_templateparser.y"
2339 function yy_r56(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
2340 }
2341 #line 2337 "smarty_internal_templateparser.php"
2342 #line 305 "smarty_internal_templateparser.y"
2343 function yy_r57(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); }
2344 #line 2340 "smarty_internal_templateparser.php"
2345 #line 306 "smarty_internal_templateparser.y"
2346 function yy_r58(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); }
2347 #line 2343 "smarty_internal_templateparser.php"
2348 #line 312 "smarty_internal_templateparser.y"
2349 function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; }
2350 #line 2346 "smarty_internal_templateparser.php"
2351 #line 314 "smarty_internal_templateparser.y"
2352 function yy_r60(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
2353 #line 2349 "smarty_internal_templateparser.php"
2354 #line 316 "smarty_internal_templateparser.y"
2355 function yy_r61(){ $this->_retvalue = array(); }
2356 #line 2352 "smarty_internal_templateparser.php"
2357 #line 319 "smarty_internal_templateparser.y"
2358 function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2359 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
2360 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2361 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
2362 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2363 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null');
2364 } else
2365 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'"); }
2366 #line 2362 "smarty_internal_templateparser.php"
2367 #line 327 "smarty_internal_templateparser.y"
2368 function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
2369 #line 2365 "smarty_internal_templateparser.php"
2370 #line 329 "smarty_internal_templateparser.y"
2371 function yy_r65(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
2372 #line 2368 "smarty_internal_templateparser.php"
2373 #line 332 "smarty_internal_templateparser.y"
2374 function yy_r68(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
2375 #line 2371 "smarty_internal_templateparser.php"
2376 #line 339 "smarty_internal_templateparser.y"
2377 function yy_r70(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; }
2378 #line 2374 "smarty_internal_templateparser.php"
2379 #line 341 "smarty_internal_templateparser.y"
2380 function yy_r71(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); }
2381 #line 2377 "smarty_internal_templateparser.php"
2382 #line 352 "smarty_internal_templateparser.y"
2383 function yy_r74(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; }
2384 #line 2380 "smarty_internal_templateparser.php"
2385 #line 354 "smarty_internal_templateparser.y"
2386 function yy_r75(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; }
2387 #line 2383 "smarty_internal_templateparser.php"
2388 #line 360 "smarty_internal_templateparser.y"
2389 function yy_r78(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2390 #line 2386 "smarty_internal_templateparser.php"
2391 #line 363 "smarty_internal_templateparser.y"
2392 function yy_r79(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); }
2393 #line 2389 "smarty_internal_templateparser.php"
2394 #line 367 "smarty_internal_templateparser.y"
2395 function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2396 #line 2392 "smarty_internal_templateparser.php"
2397 #line 368 "smarty_internal_templateparser.y"
2398 function yy_r81(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; }
2399 #line 2395 "smarty_internal_templateparser.php"
2400 #line 369 "smarty_internal_templateparser.y"
2401 function yy_r82(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; }
2402 #line 2398 "smarty_internal_templateparser.php"
2403 #line 371 "smarty_internal_templateparser.y"
2404 function yy_r84(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2405 #line 2401 "smarty_internal_templateparser.php"
2406 #line 372 "smarty_internal_templateparser.y"
2407 function yy_r85(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2408 #line 2404 "smarty_internal_templateparser.php"
2409 #line 373 "smarty_internal_templateparser.y"
2410 function yy_r86(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
2411 #line 2407 "smarty_internal_templateparser.php"
2412 #line 374 "smarty_internal_templateparser.y"
2413 function yy_r87(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
2414 #line 2410 "smarty_internal_templateparser.php"
2415 #line 375 "smarty_internal_templateparser.y"
2416 function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2417 #line 2413 "smarty_internal_templateparser.php"
2418 #line 376 "smarty_internal_templateparser.y"
2419 function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
2420 #line 2416 "smarty_internal_templateparser.php"
2421 #line 382 "smarty_internal_templateparser.y"
2422 function yy_r95(){$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; }
2423 #line 2419 "smarty_internal_templateparser.php"
2424 #line 388 "smarty_internal_templateparser.y"
2425 function yy_r96(){ $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? $_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'\')->value : '.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + -2]->minor', null, true, false)->nocache; }
2426 #line 2422 "smarty_internal_templateparser.php"
2427 #line 389 "smarty_internal_templateparser.y"
2428 function yy_r97(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; }
2429 #line 2425 "smarty_internal_templateparser.php"
2430 #line 396 "smarty_internal_templateparser.y"
2431 function yy_r100(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; }
2432 #line 2428 "smarty_internal_templateparser.php"
2433 #line 402 "smarty_internal_templateparser.y"
2434 function yy_r105(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
2435 #line 2431 "smarty_internal_templateparser.php"
2436 #line 403 "smarty_internal_templateparser.y"
2437 function yy_r106(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; }
2438 #line 2434 "smarty_internal_templateparser.php"
2439 #line 404 "smarty_internal_templateparser.y"
2440 function yy_r107(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; }
2441 #line 2437 "smarty_internal_templateparser.php"
2442 #line 406 "smarty_internal_templateparser.y"
2443 function yy_r108(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2444 $this->_retvalue = 'true';
2445 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2446 $this->_retvalue = 'false';
2447 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2448 $this->_retvalue = 'null';
2449 } else
2450 $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
2451 #line 2447 "smarty_internal_templateparser.php"
2452 #line 417 "smarty_internal_templateparser.y"
2453 function yy_r110(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; }
2454 #line 2450 "smarty_internal_templateparser.php"
2455 #line 423 "smarty_internal_templateparser.y"
2456 function yy_r113(){if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) {
2457 if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
2458 $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor;
2459 } else {
2460 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
2461 }
2462 } else {
2463 $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
2464 }
2465 }
2466 #line 2462 "smarty_internal_templateparser.php"
2467 #line 433 "smarty_internal_templateparser.y"
2468 function yy_r114(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else {
2469 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor['var'],"'"), null, true, false)->nocache;} }
2470 #line 2466 "smarty_internal_templateparser.php"
2471 #line 436 "smarty_internal_templateparser.y"
2472 function yy_r115(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; }
2473 #line 2469 "smarty_internal_templateparser.php"
2474 #line 445 "smarty_internal_templateparser.y"
2475 function yy_r116(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
2476 $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
2477 $this->_retvalue = $smarty_var;
2478 } else {
2479 // used for array reset,next,prev,end,current
2480 $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
2481 $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2482 if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + 0]->minor['var']])) {
2483 $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + 0]->minor['var'] .']->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2484 } else {
2485 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor['var'] .')->value'.$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2486 }
2487 $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache;
2488 }
2489 }
2490 #line 2486 "smarty_internal_templateparser.php"
2491 #line 461 "smarty_internal_templateparser.y"
2492 function yy_r117(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) {
2493 $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
2494 } else {
2495 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor;
2496 }
2497 $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; }
2498 #line 2494 "smarty_internal_templateparser.php"
2499 #line 470 "smarty_internal_templateparser.y"
2500 function yy_r119(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; }
2501 #line 2497 "smarty_internal_templateparser.php"
2502 #line 471 "smarty_internal_templateparser.y"
2503 function yy_r120(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; }
2504 #line 2500 "smarty_internal_templateparser.php"
2505 #line 474 "smarty_internal_templateparser.y"
2506 function yy_r121(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); }
2507 #line 2503 "smarty_internal_templateparser.php"
2508 #line 480 "smarty_internal_templateparser.y"
2509 function yy_r122(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2510 #line 2506 "smarty_internal_templateparser.php"
2511 #line 482 "smarty_internal_templateparser.y"
2512 function yy_r123(){return; }
2513 #line 2509 "smarty_internal_templateparser.php"
2514 #line 486 "smarty_internal_templateparser.y"
2515 function yy_r124(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache; }
2516 #line 2512 "smarty_internal_templateparser.php"
2517 #line 487 "smarty_internal_templateparser.y"
2518 function yy_r125(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; }
2519 #line 2515 "smarty_internal_templateparser.php"
2520 #line 488 "smarty_internal_templateparser.y"
2521 function yy_r126(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; }
2522 #line 2518 "smarty_internal_templateparser.php"
2523 #line 489 "smarty_internal_templateparser.y"
2524 function yy_r127(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; }
2525 #line 2521 "smarty_internal_templateparser.php"
2526 #line 490 "smarty_internal_templateparser.y"
2527 function yy_r128(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; }
2528 #line 2524 "smarty_internal_templateparser.php"
2529 #line 492 "smarty_internal_templateparser.y"
2530 function yy_r129(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; }
2531 #line 2527 "smarty_internal_templateparser.php"
2532 #line 493 "smarty_internal_templateparser.y"
2533 function yy_r130(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; }
2534 #line 2530 "smarty_internal_templateparser.php"
2535 #line 497 "smarty_internal_templateparser.y"
2536 function yy_r132(){$this->_retvalue = '[]'; }
2537 #line 2533 "smarty_internal_templateparser.php"
2538 #line 505 "smarty_internal_templateparser.y"
2539 function yy_r134(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
2540 #line 2536 "smarty_internal_templateparser.php"
2541 #line 507 "smarty_internal_templateparser.y"
2542 function yy_r135(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; }
2543 #line 2539 "smarty_internal_templateparser.php"
2544 #line 509 "smarty_internal_templateparser.y"
2545 function yy_r136(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; }
2546 #line 2542 "smarty_internal_templateparser.php"
2547 #line 514 "smarty_internal_templateparser.y"
2548 function yy_r137(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;} else {
2549 $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;} }
2550 #line 2546 "smarty_internal_templateparser.php"
2551 #line 517 "smarty_internal_templateparser.y"
2552 function yy_r138(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2553 #line 2549 "smarty_internal_templateparser.php"
2554 #line 519 "smarty_internal_templateparser.y"
2555 function yy_r139(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2556 #line 2552 "smarty_internal_templateparser.php"
2557 #line 521 "smarty_internal_templateparser.y"
2558 function yy_r140(){if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') {
2559 $this->compiler->trigger_template_error (self::Err1);
2560 }
2561 $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2562 }
2563 #line 2559 "smarty_internal_templateparser.php"
2564 #line 526 "smarty_internal_templateparser.y"
2565 function yy_r141(){if ($this->security) {
2566 $this->compiler->trigger_template_error (self::Err2);
2567 }
2568 $this->_retvalue = '->{$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor.'}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"), null, true, false)->nocache;
2569 }
2570 #line 2566 "smarty_internal_templateparser.php"
2571 #line 531 "smarty_internal_templateparser.y"
2572 function yy_r142(){if ($this->security) {
2573 $this->compiler->trigger_template_error (self::Err2);
2574 }
2575 $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2576 }
2577 #line 2573 "smarty_internal_templateparser.php"
2578 #line 536 "smarty_internal_templateparser.y"
2579 function yy_r143(){if ($this->security) {
2580 $this->compiler->trigger_template_error (self::Err2);
2581 }
2582 $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2583 }
2584 #line 2580 "smarty_internal_templateparser.php"
2585 #line 542 "smarty_internal_templateparser.y"
2586 function yy_r144(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; }
2587 #line 2583 "smarty_internal_templateparser.php"
2588 #line 548 "smarty_internal_templateparser.y"
2589 function yy_r145(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
2590 if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) {
2591 $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor);
2592 if ($func_name == 'isset') {
2593 if (count($this->yystack[$this->yyidx + -1]->minor) == 0) {
2594 $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"');
2595 }
2596 $isset_par=str_replace("')->value","',null,true,false)->value",implode(',',$this->yystack[$this->yyidx + -1]->minor));
2597 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")";
2598 } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){
2599 if (count($this->yystack[$this->yyidx + -1]->minor) != 1) {
2600 $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"');
2601 }
2602 $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')';
2603 } else {
2604 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2605 }
2606 } else {
2607 $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
2608 }
2609 }
2610 }
2611 #line 2607 "smarty_internal_templateparser.php"
2612 #line 574 "smarty_internal_templateparser.y"
2613 function yy_r146(){if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') {
2614 $this->compiler->trigger_template_error (self::Err1);
2615 }
2616 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2617 }
2618 #line 2614 "smarty_internal_templateparser.php"
2619 #line 579 "smarty_internal_templateparser.y"
2620 function yy_r147(){if ($this->security) {
2621 $this->compiler->trigger_template_error (self::Err2);
2622 }
2623 $this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
2624 }
2625 #line 2621 "smarty_internal_templateparser.php"
2626 #line 587 "smarty_internal_templateparser.y"
2627 function yy_r148(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); }
2628 #line 2624 "smarty_internal_templateparser.php"
2629 #line 596 "smarty_internal_templateparser.y"
2630 function yy_r151(){$this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor))); }
2631 #line 2627 "smarty_internal_templateparser.php"
2632 #line 597 "smarty_internal_templateparser.y"
2633 function yy_r152(){$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); }
2634 #line 2630 "smarty_internal_templateparser.php"
2635 #line 600 "smarty_internal_templateparser.y"
2636 function yy_r154(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
2637 #line 2633 "smarty_internal_templateparser.php"
2638 #line 605 "smarty_internal_templateparser.y"
2639 function yy_r155(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); }
2640 #line 2636 "smarty_internal_templateparser.php"
2641 #line 607 "smarty_internal_templateparser.y"
2642 function yy_r156(){$this->_retvalue = array(); }
2643 #line 2639 "smarty_internal_templateparser.php"
2644 #line 609 "smarty_internal_templateparser.y"
2645 function yy_r157(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
2646 #line 2642 "smarty_internal_templateparser.php"
2647 #line 619 "smarty_internal_templateparser.y"
2648 function yy_r162(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2649 #line 2645 "smarty_internal_templateparser.php"
2650 #line 621 "smarty_internal_templateparser.y"
2651 function yy_r163(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
2652 #line 2648 "smarty_internal_templateparser.php"
2653 #line 630 "smarty_internal_templateparser.y"
2654 function yy_r164(){$this->_retvalue = '=='; }
2655 #line 2651 "smarty_internal_templateparser.php"
2656 #line 631 "smarty_internal_templateparser.y"
2657 function yy_r165(){$this->_retvalue = '!='; }
2658 #line 2654 "smarty_internal_templateparser.php"
2659 #line 632 "smarty_internal_templateparser.y"
2660 function yy_r166(){$this->_retvalue = '>'; }
2661 #line 2657 "smarty_internal_templateparser.php"
2662 #line 633 "smarty_internal_templateparser.y"
2663 function yy_r167(){$this->_retvalue = '<'; }
2664 #line 2660 "smarty_internal_templateparser.php"
2665 #line 634 "smarty_internal_templateparser.y"
2666 function yy_r168(){$this->_retvalue = '>='; }
2667 #line 2663 "smarty_internal_templateparser.php"
2668 #line 635 "smarty_internal_templateparser.y"
2669 function yy_r169(){$this->_retvalue = '<='; }
2670 #line 2666 "smarty_internal_templateparser.php"
2671 #line 636 "smarty_internal_templateparser.y"
2672 function yy_r170(){$this->_retvalue = '==='; }
2673 #line 2669 "smarty_internal_templateparser.php"
2674 #line 637 "smarty_internal_templateparser.y"
2675 function yy_r171(){$this->_retvalue = '!=='; }
2676 #line 2672 "smarty_internal_templateparser.php"
2677 #line 638 "smarty_internal_templateparser.y"
2678 function yy_r172(){$this->_retvalue = '%'; }
2679 #line 2675 "smarty_internal_templateparser.php"
2680 #line 640 "smarty_internal_templateparser.y"
2681 function yy_r173(){$this->_retvalue = '&&'; }
2682 #line 2678 "smarty_internal_templateparser.php"
2683 #line 641 "smarty_internal_templateparser.y"
2684 function yy_r174(){$this->_retvalue = '||'; }
2685 #line 2681 "smarty_internal_templateparser.php"
2686 #line 642 "smarty_internal_templateparser.y"
2687 function yy_r175(){$this->_retvalue = ' XOR '; }
2688 #line 2684 "smarty_internal_templateparser.php"
2689 #line 647 "smarty_internal_templateparser.y"
2690 function yy_r176(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; }
2691 #line 2687 "smarty_internal_templateparser.php"
2692 #line 649 "smarty_internal_templateparser.y"
2693 function yy_r178(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; }
2694 #line 2690 "smarty_internal_templateparser.php"
2695 #line 650 "smarty_internal_templateparser.y"
2696 function yy_r179(){ return; }
2697 #line 2693 "smarty_internal_templateparser.php"
2698 #line 651 "smarty_internal_templateparser.y"
2699 function yy_r180(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; }
2700 #line 2696 "smarty_internal_templateparser.php"
2701 #line 652 "smarty_internal_templateparser.y"
2702 function yy_r181(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; }
2703 #line 2699 "smarty_internal_templateparser.php"
2704 #line 659 "smarty_internal_templateparser.y"
2705 function yy_r183(){ $this->_retvalue = "''"; }
2706 #line 2702 "smarty_internal_templateparser.php"
2707 #line 660 "smarty_internal_templateparser.y"
2708 function yy_r184(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); }
2709 #line 2705 "smarty_internal_templateparser.php"
2710 #line 662 "smarty_internal_templateparser.y"
2711 function yy_r185(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
2712 #line 2708 "smarty_internal_templateparser.php"
2713 #line 663 "smarty_internal_templateparser.y"
2714 function yy_r186(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); }
2715 #line 2711 "smarty_internal_templateparser.php"
2716 #line 665 "smarty_internal_templateparser.y"
2717 function yy_r187(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); }
2718 #line 2714 "smarty_internal_templateparser.php"
2719 #line 667 "smarty_internal_templateparser.y"
2720 function yy_r189(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) {
2721 $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
2722 } else {
2723 $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value');
2724 }
2725 $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache;
2726 }
2727 #line 2723 "smarty_internal_templateparser.php"
2728 #line 675 "smarty_internal_templateparser.y"
2729 function yy_r191(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); }
2730 #line 2726 "smarty_internal_templateparser.php"
2731 #line 676 "smarty_internal_templateparser.y"
2732 function yy_r192(){
2733 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2734 }
2735 #line 2731 "smarty_internal_templateparser.php"
2736 #line 679 "smarty_internal_templateparser.y"
2737 function yy_r193(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); }
2738 #line 2734 "smarty_internal_templateparser.php"
2739 #line 686 "smarty_internal_templateparser.y"
2740 function yy_r195(){$this->_retvalue = ''; }
2741 #line 2737 "smarty_internal_templateparser.php"
2743 private $_retvalue;
2745 function yy_reduce($yyruleno)
2746 {
2747 $yymsp = $this->yystack[$this->yyidx];
2748 if (self::$yyTraceFILE && $yyruleno >= 0
2749 && $yyruleno < count(self::$yyRuleName)) {
2750 fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
2751 self::$yyTracePrompt, $yyruleno,
2752 self::$yyRuleName[$yyruleno]);
2753 }
2755 $this->_retvalue = $yy_lefthand_side = null;
2756 if (array_key_exists($yyruleno, self::$yyReduceMap)) {
2757 // call the action
2758 $this->_retvalue = null;
2759 $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
2760 $yy_lefthand_side = $this->_retvalue;
2761 }
2762 $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
2763 $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
2764 $this->yyidx -= $yysize;
2765 for($i = $yysize; $i; $i--) {
2766 // pop all of the right-hand side parameters
2767 array_pop($this->yystack);
2768 }
2769 $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
2770 if ($yyact < self::YYNSTATE) {
2771 if (!self::$yyTraceFILE && $yysize) {
2772 $this->yyidx++;
2773 $x = new TP_yyStackEntry;
2774 $x->stateno = $yyact;
2775 $x->major = $yygoto;
2776 $x->minor = $yy_lefthand_side;
2777 $this->yystack[$this->yyidx] = $x;
2778 } else {
2779 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2780 }
2781 } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
2782 $this->yy_accept();
2783 }
2784 }
2786 function yy_parse_failed()
2787 {
2788 if (self::$yyTraceFILE) {
2789 fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
2790 }
2791 while ($this->yyidx >= 0) {
2792 $this->yy_pop_parser_stack();
2793 }
2794 }
2796 function yy_syntax_error($yymajor, $TOKEN)
2797 {
2798 #line 77 "smarty_internal_templateparser.y"
2800 $this->internalError = true;
2801 $this->yymajor = $yymajor;
2802 $this->compiler->trigger_template_error();
2803 #line 2800 "smarty_internal_templateparser.php"
2804 }
2806 function yy_accept()
2807 {
2808 if (self::$yyTraceFILE) {
2809 fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
2810 }
2811 while ($this->yyidx >= 0) {
2812 $stack = $this->yy_pop_parser_stack();
2813 }
2814 #line 69 "smarty_internal_templateparser.y"
2816 $this->successful = !$this->internalError;
2817 $this->internalError = false;
2818 $this->retvalue = $this->_retvalue;
2819 //echo $this->retvalue."\n\n";
2820 #line 2818 "smarty_internal_templateparser.php"
2821 }
2823 function doParse($yymajor, $yytokenvalue)
2824 {
2825 $yyerrorhit = 0; /* True if yymajor has invoked an error */
2827 if ($this->yyidx === null || $this->yyidx < 0) {
2828 $this->yyidx = 0;
2829 $this->yyerrcnt = -1;
2830 $x = new TP_yyStackEntry;
2831 $x->stateno = 0;
2832 $x->major = 0;
2833 $this->yystack = array();
2834 array_push($this->yystack, $x);
2835 }
2836 $yyendofinput = ($yymajor==0);
2838 if (self::$yyTraceFILE) {
2839 fprintf(self::$yyTraceFILE, "%sInput %s\n",
2840 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
2841 }
2843 do {
2844 $yyact = $this->yy_find_shift_action($yymajor);
2845 if ($yymajor < self::YYERRORSYMBOL &&
2846 !$this->yy_is_expected_token($yymajor)) {
2847 // force a syntax error
2848 $yyact = self::YY_ERROR_ACTION;
2849 }
2850 if ($yyact < self::YYNSTATE) {
2851 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
2852 $this->yyerrcnt--;
2853 if ($yyendofinput && $this->yyidx >= 0) {
2854 $yymajor = 0;
2855 } else {
2856 $yymajor = self::YYNOCODE;
2857 }
2858 } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
2859 $this->yy_reduce($yyact - self::YYNSTATE);
2860 } elseif ($yyact == self::YY_ERROR_ACTION) {
2861 if (self::$yyTraceFILE) {
2862 fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
2863 self::$yyTracePrompt);
2864 }
2865 if (self::YYERRORSYMBOL) {
2866 if ($this->yyerrcnt < 0) {
2867 $this->yy_syntax_error($yymajor, $yytokenvalue);
2868 }
2869 $yymx = $this->yystack[$this->yyidx]->major;
2870 if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
2871 if (self::$yyTraceFILE) {
2872 fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
2873 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
2874 }
2875 $this->yy_destructor($yymajor, $yytokenvalue);
2876 $yymajor = self::YYNOCODE;
2877 } else {
2878 while ($this->yyidx >= 0 &&
2879 $yymx != self::YYERRORSYMBOL &&
2880 ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
2881 ){
2882 $this->yy_pop_parser_stack();
2883 }
2884 if ($this->yyidx < 0 || $yymajor==0) {
2885 $this->yy_destructor($yymajor, $yytokenvalue);
2886 $this->yy_parse_failed();
2887 $yymajor = self::YYNOCODE;
2888 } elseif ($yymx != self::YYERRORSYMBOL) {
2889 $u2 = 0;
2890 $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
2891 }
2892 }
2893 $this->yyerrcnt = 3;
2894 $yyerrorhit = 1;
2895 } else {
2896 if ($this->yyerrcnt <= 0) {
2897 $this->yy_syntax_error($yymajor, $yytokenvalue);
2898 }
2899 $this->yyerrcnt = 3;
2900 $this->yy_destructor($yymajor, $yytokenvalue);
2901 if ($yyendofinput) {
2902 $this->yy_parse_failed();
2903 }
2904 $yymajor = self::YYNOCODE;
2905 }
2906 } else {
2907 $this->yy_accept();
2908 $yymajor = self::YYNOCODE;
2909 }
2910 } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
2911 }
2912 }
2913 ?>