PageRenderTime 82ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 1ms

/www/lib/smarty/sysplugins/smarty_internal_templateparser.php

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