From 2b858212b760fd180dca0c72c3fc0239536d108f Mon Sep 17 00:00:00 2001 From: Uwe Tews Date: Wed, 13 May 2015 02:06:33 +0200 Subject: [PATCH] - improvement remove not needed ?>prefix_code as $code) { - $tmp .= $code; - } + $tmp = $compiler->appendCode($tmp, $code); + } $compiler->prefix_code = array(); + $tmp = $compiler->appendCode("", $tmp); $this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache)); if ($condition_by_assign) { if (is_array($parameter['if condition']['var'])) { - $_output = "{$tmp}tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n"; + $_output = $compiler->appendCode($tmp, "tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n"); $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>"; } else { - $_output = "{$tmp}tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});"; + $_output = $compiler->appendCode($tmp, "tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});"); $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>"; } return $_output; } else { - return "{$tmp}"; + return $compiler->appendCode($tmp, ""); } } } diff --git a/libs/sysplugins/smarty_internal_extension_codeframe.php b/libs/sysplugins/smarty_internal_extension_codeframe.php index 129d1295..0474378c 100644 --- a/libs/sysplugins/smarty_internal_extension_codeframe.php +++ b/libs/sysplugins/smarty_internal_extension_codeframe.php @@ -11,7 +11,6 @@ /** * Class Smarty_Internal_Extension_CodeFrame * Create code frame for compiled and cached templates - */ class Smarty_Internal_Extension_CodeFrame { @@ -78,11 +77,19 @@ class Smarty_Internal_Extension_CodeFrame $output .= "?>/*/%%SmartyNocache:{$_template->properties['nocache_hash']}%%*/';\n"; } } - $output .= "?>\n" . $content; - $output .= ""; - return $output; + $output .= "?>\n"; + $output = self::appendCode($output, $content); + return self::appendCode($output, ""); } + /** + * Create code frame of compiled template function + * + * @param \Smarty_Internal_Template $_template + * @param string $content + * + * @return string + */ public static function createFunctionFrame(Smarty_Internal_Template $_template, $content = '') { if (!isset($_template->properties['unifunc'])) { @@ -98,4 +105,23 @@ class Smarty_Internal_Extension_CodeFrame $output .= "}\n}\n?>"; return $output; } + + /** + * Append code segments and remove unneeded ?> $/', $left) && preg_match('/^<\?php\s+/', $right)) { + $left = preg_replace('/\s*\?>$/', "\n", $left); + $left .= preg_replace('/^<\?php\s+/', '', $right); + } else { + $left .= $right; + } + return $left; + } } \ No newline at end of file diff --git a/libs/sysplugins/smarty_internal_parsetree.php b/libs/sysplugins/smarty_internal_parsetree.php index 1e306c8c..c96731ed 100644 --- a/libs/sysplugins/smarty_internal_parsetree.php +++ b/libs/sysplugins/smarty_internal_parsetree.php @@ -16,12 +16,14 @@ */ abstract class Smarty_Internal_ParseTree { + /** * Parser object * * @var object */ public $parser; + /** * Buffer content * diff --git a/libs/sysplugins/smarty_internal_parsetree_code.php b/libs/sysplugins/smarty_internal_parsetree_code.php index c4a7daec..a44ae499 100644 --- a/libs/sysplugins/smarty_internal_parsetree_code.php +++ b/libs/sysplugins/smarty_internal_parsetree_code.php @@ -1,7 +1,7 @@ subtrees) - 1; if ($last_subtree >= 0 && $this->subtrees[$last_subtree] instanceof Smarty_Internal_ParseTree_Tag && $this->subtrees[$last_subtree]->saved_block_nesting < $this->parser->block_nesting_level) { if ($subtree instanceof Smarty_Internal_ParseTree_Code) { - $this->subtrees[$last_subtree]->data .= 'data . ';?>'; + $this->subtrees[$last_subtree]->data = $this->parser->compiler->appendCode($this->subtrees[$last_subtree]->data, 'data . ';?>'); } elseif ($subtree instanceof Smarty_Internal_ParseTree_DqContent) { - $this->subtrees[$last_subtree]->data .= 'data . '";?>'; + $this->subtrees[$last_subtree]->data = $this->parser->compiler->appendCode($this->subtrees[$last_subtree]->data, 'data . '";?>'); } else { - $this->subtrees[$last_subtree]->data .= $subtree->data; + $this->subtrees[$last_subtree]->data = $this->parser->compiler->appendCode($this->subtrees[$last_subtree]->data, $subtree->data); } } else { $this->subtrees[] = $subtree; diff --git a/libs/sysplugins/smarty_internal_parsetree_dqcontent.php b/libs/sysplugins/smarty_internal_parsetree_dqcontent.php index 53ba1bcc..3197772d 100644 --- a/libs/sysplugins/smarty_internal_parsetree_dqcontent.php +++ b/libs/sysplugins/smarty_internal_parsetree_dqcontent.php @@ -1,7 +1,7 @@ parser->compiler->prefix_code[] = sprintf("%s", $this->data, $var); + $tmp = $this->parser->compiler->appendCode('', $this->data); + $tmp = $this->parser->compiler->appendCode($tmp, ""); + $this->parser->compiler->prefix_code[] = sprintf("%s", $tmp); return $var; } diff --git a/libs/sysplugins/smarty_internal_parsetree_template.php b/libs/sysplugins/smarty_internal_parsetree_template.php index 2bb76c19..a0717e50 100644 --- a/libs/sysplugins/smarty_internal_parsetree_template.php +++ b/libs/sysplugins/smarty_internal_parsetree_template.php @@ -1,7 +1,7 @@ subtrees)) { $this->subtrees = array_merge($this->subtrees, $subtree->subtrees); - } else if ($subtree->data !== '') { - $this->subtrees[] = $subtree; + } else { + if ($subtree->data !== '') { + $this->subtrees[] = $subtree; + } } } @@ -80,13 +83,7 @@ class Smarty_Internal_ParseTree_Template extends Smarty_Internal_ParseTree if ($this->subtrees[$key]->data == '') { continue; } - $newCode = $this->subtrees[$key]->to_smarty_php(); - if ((preg_match('/^\s*<\?php\s+/', $newCode) && preg_match('/\s*\?>\s*$/', $subtree))) { - $subtree = preg_replace('/\s*\?>\s*$/', "\n", $subtree); - $subtree .= preg_replace('/^\s*<\?php\s+/', '', $newCode); - } else { - $subtree .= $newCode; - } + $subtree = $this->parser->compiler->appendCode($subtree, $this->subtrees[$key]->to_smarty_php()); } if ($subtree == '') { continue; diff --git a/libs/sysplugins/smarty_internal_parsetree_text.php b/libs/sysplugins/smarty_internal_parsetree_text.php index fb79660f..42d5bd29 100644 --- a/libs/sysplugins/smarty_internal_parsetree_text.php +++ b/libs/sysplugins/smarty_internal_parsetree_text.php @@ -1,8 +1,8 @@ 'TEXT', 2 => 'SMARTY', 3 => 'LITERAL', 4 => 'DOUBLEQUOTEDSTRING', 5 => 'CHILDBODY'); + /** * token names * * @var array */ public $smarty_token_names = array( // Text for parser error messages - 'IDENTITY' => '===', - 'NONEIDENTITY' => '!==', - 'EQUALS' => '==', - 'NOTEQUALS' => '!=', - 'GREATEREQUAL' => '(>=,ge)', - 'LESSEQUAL' => '(<=,le)', - 'GREATERTHAN' => '(>,gt)', - 'LESSTHAN' => '(<,lt)', - 'MOD' => '(%,mod)', - 'NOT' => '(!,not)', - 'LAND' => '(&&,and)', - 'LOR' => '(||,or)', - 'LXOR' => 'xor', - 'OPENP' => '(', - 'CLOSEP' => ')', - 'OPENB' => '[', - 'CLOSEB' => ']', - 'PTR' => '->', - 'APTR' => '=>', - 'EQUAL' => '=', - 'NUMBER' => 'number', - 'UNIMATH' => '+" , "-', - 'MATH' => '*" , "/" , "%', - 'INCDEC' => '++" , "--', - 'SPACE' => ' ', - 'DOLLAR' => '$', - 'SEMICOLON' => ';', - 'COLON' => ':', - 'DOUBLECOLON' => '::', - 'AT' => '@', - 'HATCH' => '#', - 'QUOTE' => '"', - 'BACKTICK' => '`', - 'VERT' => '|', - 'DOT' => '.', - 'COMMA' => '","', - 'ANDSYM' => '"&"', - 'QMARK' => '"?"', - 'ID' => 'identifier', - 'TEXT' => 'text', - 'FAKEPHPSTARTTAG' => 'Fake PHP start tag', - 'PHPSTARTTAG' => 'PHP start tag', - 'PHPENDTAG' => 'PHP end tag', - 'LITERALSTART' => 'Literal start', - 'LITERALEND' => 'Literal end', - 'LDELSLASH' => 'closing tag', - 'COMMENT' => 'comment', - 'AS' => 'as', - 'TO' => 'to', - ); + 'IDENTITY' => '===', 'NONEIDENTITY' => '!==', 'EQUALS' => '==', 'NOTEQUALS' => '!=', 'GREATEREQUAL' => '(>=,ge)', 'LESSEQUAL' => '(<=,le)', 'GREATERTHAN' => '(>,gt)', 'LESSTHAN' => '(<,lt)', 'MOD' => '(%,mod)', 'NOT' => '(!,not)', 'LAND' => '(&&,and)', 'LOR' => '(||,or)', 'LXOR' => 'xor', 'OPENP' => '(', 'CLOSEP' => ')', 'OPENB' => '[', 'CLOSEB' => ']', 'PTR' => '->', 'APTR' => '=>', 'EQUAL' => '=', 'NUMBER' => 'number', 'UNIMATH' => '+" , "-', 'MATH' => '*" , "/" , "%', 'INCDEC' => '++" , "--', 'SPACE' => ' ', 'DOLLAR' => '$', 'SEMICOLON' => ';', 'COLON' => ':', 'DOUBLECOLON' => '::', 'AT' => '@', 'HATCH' => '#', 'QUOTE' => '"', 'BACKTICK' => '`', 'VERT' => '|', 'DOT' => '.', 'COMMA' => '","', 'ANDSYM' => '"&"', 'QMARK' => '"?"', 'ID' => 'identifier', 'TEXT' => 'text', 'FAKEPHPSTARTTAG' => 'Fake PHP start tag', 'PHPSTARTTAG' => 'PHP start tag', 'PHPENDTAG' => 'PHP end tag', 'LITERALSTART' => 'Literal start', 'LITERALEND' => 'Literal end', 'LDELSLASH' => 'closing tag', 'COMMENT' => 'comment', 'AS' => 'as', 'TO' => 'to',); /** * constructor @@ -221,6 +192,7 @@ class Smarty_Internal_Templatelexer } private $_yy_state = 1; + private $_yy_stack = array(); public function yylex() @@ -261,27 +233,7 @@ class Smarty_Internal_Templatelexer public function yylex1() { - $tokenMap = array( - 1 => 0, - 2 => 1, - 4 => 0, - 5 => 0, - 6 => 0, - 7 => 1, - 9 => 0, - 10 => 0, - 11 => 0, - 12 => 6, - 19 => 0, - 20 => 0, - 21 => 0, - 22 => 1, - 24 => 6, - 31 => 7, - 39 => 6, - 46 => 3, - 50 => 0, - ); + $tokenMap = array(1 => 0, 2 => 1, 4 => 0, 5 => 0, 6 => 0, 7 => 1, 9 => 0, 10 => 0, 11 => 0, 12 => 6, 19 => 0, 20 => 0, 21 => 0, 22 => 1, 24 => 6, 31 => 7, 39 => 6, 46 => 3, 50 => 0,); if ($this->counter >= strlen($this->data)) { return false; // end of input } @@ -292,16 +244,13 @@ class Smarty_Internal_Templatelexer $yysubmatches = $yymatches; $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state TEXT'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state TEXT'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number if ($tokenMap[$this->token]) { // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); + $yysubmatches = array_slice($yysubmatches, $this->token + 1, $tokenMap[$this->token]); } else { $yysubmatches = array(); } @@ -326,8 +275,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -521,75 +469,7 @@ class Smarty_Internal_Templatelexer public function yylex2() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 1, - 5 => 0, - 6 => 0, - 7 => 0, - 8 => 0, - 9 => 0, - 10 => 0, - 11 => 0, - 12 => 0, - 13 => 0, - 14 => 0, - 15 => 1, - 17 => 1, - 19 => 1, - 21 => 0, - 22 => 0, - 23 => 0, - 24 => 0, - 25 => 0, - 26 => 0, - 27 => 0, - 28 => 0, - 29 => 0, - 30 => 0, - 31 => 0, - 32 => 0, - 33 => 0, - 34 => 0, - 35 => 0, - 36 => 0, - 37 => 0, - 38 => 3, - 42 => 0, - 43 => 0, - 44 => 0, - 45 => 0, - 46 => 0, - 47 => 0, - 48 => 0, - 49 => 0, - 50 => 1, - 52 => 1, - 54 => 0, - 55 => 0, - 56 => 0, - 57 => 2, - 60 => 0, - 61 => 0, - 62 => 0, - 63 => 0, - 64 => 0, - 65 => 0, - 66 => 0, - 67 => 0, - 68 => 0, - 69 => 0, - 70 => 0, - 71 => 0, - 72 => 0, - 73 => 1, - 75 => 0, - 76 => 0, - 77 => 0, - 78 => 0, - 79 => 0, - ); + $tokenMap = array(1 => 0, 2 => 0, 3 => 1, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 0, 10 => 0, 11 => 0, 12 => 0, 13 => 0, 14 => 0, 15 => 1, 17 => 1, 19 => 1, 21 => 0, 22 => 0, 23 => 0, 24 => 0, 25 => 0, 26 => 0, 27 => 0, 28 => 0, 29 => 0, 30 => 0, 31 => 0, 32 => 0, 33 => 0, 34 => 0, 35 => 0, 36 => 0, 37 => 0, 38 => 3, 42 => 0, 43 => 0, 44 => 0, 45 => 0, 46 => 0, 47 => 0, 48 => 0, 49 => 0, 50 => 1, 52 => 1, 54 => 0, 55 => 0, 56 => 0, 57 => 2, 60 => 0, 61 => 0, 62 => 0, 63 => 0, 64 => 0, 65 => 0, 66 => 0, 67 => 0, 68 => 0, 69 => 0, 70 => 0, 71 => 0, 72 => 0, 73 => 1, 75 => 0, 76 => 0, 77 => 0, 78 => 0, 79 => 0,); if ($this->counter >= strlen($this->data)) { return false; // end of input } @@ -600,16 +480,13 @@ class Smarty_Internal_Templatelexer $yysubmatches = $yymatches; $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state SMARTY'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state SMARTY'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number if ($tokenMap[$this->token]) { // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); + $yysubmatches = array_slice($yysubmatches, $this->token + 1, $tokenMap[$this->token]); } else { $yysubmatches = array(); } @@ -634,8 +511,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -1088,11 +964,7 @@ class Smarty_Internal_Templatelexer public function yylex3() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - ); + $tokenMap = array(1 => 0, 2 => 0, 3 => 0,); if ($this->counter >= strlen($this->data)) { return false; // end of input } @@ -1103,16 +975,13 @@ class Smarty_Internal_Templatelexer $yysubmatches = $yymatches; $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state LITERAL'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state LITERAL'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number if ($tokenMap[$this->token]) { // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); + $yysubmatches = array_slice($yysubmatches, $this->token + 1, $tokenMap[$this->token]); } else { $yysubmatches = array(); } @@ -1137,8 +1006,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -1181,21 +1049,7 @@ class Smarty_Internal_Templatelexer public function yylex4() { - $tokenMap = array( - 1 => 1, - 3 => 0, - 4 => 0, - 5 => 0, - 6 => 0, - 7 => 0, - 8 => 0, - 9 => 0, - 10 => 0, - 11 => 0, - 12 => 0, - 13 => 3, - 17 => 0, - ); + $tokenMap = array(1 => 1, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 0, 10 => 0, 11 => 0, 12 => 0, 13 => 3, 17 => 0,); if ($this->counter >= strlen($this->data)) { return false; // end of input } @@ -1206,16 +1060,13 @@ class Smarty_Internal_Templatelexer $yysubmatches = $yymatches; $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state DOUBLEQUOTEDSTRING'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state DOUBLEQUOTEDSTRING'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number if ($tokenMap[$this->token]) { // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); + $yysubmatches = array_slice($yysubmatches, $this->token + 1, $tokenMap[$this->token]); } else { $yysubmatches = array(); } @@ -1240,8 +1091,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -1365,12 +1215,7 @@ class Smarty_Internal_Templatelexer public function yylex5() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - 4 => 0, - ); + $tokenMap = array(1 => 0, 2 => 0, 3 => 0, 4 => 0,); if ($this->counter >= strlen($this->data)) { return false; // end of input } @@ -1381,16 +1226,13 @@ class Smarty_Internal_Templatelexer $yysubmatches = $yymatches; $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state CHILDBODY'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state CHILDBODY'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number if ($tokenMap[$this->token]) { // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); + $yysubmatches = array_slice($yysubmatches, $this->token + 1, $tokenMap[$this->token]); } else { $yysubmatches = array(); } @@ -1415,8 +1257,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -1469,13 +1310,7 @@ class Smarty_Internal_Templatelexer public function yylex6() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - 4 => 1, - 6 => 0, - ); + $tokenMap = array(1 => 0, 2 => 0, 3 => 0, 4 => 1, 6 => 0,); if ($this->counter >= strlen($this->data)) { return false; // end of input } @@ -1486,16 +1321,13 @@ class Smarty_Internal_Templatelexer $yysubmatches = $yymatches; $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state CHILDBLOCK'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state CHILDBLOCK'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number if ($tokenMap[$this->token]) { // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); + $yysubmatches = array_slice($yysubmatches, $this->token + 1, $tokenMap[$this->token]); } else { $yysubmatches = array(); } @@ -1520,8 +1352,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); @@ -1587,11 +1418,7 @@ class Smarty_Internal_Templatelexer public function yylex7() { - $tokenMap = array( - 1 => 0, - 2 => 0, - 3 => 0, - ); + $tokenMap = array(1 => 0, 2 => 0, 3 => 0,); if ($this->counter >= strlen($this->data)) { return false; // end of input } @@ -1602,16 +1429,13 @@ class Smarty_Internal_Templatelexer $yysubmatches = $yymatches; $yymatches = preg_grep("/(.|\s)+/", $yysubmatches); if (!count($yymatches)) { - throw new Exception('Error: lexing failed because a rule matched' . - ' an empty string. Input "' . substr($this->data, - $this->counter, 5) . '... state CHILDLITERAL'); + throw new Exception('Error: lexing failed because a rule matched' . ' an empty string. Input "' . substr($this->data, $this->counter, 5) . '... state CHILDLITERAL'); } next($yymatches); // skip global match $this->token = key($yymatches); // token number if ($tokenMap[$this->token]) { // extract sub-patterns for passing to lex function - $yysubmatches = array_slice($yysubmatches, $this->token + 1, - $tokenMap[$this->token]); + $yysubmatches = array_slice($yysubmatches, $this->token + 1, $tokenMap[$this->token]); } else { $yysubmatches = array(); } @@ -1636,8 +1460,7 @@ class Smarty_Internal_Templatelexer continue; } } else { - throw new Exception('Unexpected input at line' . $this->line . - ': ' . $this->data[$this->counter]); + throw new Exception('Unexpected input at line' . $this->line . ': ' . $this->data[$this->counter]); } break; } while (true); diff --git a/libs/sysplugins/smarty_internal_templateparser.php b/libs/sysplugins/smarty_internal_templateparser.php index 0a11c35e..1b132324 100644 --- a/libs/sysplugins/smarty_internal_templateparser.php +++ b/libs/sysplugins/smarty_internal_templateparser.php @@ -1,7 +1,10 @@ metadata : $value; + $x = ($value instanceof TP_yyToken) ? $value->metadata : $value; $this->metadata = array_merge($this->metadata, $x); return; @@ -66,12 +68,14 @@ class TP_yyToken implements ArrayAccess class TP_yyStackEntry { + public $stateno; /* The state-number */ public $major; /* The major token value. This is the code ** number for the token at this stack level */ public $minor; /* The user-supplied minor token value. This ** is the value of the token */ } + ; #line 13 "../smarty/lexer/smarty_internal_templateparser.y" @@ -88,10 +92,13 @@ class TP_yyStackEntry */ class Smarty_Internal_Templateparser { + #line 26 "../smarty/lexer/smarty_internal_templateparser.y" const Err1 = "Security error: Call to private object member not allowed"; + const Err2 = "Security error: Call to dynamic object member not allowed"; + const Err3 = "PHP in template not allowed. Use SmartyBC to enable it"; /** @@ -100,82 +107,96 @@ class Smarty_Internal_Templateparser * @var bool */ public $successful = true; + /** * return value * * @var mixed */ public $retvalue = 0; + /** * counter for prefix code * * @var int */ public static $prefix_number = 0; + /** * @var */ public $yymajor; + /** * last index of array variable * * @var mixed */ public $last_index; + /** * last variable name * * @var string */ public $last_variable; + /** * root parse tree buffer * * @var Smarty_Internal_ParseTree */ public $root_buffer; + /** * current parse tree object * * @var Smarty_Internal_ParseTree */ public $current_buffer; + /** * lexer object * * @var Smarty_Internal_Templatelexer */ private $lex; + /** * internal error flag * * @var bool */ private $internalError = false; + /** * {strip} status * * @var bool */ public $strip = false; + /** * compiler object * * @var Smarty_Internal_TemplateCompilerBase */ public $compiler = null; + /** * smarty object * * @var Smarty */ public $smarty = null; + /** * template object * * @var Smarty_Internal_Template */ public $template = null; + /** * block nesting level * @@ -230,1011 +251,203 @@ class Smarty_Internal_Templateparser } const TP_VERT = 1; + const TP_COLON = 2; + const TP_RDEL = 3; + const TP_COMMENT = 4; + const TP_PHP = 5; + const TP_XMLTAG = 6; + const TP_TEXT = 7; + const TP_STRIPON = 8; + const TP_STRIPOFF = 9; + const TP_BLOCKSOURCE = 10; + const TP_LITERALSTART = 11; + const TP_LITERALEND = 12; + const TP_LITERAL = 13; + const TP_LDEL = 14; + const TP_DOLLAR = 15; + const TP_ID = 16; + const TP_EQUAL = 17; + const TP_PTR = 18; + const TP_LDELIF = 19; + const TP_LDELFOR = 20; + const TP_SEMICOLON = 21; + const TP_INCDEC = 22; + const TP_TO = 23; + const TP_STEP = 24; + const TP_LDELFOREACH = 25; + const TP_SPACE = 26; + const TP_AS = 27; + const TP_APTR = 28; + const TP_LDELSETFILTER = 29; + const TP_SMARTYBLOCKCHILDPARENT = 30; + const TP_LDELSLASH = 31; + const TP_ATTR = 32; + const TP_INTEGER = 33; + const TP_COMMA = 34; + const TP_OPENP = 35; + const TP_CLOSEP = 36; + const TP_MATH = 37; + const TP_UNIMATH = 38; + const TP_ANDSYM = 39; + const TP_ISIN = 40; + const TP_ISDIVBY = 41; + const TP_ISNOTDIVBY = 42; + const TP_ISEVEN = 43; + const TP_ISNOTEVEN = 44; + const TP_ISEVENBY = 45; + const TP_ISNOTEVENBY = 46; + const TP_ISODD = 47; + const TP_ISNOTODD = 48; + const TP_ISODDBY = 49; + const TP_ISNOTODDBY = 50; + const TP_INSTANCEOF = 51; + const TP_QMARK = 52; + const TP_NOT = 53; + const TP_TYPECAST = 54; + const TP_HEX = 55; + const TP_DOT = 56; + const TP_SINGLEQUOTESTRING = 57; + const TP_DOUBLECOLON = 58; + const TP_NAMESPACE = 59; + const TP_AT = 60; + const TP_HATCH = 61; + const TP_OPENB = 62; + const TP_CLOSEB = 63; + const TP_EQUALS = 64; + const TP_NOTEQUALS = 65; + const TP_GREATERTHAN = 66; + const TP_LESSTHAN = 67; + const TP_GREATEREQUAL = 68; + const TP_LESSEQUAL = 69; + const TP_IDENTITY = 70; + const TP_NONEIDENTITY = 71; + const TP_MOD = 72; + const TP_LAND = 73; + const TP_LOR = 74; + const TP_LXOR = 75; + const TP_QUOTE = 76; + const TP_BACKTICK = 77; + const TP_DOLLARID = 78; + const YY_NO_ACTION = 564; + const YY_ACCEPT_ACTION = 563; + const YY_ERROR_ACTION = 562; const YY_SZ_ACTTAB = 2263; - static public $yy_action = array( - 218, 147, 326, 198, 325, 308, 304, 301, 303, 309, - 310, 316, 201, 329, 340, 9, 288, 34, 348, 264, - 5, 108, 201, 318, 311, 43, 123, 35, 126, 175, - 251, 28, 250, 193, 127, 327, 49, 51, 46, 44, - 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, - 563, 91, 268, 247, 305, 246, 306, 247, 305, 246, - 244, 206, 286, 344, 279, 350, 351, 357, 358, 359, - 356, 355, 352, 353, 354, 218, 188, 147, 328, 23, - 106, 299, 43, 336, 23, 313, 299, 13, 28, 230, - 8, 43, 24, 249, 348, 5, 108, 28, 37, 161, - 43, 123, 218, 207, 425, 251, 28, 250, 313, 195, - 325, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 207, 425, 248, 23, - 240, 299, 29, 425, 238, 252, 227, 272, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 43, 202, 323, 25, 338, 218, 28, 419, 122, 20, - 158, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 218, 263, 425, 206, - 43, 477, 34, 23, 262, 299, 28, 3, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 139, 425, 232, 218, 477, 422, 23, 425, 299, 278, - 121, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 162, 269, 422, 254, - 218, 40, 140, 295, 422, 313, 127, 231, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 294, 15, 240, 23, 218, 299, 13, 21, 477, 41, - 158, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 99, 160, 218, 43, - 382, 477, 106, 477, 314, 28, 313, 315, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 139, 196, 218, 43, 206, 296, 477, 190, 325, 28, - 257, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 214, 203, 4, 206, - 478, 34, 10, 360, 218, 36, 387, 32, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 181, 164, 489, 478, 218, 45, 6, 332, 489, 313, - 313, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 235, 207, 207, 23, - 189, 299, 135, 317, 23, 117, 233, 194, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 137, 298, 131, 23, 23, 261, 242, 23, 206, 225, - 275, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 173, 27, 300, 234, - 260, 297, 116, 28, 136, 111, 97, 229, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 298, 298, 298, 320, 238, 243, 238, 271, 207, 166, - 145, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 218, 330, 172, 168, 197, - 300, 319, 192, 107, 16, 133, 313, 274, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 103, 167, 6, 270, 159, 128, 280, 287, 199, 98, - 313, 49, 51, 46, 44, 31, 38, 346, 345, 39, - 42, 342, 343, 17, 12, 298, 293, 171, 206, 7, - 154, 235, 241, 145, 290, 158, 313, 281, 344, 279, - 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, - 218, 331, 165, 200, 258, 101, 169, 20, 266, 152, - 144, 313, 68, 115, 243, 313, 11, 33, 11, 33, - 191, 283, 341, 214, 300, 213, 217, 282, 292, 10, - 348, 206, 228, 206, 124, 120, 49, 51, 46, 44, - 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, - 218, 105, 182, 170, 289, 205, 22, 267, 307, 186, - 302, 313, 313, 344, 279, 350, 351, 357, 358, 359, - 356, 355, 352, 353, 354, 300, 256, 339, 183, 206, - 158, 95, 312, 300, 296, 102, 49, 51, 46, 44, - 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, - 218, 298, 204, 184, 277, 286, 176, 185, 273, 45, - 100, 157, 313, 344, 279, 350, 351, 357, 358, 359, - 356, 355, 352, 353, 354, 300, 298, 298, 104, 245, - 14, 187, 326, 326, 326, 326, 49, 51, 46, 44, - 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, - 218, 18, 326, 163, 349, 326, 326, 326, 326, 326, - 326, 130, 313, 344, 279, 350, 351, 357, 358, 359, - 356, 355, 352, 353, 354, 300, 300, 326, 326, 326, - 326, 326, 326, 326, 326, 158, 49, 51, 46, 44, - 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, - 218, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 113, 118, 326, 344, 279, 350, 351, 357, 358, 359, - 356, 355, 352, 353, 354, 139, 298, 298, 326, 326, - 326, 326, 326, 326, 326, 326, 49, 51, 46, 44, - 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, - 326, 229, 326, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 326, 344, 279, 350, 351, 357, 358, 359, - 356, 355, 352, 353, 354, 49, 51, 46, 44, 31, - 38, 346, 345, 39, 42, 342, 343, 17, 12, 109, - 335, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 344, 279, 350, 351, 357, 358, 359, 356, - 355, 352, 353, 354, 326, 326, 241, 9, 141, 92, - 326, 326, 5, 108, 326, 326, 326, 23, 123, 299, - 336, 30, 251, 321, 250, 326, 236, 8, 26, 43, - 326, 48, 5, 108, 326, 28, 326, 326, 123, 23, - 326, 299, 251, 285, 250, 285, 47, 50, 284, 239, - 291, 43, 219, 255, 106, 1, 479, 28, 479, 326, - 218, 9, 134, 212, 326, 326, 5, 108, 326, 96, - 326, 326, 123, 326, 93, 326, 251, 237, 250, 479, - 236, 479, 26, 200, 180, 48, 326, 326, 326, 324, - 25, 338, 326, 313, 326, 326, 11, 33, 326, 326, - 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, - 265, 206, 326, 326, 326, 9, 134, 221, 326, 326, - 5, 108, 258, 96, 326, 326, 123, 146, 326, 326, - 251, 138, 250, 326, 236, 326, 26, 200, 178, 48, - 347, 326, 326, 215, 217, 282, 292, 313, 348, 326, - 11, 33, 326, 326, 47, 50, 284, 239, 291, 326, - 219, 326, 106, 1, 326, 206, 326, 326, 326, 9, - 127, 221, 326, 258, 5, 108, 326, 96, 156, 326, - 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, - 19, 276, 326, 48, 215, 217, 282, 292, 326, 348, - 326, 326, 326, 326, 326, 200, 174, 326, 47, 50, - 284, 239, 291, 326, 219, 313, 106, 1, 11, 33, - 326, 326, 326, 9, 134, 209, 326, 258, 5, 108, - 326, 96, 155, 206, 123, 326, 138, 326, 251, 326, - 250, 326, 226, 326, 26, 200, 177, 48, 215, 217, - 282, 292, 326, 348, 326, 313, 326, 326, 11, 33, - 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, - 106, 1, 326, 206, 326, 326, 326, 9, 134, 216, - 326, 258, 5, 108, 326, 96, 148, 326, 123, 326, - 138, 326, 251, 326, 250, 326, 236, 326, 26, 200, - 179, 48, 215, 217, 282, 292, 326, 348, 326, 313, - 326, 326, 11, 33, 326, 326, 47, 50, 284, 239, - 291, 326, 219, 326, 106, 1, 326, 206, 326, 326, - 326, 9, 132, 221, 326, 258, 5, 108, 326, 96, - 151, 326, 123, 326, 138, 326, 251, 326, 250, 326, - 236, 326, 2, 326, 326, 48, 215, 217, 282, 292, - 326, 348, 326, 326, 326, 326, 326, 326, 326, 326, - 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, - 326, 326, 326, 326, 326, 9, 129, 221, 326, 258, - 5, 108, 326, 96, 150, 326, 123, 326, 138, 326, - 251, 326, 250, 326, 236, 326, 26, 326, 326, 48, - 215, 217, 282, 292, 326, 348, 326, 326, 326, 326, - 326, 326, 326, 326, 47, 50, 284, 239, 291, 326, - 219, 326, 106, 1, 326, 326, 326, 326, 326, 9, - 134, 208, 326, 258, 5, 108, 326, 96, 153, 326, - 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, - 26, 326, 326, 48, 215, 217, 282, 292, 326, 348, - 326, 326, 326, 326, 326, 326, 326, 326, 47, 50, - 284, 239, 291, 326, 219, 326, 106, 1, 326, 326, - 326, 326, 326, 9, 127, 221, 326, 258, 5, 108, - 326, 96, 149, 326, 123, 326, 138, 326, 251, 326, - 250, 326, 236, 326, 19, 326, 423, 48, 215, 217, - 282, 292, 326, 348, 326, 322, 326, 326, 326, 326, - 259, 326, 47, 50, 284, 239, 291, 326, 219, 423, - 106, 326, 258, 326, 285, 423, 326, 125, 477, 326, - 73, 138, 218, 326, 392, 96, 326, 479, 326, 283, - 341, 326, 326, 213, 217, 282, 292, 467, 348, 253, - 326, 477, 326, 93, 326, 326, 326, 43, 224, 334, - 479, 326, 326, 28, 326, 467, 477, 467, 467, 326, - 467, 467, 326, 326, 326, 326, 467, 326, 467, 477, - 467, 326, 326, 326, 326, 326, 326, 326, 326, 477, - 326, 326, 326, 326, 326, 326, 258, 326, 326, 326, - 326, 152, 477, 326, 71, 138, 326, 467, 326, 326, - 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, - 292, 467, 348, 258, 326, 326, 326, 326, 125, 220, - 326, 73, 138, 326, 326, 326, 326, 285, 326, 326, - 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, - 479, 326, 326, 326, 258, 326, 326, 326, 326, 152, - 333, 326, 71, 138, 326, 326, 93, 326, 326, 326, - 326, 283, 341, 479, 326, 213, 217, 282, 292, 326, - 348, 326, 326, 326, 326, 258, 326, 223, 326, 326, - 152, 326, 337, 71, 138, 326, 326, 326, 326, 326, - 326, 326, 283, 341, 326, 258, 213, 217, 282, 292, - 152, 348, 326, 57, 115, 143, 258, 326, 222, 326, - 326, 152, 283, 341, 87, 138, 213, 217, 282, 292, - 326, 348, 326, 283, 341, 326, 326, 213, 217, 282, - 292, 326, 348, 258, 326, 326, 326, 326, 152, 326, - 326, 75, 138, 326, 326, 326, 326, 326, 326, 326, - 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, - 326, 258, 326, 326, 326, 326, 152, 326, 326, 67, - 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, - 326, 258, 213, 217, 282, 292, 152, 348, 326, 69, - 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, - 84, 138, 213, 217, 282, 292, 326, 348, 326, 283, - 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, - 72, 138, 326, 326, 326, 326, 326, 326, 326, 283, - 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, - 326, 326, 326, 326, 152, 326, 326, 88, 138, 326, - 258, 326, 326, 326, 326, 152, 283, 341, 86, 138, - 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, - 258, 213, 217, 282, 292, 94, 348, 326, 52, 119, - 326, 258, 326, 326, 326, 326, 152, 283, 341, 68, - 138, 210, 217, 282, 292, 326, 348, 326, 283, 341, - 326, 258, 213, 217, 282, 292, 152, 348, 326, 66, - 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, - 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, - 326, 326, 326, 94, 326, 326, 55, 119, 326, 258, - 326, 326, 326, 326, 152, 283, 341, 60, 138, 213, - 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, - 213, 217, 282, 292, 152, 348, 326, 53, 138, 326, - 258, 326, 326, 326, 326, 152, 283, 341, 89, 138, - 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, - 258, 213, 217, 282, 292, 152, 348, 326, 90, 138, - 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, - 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, - 326, 326, 152, 326, 326, 59, 138, 326, 258, 326, - 326, 326, 326, 142, 283, 341, 56, 138, 211, 217, - 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, - 217, 282, 292, 152, 348, 326, 70, 138, 326, 258, - 326, 326, 326, 326, 152, 283, 341, 65, 138, 213, - 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, - 213, 217, 282, 292, 152, 348, 326, 58, 138, 326, - 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, - 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, - 326, 152, 326, 326, 81, 138, 326, 258, 326, 326, - 326, 326, 114, 283, 341, 80, 138, 213, 217, 282, - 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, - 282, 292, 112, 348, 326, 74, 138, 326, 258, 326, - 326, 326, 326, 152, 283, 341, 85, 138, 213, 217, - 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, - 217, 282, 292, 152, 348, 326, 79, 138, 326, 326, - 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, - 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, - 152, 326, 326, 77, 138, 326, 258, 326, 326, 326, - 326, 152, 283, 341, 62, 138, 213, 217, 282, 292, - 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, - 292, 152, 348, 326, 83, 138, 326, 258, 326, 326, - 326, 326, 152, 283, 341, 76, 138, 213, 217, 282, - 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, - 282, 292, 152, 348, 326, 64, 138, 326, 326, 326, - 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, - 282, 292, 326, 348, 258, 326, 326, 326, 326, 152, - 326, 326, 63, 138, 326, 258, 326, 326, 326, 326, - 110, 283, 341, 61, 138, 213, 217, 282, 292, 326, - 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, - 152, 348, 326, 82, 138, 326, 258, 326, 326, 326, - 326, 152, 283, 341, 54, 138, 213, 217, 282, 292, - 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, - 292, 152, 348, 326, 78, 138, 326, 326, 326, 326, - 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, - 292, 326, 348, - ); - static public $yy_lookahead = array( - 1, 92, 3, 113, 114, 4, 5, 6, 7, 8, - 9, 10, 11, 104, 105, 14, 16, 34, 109, 36, - 19, 20, 11, 12, 13, 26, 25, 14, 15, 16, - 29, 32, 31, 89, 15, 16, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 80, 81, 82, 83, 84, 85, 82, 83, 84, 85, - 60, 117, 118, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 1, 90, 92, 59, 14, - 61, 16, 26, 7, 14, 99, 16, 17, 32, 104, - 14, 26, 2, 28, 109, 19, 20, 32, 24, 90, - 26, 25, 1, 117, 3, 29, 32, 31, 99, 113, - 114, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 117, 26, 27, 14, - 60, 16, 17, 32, 92, 93, 94, 22, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 26, 89, 76, 77, 78, 1, 32, 3, 15, 17, - 18, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 1, 3, 3, 117, - 26, 35, 34, 14, 36, 16, 32, 35, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 58, 26, 56, 1, 58, 3, 14, 32, 16, 63, - 58, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 90, 3, 26, 60, - 1, 14, 15, 16, 32, 99, 15, 16, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 33, 28, 60, 14, 1, 16, 17, 28, 35, 17, - 18, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 89, 90, 1, 26, - 3, 58, 61, 35, 84, 32, 99, 87, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 58, 89, 1, 26, 117, 111, 58, 113, 114, 32, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 56, 3, 34, 117, - 35, 34, 62, 36, 1, 14, 3, 17, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 90, 90, 56, 58, 1, 2, 35, 63, 62, 99, - 99, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 56, 117, 117, 14, - 89, 16, 15, 12, 14, 96, 16, 21, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 34, 112, 35, 14, 14, 16, 16, 14, 117, 16, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 110, 26, 112, 15, - 16, 16, 86, 32, 96, 96, 96, 83, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 112, 112, 112, 108, 92, 93, 92, 93, 117, 110, - 115, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 1, 122, 90, 110, 98, - 112, 3, 98, 98, 52, 15, 99, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 89, 90, 35, 16, 110, 16, 33, 16, 16, 96, - 99, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 112, 108, 90, 117, 35, - 16, 56, 2, 115, 16, 18, 99, 33, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 1, 77, 90, 89, 83, 89, 90, 17, 36, 88, - 15, 99, 91, 92, 93, 99, 102, 103, 102, 103, - 21, 100, 101, 56, 112, 104, 105, 106, 107, 62, - 109, 117, 16, 117, 15, 15, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 1, 89, 90, 90, 16, 16, 23, 63, 3, 61, - 7, 99, 99, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 112, 27, 3, 61, 117, - 18, 16, 99, 112, 111, 96, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 1, 112, 3, 90, 26, 118, 110, 110, 115, 2, - 96, 96, 99, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 112, 112, 112, 110, 95, - 95, 110, 123, 123, 123, 123, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 1, 2, 123, 90, 114, 123, 123, 123, 123, 123, - 123, 97, 99, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 112, 112, 123, 123, 123, - 123, 123, 123, 123, 123, 18, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 1, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 96, 96, 123, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 58, 112, 112, 123, 123, - 123, 123, 123, 123, 123, 123, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 123, 83, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 121, - 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 123, 123, 2, 14, 15, 16, - 123, 123, 19, 20, 123, 123, 123, 14, 25, 16, - 7, 17, 29, 30, 31, 123, 33, 14, 35, 26, - 123, 38, 19, 20, 123, 32, 123, 123, 25, 14, - 123, 16, 29, 22, 31, 22, 53, 54, 55, 56, - 57, 26, 59, 28, 61, 62, 35, 32, 35, 123, - 1, 14, 15, 16, 123, 123, 19, 20, 123, 76, - 123, 123, 25, 123, 51, 123, 29, 18, 31, 58, - 33, 58, 35, 89, 90, 38, 123, 123, 123, 76, - 77, 78, 123, 99, 123, 123, 102, 103, 123, 123, - 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, - 63, 117, 123, 123, 123, 14, 15, 16, 123, 123, - 19, 20, 83, 76, 123, 123, 25, 88, 123, 123, - 29, 92, 31, 123, 33, 123, 35, 89, 90, 38, - 101, 123, 123, 104, 105, 106, 107, 99, 109, 123, - 102, 103, 123, 123, 53, 54, 55, 56, 57, 123, - 59, 123, 61, 62, 123, 117, 123, 123, 123, 14, - 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, - 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, - 35, 101, 123, 38, 104, 105, 106, 107, 123, 109, - 123, 123, 123, 123, 123, 89, 90, 123, 53, 54, - 55, 56, 57, 123, 59, 99, 61, 62, 102, 103, - 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, - 123, 76, 88, 117, 25, 123, 92, 123, 29, 123, - 31, 123, 33, 123, 35, 89, 90, 38, 104, 105, - 106, 107, 123, 109, 123, 99, 123, 123, 102, 103, - 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, - 61, 62, 123, 117, 123, 123, 123, 14, 15, 16, - 123, 83, 19, 20, 123, 76, 88, 123, 25, 123, - 92, 123, 29, 123, 31, 123, 33, 123, 35, 89, - 90, 38, 104, 105, 106, 107, 123, 109, 123, 99, - 123, 123, 102, 103, 123, 123, 53, 54, 55, 56, - 57, 123, 59, 123, 61, 62, 123, 117, 123, 123, - 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, - 88, 123, 25, 123, 92, 123, 29, 123, 31, 123, - 33, 123, 35, 123, 123, 38, 104, 105, 106, 107, - 123, 109, 123, 123, 123, 123, 123, 123, 123, 123, - 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, - 123, 123, 123, 123, 123, 14, 15, 16, 123, 83, - 19, 20, 123, 76, 88, 123, 25, 123, 92, 123, - 29, 123, 31, 123, 33, 123, 35, 123, 123, 38, - 104, 105, 106, 107, 123, 109, 123, 123, 123, 123, - 123, 123, 123, 123, 53, 54, 55, 56, 57, 123, - 59, 123, 61, 62, 123, 123, 123, 123, 123, 14, - 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, - 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, - 35, 123, 123, 38, 104, 105, 106, 107, 123, 109, - 123, 123, 123, 123, 123, 123, 123, 123, 53, 54, - 55, 56, 57, 123, 59, 123, 61, 62, 123, 123, - 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, - 123, 76, 88, 123, 25, 123, 92, 123, 29, 123, - 31, 123, 33, 123, 35, 123, 3, 38, 104, 105, - 106, 107, 123, 109, 123, 3, 123, 123, 123, 123, - 17, 123, 53, 54, 55, 56, 57, 123, 59, 26, - 61, 123, 83, 123, 22, 32, 123, 88, 35, 123, - 91, 92, 1, 123, 3, 76, 123, 35, 123, 100, - 101, 123, 123, 104, 105, 106, 107, 3, 109, 18, - 123, 58, 123, 51, 123, 123, 123, 26, 119, 120, - 58, 123, 123, 32, 123, 21, 35, 23, 24, 123, - 26, 27, 123, 123, 123, 123, 32, 123, 34, 35, - 36, 123, 123, 123, 123, 123, 123, 123, 123, 58, - 123, 123, 123, 123, 123, 123, 83, 123, 123, 123, - 123, 88, 58, 123, 91, 92, 123, 63, 123, 123, - 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, - 107, 77, 109, 83, 123, 123, 123, 123, 88, 116, - 123, 91, 92, 123, 123, 123, 123, 22, 123, 123, - 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, - 35, 123, 123, 123, 83, 123, 123, 123, 123, 88, - 120, 123, 91, 92, 123, 123, 51, 123, 123, 123, - 123, 100, 101, 58, 123, 104, 105, 106, 107, 123, - 109, 123, 123, 123, 123, 83, 123, 116, 123, 123, - 88, 123, 77, 91, 92, 123, 123, 123, 123, 123, - 123, 123, 100, 101, 123, 83, 104, 105, 106, 107, - 88, 109, 123, 91, 92, 93, 83, 123, 116, 123, - 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, - 123, 109, 123, 100, 101, 123, 123, 104, 105, 106, - 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, - 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, - 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, - 123, 83, 123, 123, 123, 123, 88, 123, 123, 91, - 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, - 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, - 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, - 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, - 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, - 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, - 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, - 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, - 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, - 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, - 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, - 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, - 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, - 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, - 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, - 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, - 123, 123, 123, 88, 123, 123, 91, 92, 123, 83, - 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, - 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, - 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, - 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, - 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, - 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, - 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, - 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, - 123, 123, 88, 123, 123, 91, 92, 123, 83, 123, - 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, - 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, - 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, - 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, - 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, - 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, - 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, - 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, - 123, 88, 123, 123, 91, 92, 123, 83, 123, 123, - 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, - 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, - 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, - 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, - 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, - 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, - 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, - 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, - 88, 123, 123, 91, 92, 123, 83, 123, 123, 123, - 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, - 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, - 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, - 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, - 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, - 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, - 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, - 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, - 123, 123, 91, 92, 123, 83, 123, 123, 123, 123, - 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, - 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, - 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, - 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, - 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, - 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, - 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, - 107, 123, 109, - ); + + static public $yy_action = array(218, 147, 326, 198, 325, 308, 304, 301, 303, 309, 310, 316, 201, 329, 340, 9, 288, 34, 348, 264, 5, 108, 201, 318, 311, 43, 123, 35, 126, 175, 251, 28, 250, 193, 127, 327, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 563, 91, 268, 247, 305, 246, 306, 247, 305, 246, 244, 206, 286, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 218, 188, 147, 328, 23, 106, 299, 43, 336, 23, 313, 299, 13, 28, 230, 8, 43, 24, 249, 348, 5, 108, 28, 37, 161, 43, 123, 218, 207, 425, 251, 28, 250, 313, 195, 325, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 207, 425, 248, 23, 240, 299, 29, 425, 238, 252, 227, 272, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 43, 202, 323, 25, 338, 218, 28, 419, 122, 20, 158, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 218, 263, 425, 206, 43, 477, 34, 23, 262, 299, 28, 3, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 139, 425, 232, 218, 477, 422, 23, 425, 299, 278, 121, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 162, 269, 422, 254, 218, 40, 140, 295, 422, 313, 127, 231, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 294, 15, 240, 23, 218, 299, 13, 21, 477, 41, 158, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 99, 160, 218, 43, 382, 477, 106, 477, 314, 28, 313, 315, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 139, 196, 218, 43, 206, 296, 477, 190, 325, 28, 257, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 214, 203, 4, 206, 478, 34, 10, 360, 218, 36, 387, 32, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 181, 164, 489, 478, 218, 45, 6, 332, 489, 313, 313, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 235, 207, 207, 23, 189, 299, 135, 317, 23, 117, 233, 194, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 137, 298, 131, 23, 23, 261, 242, 23, 206, 225, 275, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 173, 27, 300, 234, 260, 297, 116, 28, 136, 111, 97, 229, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 298, 298, 298, 320, 238, 243, 238, 271, 207, 166, 145, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 330, 172, 168, 197, 300, 319, 192, 107, 16, 133, 313, 274, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 103, 167, 6, 270, 159, 128, 280, 287, 199, 98, 313, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 298, 293, 171, 206, 7, 154, 235, 241, 145, 290, 158, 313, 281, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 218, 331, 165, 200, 258, 101, 169, 20, 266, 152, 144, 313, 68, 115, 243, 313, 11, 33, 11, 33, 191, 283, 341, 214, 300, 213, 217, 282, 292, 10, 348, 206, 228, 206, 124, 120, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 105, 182, 170, 289, 205, 22, 267, 307, 186, 302, 313, 313, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 300, 256, 339, 183, 206, 158, 95, 312, 300, 296, 102, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 298, 204, 184, 277, 286, 176, 185, 273, 45, 100, 157, 313, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 300, 298, 298, 104, 245, 14, 187, 326, 326, 326, 326, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 18, 326, 163, 349, 326, 326, 326, 326, 326, 326, 130, 313, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 300, 300, 326, 326, 326, 326, 326, 326, 326, 326, 158, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 218, 326, 326, 326, 326, 326, 326, 326, 326, 326, 113, 118, 326, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 139, 298, 298, 326, 326, 326, 326, 326, 326, 326, 326, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 326, 229, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 49, 51, 46, 44, 31, 38, 346, 345, 39, 42, 342, 343, 17, 12, 109, 335, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 344, 279, 350, 351, 357, 358, 359, 356, 355, 352, 353, 354, 326, 326, 241, 9, 141, 92, 326, 326, 5, 108, 326, 326, 326, 23, 123, 299, 336, 30, 251, 321, 250, 326, 236, 8, 26, 43, 326, 48, 5, 108, 326, 28, 326, 326, 123, 23, 326, 299, 251, 285, 250, 285, 47, 50, 284, 239, 291, 43, 219, 255, 106, 1, 479, 28, 479, 326, 218, 9, 134, 212, 326, 326, 5, 108, 326, 96, 326, 326, 123, 326, 93, 326, 251, 237, 250, 479, 236, 479, 26, 200, 180, 48, 326, 326, 326, 324, 25, 338, 326, 313, 326, 326, 11, 33, 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, 265, 206, 326, 326, 326, 9, 134, 221, 326, 326, 5, 108, 258, 96, 326, 326, 123, 146, 326, 326, 251, 138, 250, 326, 236, 326, 26, 200, 178, 48, 347, 326, 326, 215, 217, 282, 292, 313, 348, 326, 11, 33, 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, 326, 206, 326, 326, 326, 9, 127, 221, 326, 258, 5, 108, 326, 96, 156, 326, 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, 19, 276, 326, 48, 215, 217, 282, 292, 326, 348, 326, 326, 326, 326, 326, 200, 174, 326, 47, 50, 284, 239, 291, 326, 219, 313, 106, 1, 11, 33, 326, 326, 326, 9, 134, 209, 326, 258, 5, 108, 326, 96, 155, 206, 123, 326, 138, 326, 251, 326, 250, 326, 226, 326, 26, 200, 177, 48, 215, 217, 282, 292, 326, 348, 326, 313, 326, 326, 11, 33, 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, 326, 206, 326, 326, 326, 9, 134, 216, 326, 258, 5, 108, 326, 96, 148, 326, 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, 26, 200, 179, 48, 215, 217, 282, 292, 326, 348, 326, 313, 326, 326, 11, 33, 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, 326, 206, 326, 326, 326, 9, 132, 221, 326, 258, 5, 108, 326, 96, 151, 326, 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, 2, 326, 326, 48, 215, 217, 282, 292, 326, 348, 326, 326, 326, 326, 326, 326, 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, 326, 326, 326, 326, 326, 9, 129, 221, 326, 258, 5, 108, 326, 96, 150, 326, 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, 26, 326, 326, 48, 215, 217, 282, 292, 326, 348, 326, 326, 326, 326, 326, 326, 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, 326, 326, 326, 326, 326, 9, 134, 208, 326, 258, 5, 108, 326, 96, 153, 326, 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, 26, 326, 326, 48, 215, 217, 282, 292, 326, 348, 326, 326, 326, 326, 326, 326, 326, 326, 47, 50, 284, 239, 291, 326, 219, 326, 106, 1, 326, 326, 326, 326, 326, 9, 127, 221, 326, 258, 5, 108, 326, 96, 149, 326, 123, 326, 138, 326, 251, 326, 250, 326, 236, 326, 19, 326, 423, 48, 215, 217, 282, 292, 326, 348, 326, 322, 326, 326, 326, 326, 259, 326, 47, 50, 284, 239, 291, 326, 219, 423, 106, 326, 258, 326, 285, 423, 326, 125, 477, 326, 73, 138, 218, 326, 392, 96, 326, 479, 326, 283, 341, 326, 326, 213, 217, 282, 292, 467, 348, 253, 326, 477, 326, 93, 326, 326, 326, 43, 224, 334, 479, 326, 326, 28, 326, 467, 477, 467, 467, 326, 467, 467, 326, 326, 326, 326, 467, 326, 467, 477, 467, 326, 326, 326, 326, 326, 326, 326, 326, 477, 326, 326, 326, 326, 326, 326, 258, 326, 326, 326, 326, 152, 477, 326, 71, 138, 326, 467, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 467, 348, 258, 326, 326, 326, 326, 125, 220, 326, 73, 138, 326, 326, 326, 326, 285, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 479, 326, 326, 326, 258, 326, 326, 326, 326, 152, 333, 326, 71, 138, 326, 326, 93, 326, 326, 326, 326, 283, 341, 479, 326, 213, 217, 282, 292, 326, 348, 326, 326, 326, 326, 258, 326, 223, 326, 326, 152, 326, 337, 71, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 57, 115, 143, 258, 326, 222, 326, 326, 152, 283, 341, 87, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, 152, 326, 326, 75, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 326, 258, 326, 326, 326, 326, 152, 326, 326, 67, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 69, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 84, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 72, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, 152, 326, 326, 88, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 86, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 94, 348, 326, 52, 119, 326, 258, 326, 326, 326, 326, 152, 283, 341, 68, 138, 210, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 66, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, 94, 326, 326, 55, 119, 326, 258, 326, 326, 326, 326, 152, 283, 341, 60, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 53, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 89, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 90, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, 152, 326, 326, 59, 138, 326, 258, 326, 326, 326, 326, 142, 283, 341, 56, 138, 211, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 70, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 65, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 58, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, 152, 326, 326, 81, 138, 326, 258, 326, 326, 326, 326, 114, 283, 341, 80, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 112, 348, 326, 74, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 85, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 79, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, 152, 326, 326, 77, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 62, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 83, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 76, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 64, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348, 258, 326, 326, 326, 326, 152, 326, 326, 63, 138, 326, 258, 326, 326, 326, 326, 110, 283, 341, 61, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 82, 138, 326, 258, 326, 326, 326, 326, 152, 283, 341, 54, 138, 213, 217, 282, 292, 326, 348, 326, 283, 341, 326, 258, 213, 217, 282, 292, 152, 348, 326, 78, 138, 326, 326, 326, 326, 326, 326, 326, 283, 341, 326, 326, 213, 217, 282, 292, 326, 348,); + + static public $yy_lookahead = array(1, 92, 3, 113, 114, 4, 5, 6, 7, 8, 9, 10, 11, 104, 105, 14, 16, 34, 109, 36, 19, 20, 11, 12, 13, 26, 25, 14, 15, 16, 29, 32, 31, 89, 15, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 80, 81, 82, 83, 84, 85, 82, 83, 84, 85, 60, 117, 118, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 1, 90, 92, 59, 14, 61, 16, 26, 7, 14, 99, 16, 17, 32, 104, 14, 26, 2, 28, 109, 19, 20, 32, 24, 90, 26, 25, 1, 117, 3, 29, 32, 31, 99, 113, 114, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 117, 26, 27, 14, 60, 16, 17, 32, 92, 93, 94, 22, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 26, 89, 76, 77, 78, 1, 32, 3, 15, 17, 18, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 1, 3, 3, 117, 26, 35, 34, 14, 36, 16, 32, 35, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 58, 26, 56, 1, 58, 3, 14, 32, 16, 63, 58, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 90, 3, 26, 60, 1, 14, 15, 16, 32, 99, 15, 16, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 33, 28, 60, 14, 1, 16, 17, 28, 35, 17, 18, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 89, 90, 1, 26, 3, 58, 61, 35, 84, 32, 99, 87, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 58, 89, 1, 26, 117, 111, 58, 113, 114, 32, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 56, 3, 34, 117, 35, 34, 62, 36, 1, 14, 3, 17, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 90, 90, 56, 58, 1, 2, 35, 63, 62, 99, 99, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 56, 117, 117, 14, 89, 16, 15, 12, 14, 96, 16, 21, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 34, 112, 35, 14, 14, 16, 16, 14, 117, 16, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 110, 26, 112, 15, 16, 16, 86, 32, 96, 96, 96, 83, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 112, 112, 112, 108, 92, 93, 92, 93, 117, 110, 115, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 122, 90, 110, 98, 112, 3, 98, 98, 52, 15, 99, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 89, 90, 35, 16, 110, 16, 33, 16, 16, 96, 99, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 112, 108, 90, 117, 35, 16, 56, 2, 115, 16, 18, 99, 33, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 1, 77, 90, 89, 83, 89, 90, 17, 36, 88, 15, 99, 91, 92, 93, 99, 102, 103, 102, 103, 21, 100, 101, 56, 112, 104, 105, 106, 107, 62, 109, 117, 16, 117, 15, 15, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 89, 90, 90, 16, 16, 23, 63, 3, 61, 7, 99, 99, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 112, 27, 3, 61, 117, 18, 16, 99, 112, 111, 96, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 112, 3, 90, 26, 118, 110, 110, 115, 2, 96, 96, 99, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 112, 112, 112, 110, 95, 95, 110, 123, 123, 123, 123, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 2, 123, 90, 114, 123, 123, 123, 123, 123, 123, 97, 99, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 112, 112, 123, 123, 123, 123, 123, 123, 123, 123, 18, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, 123, 123, 123, 123, 123, 123, 123, 123, 123, 96, 96, 123, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 58, 112, 112, 123, 123, 123, 123, 123, 123, 123, 123, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 123, 83, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 121, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 123, 123, 2, 14, 15, 16, 123, 123, 19, 20, 123, 123, 123, 14, 25, 16, 7, 17, 29, 30, 31, 123, 33, 14, 35, 26, 123, 38, 19, 20, 123, 32, 123, 123, 25, 14, 123, 16, 29, 22, 31, 22, 53, 54, 55, 56, 57, 26, 59, 28, 61, 62, 35, 32, 35, 123, 1, 14, 15, 16, 123, 123, 19, 20, 123, 76, 123, 123, 25, 123, 51, 123, 29, 18, 31, 58, 33, 58, 35, 89, 90, 38, 123, 123, 123, 76, 77, 78, 123, 99, 123, 123, 102, 103, 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, 63, 117, 123, 123, 123, 14, 15, 16, 123, 123, 19, 20, 83, 76, 123, 123, 25, 88, 123, 123, 29, 92, 31, 123, 33, 123, 35, 89, 90, 38, 101, 123, 123, 104, 105, 106, 107, 99, 109, 123, 102, 103, 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, 123, 117, 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, 35, 101, 123, 38, 104, 105, 106, 107, 123, 109, 123, 123, 123, 123, 123, 89, 90, 123, 53, 54, 55, 56, 57, 123, 59, 99, 61, 62, 102, 103, 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, 88, 117, 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, 35, 89, 90, 38, 104, 105, 106, 107, 123, 109, 123, 99, 123, 123, 102, 103, 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, 123, 117, 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, 35, 89, 90, 38, 104, 105, 106, 107, 123, 109, 123, 99, 123, 123, 102, 103, 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, 123, 117, 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, 35, 123, 123, 38, 104, 105, 106, 107, 123, 109, 123, 123, 123, 123, 123, 123, 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, 123, 123, 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, 35, 123, 123, 38, 104, 105, 106, 107, 123, 109, 123, 123, 123, 123, 123, 123, 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, 123, 123, 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, 35, 123, 123, 38, 104, 105, 106, 107, 123, 109, 123, 123, 123, 123, 123, 123, 123, 123, 53, 54, 55, 56, 57, 123, 59, 123, 61, 62, 123, 123, 123, 123, 123, 14, 15, 16, 123, 83, 19, 20, 123, 76, 88, 123, 25, 123, 92, 123, 29, 123, 31, 123, 33, 123, 35, 123, 3, 38, 104, 105, 106, 107, 123, 109, 123, 3, 123, 123, 123, 123, 17, 123, 53, 54, 55, 56, 57, 123, 59, 26, 61, 123, 83, 123, 22, 32, 123, 88, 35, 123, 91, 92, 1, 123, 3, 76, 123, 35, 123, 100, 101, 123, 123, 104, 105, 106, 107, 3, 109, 18, 123, 58, 123, 51, 123, 123, 123, 26, 119, 120, 58, 123, 123, 32, 123, 21, 35, 23, 24, 123, 26, 27, 123, 123, 123, 123, 32, 123, 34, 35, 36, 123, 123, 123, 123, 123, 123, 123, 123, 58, 123, 123, 123, 123, 123, 123, 83, 123, 123, 123, 123, 88, 58, 123, 91, 92, 123, 63, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 77, 109, 83, 123, 123, 123, 123, 88, 116, 123, 91, 92, 123, 123, 123, 123, 22, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 35, 123, 123, 123, 83, 123, 123, 123, 123, 88, 120, 123, 91, 92, 123, 123, 51, 123, 123, 123, 123, 100, 101, 58, 123, 104, 105, 106, 107, 123, 109, 123, 123, 123, 123, 83, 123, 116, 123, 123, 88, 123, 77, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 93, 83, 123, 116, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 123, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109, 83, 123, 123, 123, 123, 88, 123, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 83, 123, 123, 123, 123, 88, 100, 101, 91, 92, 104, 105, 106, 107, 123, 109, 123, 100, 101, 123, 83, 104, 105, 106, 107, 88, 109, 123, 91, 92, 123, 123, 123, 123, 123, 123, 123, 100, 101, 123, 123, 104, 105, 106, 107, 123, 109,); + const YY_SHIFT_USE_DFLT = - 18; + const YY_SHIFT_MAX = 261; - static public $yy_shift_ofst = array( - 1, 1123, 1177, 961, 1123, 1177, 961, 961, 853, 853, - 907, 961, 961, 961, 961, 961, 1231, 961, 961, 961, - 961, 961, 961, 961, 1285, 961, 961, 1069, 961, 961, - 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - 961, 961, 961, 1069, 1015, 1015, 1339, 1339, 1339, 1339, - 1339, 1339, - 1, 74, 124, 124, 124, 124, 124, 474, - 424, 599, 649, 699, 324, 174, 224, 374, 274, 549, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 788, - 788, 1, 1411, 19, 277, 253, 76, 885, 65, 154, - 863, 154, 863, 253, 517, 253, 221, 353, 367, 873, - 101, 70, 175, 115, 202, 142, 11, 192, 239, 242, - 365, 414, 365, 401, 365, 229, 370, 365, 919, 389, - 56, 367, 390, 365, 390, 365, 365, 367, 717, 414, - 365, 393, 333, 56, 365, 612, 301, 612, 301, 301, - 301, 301, 301, 301, 301, 301, - 18, 169, 13, 270, - 56, 56, 56, 56, 56, 56, 270, 56, 270, 56, - 56, 56, 56, 270, 56, 321, 270, 56, 56, 56, - 56, 56, 56, 296, 56, 270, 296, 270, 56, 301, - 612, 628, 657, 301, 628, 612, 301, 657, 612, 494, - 301, 371, 301, - 18, - 18, - 18, - 18, - 18, 1424, 1373, - 1382, 1495, 146, 883, 217, 881, 223, 152, 0, 295, - - 17, 248, 148, 297, 294, 864, 320, 366, 544, 624, - 567, 548, 566, 494, 492, 473, 475, 514, 540, 504, - 518, 588, 530, 522, 491, 545, 603, 605, 570, 569, - 489, 589, 583, 615, 415, 143, 470, 432, 478, 487, - 467, 90, - ); + + static public $yy_shift_ofst = array(1, 1123, 1177, 961, 1123, 1177, 961, 961, 853, 853, 907, 961, 961, 961, 961, 961, 1231, 961, 961, 961, 961, 961, 961, 961, 1285, 961, 961, 1069, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, 1069, 1015, 1015, 1339, 1339, 1339, 1339, 1339, 1339, - 1, 74, 124, 124, 124, 124, 124, 474, 424, 599, 649, 699, 324, 174, 224, 374, 274, 549, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, 788, 788, 1, 1411, 19, 277, 253, 76, 885, 65, 154, 863, 154, 863, 253, 517, 253, 221, 353, 367, 873, 101, 70, 175, 115, 202, 142, 11, 192, 239, 242, 365, 414, 365, 401, 365, 229, 370, 365, 919, 389, 56, 367, 390, 365, 390, 365, 365, 367, 717, 414, 365, 393, 333, 56, 365, 612, 301, 612, 301, 301, 301, 301, 301, 301, 301, 301, - 18, 169, 13, 270, 56, 56, 56, 56, 56, 56, 270, 56, 270, 56, 56, 56, 56, 270, 56, 321, 270, 56, 56, 56, 56, 56, 56, 296, 56, 270, 296, 270, 56, 301, 612, 628, 657, 301, 628, 612, 301, 657, 612, 494, 301, 371, 301, - 18, - 18, - 18, - 18, - 18, 1424, 1373, 1382, 1495, 146, 883, 217, 881, 223, 152, 0, 295, - 17, 248, 148, 297, 294, 864, 320, 366, 544, 624, 567, 548, 566, 494, 492, 473, 475, 514, 540, 504, 518, 588, 530, 522, 491, 545, 603, 605, 570, 569, 489, 589, 583, 615, 415, 143, 470, 432, 478, 487, 467, 90,); + const YY_REDUCE_USE_DFLT = - 111; + const YY_REDUCE_MAX = 207; - static public $yy_reduce_ofst = array( - - 30, 1319, 471, 1393, 1420, 1502, 1482, 1451, 1677, 1735, - 1746, 1599, 1540, 1619, 1588, 2033, 2091, 1855, 1777, 1568, - 1646, 1657, 1766, 1708, 1797, 1824, 1688, 2102, 1924, 1955, - 1835, 2002, 2153, 2044, 1513, 2013, 2064, 2133, 2122, 1975, - 1866, 1886, 1913, 1944, 899, 950, 1274, 1166, 1220, 1058, - 1004, 1112, 466, 908, 854, 466, 1016, 976, 1070, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, - 26, 411, - 91, 187, 512, 718, 563, 613, 260, - 513, 9, 462, - 14, 194, 261, - 15, - 56, 42, 354, - 62, 316, 62, 614, 62, - 110, 200, 316, 316, - 110, - 413, 345, 539, 387, 564, 62, 338, 289, 291, 289, - 136, 362, 339, 340, 289, 665, 368, 364, - 110, 418, - 565, 289, 62, 437, 664, - 4, 62, - 110, 62, 62, - 62, 62, 62, 62, 212, 62, 62, 521, 543, 523, - 533, 533, 533, 533, 533, 533, 523, 533, 523, 533, - 533, 533, 533, 523, 533, 546, 523, 533, 533, 533, - 533, 533, 533, 547, 533, 523, 571, 523, 533, 341, - 590, 584, 537, 341, 585, 590, 341, 537, 590, 568, - 341, 346, 341, 349, 394, 385, 381, 384, - ); - static public $yyExpectedTokens = array( - array(4, 5, 6, 7, 8, 9, 10, 11, 14, 19, 20, 25, 29, 31,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 30, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 30, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 63, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), - array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), - array(1, 3, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 24, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 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, 75,), - array(1, 27, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 2, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 21, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), - array(4, 5, 6, 7, 8, 9, 10, 11, 14, 19, 20, 25, 29, 31,), - array(1, 3, 18, 26, 32, 35, 58,), - array(15, 16, 59, 61,), - array(1, 3, 26, 32,), - array(1, 26, 32,), - array(7, 14, 19, 20, 25, 29, 31, 76, 77, 78,), - array(14, 16, 26, 28, 32,), - array(14, 16, 26, 28, 32,), - array(1, 3, 26, 32,), - array(14, 16, 26, 32,), - array(1, 3, 26, 32,), - array(14, 16, 26, 32,), - array(1, 26, 32,), - array(18, 56, 62,), - array(1, 26, 32,), - array(15, 16, 61,), - array(1, 2,), - array(15, 35,), - array(7, 14, 19, 20, 25, 29, 31, 76, 77, 78,), - array(1, 3, 26, 27, 32,), - array(14, 16, 17, 60,), - array(1, 3, 26, 32,), - array(14, 16, 17, 22,), - array(1, 3, 26, 32,), - array(17, 18, 58,), - array(11, 12, 13,), - array(14, 16, 60,), - array(14, 16, 17,), - array(17, 18, 58,), - array(14, 16,), - array(15, 16,), - array(14, 16,), - array(26, 32,), - array(14, 16,), - array(1, 28,), - array(14, 16,), - array(14, 16,), - array(1, 18,), - array(14, 16,), - array(26, 32,), - array(15, 35,), - array(14, 16,), - array(14, 16,), - array(14, 16,), - array(14, 16,), - array(14, 16,), - array(15, 35,), - array(18, 58,), - array(15, 16,), - array(14, 16,), - array(14, 16,), - array(1, 3,), - array(26, 32,), - array(14, 16,), - array(18,), - array(1,), - array(18,), - array(1,), - array(1,), - array(1,), - array(1,), - array(1,), - array(1,), - array(1,), - array(1,), - array(), - array(14, 16, 60,), - array(14, 15, 16,), - array(56, 62,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(56, 62,), - array(26, 32,), - array(56, 62,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(56, 62,), - array(26, 32,), - array(14, 35,), - array(56, 62,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(26, 32,), - array(56, 62,), - array(26, 32,), - array(56, 62,), - array(56, 62,), - array(56, 62,), - array(26, 32,), - array(1,), - array(18,), - array(26,), - array(2,), - array(1,), - array(26,), - array(18,), - array(1,), - array(2,), - array(18,), - array(35,), - array(1,), - array(12,), - array(1,), - array(), - array(), - array(), - array(), - array(), - array(3, 21, 23, 24, 26, 27, 32, 34, 35, 36, 58, 63, 77,), - array(3, 17, 26, 32, 35, 58,), - array(3, 22, 35, 51, 58,), - array(22, 35, 51, 58, 77,), - array(35, 56, 58, 63,), - array(22, 35, 51, 58,), - array(14, 15, 16, 33,), - array(22, 35, 58,), - array(28, 35, 58,), - array(35, 58,), - array(16, 60,), - array(35, 58,), - array(34, 36,), - array(35, 58,), - array(34, 36,), - array(34, 36,), - array(34, 63,), - array(2, 17,), - array(17, 56,), - array(21, 34,), - array(63,), - array(3,), - array(61,), - array(61,), - array(16,), - array(35,), - array(16,), - array(33,), - array(56,), - array(16,), - array(17,), - array(33,), - array(16,), - array(16,), - array(2,), - array(36,), - array(16,), - array(15,), - array(7,), - array(3,), - array(15,), - array(15,), - array(16,), - array(16,), - array(23,), - array(16,), - array(16,), - array(15,), - array(15,), - array(52,), - array(3,), - array(16,), - array(35,), - array(2,), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - array(), - ); - static public $yy_default = array( - 364, 545, 562, 516, 562, 562, 516, 516, 562, 562, - 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, - 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, - 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, - 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, - 562, 562, 562, 419, 419, 419, 388, 396, 419, 562, - 562, 424, 562, 562, 562, 562, 562, 562, 562, 562, - 452, 515, 429, 548, 424, 453, 443, 444, 426, 448, - 421, 449, 445, 547, 440, 401, 546, 514, 430, 456, - 455, 361, 467, 562, 432, 419, 562, 419, 419, 474, - 419, 439, 419, 419, 528, 419, 562, 410, 562, 562, - 432, 489, 432, 562, 432, 480, 562, 489, 489, 480, - 562, 562, 562, 419, 562, 432, 562, 562, 413, 562, - 419, 562, 562, 562, 562, 562, 489, 562, 480, 562, - 562, 562, 432, 398, 562, 525, 442, 480, 435, 437, - 459, 436, 432, 458, 415, 460, 523, 490, 562, 508, - 384, 385, 400, 406, 395, 409, 509, 391, 507, 386, - 407, 399, 405, 487, 397, 489, 506, 389, 403, 390, - 404, 383, 394, 485, 408, 486, 483, 484, 393, 414, - 529, 561, 517, 411, 561, 526, 416, 518, 503, 489, - 439, 379, 474, 489, 489, 522, 522, 522, 434, 467, - 457, 457, 467, 457, 562, 457, 467, 562, 562, 475, - 562, 467, 562, 562, 562, 501, 463, 562, 562, 562, - 562, 562, 562, 501, 562, 465, 463, 562, 562, 562, - 562, 562, 501, 562, 562, 562, 370, 562, 562, 562, - 562, 562, 427, 562, 562, 562, 562, 469, 562, 562, - 527, 501, 512, 494, 511, 498, 431, 496, 362, 502, - 420, 428, 402, 510, 497, 469, 524, 560, 495, 531, - 464, 466, 468, 433, 462, 461, 521, 519, 520, 434, - 481, 470, 471, 472, 493, 492, 488, 491, 499, 501, - 500, 369, 372, 371, 368, 367, 363, 365, 366, 373, - 374, 381, 417, 418, 380, 378, 375, 376, 377, 473, - 476, 412, 556, 549, 550, 504, 557, 477, 478, 479, - 551, 554, 542, 544, 543, 552, 559, 553, 555, 558, - 454, 438, 450, 451, 530, 447, 446, 441, 482, 505, - 532, 533, 539, 540, 541, 538, 537, 534, 535, 536, - 513, - ); + + static public $yy_reduce_ofst = array(- 30, 1319, 471, 1393, 1420, 1502, 1482, 1451, 1677, 1735, 1746, 1599, 1540, 1619, 1588, 2033, 2091, 1855, 1777, 1568, 1646, 1657, 1766, 1708, 1797, 1824, 1688, 2102, 1924, 1955, 1835, 2002, 2153, 2044, 1513, 2013, 2064, 2133, 2122, 1975, 1866, 1886, 1913, 1944, 899, 950, 1274, 1166, 1220, 1058, 1004, 1112, 466, 908, 854, 466, 1016, 976, 1070, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 26, 411, - 91, 187, 512, 718, 563, 613, 260, 513, 9, 462, - 14, 194, 261, - 15, - 56, 42, 354, 62, 316, 62, 614, 62, - 110, 200, 316, 316, - 110, 413, 345, 539, 387, 564, 62, 338, 289, 291, 289, 136, 362, 339, 340, 289, 665, 368, 364, - 110, 418, 565, 289, 62, 437, 664, - 4, 62, - 110, 62, 62, 62, 62, 62, 62, 212, 62, 62, 521, 543, 523, 533, 533, 533, 533, 533, 533, 523, 533, 523, 533, 533, 533, 533, 523, 533, 546, 523, 533, 533, 533, 533, 533, 533, 547, 533, 523, 571, 523, 533, 341, 590, 584, 537, 341, 585, 590, 341, 537, 590, 568, 341, 346, 341, 349, 394, 385, 381, 384,); + + static public $yyExpectedTokens = array(array(4, 5, 6, 7, 8, 9, 10, 11, 14, 19, 20, 25, 29, 31,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 30, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 30, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 63, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 62, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), array(14, 15, 16, 19, 20, 25, 29, 31, 33, 35, 38, 53, 54, 55, 56, 57, 59, 61, 76,), array(1, 3, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 24, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 26, 32, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 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, 75,), array(1, 27, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 2, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 3, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 21, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,), array(4, 5, 6, 7, 8, 9, 10, 11, 14, 19, 20, 25, 29, 31,), array(1, 3, 18, 26, 32, 35, 58,), array(15, 16, 59, 61,), array(1, 3, 26, 32,), array(1, 26, 32,), array(7, 14, 19, 20, 25, 29, 31, 76, 77, 78,), array(14, 16, 26, 28, 32,), array(14, 16, 26, 28, 32,), array(1, 3, 26, 32,), array(14, 16, 26, 32,), array(1, 3, 26, 32,), array(14, 16, 26, 32,), array(1, 26, 32,), array(18, 56, 62,), array(1, 26, 32,), array(15, 16, 61,), array(1, 2,), array(15, 35,), array(7, 14, 19, 20, 25, 29, 31, 76, 77, 78,), array(1, 3, 26, 27, 32,), array(14, 16, 17, 60,), array(1, 3, 26, 32,), array(14, 16, 17, 22,), array(1, 3, 26, 32,), array(17, 18, 58,), array(11, 12, 13,), array(14, 16, 60,), array(14, 16, 17,), array(17, 18, 58,), array(14, 16,), array(15, 16,), array(14, 16,), array(26, 32,), array(14, 16,), array(1, 28,), array(14, 16,), array(14, 16,), array(1, 18,), array(14, 16,), array(26, 32,), array(15, 35,), array(14, 16,), array(14, 16,), array(14, 16,), array(14, 16,), array(14, 16,), array(15, 35,), array(18, 58,), array(15, 16,), array(14, 16,), array(14, 16,), array(1, 3,), array(26, 32,), array(14, 16,), array(18,), array(1,), array(18,), array(1,), array(1,), array(1,), array(1,), array(1,), array(1,), array(1,), array(1,), array(), array(14, 16, 60,), array(14, 15, 16,), array(56, 62,), array(26, 32,), array(26, 32,), array(26, 32,), array(26, 32,), array(26, 32,), array(26, 32,), array(56, 62,), array(26, 32,), array(56, 62,), array(26, 32,), array(26, 32,), array(26, 32,), array(26, 32,), array(56, 62,), array(26, 32,), array(14, 35,), array(56, 62,), array(26, 32,), array(26, 32,), array(26, 32,), array(26, 32,), array(26, 32,), array(26, 32,), array(56, 62,), array(26, 32,), array(56, 62,), array(56, 62,), array(56, 62,), array(26, 32,), array(1,), array(18,), array(26,), array(2,), array(1,), array(26,), array(18,), array(1,), array(2,), array(18,), array(35,), array(1,), array(12,), array(1,), array(), array(), array(), array(), array(), array(3, 21, 23, 24, 26, 27, 32, 34, 35, 36, 58, 63, 77,), array(3, 17, 26, 32, 35, 58,), array(3, 22, 35, 51, 58,), array(22, 35, 51, 58, 77,), array(35, 56, 58, 63,), array(22, 35, 51, 58,), array(14, 15, 16, 33,), array(22, 35, 58,), array(28, 35, 58,), array(35, 58,), array(16, 60,), array(35, 58,), array(34, 36,), array(35, 58,), array(34, 36,), array(34, 36,), array(34, 63,), array(2, 17,), array(17, 56,), array(21, 34,), array(63,), array(3,), array(61,), array(61,), array(16,), array(35,), array(16,), array(33,), array(56,), array(16,), array(17,), array(33,), array(16,), array(16,), array(2,), array(36,), array(16,), array(15,), array(7,), array(3,), array(15,), array(15,), array(16,), array(16,), array(23,), array(16,), array(16,), array(15,), array(15,), array(52,), array(3,), array(16,), array(35,), array(2,), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array(),); + + static public $yy_default = array(364, 545, 562, 516, 562, 562, 516, 516, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 419, 419, 419, 388, 396, 419, 562, 562, 424, 562, 562, 562, 562, 562, 562, 562, 562, 452, 515, 429, 548, 424, 453, 443, 444, 426, 448, 421, 449, 445, 547, 440, 401, 546, 514, 430, 456, 455, 361, 467, 562, 432, 419, 562, 419, 419, 474, 419, 439, 419, 419, 528, 419, 562, 410, 562, 562, 432, 489, 432, 562, 432, 480, 562, 489, 489, 480, 562, 562, 562, 419, 562, 432, 562, 562, 413, 562, 419, 562, 562, 562, 562, 562, 489, 562, 480, 562, 562, 562, 432, 398, 562, 525, 442, 480, 435, 437, 459, 436, 432, 458, 415, 460, 523, 490, 562, 508, 384, 385, 400, 406, 395, 409, 509, 391, 507, 386, 407, 399, 405, 487, 397, 489, 506, 389, 403, 390, 404, 383, 394, 485, 408, 486, 483, 484, 393, 414, 529, 561, 517, 411, 561, 526, 416, 518, 503, 489, 439, 379, 474, 489, 489, 522, 522, 522, 434, 467, 457, 457, 467, 457, 562, 457, 467, 562, 562, 475, 562, 467, 562, 562, 562, 501, 463, 562, 562, 562, 562, 562, 562, 501, 562, 465, 463, 562, 562, 562, 562, 562, 501, 562, 562, 562, 370, 562, 562, 562, 562, 562, 427, 562, 562, 562, 562, 469, 562, 562, 527, 501, 512, 494, 511, 498, 431, 496, 362, 502, 420, 428, 402, 510, 497, 469, 524, 560, 495, 531, 464, 466, 468, 433, 462, 461, 521, 519, 520, 434, 481, 470, 471, 472, 493, 492, 488, 491, 499, 501, 500, 369, 372, 371, 368, 367, 363, 365, 366, 373, 374, 381, 417, 418, 380, 378, 375, 376, 377, 473, 476, 412, 556, 549, 550, 504, 557, 477, 478, 479, 551, 554, 542, 544, 543, 552, 559, 553, 555, 558, 454, 438, 450, 451, 530, 447, 446, 441, 482, 505, 532, 533, 539, 540, 541, 538, 537, 534, 535, 536, 513,); + const YYNOCODE = 124; + const YYSTACKDEPTH = 500; + const YYNSTATE = 361; + const YYNRULE = 201; + const YYERRORSYMBOL = 79; + const YYERRSYMDT = 'yy0'; + const YYFALLBACK = 0; + public static $yyFallback = array(); public function Trace($TraceFILE, $zTracePrompt) @@ -1255,248 +468,16 @@ class Smarty_Internal_Templateparser } public $yyTraceFILE; + public $yyTracePrompt; + public $yyidx; /* Index of top element in stack */ public $yyerrcnt; /* Shifts left before out of the error */ public $yystack = array(); /* The parser's stack */ - public $yyTokenName = array( - '$', 'VERT', 'COLON', 'RDEL', - 'COMMENT', 'PHP', 'XMLTAG', 'TEXT', - 'STRIPON', 'STRIPOFF', 'BLOCKSOURCE', 'LITERALSTART', - 'LITERALEND', 'LITERAL', 'LDEL', 'DOLLAR', - 'ID', 'EQUAL', 'PTR', 'LDELIF', - 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO', - 'STEP', 'LDELFOREACH', 'SPACE', 'AS', - 'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', 'LDELSLASH', - 'ATTR', 'INTEGER', 'COMMA', 'OPENP', - 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM', - 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', - 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', - 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', - 'QMARK', 'NOT', 'TYPECAST', 'HEX', - 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', - 'AT', 'HATCH', 'OPENB', 'CLOSEB', - 'EQUALS', 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', - 'GREATEREQUAL', 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', - 'MOD', 'LAND', 'LOR', 'LXOR', - 'QUOTE', 'BACKTICK', 'DOLLARID', 'error', - 'start', 'template', 'template_element', 'smartytag', - 'literal', 'text_content', 'literal_elements', 'literal_element', - 'value', 'modifierlist', 'attributes', 'expr', - 'varindexed', 'statement', 'statements', 'optspace', - 'varvar', 'foraction', 'modparameters', 'attribute', - 'ternary', 'array', 'ifcond', 'lop', - 'variable', 'ns1', 'function', 'doublequoted_with_quotes', - 'static_class_access', 'object', 'arrayindex', 'indexdef', - 'varvarele', 'objectchain', 'objectelement', 'method', - 'params', 'modifier', 'modparameter', 'arrayelements', - 'arrayelement', 'doublequoted', 'doublequotedcontent', - ); + public $yyTokenName = array('$', 'VERT', 'COLON', 'RDEL', 'COMMENT', 'PHP', 'XMLTAG', 'TEXT', 'STRIPON', 'STRIPOFF', 'BLOCKSOURCE', 'LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL', 'DOLLAR', 'ID', 'EQUAL', 'PTR', 'LDELIF', 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO', 'STEP', 'LDELFOREACH', 'SPACE', 'AS', 'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', 'LDELSLASH', 'ATTR', 'INTEGER', 'COMMA', 'OPENP', 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM', 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS', 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL', 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD', 'LAND', 'LOR', 'LXOR', 'QUOTE', 'BACKTICK', 'DOLLARID', 'error', 'start', 'template', 'template_element', 'smartytag', 'literal', 'text_content', 'literal_elements', 'literal_element', 'value', 'modifierlist', 'attributes', 'expr', 'varindexed', 'statement', 'statements', 'optspace', 'varvar', 'foraction', 'modparameters', 'attribute', 'ternary', 'array', 'ifcond', 'lop', 'variable', 'ns1', 'function', 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex', 'indexdef', 'varvarele', 'objectchain', 'objectelement', 'method', 'params', 'modifier', 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',); - public static $yyRuleName = array( - "start ::= template", - "template ::= template_element", - "template ::= template template_element", - "template ::=", - "template_element ::= smartytag RDEL", - "template_element ::= COMMENT", - "template_element ::= literal", - "template_element ::= PHP", - "template_element ::= XMLTAG", - "template_element ::= text_content", - "text_content ::= TEXT", - "text_content ::= text_content TEXT", - "template_element ::= STRIPON", - "template_element ::= STRIPOFF", - "template_element ::= BLOCKSOURCE", - "literal ::= LITERALSTART LITERALEND", - "literal ::= LITERALSTART literal_elements LITERALEND", - "literal_elements ::= literal_elements literal_element", - "literal_elements ::=", - "literal_element ::= literal", - "literal_element ::= LITERAL", - "smartytag ::= LDEL value", - "smartytag ::= LDEL value modifierlist attributes", - "smartytag ::= LDEL value attributes", - "smartytag ::= LDEL expr modifierlist attributes", - "smartytag ::= LDEL expr attributes", - "smartytag ::= LDEL DOLLAR ID EQUAL value", - "smartytag ::= LDEL DOLLAR ID EQUAL expr", - "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes", - "smartytag ::= LDEL varindexed EQUAL expr attributes", - "smartytag ::= LDEL ID attributes", - "smartytag ::= LDEL ID", - "smartytag ::= LDEL ID modifierlist attributes", - "smartytag ::= LDEL ID PTR ID attributes", - "smartytag ::= LDEL ID PTR ID modifierlist attributes", - "smartytag ::= LDELIF expr", - "smartytag ::= LDELIF expr attributes", - "smartytag ::= LDELIF statement", - "smartytag ::= LDELIF statement attributes", - "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes", - "foraction ::= EQUAL expr", - "foraction ::= INCDEC", - "smartytag ::= LDELFOR statement TO expr attributes", - "smartytag ::= LDELFOR statement TO expr STEP expr attributes", - "smartytag ::= LDELFOREACH attributes", - "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes", - "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes", - "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes", - "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes", - "smartytag ::= LDELSETFILTER ID modparameters", - "smartytag ::= LDELSETFILTER ID modparameters modifierlist", - "smartytag ::= LDEL SMARTYBLOCKCHILDPARENT", - "smartytag ::= LDELSLASH ID", - "smartytag ::= LDELSLASH ID modifierlist", - "smartytag ::= LDELSLASH ID PTR ID", - "smartytag ::= LDELSLASH ID PTR ID modifierlist", - "attributes ::= attributes attribute", - "attributes ::= attribute", - "attributes ::=", - "attribute ::= SPACE ID EQUAL ID", - "attribute ::= ATTR expr", - "attribute ::= ATTR value", - "attribute ::= SPACE ID", - "attribute ::= SPACE expr", - "attribute ::= SPACE value", - "attribute ::= SPACE INTEGER EQUAL expr", - "statements ::= statement", - "statements ::= statements COMMA statement", - "statement ::= DOLLAR varvar EQUAL expr", - "statement ::= varindexed EQUAL expr", - "statement ::= OPENP statement CLOSEP", - "expr ::= value", - "expr ::= ternary", - "expr ::= DOLLAR ID COLON ID", - "expr ::= expr MATH value", - "expr ::= expr UNIMATH value", - "expr ::= expr ANDSYM value", - "expr ::= array", - "expr ::= expr modifierlist", - "expr ::= expr ifcond expr", - "expr ::= expr ISIN array", - "expr ::= expr ISIN value", - "expr ::= expr lop expr", - "expr ::= expr ISDIVBY expr", - "expr ::= expr ISNOTDIVBY expr", - "expr ::= expr ISEVEN", - "expr ::= expr ISNOTEVEN", - "expr ::= expr ISEVENBY expr", - "expr ::= expr ISNOTEVENBY expr", - "expr ::= expr ISODD", - "expr ::= expr ISNOTODD", - "expr ::= expr ISODDBY expr", - "expr ::= expr ISNOTODDBY expr", - "expr ::= variable INSTANCEOF ns1", - "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", - "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", - "value ::= variable", - "value ::= UNIMATH value", - "value ::= NOT value", - "value ::= TYPECAST value", - "value ::= variable INCDEC", - "value ::= HEX", - "value ::= INTEGER", - "value ::= INTEGER DOT INTEGER", - "value ::= INTEGER DOT", - "value ::= DOT INTEGER", - "value ::= ID", - "value ::= function", - "value ::= OPENP expr CLOSEP", - "value ::= SINGLEQUOTESTRING", - "value ::= doublequoted_with_quotes", - "value ::= varindexed DOUBLECOLON static_class_access", - "value ::= smartytag RDEL", - "value ::= value modifierlist", - "value ::= NAMESPACE", - "value ::= ns1 DOUBLECOLON static_class_access", - "ns1 ::= ID", - "ns1 ::= NAMESPACE", - "ns1 ::= variable", - "variable ::= varindexed", - "variable ::= DOLLAR varvar AT ID", - "variable ::= object", - "variable ::= HATCH ID HATCH", - "variable ::= HATCH ID HATCH arrayindex", - "variable ::= HATCH variable HATCH", - "variable ::= HATCH variable HATCH arrayindex", - "varindexed ::= DOLLAR varvar arrayindex", - "arrayindex ::= arrayindex indexdef", - "arrayindex ::=", - "indexdef ::= DOT DOLLAR varvar", - "indexdef ::= DOT DOLLAR varvar AT ID", - "indexdef ::= DOT ID", - "indexdef ::= DOT INTEGER", - "indexdef ::= DOT LDEL expr RDEL", - "indexdef ::= OPENB ID CLOSEB", - "indexdef ::= OPENB ID DOT ID CLOSEB", - "indexdef ::= OPENB expr CLOSEB", - "indexdef ::= OPENB CLOSEB", - "varvar ::= varvarele", - "varvar ::= varvar varvarele", - "varvarele ::= ID", - "varvarele ::= LDEL expr RDEL", - "object ::= varindexed objectchain", - "objectchain ::= objectelement", - "objectchain ::= objectchain objectelement", - "objectelement ::= PTR ID arrayindex", - "objectelement ::= PTR DOLLAR varvar arrayindex", - "objectelement ::= PTR LDEL expr RDEL arrayindex", - "objectelement ::= PTR ID LDEL expr RDEL arrayindex", - "objectelement ::= PTR method", - "function ::= ns1 OPENP params CLOSEP", - "method ::= ID OPENP params CLOSEP", - "method ::= DOLLAR ID OPENP params CLOSEP", - "params ::= params COMMA expr", - "params ::= expr", - "params ::=", - "modifierlist ::= modifierlist modifier modparameters", - "modifierlist ::= modifier modparameters", - "modifier ::= VERT AT ID", - "modifier ::= VERT ID", - "modparameters ::= modparameters modparameter", - "modparameters ::=", - "modparameter ::= COLON value", - "modparameter ::= COLON array", - "static_class_access ::= method", - "static_class_access ::= method objectchain", - "static_class_access ::= ID", - "static_class_access ::= DOLLAR ID arrayindex", - "static_class_access ::= DOLLAR ID arrayindex objectchain", - "ifcond ::= EQUALS", - "ifcond ::= NOTEQUALS", - "ifcond ::= GREATERTHAN", - "ifcond ::= LESSTHAN", - "ifcond ::= GREATEREQUAL", - "ifcond ::= LESSEQUAL", - "ifcond ::= IDENTITY", - "ifcond ::= NONEIDENTITY", - "ifcond ::= MOD", - "lop ::= LAND", - "lop ::= LOR", - "lop ::= LXOR", - "array ::= OPENB arrayelements CLOSEB", - "arrayelements ::= arrayelement", - "arrayelements ::= arrayelements COMMA arrayelement", - "arrayelements ::=", - "arrayelement ::= value APTR expr", - "arrayelement ::= ID APTR expr", - "arrayelement ::= expr", - "doublequoted_with_quotes ::= QUOTE QUOTE", - "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", - "doublequoted ::= doublequoted doublequotedcontent", - "doublequoted ::= doublequotedcontent", - "doublequotedcontent ::= BACKTICK variable BACKTICK", - "doublequotedcontent ::= BACKTICK expr BACKTICK", - "doublequotedcontent ::= DOLLARID", - "doublequotedcontent ::= LDEL variable RDEL", - "doublequotedcontent ::= LDEL expr RDEL", - "doublequotedcontent ::= smartytag RDEL", - "doublequotedcontent ::= TEXT", - "optspace ::= SPACE", - "optspace ::=", - ); + public static $yyRuleName = array("start ::= template", "template ::= template_element", "template ::= template template_element", "template ::=", "template_element ::= smartytag RDEL", "template_element ::= COMMENT", "template_element ::= literal", "template_element ::= PHP", "template_element ::= XMLTAG", "template_element ::= text_content", "text_content ::= TEXT", "text_content ::= text_content TEXT", "template_element ::= STRIPON", "template_element ::= STRIPOFF", "template_element ::= BLOCKSOURCE", "literal ::= LITERALSTART LITERALEND", "literal ::= LITERALSTART literal_elements LITERALEND", "literal_elements ::= literal_elements literal_element", "literal_elements ::=", "literal_element ::= literal", "literal_element ::= LITERAL", "smartytag ::= LDEL value", "smartytag ::= LDEL value modifierlist attributes", "smartytag ::= LDEL value attributes", "smartytag ::= LDEL expr modifierlist attributes", "smartytag ::= LDEL expr attributes", "smartytag ::= LDEL DOLLAR ID EQUAL value", "smartytag ::= LDEL DOLLAR ID EQUAL expr", "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes", "smartytag ::= LDEL varindexed EQUAL expr attributes", "smartytag ::= LDEL ID attributes", "smartytag ::= LDEL ID", "smartytag ::= LDEL ID modifierlist attributes", "smartytag ::= LDEL ID PTR ID attributes", "smartytag ::= LDEL ID PTR ID modifierlist attributes", "smartytag ::= LDELIF expr", "smartytag ::= LDELIF expr attributes", "smartytag ::= LDELIF statement", "smartytag ::= LDELIF statement attributes", "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes", "foraction ::= EQUAL expr", "foraction ::= INCDEC", "smartytag ::= LDELFOR statement TO expr attributes", "smartytag ::= LDELFOR statement TO expr STEP expr attributes", "smartytag ::= LDELFOREACH attributes", "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes", "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes", "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes", "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes", "smartytag ::= LDELSETFILTER ID modparameters", "smartytag ::= LDELSETFILTER ID modparameters modifierlist", "smartytag ::= LDEL SMARTYBLOCKCHILDPARENT", "smartytag ::= LDELSLASH ID", "smartytag ::= LDELSLASH ID modifierlist", "smartytag ::= LDELSLASH ID PTR ID", "smartytag ::= LDELSLASH ID PTR ID modifierlist", "attributes ::= attributes attribute", "attributes ::= attribute", "attributes ::=", "attribute ::= SPACE ID EQUAL ID", "attribute ::= ATTR expr", "attribute ::= ATTR value", "attribute ::= SPACE ID", "attribute ::= SPACE expr", "attribute ::= SPACE value", "attribute ::= SPACE INTEGER EQUAL expr", "statements ::= statement", "statements ::= statements COMMA statement", "statement ::= DOLLAR varvar EQUAL expr", "statement ::= varindexed EQUAL expr", "statement ::= OPENP statement CLOSEP", "expr ::= value", "expr ::= ternary", "expr ::= DOLLAR ID COLON ID", "expr ::= expr MATH value", "expr ::= expr UNIMATH value", "expr ::= expr ANDSYM value", "expr ::= array", "expr ::= expr modifierlist", "expr ::= expr ifcond expr", "expr ::= expr ISIN array", "expr ::= expr ISIN value", "expr ::= expr lop expr", "expr ::= expr ISDIVBY expr", "expr ::= expr ISNOTDIVBY expr", "expr ::= expr ISEVEN", "expr ::= expr ISNOTEVEN", "expr ::= expr ISEVENBY expr", "expr ::= expr ISNOTEVENBY expr", "expr ::= expr ISODD", "expr ::= expr ISNOTODD", "expr ::= expr ISODDBY expr", "expr ::= expr ISNOTODDBY expr", "expr ::= variable INSTANCEOF ns1", "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", "value ::= variable", "value ::= UNIMATH value", "value ::= NOT value", "value ::= TYPECAST value", "value ::= variable INCDEC", "value ::= HEX", "value ::= INTEGER", "value ::= INTEGER DOT INTEGER", "value ::= INTEGER DOT", "value ::= DOT INTEGER", "value ::= ID", "value ::= function", "value ::= OPENP expr CLOSEP", "value ::= SINGLEQUOTESTRING", "value ::= doublequoted_with_quotes", "value ::= varindexed DOUBLECOLON static_class_access", "value ::= smartytag RDEL", "value ::= value modifierlist", "value ::= NAMESPACE", "value ::= ns1 DOUBLECOLON static_class_access", "ns1 ::= ID", "ns1 ::= NAMESPACE", "ns1 ::= variable", "variable ::= varindexed", "variable ::= DOLLAR varvar AT ID", "variable ::= object", "variable ::= HATCH ID HATCH", "variable ::= HATCH ID HATCH arrayindex", "variable ::= HATCH variable HATCH", "variable ::= HATCH variable HATCH arrayindex", "varindexed ::= DOLLAR varvar arrayindex", "arrayindex ::= arrayindex indexdef", "arrayindex ::=", "indexdef ::= DOT DOLLAR varvar", "indexdef ::= DOT DOLLAR varvar AT ID", "indexdef ::= DOT ID", "indexdef ::= DOT INTEGER", "indexdef ::= DOT LDEL expr RDEL", "indexdef ::= OPENB ID CLOSEB", "indexdef ::= OPENB ID DOT ID CLOSEB", "indexdef ::= OPENB expr CLOSEB", "indexdef ::= OPENB CLOSEB", "varvar ::= varvarele", "varvar ::= varvar varvarele", "varvarele ::= ID", "varvarele ::= LDEL expr RDEL", "object ::= varindexed objectchain", "objectchain ::= objectelement", "objectchain ::= objectchain objectelement", "objectelement ::= PTR ID arrayindex", "objectelement ::= PTR DOLLAR varvar arrayindex", "objectelement ::= PTR LDEL expr RDEL arrayindex", "objectelement ::= PTR ID LDEL expr RDEL arrayindex", "objectelement ::= PTR method", "function ::= ns1 OPENP params CLOSEP", "method ::= ID OPENP params CLOSEP", "method ::= DOLLAR ID OPENP params CLOSEP", "params ::= params COMMA expr", "params ::= expr", "params ::=", "modifierlist ::= modifierlist modifier modparameters", "modifierlist ::= modifier modparameters", "modifier ::= VERT AT ID", "modifier ::= VERT ID", "modparameters ::= modparameters modparameter", "modparameters ::=", "modparameter ::= COLON value", "modparameter ::= COLON array", "static_class_access ::= method", "static_class_access ::= method objectchain", "static_class_access ::= ID", "static_class_access ::= DOLLAR ID arrayindex", "static_class_access ::= DOLLAR ID arrayindex objectchain", "ifcond ::= EQUALS", "ifcond ::= NOTEQUALS", "ifcond ::= GREATERTHAN", "ifcond ::= LESSTHAN", "ifcond ::= GREATEREQUAL", "ifcond ::= LESSEQUAL", "ifcond ::= IDENTITY", "ifcond ::= NONEIDENTITY", "ifcond ::= MOD", "lop ::= LAND", "lop ::= LOR", "lop ::= LXOR", "array ::= OPENB arrayelements CLOSEB", "arrayelements ::= arrayelement", "arrayelements ::= arrayelements COMMA arrayelement", "arrayelements ::=", "arrayelement ::= value APTR expr", "arrayelement ::= ID APTR expr", "arrayelement ::= expr", "doublequoted_with_quotes ::= QUOTE QUOTE", "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", "doublequoted ::= doublequoted doublequotedcontent", "doublequoted ::= doublequotedcontent", "doublequotedcontent ::= BACKTICK variable BACKTICK", "doublequotedcontent ::= BACKTICK expr BACKTICK", "doublequotedcontent ::= DOLLARID", "doublequotedcontent ::= LDEL variable RDEL", "doublequotedcontent ::= LDEL expr RDEL", "doublequotedcontent ::= smartytag RDEL", "doublequotedcontent ::= TEXT", "optspace ::= SPACE", "optspace ::=",); public function tokenName($tokenType) { @@ -1525,9 +506,7 @@ class Smarty_Internal_Templateparser } $yytos = array_pop($this->yystack); if ($this->yyTraceFILE && $this->yyidx >= 0) { - fwrite($this->yyTraceFILE, - $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . - "\n"); + fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . "\n"); } $yymajor = $yytos->major; self::yy_destructor($yymajor, $yytos->minor); @@ -1570,13 +549,10 @@ class Smarty_Internal_Templateparser } $yyruleno = $yyact - self::YYNSTATE; $this->yyidx -= self::$yyRuleInfo[$yyruleno][1]; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno][0]); + $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, self::$yyRuleInfo[$yyruleno][0]); if (isset(self::$yyExpectedTokens[$nextstate])) { $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]); - if (in_array($token, - self::$yyExpectedTokens[$nextstate], true)) { + if (in_array($token, self::$yyExpectedTokens[$nextstate], true)) { $this->yyidx = $yyidx; $this->yystack = $stack; @@ -1642,12 +618,8 @@ class Smarty_Internal_Templateparser } $yyruleno = $yyact - self::YYNSTATE; $this->yyidx -= self::$yyRuleInfo[$yyruleno][1]; - $nextstate = $this->yy_find_reduce_action( - $this->yystack[$this->yyidx]->stateno, - self::$yyRuleInfo[$yyruleno][0]); - if (isset(self::$yyExpectedTokens[$nextstate]) && - in_array($token, self::$yyExpectedTokens[$nextstate], true) - ) { + $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, self::$yyRuleInfo[$yyruleno][0]); + if (isset(self::$yyExpectedTokens[$nextstate]) && in_array($token, self::$yyExpectedTokens[$nextstate], true)) { $this->yyidx = $yyidx; $this->yystack = $stack; @@ -1707,16 +679,10 @@ class Smarty_Internal_Templateparser return self::YY_NO_ACTION; } $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead - ) { - if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) - && ($iFallback = self::$yyFallback[$iLookAhead]) != 0 - ) { + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) { + if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) { if ($this->yyTraceFILE) { - fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " . - $this->yyTokenName[$iLookAhead] . " => " . - $this->yyTokenName[$iFallback] . "\n"); + fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[$iLookAhead] . " => " . $this->yyTokenName[$iFallback] . "\n"); } return $this->yy_find_shift_action($iFallback); @@ -1743,9 +709,7 @@ class Smarty_Internal_Templateparser return self::YY_NO_ACTION; } $i += $iLookAhead; - if ($i < 0 || $i >= self::YY_SZ_ACTTAB || - self::$yy_lookahead[$i] != $iLookAhead - ) { + if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) { return self::$yy_default[$stateno]; } else { return self::$yy_action[$i]; @@ -1776,423 +740,18 @@ class Smarty_Internal_Templateparser $yytos->minor = $yypMinor; array_push($this->yystack, $yytos); if ($this->yyTraceFILE && $this->yyidx > 0) { - fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, - $yyNewState); + fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState); fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt); for ($i = 1; $i <= $this->yyidx; $i ++) { - fprintf($this->yyTraceFILE, " %s", - $this->yyTokenName[$this->yystack[$i]->major]); + fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[$this->yystack[$i]->major]); } fwrite($this->yyTraceFILE, "\n"); } } - public static $yyRuleInfo = array( - array(0 => 80, 1 => 1), - array(0 => 81, 1 => 1), - array(0 => 81, 1 => 2), - array(0 => 81, 1 => 0), - array(0 => 82, 1 => 2), - array(0 => 82, 1 => 1), - array(0 => 82, 1 => 1), - array(0 => 82, 1 => 1), - array(0 => 82, 1 => 1), - array(0 => 82, 1 => 1), - array(0 => 85, 1 => 1), - array(0 => 85, 1 => 2), - array(0 => 82, 1 => 1), - array(0 => 82, 1 => 1), - array(0 => 82, 1 => 1), - array(0 => 84, 1 => 2), - array(0 => 84, 1 => 3), - array(0 => 86, 1 => 2), - array(0 => 86, 1 => 0), - array(0 => 87, 1 => 1), - array(0 => 87, 1 => 1), - array(0 => 83, 1 => 2), - array(0 => 83, 1 => 4), - array(0 => 83, 1 => 3), - array(0 => 83, 1 => 4), - array(0 => 83, 1 => 3), - array(0 => 83, 1 => 5), - array(0 => 83, 1 => 5), - array(0 => 83, 1 => 6), - array(0 => 83, 1 => 5), - array(0 => 83, 1 => 3), - array(0 => 83, 1 => 2), - array(0 => 83, 1 => 4), - array(0 => 83, 1 => 5), - array(0 => 83, 1 => 6), - array(0 => 83, 1 => 2), - array(0 => 83, 1 => 3), - array(0 => 83, 1 => 2), - array(0 => 83, 1 => 3), - array(0 => 83, 1 => 11), - array(0 => 97, 1 => 2), - array(0 => 97, 1 => 1), - array(0 => 83, 1 => 5), - array(0 => 83, 1 => 7), - array(0 => 83, 1 => 2), - array(0 => 83, 1 => 7), - array(0 => 83, 1 => 10), - array(0 => 83, 1 => 7), - array(0 => 83, 1 => 10), - array(0 => 83, 1 => 3), - array(0 => 83, 1 => 4), - array(0 => 83, 1 => 2), - array(0 => 83, 1 => 2), - array(0 => 83, 1 => 3), - array(0 => 83, 1 => 4), - array(0 => 83, 1 => 5), - array(0 => 90, 1 => 2), - array(0 => 90, 1 => 1), - array(0 => 90, 1 => 0), - array(0 => 99, 1 => 4), - array(0 => 99, 1 => 2), - array(0 => 99, 1 => 2), - array(0 => 99, 1 => 2), - array(0 => 99, 1 => 2), - array(0 => 99, 1 => 2), - array(0 => 99, 1 => 4), - array(0 => 94, 1 => 1), - array(0 => 94, 1 => 3), - array(0 => 93, 1 => 4), - array(0 => 93, 1 => 3), - array(0 => 93, 1 => 3), - array(0 => 91, 1 => 1), - array(0 => 91, 1 => 1), - array(0 => 91, 1 => 4), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 1), - array(0 => 91, 1 => 2), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 2), - array(0 => 91, 1 => 2), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 2), - array(0 => 91, 1 => 2), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 91, 1 => 3), - array(0 => 100, 1 => 8), - array(0 => 100, 1 => 7), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 3), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 3), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 3), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 2), - array(0 => 88, 1 => 1), - array(0 => 88, 1 => 3), - array(0 => 105, 1 => 1), - array(0 => 105, 1 => 1), - array(0 => 105, 1 => 1), - array(0 => 104, 1 => 1), - array(0 => 104, 1 => 4), - array(0 => 104, 1 => 1), - array(0 => 104, 1 => 3), - array(0 => 104, 1 => 4), - array(0 => 104, 1 => 3), - array(0 => 104, 1 => 4), - array(0 => 92, 1 => 3), - array(0 => 110, 1 => 2), - array(0 => 110, 1 => 0), - array(0 => 111, 1 => 3), - array(0 => 111, 1 => 5), - array(0 => 111, 1 => 2), - array(0 => 111, 1 => 2), - array(0 => 111, 1 => 4), - array(0 => 111, 1 => 3), - array(0 => 111, 1 => 5), - array(0 => 111, 1 => 3), - array(0 => 111, 1 => 2), - array(0 => 96, 1 => 1), - array(0 => 96, 1 => 2), - array(0 => 112, 1 => 1), - array(0 => 112, 1 => 3), - array(0 => 109, 1 => 2), - array(0 => 113, 1 => 1), - array(0 => 113, 1 => 2), - array(0 => 114, 1 => 3), - array(0 => 114, 1 => 4), - array(0 => 114, 1 => 5), - array(0 => 114, 1 => 6), - array(0 => 114, 1 => 2), - array(0 => 106, 1 => 4), - array(0 => 115, 1 => 4), - array(0 => 115, 1 => 5), - array(0 => 116, 1 => 3), - array(0 => 116, 1 => 1), - array(0 => 116, 1 => 0), - array(0 => 89, 1 => 3), - array(0 => 89, 1 => 2), - array(0 => 117, 1 => 3), - array(0 => 117, 1 => 2), - array(0 => 98, 1 => 2), - array(0 => 98, 1 => 0), - array(0 => 118, 1 => 2), - array(0 => 118, 1 => 2), - array(0 => 108, 1 => 1), - array(0 => 108, 1 => 2), - array(0 => 108, 1 => 1), - array(0 => 108, 1 => 3), - array(0 => 108, 1 => 4), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 102, 1 => 1), - array(0 => 103, 1 => 1), - array(0 => 103, 1 => 1), - array(0 => 103, 1 => 1), - array(0 => 101, 1 => 3), - array(0 => 119, 1 => 1), - array(0 => 119, 1 => 3), - array(0 => 119, 1 => 0), - array(0 => 120, 1 => 3), - array(0 => 120, 1 => 3), - array(0 => 120, 1 => 1), - array(0 => 107, 1 => 2), - array(0 => 107, 1 => 3), - array(0 => 121, 1 => 2), - array(0 => 121, 1 => 1), - array(0 => 122, 1 => 3), - array(0 => 122, 1 => 3), - array(0 => 122, 1 => 1), - array(0 => 122, 1 => 3), - array(0 => 122, 1 => 3), - array(0 => 122, 1 => 2), - array(0 => 122, 1 => 1), - array(0 => 95, 1 => 1), - array(0 => 95, 1 => 0), - ); + public static $yyRuleInfo = array(array(0 => 80, 1 => 1), array(0 => 81, 1 => 1), array(0 => 81, 1 => 2), array(0 => 81, 1 => 0), array(0 => 82, 1 => 2), array(0 => 82, 1 => 1), array(0 => 82, 1 => 1), array(0 => 82, 1 => 1), array(0 => 82, 1 => 1), array(0 => 82, 1 => 1), array(0 => 85, 1 => 1), array(0 => 85, 1 => 2), array(0 => 82, 1 => 1), array(0 => 82, 1 => 1), array(0 => 82, 1 => 1), array(0 => 84, 1 => 2), array(0 => 84, 1 => 3), array(0 => 86, 1 => 2), array(0 => 86, 1 => 0), array(0 => 87, 1 => 1), array(0 => 87, 1 => 1), array(0 => 83, 1 => 2), array(0 => 83, 1 => 4), array(0 => 83, 1 => 3), array(0 => 83, 1 => 4), array(0 => 83, 1 => 3), array(0 => 83, 1 => 5), array(0 => 83, 1 => 5), array(0 => 83, 1 => 6), array(0 => 83, 1 => 5), array(0 => 83, 1 => 3), array(0 => 83, 1 => 2), array(0 => 83, 1 => 4), array(0 => 83, 1 => 5), array(0 => 83, 1 => 6), array(0 => 83, 1 => 2), array(0 => 83, 1 => 3), array(0 => 83, 1 => 2), array(0 => 83, 1 => 3), array(0 => 83, 1 => 11), array(0 => 97, 1 => 2), array(0 => 97, 1 => 1), array(0 => 83, 1 => 5), array(0 => 83, 1 => 7), array(0 => 83, 1 => 2), array(0 => 83, 1 => 7), array(0 => 83, 1 => 10), array(0 => 83, 1 => 7), array(0 => 83, 1 => 10), array(0 => 83, 1 => 3), array(0 => 83, 1 => 4), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2), array(0 => 83, 1 => 3), array(0 => 83, 1 => 4), array(0 => 83, 1 => 5), array(0 => 90, 1 => 2), array(0 => 90, 1 => 1), array(0 => 90, 1 => 0), array(0 => 99, 1 => 4), array(0 => 99, 1 => 2), array(0 => 99, 1 => 2), array(0 => 99, 1 => 2), array(0 => 99, 1 => 2), array(0 => 99, 1 => 2), array(0 => 99, 1 => 4), array(0 => 94, 1 => 1), array(0 => 94, 1 => 3), array(0 => 93, 1 => 4), array(0 => 93, 1 => 3), array(0 => 93, 1 => 3), array(0 => 91, 1 => 1), array(0 => 91, 1 => 1), array(0 => 91, 1 => 4), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 1), array(0 => 91, 1 => 2), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 2), array(0 => 91, 1 => 2), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 2), array(0 => 91, 1 => 2), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 91, 1 => 3), array(0 => 100, 1 => 8), array(0 => 100, 1 => 7), array(0 => 88, 1 => 1), array(0 => 88, 1 => 2), array(0 => 88, 1 => 2), array(0 => 88, 1 => 2), array(0 => 88, 1 => 2), array(0 => 88, 1 => 1), array(0 => 88, 1 => 1), array(0 => 88, 1 => 3), array(0 => 88, 1 => 2), array(0 => 88, 1 => 2), array(0 => 88, 1 => 1), array(0 => 88, 1 => 1), array(0 => 88, 1 => 3), array(0 => 88, 1 => 1), array(0 => 88, 1 => 1), array(0 => 88, 1 => 3), array(0 => 88, 1 => 2), array(0 => 88, 1 => 2), array(0 => 88, 1 => 1), array(0 => 88, 1 => 3), array(0 => 105, 1 => 1), array(0 => 105, 1 => 1), array(0 => 105, 1 => 1), array(0 => 104, 1 => 1), array(0 => 104, 1 => 4), array(0 => 104, 1 => 1), array(0 => 104, 1 => 3), array(0 => 104, 1 => 4), array(0 => 104, 1 => 3), array(0 => 104, 1 => 4), array(0 => 92, 1 => 3), array(0 => 110, 1 => 2), array(0 => 110, 1 => 0), array(0 => 111, 1 => 3), array(0 => 111, 1 => 5), array(0 => 111, 1 => 2), array(0 => 111, 1 => 2), array(0 => 111, 1 => 4), array(0 => 111, 1 => 3), array(0 => 111, 1 => 5), array(0 => 111, 1 => 3), array(0 => 111, 1 => 2), array(0 => 96, 1 => 1), array(0 => 96, 1 => 2), array(0 => 112, 1 => 1), array(0 => 112, 1 => 3), array(0 => 109, 1 => 2), array(0 => 113, 1 => 1), array(0 => 113, 1 => 2), array(0 => 114, 1 => 3), array(0 => 114, 1 => 4), array(0 => 114, 1 => 5), array(0 => 114, 1 => 6), array(0 => 114, 1 => 2), array(0 => 106, 1 => 4), array(0 => 115, 1 => 4), array(0 => 115, 1 => 5), array(0 => 116, 1 => 3), array(0 => 116, 1 => 1), array(0 => 116, 1 => 0), array(0 => 89, 1 => 3), array(0 => 89, 1 => 2), array(0 => 117, 1 => 3), array(0 => 117, 1 => 2), array(0 => 98, 1 => 2), array(0 => 98, 1 => 0), array(0 => 118, 1 => 2), array(0 => 118, 1 => 2), array(0 => 108, 1 => 1), array(0 => 108, 1 => 2), array(0 => 108, 1 => 1), array(0 => 108, 1 => 3), array(0 => 108, 1 => 4), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 102, 1 => 1), array(0 => 103, 1 => 1), array(0 => 103, 1 => 1), array(0 => 103, 1 => 1), array(0 => 101, 1 => 3), array(0 => 119, 1 => 1), array(0 => 119, 1 => 3), array(0 => 119, 1 => 0), array(0 => 120, 1 => 3), array(0 => 120, 1 => 3), array(0 => 120, 1 => 1), array(0 => 107, 1 => 2), array(0 => 107, 1 => 3), array(0 => 121, 1 => 2), array(0 => 121, 1 => 1), array(0 => 122, 1 => 3), array(0 => 122, 1 => 3), array(0 => 122, 1 => 1), array(0 => 122, 1 => 3), array(0 => 122, 1 => 3), array(0 => 122, 1 => 2), array(0 => 122, 1 => 1), array(0 => 95, 1 => 1), array(0 => 95, 1 => 0),); - public static $yyReduceMap = array( - 0 => 0, - 1 => 1, - 2 => 2, - 4 => 4, - 5 => 5, - 6 => 6, - 7 => 7, - 8 => 8, - 9 => 9, - 10 => 10, - 19 => 10, - 20 => 10, - 41 => 10, - 63 => 10, - 64 => 10, - 71 => 10, - 72 => 10, - 77 => 10, - 96 => 10, - 101 => 10, - 102 => 10, - 107 => 10, - 109 => 10, - 110 => 10, - 114 => 10, - 116 => 10, - 117 => 10, - 118 => 10, - 121 => 10, - 138 => 10, - 182 => 10, - 187 => 10, - 199 => 10, - 11 => 11, - 12 => 12, - 13 => 13, - 14 => 14, - 15 => 15, - 18 => 15, - 200 => 15, - 16 => 16, - 70 => 16, - 17 => 17, - 97 => 17, - 99 => 17, - 100 => 17, - 127 => 17, - 21 => 21, - 22 => 22, - 23 => 23, - 25 => 23, - 24 => 24, - 26 => 26, - 27 => 26, - 28 => 28, - 29 => 29, - 30 => 30, - 31 => 31, - 32 => 32, - 33 => 33, - 34 => 34, - 35 => 35, - 36 => 36, - 38 => 36, - 37 => 37, - 39 => 39, - 40 => 40, - 42 => 42, - 43 => 43, - 44 => 44, - 45 => 45, - 47 => 45, - 46 => 46, - 48 => 46, - 49 => 49, - 50 => 50, - 51 => 51, - 52 => 52, - 53 => 53, - 54 => 54, - 55 => 55, - 56 => 56, - 57 => 57, - 66 => 57, - 154 => 57, - 158 => 57, - 162 => 57, - 163 => 57, - 58 => 58, - 155 => 58, - 161 => 58, - 59 => 59, - 60 => 60, - 61 => 60, - 62 => 62, - 65 => 65, - 67 => 67, - 68 => 68, - 69 => 68, - 73 => 73, - 74 => 74, - 75 => 74, - 76 => 74, - 78 => 78, - 113 => 78, - 79 => 79, - 82 => 79, - 80 => 80, - 81 => 81, - 83 => 83, - 84 => 84, - 85 => 85, - 90 => 85, - 86 => 86, - 89 => 86, - 87 => 87, - 92 => 87, - 88 => 88, - 91 => 88, - 93 => 93, - 94 => 94, - 95 => 95, - 98 => 98, - 103 => 103, - 104 => 104, - 105 => 105, - 106 => 106, - 108 => 108, - 111 => 111, - 112 => 112, - 115 => 115, - 119 => 119, - 120 => 120, - 122 => 122, - 123 => 123, - 124 => 124, - 125 => 125, - 126 => 126, - 128 => 128, - 184 => 128, - 129 => 129, - 130 => 130, - 131 => 131, - 132 => 132, - 133 => 133, - 136 => 133, - 134 => 134, - 135 => 135, - 137 => 137, - 139 => 139, - 140 => 140, - 141 => 141, - 142 => 142, - 143 => 143, - 144 => 144, - 145 => 145, - 146 => 146, - 147 => 147, - 148 => 148, - 149 => 149, - 150 => 150, - 151 => 151, - 152 => 152, - 153 => 153, - 156 => 156, - 157 => 157, - 159 => 159, - 160 => 160, - 164 => 164, - 165 => 165, - 166 => 166, - 167 => 167, - 168 => 168, - 169 => 169, - 170 => 170, - 171 => 171, - 172 => 172, - 173 => 173, - 174 => 174, - 175 => 175, - 176 => 176, - 177 => 177, - 178 => 178, - 179 => 179, - 180 => 180, - 181 => 181, - 183 => 183, - 185 => 185, - 186 => 186, - 188 => 188, - 189 => 189, - 190 => 190, - 191 => 191, - 192 => 192, - 193 => 192, - 195 => 192, - 194 => 194, - 196 => 196, - 197 => 197, - 198 => 198, - ); + public static $yyReduceMap = array(0 => 0, 1 => 1, 2 => 2, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 19 => 10, 20 => 10, 41 => 10, 63 => 10, 64 => 10, 71 => 10, 72 => 10, 77 => 10, 96 => 10, 101 => 10, 102 => 10, 107 => 10, 109 => 10, 110 => 10, 114 => 10, 116 => 10, 117 => 10, 118 => 10, 121 => 10, 138 => 10, 182 => 10, 187 => 10, 199 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 18 => 15, 200 => 15, 16 => 16, 70 => 16, 17 => 17, 97 => 17, 99 => 17, 100 => 17, 127 => 17, 21 => 21, 22 => 22, 23 => 23, 25 => 23, 24 => 24, 26 => 26, 27 => 26, 28 => 28, 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 38 => 36, 37 => 37, 39 => 39, 40 => 40, 42 => 42, 43 => 43, 44 => 44, 45 => 45, 47 => 45, 46 => 46, 48 => 46, 49 => 49, 50 => 50, 51 => 51, 52 => 52, 53 => 53, 54 => 54, 55 => 55, 56 => 56, 57 => 57, 66 => 57, 154 => 57, 158 => 57, 162 => 57, 163 => 57, 58 => 58, 155 => 58, 161 => 58, 59 => 59, 60 => 60, 61 => 60, 62 => 62, 65 => 65, 67 => 67, 68 => 68, 69 => 68, 73 => 73, 74 => 74, 75 => 74, 76 => 74, 78 => 78, 113 => 78, 79 => 79, 82 => 79, 80 => 80, 81 => 81, 83 => 83, 84 => 84, 85 => 85, 90 => 85, 86 => 86, 89 => 86, 87 => 87, 92 => 87, 88 => 88, 91 => 88, 93 => 93, 94 => 94, 95 => 95, 98 => 98, 103 => 103, 104 => 104, 105 => 105, 106 => 106, 108 => 108, 111 => 111, 112 => 112, 115 => 115, 119 => 119, 120 => 120, 122 => 122, 123 => 123, 124 => 124, 125 => 125, 126 => 126, 128 => 128, 184 => 128, 129 => 129, 130 => 130, 131 => 131, 132 => 132, 133 => 133, 136 => 133, 134 => 134, 135 => 135, 137 => 137, 139 => 139, 140 => 140, 141 => 141, 142 => 142, 143 => 143, 144 => 144, 145 => 145, 146 => 146, 147 => 147, 148 => 148, 149 => 149, 150 => 150, 151 => 151, 152 => 152, 153 => 153, 156 => 156, 157 => 157, 159 => 159, 160 => 160, 164 => 164, 165 => 165, 166 => 166, 167 => 167, 168 => 168, 169 => 169, 170 => 170, 171 => 171, 172 => 172, 173 => 173, 174 => 174, 175 => 175, 176 => 176, 177 => 177, 178 => 178, 179 => 179, 180 => 180, 181 => 181, 183 => 183, 185 => 185, 186 => 186, 188 => 188, 189 => 189, 190 => 190, 191 => 191, 192 => 192, 193 => 192, 195 => 192, 194 => 194, 196 => 196, 197 => 197, 198 => 198,); #line 195 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r0() @@ -2223,10 +782,11 @@ class Smarty_Internal_Templateparser if ($this->compiler->has_code) { $tmp = ''; foreach ($this->compiler->prefix_code as $code) { - $tmp .= $code; + $tmp = $this->compiler->appendCode($tmp, $code); } $this->compiler->prefix_code = array(); - $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $this->yystack[$this->yyidx + - 1]->minor, true)); + $tmp = $this->compiler->appendCode($tmp, $this->yystack[$this->yyidx + - 1]->minor); + $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true)); } else { $this->_retvalue = null; } @@ -2234,35 +794,36 @@ class Smarty_Internal_Templateparser $this->block_nesting_level = count($this->compiler->_tag_stack); } - #line 236 "../smarty/lexer/smarty_internal_templateparser.y" + #line 241 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r5() { $this->_retvalue = null; } - #line 241 "../smarty/lexer/smarty_internal_templateparser.y" + #line 246 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r6() { $this->_retvalue = new Smarty_Internal_ParseTree_Text($this, $this->yystack[$this->yyidx + 0]->minor); } - #line 245 "../smarty/lexer/smarty_internal_templateparser.y" + #line 250 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r7() { - $code = $this->compiler->compileTag('private_php', array(array('code' => $this->yystack[$this->yyidx + 0]->minor), array('type' => $this->lex->phpType)), array()); - if ($this->compiler->has_code && !empty($code)) { + $php = $this->compiler->compileTag('private_php', array(array('code' => $this->yystack[$this->yyidx + 0]->minor), array('type' => $this->lex->phpType)), array()); + if ($this->compiler->has_code && !empty($php)) { $tmp = ''; foreach ($this->compiler->prefix_code as $code) { - $tmp .= $code; + $tmp = $this->compiler->appendCode($tmp, $code); } $this->compiler->prefix_code = array(); - $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $code, true)); + $tmp = $this->compiler->appendCode($tmp, $php); + $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true)); } else { $this->_retvalue = null; } } - #line 258 "../smarty/lexer/smarty_internal_templateparser.y" + #line 268 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r8() { $this->compiler->tag_nocache = true; @@ -2272,37 +833,37 @@ class Smarty_Internal_Templateparser $this->template->has_nocache_code = $save; } - #line 267 "../smarty/lexer/smarty_internal_templateparser.y" + #line 277 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r9() { $this->_retvalue = $this->compiler->processText($this->yystack[$this->yyidx + 0]->minor); } - #line 271 "../smarty/lexer/smarty_internal_templateparser.y" + #line 281 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r10() { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } - #line 275 "../smarty/lexer/smarty_internal_templateparser.y" + #line 285 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r11() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 280 "../smarty/lexer/smarty_internal_templateparser.y" + #line 290 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r12() { $this->strip = true; } - #line 284 "../smarty/lexer/smarty_internal_templateparser.y" + #line 294 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r13() { $this->strip = false; } - #line 288 "../smarty/lexer/smarty_internal_templateparser.y" + #line 298 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r14() { if ($this->strip) { @@ -2312,67 +873,67 @@ class Smarty_Internal_Templateparser } } - #line 297 "../smarty/lexer/smarty_internal_templateparser.y" + #line 307 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r15() { $this->_retvalue = ''; } - #line 301 "../smarty/lexer/smarty_internal_templateparser.y" + #line 311 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r16() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; } - #line 305 "../smarty/lexer/smarty_internal_templateparser.y" + #line 315 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r17() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 326 "../smarty/lexer/smarty_internal_templateparser.y" + #line 336 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r21() { $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), array('value' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 330 "../smarty/lexer/smarty_internal_templateparser.y" + #line 340 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r22() { $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 334 "../smarty/lexer/smarty_internal_templateparser.y" + #line 344 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r23() { $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 338 "../smarty/lexer/smarty_internal_templateparser.y" + #line 348 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r24() { $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 351 "../smarty/lexer/smarty_internal_templateparser.y" + #line 361 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r26() { $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx + 0]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 2]->minor . "'"))); } - #line 359 "../smarty/lexer/smarty_internal_templateparser.y" + #line 369 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r28() { $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 3]->minor . "'")), $this->yystack[$this->yyidx + 0]->minor)); } - #line 363 "../smarty/lexer/smarty_internal_templateparser.y" + #line 373 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r29() { $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => $this->yystack[$this->yyidx + - 3]->minor['var'])), $this->yystack[$this->yyidx + 0]->minor), array('smarty_internal_index' => $this->yystack[$this->yyidx + - 3]->minor['smarty_internal_index'])); } - #line 368 "../smarty/lexer/smarty_internal_templateparser.y" + #line 378 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r30() { if (defined($this->yystack[$this->yyidx + - 1]->minor)) { @@ -2385,7 +946,7 @@ class Smarty_Internal_Templateparser } } - #line 378 "../smarty/lexer/smarty_internal_templateparser.y" + #line 388 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r31() { if (defined($this->yystack[$this->yyidx + 0]->minor)) { @@ -2398,7 +959,7 @@ class Smarty_Internal_Templateparser } } - #line 391 "../smarty/lexer/smarty_internal_templateparser.y" + #line 401 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r32() { if (defined($this->yystack[$this->yyidx + - 2]->minor)) { @@ -2407,100 +968,100 @@ class Smarty_Internal_Templateparser } $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor)); } else { - $this->_retvalue = '' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor) . '_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . ';?>'; + $tmp = $this->compiler->appendCode('', $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor)); + $this->_retvalue = $this->compiler->appendCode($tmp, 'compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . ';?>'); } } - #line 404 "../smarty/lexer/smarty_internal_templateparser.y" + #line 414 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r33() { $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 409 "../smarty/lexer/smarty_internal_templateparser.y" + #line 419 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r34() { - $this->_retvalue = '' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 2]->minor)) . '_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . ';?>'; + $tmp = $this->compiler->appendCode('', $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 2]->minor))); + $this->_retvalue = $this->compiler->appendCode($tmp, 'compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . ';?>'); } - #line 415 "../smarty/lexer/smarty_internal_templateparser.y" + #line 425 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r35() { $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 420 "../smarty/lexer/smarty_internal_templateparser.y" + #line 430 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r36() { $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, $this->yystack[$this->yyidx + 0]->minor, array('if condition' => $this->yystack[$this->yyidx + - 1]->minor)); } - #line 425 "../smarty/lexer/smarty_internal_templateparser.y" + #line 435 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r37() { $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 436 "../smarty/lexer/smarty_internal_templateparser.y" + #line 446 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r39() { $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 9]->minor), array('ifexp' => $this->yystack[$this->yyidx + - 6]->minor), array('var' => $this->yystack[$this->yyidx + - 2]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 1); } - #line 440 "../smarty/lexer/smarty_internal_templateparser.y" + #line 450 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r40() { $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor; } - #line 448 "../smarty/lexer/smarty_internal_templateparser.y" + #line 458 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r42() { $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 3]->minor), array('to' => $this->yystack[$this->yyidx + - 1]->minor))), 0); } - #line 452 "../smarty/lexer/smarty_internal_templateparser.y" + #line 462 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r43() { $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 5]->minor), array('to' => $this->yystack[$this->yyidx + - 3]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 0); } - #line 457 "../smarty/lexer/smarty_internal_templateparser.y" + #line 467 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r44() { $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor); } - #line 462 "../smarty/lexer/smarty_internal_templateparser.y" + #line 472 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r45() { $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 4]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor)))); } - #line 466 "../smarty/lexer/smarty_internal_templateparser.y" + #line 476 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r46() { $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 7]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor), array('key' => $this->yystack[$this->yyidx + - 4]->minor)))); } - #line 479 "../smarty/lexer/smarty_internal_templateparser.y" + #line 489 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r49() { $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx + - 1]->minor), $this->yystack[$this->yyidx + 0]->minor)))); } - #line 483 "../smarty/lexer/smarty_internal_templateparser.y" + #line 493 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r50() { $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx + - 2]->minor), $this->yystack[$this->yyidx + - 1]->minor)), $this->yystack[$this->yyidx + 0]->minor))); } - #line 488 "../smarty/lexer/smarty_internal_templateparser.y" + #line 498 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r51() { $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.'); @@ -2513,50 +1074,50 @@ class Smarty_Internal_Templateparser } } - #line 501 "../smarty/lexer/smarty_internal_templateparser.y" + #line 511 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r52() { $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array()); } - #line 505 "../smarty/lexer/smarty_internal_templateparser.y" + #line 515 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r53() { $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(), array('modifier_list' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 510 "../smarty/lexer/smarty_internal_templateparser.y" + #line 520 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r54() { $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 514 "../smarty/lexer/smarty_internal_templateparser.y" + #line 524 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r55() { $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + - 1]->minor, 'modifier_list' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 522 "../smarty/lexer/smarty_internal_templateparser.y" + #line 532 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r56() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; } - #line 528 "../smarty/lexer/smarty_internal_templateparser.y" + #line 538 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r57() { $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } - #line 533 "../smarty/lexer/smarty_internal_templateparser.y" + #line 543 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r58() { $this->_retvalue = array(); } - #line 538 "../smarty/lexer/smarty_internal_templateparser.y" + #line 548 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r59() { if (defined($this->yystack[$this->yyidx + 0]->minor)) { @@ -2569,152 +1130,152 @@ class Smarty_Internal_Templateparser } } - #line 549 "../smarty/lexer/smarty_internal_templateparser.y" + #line 559 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r60() { $this->_retvalue = array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx + 0]->minor); } - #line 557 "../smarty/lexer/smarty_internal_templateparser.y" + #line 567 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r62() { $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'"; } - #line 569 "../smarty/lexer/smarty_internal_templateparser.y" + #line 579 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r65() { $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor); } - #line 582 "../smarty/lexer/smarty_internal_templateparser.y" + #line 592 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r67() { $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor; } - #line 587 "../smarty/lexer/smarty_internal_templateparser.y" + #line 597 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r68() { $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor, 'value' => $this->yystack[$this->yyidx + 0]->minor); } - #line 615 "../smarty/lexer/smarty_internal_templateparser.y" + #line 625 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r73() { $this->_retvalue = '$_smarty_tpl->getStreamVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '://' . $this->yystack[$this->yyidx + 0]->minor . '\')'; } - #line 620 "../smarty/lexer/smarty_internal_templateparser.y" + #line 630 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r74() { $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor; } - #line 639 "../smarty/lexer/smarty_internal_templateparser.y" + #line 649 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r78() { $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), array('value' => $this->yystack[$this->yyidx + - 1]->minor, 'modifierlist' => $this->yystack[$this->yyidx + 0]->minor)); } - #line 645 "../smarty/lexer/smarty_internal_templateparser.y" + #line 655 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r79() { $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 649 "../smarty/lexer/smarty_internal_templateparser.y" + #line 659 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r80() { $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor . ')'; } - #line 653 "../smarty/lexer/smarty_internal_templateparser.y" + #line 663 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r81() { $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' . $this->yystack[$this->yyidx + 0]->minor . ')'; } - #line 661 "../smarty/lexer/smarty_internal_templateparser.y" + #line 671 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r83() { $this->_retvalue = '!(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')'; } - #line 665 "../smarty/lexer/smarty_internal_templateparser.y" + #line 675 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r84() { $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')'; } - #line 669 "../smarty/lexer/smarty_internal_templateparser.y" + #line 679 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r85() { $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 673 "../smarty/lexer/smarty_internal_templateparser.y" + #line 683 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r86() { $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 677 "../smarty/lexer/smarty_internal_templateparser.y" + #line 687 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r87() { $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')'; } - #line 681 "../smarty/lexer/smarty_internal_templateparser.y" + #line 691 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r88() { $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')'; } - #line 701 "../smarty/lexer/smarty_internal_templateparser.y" + #line 711 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r93() { $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 709 "../smarty/lexer/smarty_internal_templateparser.y" + #line 719 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r94() { $this->_retvalue = $this->yystack[$this->yyidx + - 6]->minor . ' ? ' . $this->compiler->compileVariable("'" . $this->yystack[$this->yyidx + - 2]->minor . "'") . ' : ' . $this->yystack[$this->yyidx + 0]->minor; } - #line 713 "../smarty/lexer/smarty_internal_templateparser.y" + #line 723 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r95() { $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' . $this->yystack[$this->yyidx + 0]->minor; } - #line 728 "../smarty/lexer/smarty_internal_templateparser.y" + #line 738 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r98() { $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor; } - #line 749 "../smarty/lexer/smarty_internal_templateparser.y" + #line 759 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r103() { $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor; } - #line 753 "../smarty/lexer/smarty_internal_templateparser.y" + #line 763 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r104() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.'; } - #line 757 "../smarty/lexer/smarty_internal_templateparser.y" + #line 767 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r105() { $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor; } - #line 762 "../smarty/lexer/smarty_internal_templateparser.y" + #line 772 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r106() { if (defined($this->yystack[$this->yyidx + 0]->minor)) { @@ -2727,13 +1288,13 @@ class Smarty_Internal_Templateparser } } - #line 779 "../smarty/lexer/smarty_internal_templateparser.y" + #line 789 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r108() { $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")"; } - #line 794 "../smarty/lexer/smarty_internal_templateparser.y" + #line 804 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r111() { self::$prefix_number ++; @@ -2745,15 +1306,16 @@ class Smarty_Internal_Templateparser $this->_retvalue = '$_tmp' . self::$prefix_number . '::' . $this->yystack[$this->yyidx + 0]->minor[0] . $this->yystack[$this->yyidx + 0]->minor[1]; } - #line 806 "../smarty/lexer/smarty_internal_templateparser.y" + #line 816 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r112() { self::$prefix_number ++; - $this->compiler->prefix_code[] = '' . $this->yystack[$this->yyidx + - 1]->minor . ''; + $tmp = $this->compiler->appendCode('', $this->yystack[$this->yyidx + - 1]->minor); + $this->compiler->prefix_code[] = $this->compiler->appendCode($tmp, ''); $this->_retvalue = '$_tmp' . self::$prefix_number; } - #line 822 "../smarty/lexer/smarty_internal_templateparser.y" + #line 833 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r115() { if (!in_array(strtolower($this->yystack[$this->yyidx + - 2]->minor), array('self', 'parent')) && (!$this->security || $this->smarty->security_policy->isTrustedStaticClassAccess($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->compiler))) { @@ -2767,7 +1329,7 @@ class Smarty_Internal_Templateparser } } - #line 856 "../smarty/lexer/smarty_internal_templateparser.y" + #line 867 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r119() { if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { @@ -2781,61 +1343,61 @@ class Smarty_Internal_Templateparser } } - #line 869 "../smarty/lexer/smarty_internal_templateparser.y" + #line 880 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r120() { $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' . $this->yystack[$this->yyidx + 0]->minor; } - #line 879 "../smarty/lexer/smarty_internal_templateparser.y" + #line 890 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r122() { $this->_retvalue = '$_smarty_tpl->getConfigVariable( \'' . $this->yystack[$this->yyidx + - 1]->minor . '\')'; } - #line 883 "../smarty/lexer/smarty_internal_templateparser.y" + #line 894 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r123() { $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable( \'' . $this->yystack[$this->yyidx + - 2]->minor . '\')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' :null)'; } - #line 887 "../smarty/lexer/smarty_internal_templateparser.y" + #line 898 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r124() { $this->_retvalue = '$_smarty_tpl->getConfigVariable( ' . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 891 "../smarty/lexer/smarty_internal_templateparser.y" + #line 902 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r125() { $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable( ' . $this->yystack[$this->yyidx + - 2]->minor . ')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)'; } - #line 895 "../smarty/lexer/smarty_internal_templateparser.y" + #line 906 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r126() { $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor, 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor); } - #line 908 "../smarty/lexer/smarty_internal_templateparser.y" + #line 919 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r128() { return; } - #line 914 "../smarty/lexer/smarty_internal_templateparser.y" + #line 925 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r129() { $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']'; } - #line 918 "../smarty/lexer/smarty_internal_templateparser.y" + #line 929 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r130() { $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' . $this->yystack[$this->yyidx + 0]->minor . ']'; } - #line 922 "../smarty/lexer/smarty_internal_templateparser.y" + #line 933 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r131() { if (defined($this->yystack[$this->yyidx + 0]->minor)) { @@ -2848,55 +1410,55 @@ class Smarty_Internal_Templateparser } } - #line 933 "../smarty/lexer/smarty_internal_templateparser.y" + #line 944 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r132() { $this->_retvalue = "[" . $this->yystack[$this->yyidx + 0]->minor . "]"; } - #line 938 "../smarty/lexer/smarty_internal_templateparser.y" + #line 949 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r133() { $this->_retvalue = "[" . $this->yystack[$this->yyidx + - 1]->minor . "]"; } - #line 943 "../smarty/lexer/smarty_internal_templateparser.y" + #line 954 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r134() { $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\'][\'index\']') . ']'; } - #line 947 "../smarty/lexer/smarty_internal_templateparser.y" + #line 958 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r135() { $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 3]->minor . '\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\']') . ']'; } - #line 957 "../smarty/lexer/smarty_internal_templateparser.y" + #line 968 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r137() { $this->_retvalue = '[]'; } - #line 971 "../smarty/lexer/smarty_internal_templateparser.y" + #line 982 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r139() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor; } - #line 976 "../smarty/lexer/smarty_internal_templateparser.y" + #line 987 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r140() { $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\''; } - #line 981 "../smarty/lexer/smarty_internal_templateparser.y" + #line 992 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r141() { $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 988 "../smarty/lexer/smarty_internal_templateparser.y" + #line 999 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r142() { if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') { @@ -2906,19 +1468,19 @@ class Smarty_Internal_Templateparser } } - #line 997 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1008 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r143() { $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } - #line 1002 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1013 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r144() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 1007 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1018 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r145() { if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') { @@ -2927,7 +1489,7 @@ class Smarty_Internal_Templateparser $this->_retvalue = '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor; } - #line 1014 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1025 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r146() { if ($this->security) { @@ -2936,7 +1498,7 @@ class Smarty_Internal_Templateparser $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor . '}'; } - #line 1021 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1032 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r147() { if ($this->security) { @@ -2945,7 +1507,7 @@ class Smarty_Internal_Templateparser $this->_retvalue = '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}'; } - #line 1028 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1039 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r148() { if ($this->security) { @@ -2954,13 +1516,13 @@ class Smarty_Internal_Templateparser $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}'; } - #line 1036 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1047 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r149() { $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor; } - #line 1044 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1055 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r150() { if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)) { @@ -2997,7 +1559,7 @@ class Smarty_Internal_Templateparser } } - #line 1083 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1094 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r151() { if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') { @@ -3006,7 +1568,7 @@ class Smarty_Internal_Templateparser $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")"; } - #line 1090 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1101 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r152() { if ($this->security) { @@ -3017,212 +1579,212 @@ class Smarty_Internal_Templateparser $this->_retvalue = '$_tmp' . self::$prefix_number . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')'; } - #line 1101 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1112 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r153() { $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor)); } - #line 1118 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1129 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r156() { $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor))); } - #line 1122 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1133 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r157() { $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor)); } - #line 1130 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1141 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r159() { $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } - #line 1138 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1149 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r160() { $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor); } - #line 1157 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1168 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r164() { $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'method'); } - #line 1162 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1173 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r165() { $this->_retvalue = array($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'method'); } - #line 1167 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1178 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r166() { $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, ''); } - #line 1172 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1183 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r167() { $this->_retvalue = array('$' . $this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'property'); } - #line 1177 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1188 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r168() { $this->_retvalue = array('$' . $this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor, 'property'); } - #line 1183 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1194 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r169() { $this->_retvalue = '=='; } - #line 1187 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1198 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r170() { $this->_retvalue = '!='; } - #line 1191 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1202 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r171() { $this->_retvalue = '>'; } - #line 1195 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1206 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r172() { $this->_retvalue = '<'; } - #line 1199 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1210 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r173() { $this->_retvalue = '>='; } - #line 1203 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1214 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r174() { $this->_retvalue = '<='; } - #line 1207 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1218 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r175() { $this->_retvalue = '==='; } - #line 1211 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1222 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r176() { $this->_retvalue = '!=='; } - #line 1215 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1226 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r177() { $this->_retvalue = '%'; } - #line 1219 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1230 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r178() { $this->_retvalue = '&&'; } - #line 1223 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1234 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r179() { $this->_retvalue = '||'; } - #line 1227 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1238 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r180() { $this->_retvalue = ' XOR '; } - #line 1234 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1245 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r181() { $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')'; } - #line 1242 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1253 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r183() { $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor; } - #line 1250 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1261 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r185() { $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor; } - #line 1254 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1265 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r186() { $this->_retvalue = '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor; } - #line 1266 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1277 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r188() { $this->_retvalue = "''"; } - #line 1270 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1281 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r189() { $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php(); } - #line 1275 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1286 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r190() { $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor; } - #line 1280 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1291 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r191() { $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[$this->yyidx + 0]->minor); } - #line 1284 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1295 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r192() { $this->_retvalue = new Smarty_Internal_ParseTree_Code($this, '(string)' . $this->yystack[$this->yyidx + - 1]->minor); } - #line 1292 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1303 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r194() { $this->_retvalue = new Smarty_Internal_ParseTree_Code($this, '(string)$_smarty_tpl->tpl_vars[\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\']->value'); } - #line 1300 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1311 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r196() { $this->_retvalue = new Smarty_Internal_ParseTree_Code($this, '(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')'); } - #line 1304 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1315 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r197() { $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[$this->yyidx + - 1]->minor); } - #line 1308 "../smarty/lexer/smarty_internal_templateparser.y" + #line 1319 "../smarty/lexer/smarty_internal_templateparser.y" function yy_r198() { $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this, $this->yystack[$this->yyidx + 0]->minor); @@ -3233,12 +1795,8 @@ class Smarty_Internal_Templateparser public function yy_reduce($yyruleno) { $yymsp = $this->yystack[$this->yyidx]; - if ($this->yyTraceFILE && $yyruleno >= 0 - && $yyruleno < count(self::$yyRuleName) - ) { - fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", - $this->yyTracePrompt, $yyruleno, - self::$yyRuleName[$yyruleno]); + if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < count(self::$yyRuleName)) { + fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno, self::$yyRuleName[$yyruleno]); } $this->_retvalue = $yy_lefthand_side = null; @@ -3322,15 +1880,12 @@ class Smarty_Internal_Templateparser $yyendofinput = ($yymajor == 0); if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sInput %s\n", - $this->yyTracePrompt, $this->yyTokenName[$yymajor]); + fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[$yymajor]); } do { $yyact = $this->yy_find_shift_action($yymajor); - if ($yymajor < self::YYERRORSYMBOL && - !$this->yy_is_expected_token($yymajor) - ) { + if ($yymajor < self::YYERRORSYMBOL && !$this->yy_is_expected_token($yymajor)) { // force a syntax error $yyact = self::YY_ERROR_ACTION; } @@ -3346,8 +1901,7 @@ class Smarty_Internal_Templateparser $this->yy_reduce($yyact - self::YYNSTATE); } elseif ($yyact == self::YY_ERROR_ACTION) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sSyntax Error!\n", - $this->yyTracePrompt); + fprintf($this->yyTraceFILE, "%sSyntax Error!\n", $this->yyTracePrompt); } if (self::YYERRORSYMBOL) { if ($this->yyerrcnt < 0) { @@ -3356,16 +1910,12 @@ class Smarty_Internal_Templateparser $yymx = $this->yystack[$this->yyidx]->major; if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) { if ($this->yyTraceFILE) { - fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", - $this->yyTracePrompt, $this->yyTokenName[$yymajor]); + fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt, $this->yyTokenName[$yymajor]); } $this->yy_destructor($yymajor, $yytokenvalue); $yymajor = self::YYNOCODE; } else { - while ($this->yyidx >= 0 && - $yymx != self::YYERRORSYMBOL && - ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE - ) { + while ($this->yyidx >= 0 && $yymx != self::YYERRORSYMBOL && ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE) { $this->yy_pop_parser_stack(); } if ($this->yyidx < 0 || $yymajor == 0) {