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