forked from provisioner/Provisioner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsimple_twig_minified.php
2 lines (2 loc) · 128 KB
/
simple_twig_minified.php
1
2
<?php
class Twig_Error extends Exception{protected $c;protected $d;protected $g;protected $h;public function __construct($j,$c=-1,$d=null,Exception $h=null){if(version_compare(PHP_VERSION,'5.3.0','<')){$l->previous=$h;parent::__construct('');}else{parent::__construct('',0,$h);}$l->lineno=$c;$l->filename=$d;if(-1===$l->lineno||null===$l->filename){$l->guessTemplateInfo();}$l->rawMessage=$j;$l->updateRepr();}public function getRawMessage(){return $l->rawMessage;}public function getTemplateFile(){return $l->filename;}public function setTemplateFile($d){$l->filename=$d;$l->updateRepr();}public function getTemplateLine(){return $l->lineno;}public function setTemplateLine($c){$l->lineno=$c;$l->updateRepr();}public function __call($m,$o){if('getprevious'==strtolower($m)){return $l->previous;}throw new BadMethodCallException(sprintf('Method "Twig_Error::%s()" does not exist.',$m));}protected function updateRepr(){$l->message=$l->rawMessage;$p=false;if('.'===substr($l->message,-1)){$l->message=substr($l->message,0,-1);$p=true;}if(null!==$l->filename){if(is_string($l->filename)||(is_object($l->filename)&&method_exists($l->filename,'__toString'))){$d=sprintf('"%s"',$l->filename);}else{$d=json_encode($l->filename);}$l->message.=sprintf(' in %s',$d);}if($l->lineno>=0){$l->message.=sprintf(' at line %d',$l->lineno);}if($p){$l->message.='.';}}protected function guessTemplateInfo(){$q=null;foreach(debug_backtrace()as $s){if(isset($s['object'])&&$s['object']instanceof Twig_Template&&'Twig_Template'!==get_class($s['object'])){$q=$s['object'];}}if(null!==$q&&null===$l->filename){$l->filename=$q->getTemplateName();}if(null===$q||$l->lineno>-1){return;}$t=new ReflectionObject($q);$u=$t->getFileName();$v=array($w=$l);while(($w instanceof self||method_exists($w,'getPrevious'))&&$w=$w->getPrevious()){$v[]=$w;}while($w=array_pop($v)){$x=$w->getTrace();while($s=array_shift($x)){if(!isset($s['file'])||!isset($s['line'])||$u!=$s['file']){continue;}foreach($q->getDebugInfo()as $y=>$z){if($y<=$s['line']){$l->lineno=$z;return;}}}}}}class Twig_Error_Loader extends Twig_Error{}class Twig_Loader_Filesystem implements Twig_LoaderInterface{protected $aa;protected $bb;public function __construct($aa){$l->setPaths($aa);}public function getPaths($cc='__main__'){return isset($l->paths[$cc])?$l->paths[$cc]:array();}public function getNamespaces(){return array_keys($l->paths);}public function setPaths($aa,$cc='__main__'){if(!is_array($aa)){$aa=array($aa);}$l->paths[$cc]=array();foreach($aa as $dd){$l->addPath($dd,$cc);}}public function addPath($dd,$cc='__main__'){$l->cache=array();if(!is_dir($dd)){throw new Twig_Error_Loader(sprintf('The "%s" directory does not exist.',$dd));}$l->paths[$cc][]=rtrim($dd,'/\\');}public function prependPath($dd,$cc='__main__'){$l->cache=array();if(!is_dir($dd)){throw new Twig_Error_Loader(sprintf('The "%s" directory does not exist.',$dd));}$dd=rtrim($dd,'/\\');if(!isset($l->paths[$cc])){$l->paths[$cc][]=$dd;}else{array_unshift($l->paths[$cc],$dd);}}public function getSource($ee){return file_get_contents($l->findTemplate($ee));}public function getCacheKey($ee){return $l->findTemplate($ee);}public function isFresh($ee,$ff){return filemtime($l->findTemplate($ee))<=$ff;}protected function findTemplate($ee){$ee=preg_replace('#/{2,}#','/',strtr($ee,'\\','/'));if(isset($l->cache[$ee])){return $l->cache[$ee];}$l->validateName($ee);$cc='__main__';if(isset($ee[0])&&'@'==$ee[0]){if(false===$gg=strpos($ee,'/')){throw new InvalidArgumentException(sprintf('Malformed namespaced template name "%s" (expecting "@namespace/template_name").',$ee));}$cc=substr($ee,1,$gg-1);$ee=substr($ee,$gg+1);}if(!isset($l->paths[$cc])){throw new Twig_Error_Loader(sprintf('There are no registered paths for namespace "%s".',$cc));}foreach($l->paths[$cc]as $dd){if(is_file($dd.'/'.$ee)){return $l->cache[$ee]=$dd.'/'.$ee;}}throw new Twig_Error_Loader(sprintf('Unable to find template "%s" (looked into: %s).',$ee,implode(', ',$l->paths[$cc])));}protected function validateName($ee){if(false!==strpos($ee,"\0")){throw new Twig_Error_Loader('A template name cannot contain NUL bytes.');}$hh=explode('/',$ee);$ii=0;foreach($hh as $jj){if('..'===$jj){--$ii;}elseif('.'!==$jj){++$ii;}if($ii<0){throw new Twig_Error_Loader(sprintf('Looks like you try to load a template outside configured directories (%s).',$ee));}}}}interface Twig_LoaderInterface{function getSource($ee);function getCacheKey($ee);function isFresh($ee,$ff);}class Twig_Environment{const VERSION='1.10.0';protected $kk;protected $ll;protected $mm;protected $nn;protected $bb;protected $oo;protected $pp;protected $qq;protected $rr;protected $ss;protected $tt;protected $uu;protected $vv;protected $ww;protected $xx;protected $yy;protected $zz;protected $aaa;protected $bbb;protected $ccc;protected $ddd;protected $eee='__TwigTemplate_';protected $fff;protected $ggg;protected $hhh;public function __construct(Twig_LoaderInterface $ll=null,$iii=array()){if(null!==$ll){$l->setLoader($ll);}$iii=array_merge(array('debug'=>false,'charset'=>'UTF-8','base_template_class'=>'Twig_Template','strict_variables'=>false,'autoescape'=>'html','cache'=>false,'auto_reload'=>null,'optimizations'=>-1,),$iii);$l->debug=(bool) $iii['debug'];$l->charset=$iii['charset'];$l->baseTemplateClass=$iii['base_template_class'];$l->autoReload=null===$iii['auto_reload']?$l->debug:(bool) $iii['auto_reload'];$l->extensions=array('core'=>new Twig_Extension_Core(),'escaper'=>new Twig_Extension_Escaper($iii['autoescape']),'optimizer'=>new Twig_Extension_Optimizer($iii['optimizations']),);$l->strictVariables=(bool) $iii['strict_variables'];$l->runtimeInitialized=false;$l->setCache($iii['cache']);$l->functionCallbacks=array();$l->filterCallbacks=array();$l->staging=array('functions'=>array(),'filters'=>array(),'tests'=>array(),'token_parsers'=>array(),'visitors'=>array(),'globals'=>array(),);}public function getBaseTemplateClass(){return $l->baseTemplateClass;}public function setBaseTemplateClass($jjj){$l->baseTemplateClass=$jjj;}public function enableDebug(){$l->debug=true;}public function disableDebug(){$l->debug=false;}public function isDebug(){return $l->debug;}public function enableAutoReload(){$l->autoReload=true;}public function disableAutoReload(){$l->autoReload=false;}public function isAutoReload(){return $l->autoReload;}public function enableStrictVariables(){$l->strictVariables=true;}public function disableStrictVariables(){$l->strictVariables=false;}public function isStrictVariables(){return $l->strictVariables;}public function getCache(){return $l->cache;}public function setCache($bb){$l->cache=$bb?$bb:false;}public function getCacheFilename($ee){if(false===$l->cache){return false;}$jjj=substr($l->getTemplateClass($ee),strlen($l->templateClassPrefix));return $l->getCache().'/'.substr($jjj,0,2).'/'.substr($jjj,2,2).'/'.substr($jjj,4).'.php';}public function getTemplateClass($ee,$kkk=null){return $l->templateClassPrefix.md5($l->loader->getCacheKey($ee)).(null===$kkk?'':'_'.$kkk);}public function getTemplateClassPrefix(){return $l->templateClassPrefix;}public function render($ee,array $lll=array()){return $l->loadTemplate($ee)->render($lll);}public function display($ee,array $lll=array()){$l->loadTemplate($ee)->display($lll);}public function loadTemplate($ee,$kkk=null){$mmm=$l->getTemplateClass($ee,$kkk);if(isset($l->loadedTemplates[$mmm])){return $l->loadedTemplates[$mmm];}if(!class_exists($mmm,false)){if(false===$bb=$l->getCacheFilename($ee)){eval($l->compileSource($l->loader->getSource($ee),$ee));}else{if(!is_file($bb)||($l->isAutoReload()&&!$l->isTemplateFresh($ee,filemtime($bb)))){$l->writeCacheFile($bb,$l->compileSource($l->loader->getSource($ee),$ee));}require_once $bb;}}if(!$l->runtimeInitialized){$l->initRuntime();}return $l->loadedTemplates[$mmm]=new $mmm($l);}public function isTemplateFresh($ee,$ff){foreach($l->extensions as $nnn){$t=new ReflectionObject($nnn);if(filemtime($t->getFileName())>$ff){return false;}}return $l->loader->isFresh($ee,$ff);}public function resolveTemplate($ooo){if(!is_array($ooo)){$ooo=array($ooo);}foreach($ooo as $ee){if($ee instanceof Twig_Template){return $ee;}try{return $l->loadTemplate($ee);}catch(Twig_Error_Loader $w){}}if(1===count($ooo)){throw $w;}throw new Twig_Error_Loader(sprintf('Unable to find one of the following templates: "%s".',implode('", "',$ooo)));}public function clearTemplateCache(){$l->loadedTemplates=array();}public function clearCacheFiles(){if(false===$l->cache){return;}foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($l->cache),RecursiveIteratorIterator::LEAVES_ONLY)as $u){if($u->isFile()){@unlink($u->getPathname());}}}public function getLexer(){if(null===$l->lexer){$l->lexer=new Twig_Lexer($l);}return $l->lexer;}public function setLexer(Twig_LexerInterface $oo){$l->lexer=$oo;}public function tokenize($ppp,$ee=null){return $l->getLexer()->tokenize($ppp,$ee);}public function getParser(){if(null===$l->parser){$l->parser=new Twig_Parser($l);}return $l->parser;}public function setParser(Twig_ParserInterface $pp){$l->parser=$pp;}public function parse(Twig_TokenStream $qqq){return $l->getParser()->parse($qqq);}public function getCompiler(){if(null===$l->compiler){$l->compiler=new Twig_Compiler($l);}return $l->compiler;}public function setCompiler(Twig_CompilerInterface $qq){$l->compiler=$qq;}public function compile(Twig_NodeInterface $rrr){return $l->getCompiler()->compile($rrr)->getSource();}public function compileSource($ppp,$ee=null){try{return $l->compile($l->parse($l->tokenize($ppp,$ee)));}catch(Twig_Error $w){$w->setTemplateFile($ee);throw $w;}catch(Exception $w){throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the compilation of a template ("%s").',$w->getMessage()),-1,$ee,$w);}}public function setLoader(Twig_LoaderInterface $ll){$l->loader=$ll;}public function getLoader(){return $l->loader;}public function setCharset($kk){$l->charset=$kk;}public function getCharset(){return $l->charset;}public function initRuntime(){$l->runtimeInitialized=true;foreach($l->getExtensions()as $nnn){$nnn->initRuntime($l);}}public function hasExtension($ee){return isset($l->extensions[$ee]);}public function getExtension($ee){if(!isset($l->extensions[$ee])){throw new Twig_Error_Runtime(sprintf('The "%s" extension is not enabled.',$ee));}return $l->extensions[$ee];}public function addExtension(Twig_ExtensionInterface $nnn){$l->extensions[$nnn->getName()]=$nnn;$l->parsers=null;$l->visitors=null;$l->filters=null;$l->tests=null;$l->functions=null;$l->globals=null;}public function removeExtension($ee){unset($l->extensions[$ee]);$l->parsers=null;$l->visitors=null;$l->filters=null;$l->tests=null;$l->functions=null;$l->globals=null;}public function setExtensions(array $ss){foreach($ss as $nnn){$l->addExtension($nnn);}}public function getExtensions(){return $l->extensions;}public function addTokenParser(Twig_TokenParserInterface $pp){$l->staging['token_parsers'][]=$pp;$l->parsers=null;}public function getTokenParsers(){if(null===$l->parsers){$l->parsers=new Twig_TokenParserBroker();if(isset($l->staging['token_parsers'])){foreach($l->staging['token_parsers']as $pp){$l->parsers->addTokenParser($pp);}}foreach($l->getExtensions()as $nnn){$tt=$nnn->getTokenParsers();foreach($tt as $pp){if($pp instanceof Twig_TokenParserInterface){$l->parsers->addTokenParser($pp);}elseif($pp instanceof Twig_TokenParserBrokerInterface){$l->parsers->addTokenParserBroker($pp);}else{throw new Twig_Error_Runtime('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances');}}}}return $l->parsers;}public function getTags(){$sss=array();foreach($l->getTokenParsers()->getParsers()as $pp){if($pp instanceof Twig_TokenParserInterface){$sss[$pp->getTag()]=$pp;}}return $sss;}public function addNodeVisitor(Twig_NodeVisitorInterface $ttt){$l->staging['visitors'][]=$ttt;$l->visitors=null;}public function getNodeVisitors(){if(null===$l->visitors){foreach($l->getExtensions()as $nnn){foreach($nnn->getNodeVisitors()as $ttt){$l->addNodeVisitor($ttt);}}$l->visitors=$l->staging['visitors'];}return $l->visitors;}public function addFilter($ee,Twig_FilterInterface $uuu){$l->staging['filters'][$ee]=$uuu;$l->filters=null;}public function getFilter($ee){if(null===$l->filters){$l->getFilters();}if(isset($l->filters[$ee])){return $l->filters[$ee];}foreach($l->filters as $vvv=>$uuu){$vvv=str_replace('\\*','(.*?)',preg_quote($vvv,'#'),$www);if($www){if(preg_match('#^'.$vvv.'$#',$ee,$xxx)){array_shift($xxx);$uuu->setArguments($xxx);return $uuu;}}}foreach($l->filterCallbacks as $yyy){if(false!==$uuu=call_user_func($yyy,$ee)){return $uuu;}}return false;}public function registerUndefinedFilterCallback($zzz){$l->filterCallbacks[]=$zzz;}public function getFilters(){if(null===$l->filters){foreach($l->getExtensions()as $nnn){foreach($nnn->getFilters()as $ee=>$uuu){$l->addFilter($ee,$uuu);}}$l->filters=$l->staging['filters'];}return $l->filters;}public function addTest($ee,Twig_TestInterface $aaaa){$l->staging['tests'][$ee]=$aaaa;$l->tests=null;}public function getTests(){if(null===$l->tests){foreach($l->getExtensions()as $nnn){foreach($nnn->getTests()as $ee=>$aaaa){$l->addTest($ee,$aaaa);}}$l->tests=$l->staging['tests'];}return $l->tests;}public function addFunction($ee,Twig_FunctionInterface $bbbb){$l->staging['functions'][$ee]=$bbbb;$l->functions=null;}public function getFunction($ee){if(null===$l->functions){$l->getFunctions();}if(isset($l->functions[$ee])){return $l->functions[$ee];}foreach($l->functions as $vvv=>$bbbb){$vvv=str_replace('\\*','(.*?)',preg_quote($vvv,'#'),$www);if($www){if(preg_match('#^'.$vvv.'$#',$ee,$xxx)){array_shift($xxx);$bbbb->setArguments($xxx);return $bbbb;}}}foreach($l->functionCallbacks as $yyy){if(false!==$bbbb=call_user_func($yyy,$ee)){return $bbbb;}}return false;}public function registerUndefinedFunctionCallback($zzz){$l->functionCallbacks[]=$zzz;}public function getFunctions(){if(null===$l->functions){foreach($l->getExtensions()as $nnn){foreach($nnn->getFunctions()as $ee=>$bbbb){$l->addFunction($ee,$bbbb);}}$l->functions=$l->staging['functions'];}return $l->functions;}public function addGlobal($ee,$cccc){$l->staging['globals'][$ee]=$cccc;$l->globals=null;}public function getGlobals(){if(null===$l->globals){$l->globals=isset($l->staging['globals'])?$l->staging['globals']:array();foreach($l->getExtensions()as $nnn){$l->globals=array_merge($l->globals,$nnn->getGlobals());}}return $l->globals;}public function mergeGlobals(array $lll){foreach($l->getGlobals()as $dddd=>$cccc){if(!array_key_exists($dddd,$lll)){$lll[$dddd]=$cccc;}}return $lll;}public function getUnaryOperators(){if(null===$l->unaryOperators){$l->initOperators();}return $l->unaryOperators;}public function getBinaryOperators(){if(null===$l->binaryOperators){$l->initOperators();}return $l->binaryOperators;}public function computeAlternatives($ee,$eeee){$ffff=array();foreach($eeee as $gggg){$hhhh=levenshtein($ee,$gggg);if($hhhh<=strlen($ee)/3||false!==strpos($gggg,$ee)){$ffff[$gggg]=$hhhh;}}asort($ffff);return array_keys($ffff);}protected function initOperators(){$l->unaryOperators=array();$l->binaryOperators=array();foreach($l->getExtensions()as $nnn){$iiii=$nnn->getOperators();if(!$iiii){continue;}if(2!==count($iiii)){throw new InvalidArgumentException(sprintf('"%s::getOperators()" does not return a valid operators array.',get_class($nnn)));}$l->unaryOperators=array_merge($l->unaryOperators,$iiii[0]);$l->binaryOperators=array_merge($l->binaryOperators,$iiii[1]);}}protected function writeCacheFile($u,$jjjj){$kkkk=dirname($u);if(!is_dir($kkkk)){if(false===@mkdir($kkkk,0777,true)&&!is_dir($kkkk)){throw new RuntimeException(sprintf("Unable to create the cache directory (%s).",$kkkk));}}elseif(!is_writable($kkkk)){throw new RuntimeException(sprintf("Unable to write in the cache directory (%s).",$kkkk));}$llll=tempnam(dirname($u),basename($u));if(false!==@file_put_contents($llll,$jjjj)){if(@rename($llll,$u)||(@copy($llll,$u)&&unlink($llll))){@chmod($u,0666&~umask());return;}}throw new Twig_Error_Runtime(sprintf('Failed to write cache file "%s".',$u));}}if(!defined('ENT_SUBSTITUTE')){define('ENT_SUBSTITUTE',8);}abstract class Twig_Extension implements Twig_ExtensionInterface{public function initRuntime(Twig_Environment $mmmm){}public function getTokenParsers(){return array();}public function getNodeVisitors(){return array();}public function getFilters(){return array();}public function getTests(){return array();}public function getFunctions(){return array();}public function getOperators(){return array();}public function getGlobals(){return array();}}class Twig_Extension_Core extends Twig_Extension{protected $nnnn=array('F j, Y H:i','%d days');protected $oooo=array(0,'.',',');protected $pppp=null;public function setDateFormat($qqqq=null,$rrrr=null){if(null!==$qqqq){$l->dateFormats[0]=$qqqq;}if(null!==$rrrr){$l->dateFormats[1]=$rrrr;}}public function getDateFormat(){return $l->dateFormats;}public function setTimezone($pppp){$l->timezone=$pppp instanceof DateTimeZone?$pppp:new DateTimeZone($pppp);}public function getTimezone(){return $l->timezone;}public function setNumberFormat($ssss,$tttt,$uuuu){$l->numberFormat=array($ssss,$tttt,$uuuu);}public function getNumberFormat(){return $l->numberFormat;}public function getTokenParsers(){return array(new Twig_TokenParser_For(),new Twig_TokenParser_If(),new Twig_TokenParser_Extends(),new Twig_TokenParser_Include(),new Twig_TokenParser_Block(),new Twig_TokenParser_Use(),new Twig_TokenParser_Filter(),new Twig_TokenParser_Macro(),new Twig_TokenParser_Import(),new Twig_TokenParser_From(),new Twig_TokenParser_Set(),new Twig_TokenParser_Spaceless(),new Twig_TokenParser_Flush(),new Twig_TokenParser_Do(),new Twig_TokenParser_Embed(),);}public function getFilters(){$vv=array('date'=>new Twig_Filter_Function('twig_date_format_filter',array('needs_environment'=>true)),'date_modify'=>new Twig_Filter_Function('twig_date_modify_filter',array('needs_environment'=>true)),'format'=>new Twig_Filter_Function('sprintf'),'replace'=>new Twig_Filter_Function('strtr'),'number_format'=>new Twig_Filter_Function('twig_number_format_filter',array('needs_environment'=>true)),'abs'=>new Twig_Filter_Function('abs'),'url_encode'=>new Twig_Filter_Function('twig_urlencode_filter'),'json_encode'=>new Twig_Filter_Function('twig_jsonencode_filter'),'convert_encoding'=>new Twig_Filter_Function('twig_convert_encoding'),'title'=>new Twig_Filter_Function('twig_title_string_filter',array('needs_environment'=>true)),'capitalize'=>new Twig_Filter_Function('twig_capitalize_string_filter',array('needs_environment'=>true)),'upper'=>new Twig_Filter_Function('strtoupper'),'lower'=>new Twig_Filter_Function('strtolower'),'striptags'=>new Twig_Filter_Function('strip_tags'),'trim'=>new Twig_Filter_Function('trim'),'nl2br'=>new Twig_Filter_Function('nl2br',array('pre_escape'=>'html','is_safe'=>array('html'))),'join'=>new Twig_Filter_Function('twig_join_filter'),'sort'=>new Twig_Filter_Function('twig_sort_filter'),'merge'=>new Twig_Filter_Function('twig_array_merge'),'reverse'=>new Twig_Filter_Function('twig_reverse_filter',array('needs_environment'=>true)),'length'=>new Twig_Filter_Function('twig_length_filter',array('needs_environment'=>true)),'slice'=>new Twig_Filter_Function('twig_slice',array('needs_environment'=>true)),'default'=>new Twig_Filter_Node('Twig_Node_Expression_Filter_Default'),'_default'=>new Twig_Filter_Function('_twig_default_filter'),'keys'=>new Twig_Filter_Function('twig_get_array_keys_filter'),'escape'=>new Twig_Filter_Function('twig_escape_filter',array('needs_environment'=>true,'is_safe_callback'=>'twig_escape_filter_is_safe')),'e'=>new Twig_Filter_Function('twig_escape_filter',array('needs_environment'=>true,'is_safe_callback'=>'twig_escape_filter_is_safe')),);if(function_exists('mb_get_info')){$vv['upper']=new Twig_Filter_Function('twig_upper_filter',array('needs_environment'=>true));$vv['lower']=new Twig_Filter_Function('twig_lower_filter',array('needs_environment'=>true));}return $vv;}public function getFunctions(){return array('range'=>new Twig_Function_Function('range'),'constant'=>new Twig_Function_Function('constant'),'cycle'=>new Twig_Function_Function('twig_cycle'),'random'=>new Twig_Function_Function('twig_random',array('needs_environment'=>true)),'date'=>new Twig_Function_Function('twig_date_converter',array('needs_environment'=>true)),);}public function getTests(){return array('even'=>new Twig_Test_Node('Twig_Node_Expression_Test_Even'),'odd'=>new Twig_Test_Node('Twig_Node_Expression_Test_Odd'),'defined'=>new Twig_Test_Node('Twig_Node_Expression_Test_Defined'),'sameas'=>new Twig_Test_Node('Twig_Node_Expression_Test_Sameas'),'none'=>new Twig_Test_Node('Twig_Node_Expression_Test_Null'),'null'=>new Twig_Test_Node('Twig_Node_Expression_Test_Null'),'divisibleby'=>new Twig_Test_Node('Twig_Node_Expression_Test_Divisibleby'),'constant'=>new Twig_Test_Node('Twig_Node_Expression_Test_Constant'),'empty'=>new Twig_Test_Function('twig_test_empty'),'iterable'=>new Twig_Test_Function('twig_test_iterable'),);}public function getOperators(){return array(array('not'=>array('precedence'=>50,'class'=>'Twig_Node_Expression_Unary_Not'),'-'=>array('precedence'=>500,'class'=>'Twig_Node_Expression_Unary_Neg'),'+'=>array('precedence'=>500,'class'=>'Twig_Node_Expression_Unary_Pos'),),array('b-and'=>array('precedence'=>5,'class'=>'Twig_Node_Expression_Binary_BitwiseAnd','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'b-xor'=>array('precedence'=>5,'class'=>'Twig_Node_Expression_Binary_BitwiseXor','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'b-or'=>array('precedence'=>5,'class'=>'Twig_Node_Expression_Binary_BitwiseOr','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'or'=>array('precedence'=>10,'class'=>'Twig_Node_Expression_Binary_Or','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'and'=>array('precedence'=>15,'class'=>'Twig_Node_Expression_Binary_And','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'=='=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_Equal','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'!='=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_NotEqual','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'<'=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_Less','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'>'=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_Greater','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'>='=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_GreaterEqual','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'<='=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_LessEqual','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'not in'=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_NotIn','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'in'=>array('precedence'=>20,'class'=>'Twig_Node_Expression_Binary_In','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'..'=>array('precedence'=>25,'class'=>'Twig_Node_Expression_Binary_Range','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'+'=>array('precedence'=>30,'class'=>'Twig_Node_Expression_Binary_Add','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'-'=>array('precedence'=>30,'class'=>'Twig_Node_Expression_Binary_Sub','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'~'=>array('precedence'=>40,'class'=>'Twig_Node_Expression_Binary_Concat','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'*'=>array('precedence'=>60,'class'=>'Twig_Node_Expression_Binary_Mul','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'/'=>array('precedence'=>60,'class'=>'Twig_Node_Expression_Binary_Div','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'//'=>array('precedence'=>60,'class'=>'Twig_Node_Expression_Binary_FloorDiv','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'%'=>array('precedence'=>60,'class'=>'Twig_Node_Expression_Binary_Mod','associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'is'=>array('precedence'=>100,'callable'=>array($l,'parseTestExpression'),'associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'is not'=>array('precedence'=>100,'callable'=>array($l,'parseNotTestExpression'),'associativity'=>Twig_ExpressionParser::OPERATOR_LEFT),'**'=>array('precedence'=>200,'class'=>'Twig_Node_Expression_Binary_Power','associativity'=>Twig_ExpressionParser::OPERATOR_RIGHT),),);}public function parseNotTestExpression(Twig_Parser $pp,$rrr){return new Twig_Node_Expression_Unary_Not($l->parseTestExpression($pp,$rrr),$pp->getCurrentToken()->getLine());}public function parseTestExpression(Twig_Parser $pp,$rrr){$vvvv=$pp->getStream();$ee=$vvvv->expect(Twig_Token::NAME_TYPE)->getValue();$o=null;if($vvvv->test(Twig_Token::PUNCTUATION_TYPE,'(')){$o=$pp->getExpressionParser()->parseArguments();}$jjj=$l->getTestNodeClass($pp->getEnvironment(),$ee);return new $jjj($rrr,$ee,$o,$pp->getCurrentToken()->getLine());}protected function getTestNodeClass(Twig_Environment $wwww,$ee){$xxxx=$wwww->getTests();if(isset($xxxx[$ee])&&$xxxx[$ee]instanceof Twig_Test_Node){return $xxxx[$ee]->getClass();}return 'Twig_Node_Expression_Test';}public function getName(){return 'core';}}function twig_cycle($yyyy,$zzzz){if(!is_array($yyyy)&&!$yyyy instanceof ArrayAccess){return $yyyy;}return $yyyy[$zzzz%count($yyyy)];}function twig_random(Twig_Environment $wwww,$yyyy=null){if(null===$yyyy){return mt_rand();}if(is_int($yyyy)||is_float($yyyy)){return $yyyy<0?mt_rand($yyyy,0):mt_rand(0,$yyyy);}if($yyyy instanceof Traversable){$yyyy=iterator_to_array($yyyy);}elseif(is_string($yyyy)){if(''===$yyyy){return'';}if(null!==$kk=$wwww->getCharset()){if('UTF-8'!=$kk){$yyyy=twig_convert_encoding($yyyy,'UTF-8',$kk);}$yyyy=preg_split('/(?<!^)(?!$)/u',$yyyy);if('UTF-8'!=$kk){foreach($yyyy as $zzzz=>$cccc){$yyyy[$zzzz]=twig_convert_encoding($cccc,$kk,'UTF-8');}}}else{return $yyyy[mt_rand(0,strlen($yyyy)-1)];}}if(!is_array($yyyy)){return $yyyy;}if(0===count($yyyy)){throw new Twig_Error_Runtime('The random function cannot pick from an empty array.');}return $yyyy[array_rand($yyyy,1)];}function twig_date_format_filter(Twig_Environment $wwww,$aaaaa,$qqqq=null,$pppp=null){if(null===$qqqq){$bbbbb=$wwww->getExtension('core')->getDateFormat();$qqqq=$aaaaa instanceof DateInterval?$bbbbb[1]:$bbbbb[0];}if($aaaaa instanceof DateInterval||$aaaaa instanceof DateTime){if(null!==$pppp){$aaaaa=clone $aaaaa;$aaaaa->setTimezone($pppp instanceof DateTimeZone?$pppp:new DateTimeZone($pppp));}return $aaaaa->format($qqqq);}return twig_date_converter($wwww,$aaaaa,$pppp)->format($qqqq);}function twig_date_modify_filter(Twig_Environment $wwww,$aaaaa,$ccccc){if($aaaaa instanceof DateTime){$aaaaa=clone $aaaaa;}else{$aaaaa=twig_date_converter($wwww,$aaaaa);}$aaaaa->modify($ccccc);return $aaaaa;}function twig_date_converter(Twig_Environment $wwww,$aaaaa=null,$pppp=null){if(!$aaaaa instanceof DateTime){$ddddd=(string) $aaaaa;if(ctype_digit($ddddd)||(!empty($ddddd)&&'-'===$ddddd[0]&&ctype_digit(substr($ddddd,1)))){$aaaaa=new DateTime('@'.$aaaaa);}else{$aaaaa=new DateTime($aaaaa);}}else{$aaaaa=clone $aaaaa;}if(null!==$pppp){if($pppp instanceof DateTimeZone){$aaaaa->setTimezone($pppp);}else{$aaaaa->setTimezone(new DateTimeZone($pppp));}}elseif(($pppp=$wwww->getExtension('core')->getTimezone())instanceof DateTimeZone){$aaaaa->setTimezone($pppp);}else{$aaaaa->setTimezone(new DateTimeZone(date_default_timezone_get()));}return $aaaaa;}function twig_number_format_filter(Twig_Environment $wwww,$eeeee,$ssss=null,$tttt=null,$uuuu=null){$fffff=$wwww->getExtension('core')->getNumberFormat();if(null===$ssss){$ssss=$fffff[0];}if(null===$tttt){$tttt=$fffff[1];}if(null===$uuuu){$uuuu=$fffff[2];}return number_format((float) $eeeee,$ssss,$tttt,$uuuu);}function twig_urlencode_filter($ggggg,$hhhhh=false){if($hhhhh){return rawurlencode($ggggg);}return urlencode($ggggg);}if(version_compare(PHP_VERSION,'5.3.0','<')){function twig_jsonencode_filter($cccc,$iii=0){if($cccc instanceof Twig_Markup){$cccc=(string) $cccc;}elseif(is_array($cccc)){array_walk_recursive($cccc,'_twig_markup2string');}return json_encode($cccc);}}else{function twig_jsonencode_filter($cccc,$iii=0){if($cccc instanceof Twig_Markup){$cccc=(string) $cccc;}elseif(is_array($cccc)){array_walk_recursive($cccc,'_twig_markup2string');}return json_encode($cccc,$iii);}}function _twig_markup2string(&$cccc){if($cccc instanceof Twig_Markup){$cccc=(string) $cccc;}}function twig_array_merge($iiiii,$jjjjj){if(!is_array($iiiii)||!is_array($jjjjj)){throw new Twig_Error_Runtime('The merge filter only works with arrays or hashes.');}return array_merge($iiiii,$jjjjj);}function twig_slice(Twig_Environment $wwww,$gggg,$kkkkk,$lllll=null,$mmmmm=false){if($gggg instanceof Traversable){$gggg=iterator_to_array($gggg,false);}if(is_array($gggg)){return array_slice($gggg,$kkkkk,$lllll,$mmmmm);}$gggg=(string) $gggg;if(function_exists('mb_get_info')&&null!==$kk=$wwww->getCharset()){return mb_substr($gggg,$kkkkk,null===$lllll?mb_strlen($gggg,$kk)-$kkkkk:$lllll,$kk);}return null===$lllll?substr($gggg,$kkkkk):substr($gggg,$kkkkk,$lllll);}function twig_join_filter($cccc,$nnnnn=''){if($cccc instanceof Traversable){$cccc=iterator_to_array($cccc,false);}return implode($nnnnn,(array) $cccc);}function _twig_default_filter($cccc,$ooooo=''){if(twig_test_empty($cccc)){return $ooooo;}return $cccc;}function twig_get_array_keys_filter($ppppp){if(is_object($ppppp)&&$ppppp instanceof Traversable){return array_keys(iterator_to_array($ppppp));}if(!is_array($ppppp)){return array();}return array_keys($ppppp);}function twig_reverse_filter(Twig_Environment $wwww,$gggg,$mmmmm=false){if(is_object($gggg)&&$gggg instanceof Traversable){return array_reverse(iterator_to_array($gggg),$mmmmm);}if(is_array($gggg)){return array_reverse($gggg,$mmmmm);}if(null!==$kk=$wwww->getCharset()){$qqqqq=(string) $gggg;if('UTF-8'!=$kk){$gggg=twig_convert_encoding($qqqqq,'UTF-8',$kk);}preg_match_all('/./us',$gggg,$xxx);$qqqqq=implode('',array_reverse($xxx[0]));if('UTF-8'!=$kk){$qqqqq=twig_convert_encoding($qqqqq,$kk,'UTF-8');}return $qqqqq;}return strrev((string) $gggg);}function twig_sort_filter($ppppp){asort($ppppp);return $ppppp;}function twig_in_filter($cccc,$rrrrr){$sssss=is_object($cccc);if(is_array($rrrrr)){return in_array($cccc,$rrrrr,$sssss);}elseif(is_string($rrrrr)){if(!strlen((string) $cccc)){return empty($rrrrr);}return false!==strpos($rrrrr,(string) $cccc);}elseif(is_object($rrrrr)&&$rrrrr instanceof Traversable){return in_array($cccc,iterator_to_array($rrrrr,false),$sssss);}return false;}function twig_escape_filter(Twig_Environment $wwww,$qqqqq,$ttttt='html',$kk=null,$uuuuu=false){if($uuuuu&&is_object($qqqqq)&&$qqqqq instanceof Twig_Markup){return $qqqqq;}if(!is_string($qqqqq)&&!(is_object($qqqqq)&&method_exists($qqqqq,'__toString'))){return $qqqqq;}if(null===$kk){$kk=$wwww->getCharset();}$qqqqq=(string) $qqqqq;switch($ttttt){case 'js':if('UTF-8'!=$kk){$qqqqq=twig_convert_encoding($qqqqq,'UTF-8',$kk);}if(0==strlen($qqqqq)?false:(1==preg_match('/^./su',$qqqqq)?false:true)){throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');}$qqqqq=preg_replace_callback('#[^a-zA-Z0-9,\._]#Su','_twig_escape_js_callback',$qqqqq);if('UTF-8'!=$kk){$qqqqq=twig_convert_encoding($qqqqq,$kk,'UTF-8');}return $qqqqq;case 'css':if('UTF-8'!=$kk){$qqqqq=twig_convert_encoding($qqqqq,'UTF-8',$kk);}if(0==strlen($qqqqq)?false:(1==preg_match('/^./su',$qqqqq)?false:true)){throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');}$qqqqq=preg_replace_callback('#[^a-zA-Z0-9]#Su','_twig_escape_css_callback',$qqqqq);if('UTF-8'!=$kk){$qqqqq=twig_convert_encoding($qqqqq,$kk,'UTF-8');}return $qqqqq;case 'html_attr':if('UTF-8'!=$kk){$qqqqq=twig_convert_encoding($qqqqq,'UTF-8',$kk);}if(0==strlen($qqqqq)?false:(1==preg_match('/^./su',$qqqqq)?false:true)){throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');}$qqqqq=preg_replace_callback('#[^a-zA-Z0-9,\.\-_]#Su','_twig_escape_html_attr_callback',$qqqqq);if('UTF-8'!=$kk){$qqqqq=twig_convert_encoding($qqqqq,$kk,'UTF-8');}return $qqqqq;case 'html':static $vvvvv=array('iso-8859-1'=>true,'iso8859-1'=>true,'iso-8859-15'=>true,'iso8859-15'=>true,'utf-8'=>true,'cp866'=>true,'ibm866'=>true,'866'=>true,'cp1251'=>true,'windows-1251'=>true,'win-1251'=>true,'1251'=>true,'cp1252'=>true,'windows-1252'=>true,'1252'=>true,'koi8-r'=>true,'koi8-ru'=>true,'koi8r'=>true,'big5'=>true,'950'=>true,'gb2312'=>true,'936'=>true,'big5-hkscs'=>true,'shift_jis'=>true,'sjis'=>true,'932'=>true,'euc-jp'=>true,'eucjp'=>true,'iso8859-5'=>true,'iso-8859-5'=>true,'macroman'=>true,);if(isset($vvvvv[strtolower($kk)])){return htmlspecialchars($qqqqq,ENT_QUOTES|ENT_SUBSTITUTE,$kk);}$qqqqq=twig_convert_encoding($qqqqq,'UTF-8',$kk);$qqqqq=htmlspecialchars($qqqqq,ENT_QUOTES|ENT_SUBSTITUTE,'UTF-8');return twig_convert_encoding($qqqqq,$kk,'UTF-8');case 'url':if(version_compare(PHP_VERSION,'5.3.0','<')){return str_replace('%7E','~',rawurlencode($qqqqq));}return rawurlencode($qqqqq);default:throw new Twig_Error_Runtime(sprintf('Invalid escaping strategy "%s" (valid ones: html, js, url, css, and html_attr).',$ttttt));}}function twig_escape_filter_is_safe(Twig_Node $wwwww){foreach($wwwww as $xxxxx){if($xxxxx instanceof Twig_Node_Expression_Constant){return array($xxxxx->getAttribute('value'));}return array();}return array('html');}if(function_exists('mb_convert_encoding')){function twig_convert_encoding($qqqqq,$yyyyy,$zzzzz){return mb_convert_encoding($qqqqq,$yyyyy,$zzzzz);}}elseif(function_exists('iconv')){function twig_convert_encoding($qqqqq,$yyyyy,$zzzzz){return iconv($zzzzz,$yyyyy,$qqqqq);}}else{function twig_convert_encoding($qqqqq,$yyyyy,$zzzzz){throw new Twig_Error_Runtime('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).');}}function _twig_escape_js_callback($xxx){$aaaaaa=$xxx[0];if(!isset($aaaaaa[1])){return '\\x'.strtoupper(substr('00'.bin2hex($aaaaaa),-2));}$aaaaaa=twig_convert_encoding($aaaaaa,'UTF-16BE','UTF-8');return '\\u'.strtoupper(substr('0000'.bin2hex($aaaaaa),-4));}function _twig_escape_css_callback($xxx){$aaaaaa=$xxx[0];if(!isset($aaaaaa[1])){$bbbbbb=ltrim(strtoupper(bin2hex($aaaaaa)),'0');if(0===strlen($bbbbbb)){$bbbbbb='0';}return'\\'.$bbbbbb.' ';}$aaaaaa=twig_convert_encoding($aaaaaa,'UTF-16BE','UTF-8');return'\\'.ltrim(strtoupper(bin2hex($aaaaaa)),'0').' ';}function _twig_escape_html_attr_callback($xxx){static $cccccc=array(34=>'quot',38=>'amp',60=>'lt',62=>'gt',);$dddddd=$xxx[0];$eeeeee=ord($dddddd);if(($eeeeee<=0x1f&&$dddddd!="\t"&&$dddddd!="\n"&&$dddddd!="\r")||($eeeeee>=0x7f&&$eeeeee<=0x9f)){return '�';}if(strlen($dddddd)==1){$bbbbbb=strtoupper(substr('00'.bin2hex($dddddd),-2));}else{$dddddd=twig_convert_encoding($dddddd,'UTF-16BE','UTF-8');$bbbbbb=strtoupper(substr('0000'.bin2hex($dddddd),-4));}$ffffff=hexdec($bbbbbb);if(array_key_exists($ffffff,$cccccc)){return sprintf('&%s;',$cccccc[$ffffff]);}return sprintf('&#x%s;',$bbbbbb);}if(function_exists('mb_get_info')){function twig_length_filter(Twig_Environment $wwww,$gggggg){return is_scalar($gggggg)?mb_strlen($gggggg,$wwww->getCharset()):count($gggggg);}function twig_upper_filter(Twig_Environment $wwww,$qqqqq){if(null!==($kk=$wwww->getCharset())){return mb_strtoupper($qqqqq,$kk);}return strtoupper($qqqqq);}function twig_lower_filter(Twig_Environment $wwww,$qqqqq){if(null!==($kk=$wwww->getCharset())){return mb_strtolower($qqqqq,$kk);}return strtolower($qqqqq);}function twig_title_string_filter(Twig_Environment $wwww,$qqqqq){if(null!==($kk=$wwww->getCharset())){return mb_convert_case($qqqqq,MB_CASE_TITLE,$kk);}return ucwords(strtolower($qqqqq));}function twig_capitalize_string_filter(Twig_Environment $wwww,$qqqqq){if(null!==($kk=$wwww->getCharset())){return mb_strtoupper(mb_substr($qqqqq,0,1,$kk),$kk).mb_strtolower(mb_substr($qqqqq,1,mb_strlen($qqqqq,$kk),$kk),$kk);}return ucfirst(strtolower($qqqqq));}}else{function twig_length_filter(Twig_Environment $wwww,$gggggg){return is_scalar($gggggg)?strlen($gggggg):count($gggggg);}function twig_title_string_filter(Twig_Environment $wwww,$qqqqq){return ucwords(strtolower($qqqqq));}function twig_capitalize_string_filter(Twig_Environment $wwww,$qqqqq){return ucfirst(strtolower($qqqqq));}}function twig_ensure_traversable($hhhhhh){if($hhhhhh instanceof Traversable||is_array($hhhhhh)){return $hhhhhh;}return array();}function twig_test_empty($cccc){if($cccc instanceof Countable){return0==count($cccc);}return false===$cccc||(empty($cccc)&&'0'!=$cccc);}function twig_test_iterable($cccc){return $cccc instanceof Traversable||is_array($cccc);}interface Twig_ExtensionInterface{function initRuntime(Twig_Environment $mmmm);function getTokenParsers();function getNodeVisitors();function getFilters();function getTests();function getFunctions();function getOperators();function getGlobals();function getName();}class Twig_Extension_Escaper extends Twig_Extension{protected $iiiiii;public function __construct($iiiiii='html'){$l->setDefaultStrategy($iiiiii);}public function getTokenParsers(){return array(new Twig_TokenParser_AutoEscape());}public function getNodeVisitors(){return array(new Twig_NodeVisitor_Escaper());}public function getFilters(){return array('raw'=>new Twig_Filter_Function('twig_raw_filter',array('is_safe'=>array('all'))),);}public function setDefaultStrategy($iiiiii){if(true===$iiiiii){$iiiiii='html';}$l->defaultStrategy=$iiiiii;}public function getDefaultStrategy($d){if(!is_string($l->defaultStrategy)&&is_callable($l->defaultStrategy)){return call_user_func($l->defaultStrategy,$d);}return $l->defaultStrategy;}public function getName(){return 'escaper';}}function twig_raw_filter($qqqqq){return $qqqqq;}class Twig_Extension_Optimizer extends Twig_Extension{protected $jjjjjj;public function __construct($jjjjjj=-1){$l->optimizers=$jjjjjj;}public function getNodeVisitors(){return array(new Twig_NodeVisitor_Optimizer($l->optimizers));}public function getName(){return 'optimizer';}}class Twig_Lexer implements Twig_LexerInterface{protected $qqq;protected $kkkkkk;protected $llllll;protected $c;protected $mmmmmm;protected $nnnnnn;protected $oooooo;protected $pppppp;protected $wwww;protected $d;protected $iii;protected $qqqqqq;protected $rrrrrr;protected $ssssss;const STATE_DATA=0;const STATE_BLOCK=1;const STATE_VAR=2;const STATE_STRING=3;const STATE_INTERPOLATION=4;const REGEX_NAME='/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A';const REGEX_NUMBER='/[0-9]+(?:\.[0-9]+)?/A';const REGEX_STRING='/"([^#"\\\\]*(?:\\\\.[^#"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'/As';const REGEX_DQ_STRING_DELIM='/"/A';const REGEX_DQ_STRING_PART='/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As';const PUNCTUATION='()[]{}?:.,|';public function __construct(Twig_Environment $wwww,array $iii=array()){$l->env=$wwww;$l->options=array_merge(array('tag_comment'=>array('{#','#}'),'tag_block'=>array('{%','%}'),'tag_variable'=>array('{{','}}'),'whitespace_trim'=>'-','interpolation'=>array('#{','}'),),$iii);$l->regexes=array('lex_var'=>'/\s*'.preg_quote($l->options['whitespace_trim'].$l->options['tag_variable'][1],'/').'\s*|\s*'.preg_quote($l->options['tag_variable'][1],'/').'/A','lex_block'=>'/\s*(?:'.preg_quote($l->options['whitespace_trim'].$l->options['tag_block'][1],'/').'\s*|\s*'.preg_quote($l->options['tag_block'][1],'/').')\n?/A','lex_raw_data'=>'/('.preg_quote($l->options['tag_block'][0].$l->options['whitespace_trim'],'/').'|'.preg_quote($l->options['tag_block'][0],'/').')\s*endraw\s*(?:'.preg_quote($l->options['whitespace_trim'].$l->options['tag_block'][1],'/').'\s*|\s*'.preg_quote($l->options['tag_block'][1],'/').')/s','operator'=>$l->getOperatorRegex(),'lex_comment'=>'/(?:'.preg_quote($l->options['whitespace_trim'],'/').preg_quote($l->options['tag_comment'][1],'/').'\s*|'.preg_quote($l->options['tag_comment'][1],'/').')\n?/s','lex_block_raw'=>'/\s*raw\s*(?:'.preg_quote($l->options['whitespace_trim'].$l->options['tag_block'][1],'/').'\s*|\s*'.preg_quote($l->options['tag_block'][1],'/').')/As','lex_block_line'=>'/\s*line\s+(\d+)\s*'.preg_quote($l->options['tag_block'][1],'/').'/As','lex_tokens_start'=>'/('.preg_quote($l->options['tag_variable'][0],'/').'|'.preg_quote($l->options['tag_block'][0],'/').'|'.preg_quote($l->options['tag_comment'][0],'/').')('.preg_quote($l->options['whitespace_trim'],'/').')?/s','interpolation_start'=>'/'.preg_quote($l->options['interpolation'][0],'/').'\s*/A','interpolation_end'=>'/\s*'.preg_quote($l->options['interpolation'][1],'/').'/A',);}public function tokenize($kkkkkk,$d=null){if(function_exists('mb_internal_encoding')&&((int) ini_get('mbstring.func_overload'))&2){$tttttt=mb_internal_encoding();mb_internal_encoding('ASCII');}$l->code=str_replace(array("\r\n","\r"),"\n",$kkkkkk);$l->filename=$d;$l->cursor=0;$l->lineno=1;$l->end=strlen($l->code);$l->tokens=array();$l->state=self::STATE_DATA;$l->states=array();$l->brackets=array();$l->position=-1;preg_match_all($l->regexes['lex_tokens_start'],$l->code,$xxx,PREG_OFFSET_CAPTURE);$l->positions=$xxx;while($l->cursor<$l->end){switch($l->state){case self::STATE_DATA:$l->lexData();break;case self::STATE_BLOCK:$l->lexBlock();break;case self::STATE_VAR:$l->lexVar();break;case self::STATE_STRING:$l->lexString();break;case self::STATE_INTERPOLATION:$l->lexInterpolation();break;}}$l->pushToken(Twig_Token::EOF_TYPE);if(!empty($l->brackets)){list($uuuuuu,$c)=array_pop($l->brackets);throw new Twig_Error_Syntax(sprintf('Unclosed "%s"',$uuuuuu),$c,$l->filename);}if(isset($tttttt)){mb_internal_encoding($tttttt);}return new Twig_TokenStream($l->tokens,$l->filename);}protected function lexData(){if($l->position==count($l->positions[0])-1){$l->pushToken(Twig_Token::TEXT_TYPE,substr($l->code,$l->cursor));$l->cursor=$l->end;return;}$rrrrrr=$l->positions[0][++$l->position];while($rrrrrr[1]<$l->cursor){if($l->position==count($l->positions[0])-1){return;}$rrrrrr=$l->positions[0][++$l->position];}$vvvvvv=$wwwwww=substr($l->code,$l->cursor,$rrrrrr[1]-$l->cursor);if(isset($l->positions[2][$l->position][0])){$vvvvvv=rtrim($vvvvvv);}$l->pushToken(Twig_Token::TEXT_TYPE,$vvvvvv);$l->moveCursor($wwwwww.$rrrrrr[0]);switch($l->positions[1][$l->position][0]){case $l->options['tag_comment'][0]:$l->lexComment();break;case $l->options['tag_block'][0]:if(preg_match($l->regexes['lex_block_raw'],$l->code,$xxxxxx,null,$l->cursor)){$l->moveCursor($xxxxxx[0]);$l->lexRawData();}elseif(preg_match($l->regexes['lex_block_line'],$l->code,$xxxxxx,null,$l->cursor)){$l->moveCursor($xxxxxx[0]);$l->lineno=(int) $xxxxxx[1];}else{$l->pushToken(Twig_Token::BLOCK_START_TYPE);$l->pushState(self::STATE_BLOCK);}break;case $l->options['tag_variable'][0]:$l->pushToken(Twig_Token::VAR_START_TYPE);$l->pushState(self::STATE_VAR);break;}}protected function lexBlock(){if(empty($l->brackets)&&preg_match($l->regexes['lex_block'],$l->code,$xxxxxx,null,$l->cursor)){$l->pushToken(Twig_Token::BLOCK_END_TYPE);$l->moveCursor($xxxxxx[0]);$l->popState();}else{$l->lexExpression();}}protected function lexVar(){if(empty($l->brackets)&&preg_match($l->regexes['lex_var'],$l->code,$xxxxxx,null,$l->cursor)){$l->pushToken(Twig_Token::VAR_END_TYPE);$l->moveCursor($xxxxxx[0]);$l->popState();}else{$l->lexExpression();}}protected function lexExpression(){if(preg_match('/\s+/A',$l->code,$xxxxxx,null,$l->cursor)){$l->moveCursor($xxxxxx[0]);if($l->cursor>=$l->end){throw new Twig_Error_Syntax(sprintf('Unexpected end of file: Unclosed "%s"',$l->state===self::STATE_BLOCK?'block':'variable'),$l->lineno,$l->filename);}}if(preg_match($l->regexes['operator'],$l->code,$xxxxxx,null,$l->cursor)){$l->pushToken(Twig_Token::OPERATOR_TYPE,$xxxxxx[0]);$l->moveCursor($xxxxxx[0]);}elseif(preg_match(self::REGEX_NAME,$l->code,$xxxxxx,null,$l->cursor)){$l->pushToken(Twig_Token::NAME_TYPE,$xxxxxx[0]);$l->moveCursor($xxxxxx[0]);}elseif(preg_match(self::REGEX_NUMBER,$l->code,$xxxxxx,null,$l->cursor)){$eeeee=(float) $xxxxxx[0];if(ctype_digit($xxxxxx[0])&&$eeeee<=PHP_INT_MAX){$eeeee=(int) $xxxxxx[0];}$l->pushToken(Twig_Token::NUMBER_TYPE,$eeeee);$l->moveCursor($xxxxxx[0]);}elseif(false!==strpos(self::PUNCTUATION,$l->code[$l->cursor])){if(false!==strpos('([{',$l->code[$l->cursor])){$l->brackets[]=array($l->code[$l->cursor],$l->lineno);}elseif(false!==strpos(')]}',$l->code[$l->cursor])){if(empty($l->brackets)){throw new Twig_Error_Syntax(sprintf('Unexpected "%s"',$l->code[$l->cursor]),$l->lineno,$l->filename);}list($uuuuuu,$c)=array_pop($l->brackets);if($l->code[$l->cursor]!=strtr($uuuuuu,'([{',')]}')){throw new Twig_Error_Syntax(sprintf('Unclosed "%s"',$uuuuuu),$c,$l->filename);}}$l->pushToken(Twig_Token::PUNCTUATION_TYPE,$l->code[$l->cursor]);++$l->cursor;}elseif(preg_match(self::REGEX_STRING,$l->code,$xxxxxx,null,$l->cursor)){$l->pushToken(Twig_Token::STRING_TYPE,stripcslashes(substr($xxxxxx[0],1,-1)));$l->moveCursor($xxxxxx[0]);}elseif(preg_match(self::REGEX_DQ_STRING_DELIM,$l->code,$xxxxxx,null,$l->cursor)){$l->brackets[]=array('"',$l->lineno);$l->pushState(self::STATE_STRING);$l->moveCursor($xxxxxx[0]);}else{throw new Twig_Error_Syntax(sprintf('Unexpected character "%s"',$l->code[$l->cursor]),$l->lineno,$l->filename);}}protected function lexRawData(){if(!preg_match($l->regexes['lex_raw_data'],$l->code,$xxxxxx,PREG_OFFSET_CAPTURE,$l->cursor)){throw new Twig_Error_Syntax(sprintf('Unexpected end of file: Unclosed "block"'),$l->lineno,$l->filename);}$vvvvvv=substr($l->code,$l->cursor,$xxxxxx[0][1]-$l->cursor);$l->moveCursor($vvvvvv.$xxxxxx[0][0]);if(false!==strpos($xxxxxx[1][0],$l->options['whitespace_trim'])){$vvvvvv=rtrim($vvvvvv);}$l->pushToken(Twig_Token::TEXT_TYPE,$vvvvvv);}protected function lexComment(){if(!preg_match($l->regexes['lex_comment'],$l->code,$xxxxxx,PREG_OFFSET_CAPTURE,$l->cursor)){throw new Twig_Error_Syntax('Unclosed comment',$l->lineno,$l->filename);}$l->moveCursor(substr($l->code,$l->cursor,$xxxxxx[0][1]-$l->cursor).$xxxxxx[0][0]);}protected function lexString(){if(preg_match($l->regexes['interpolation_start'],$l->code,$xxxxxx,null,$l->cursor)){$l->brackets[]=array($l->options['interpolation'][0],$l->lineno);$l->pushToken(Twig_Token::INTERPOLATION_START_TYPE);$l->moveCursor($xxxxxx[0]);$l->pushState(self::STATE_INTERPOLATION);}elseif(preg_match(self::REGEX_DQ_STRING_PART,$l->code,$xxxxxx,null,$l->cursor)&&strlen($xxxxxx[0])>0){$l->pushToken(Twig_Token::STRING_TYPE,stripcslashes($xxxxxx[0]));$l->moveCursor($xxxxxx[0]);}elseif(preg_match(self::REGEX_DQ_STRING_DELIM,$l->code,$xxxxxx,null,$l->cursor)){list($uuuuuu,$c)=array_pop($l->brackets);if($l->code[$l->cursor]!='"'){throw new Twig_Error_Syntax(sprintf('Unclosed "%s"',$uuuuuu),$c,$l->filename);}$l->popState();++$l->cursor;}}protected function lexInterpolation(){$yyyyyy=end($l->brackets);if($l->options['interpolation'][0]===$yyyyyy[0]&&preg_match($l->regexes['interpolation_end'],$l->code,$xxxxxx,null,$l->cursor)){array_pop($l->brackets);$l->pushToken(Twig_Token::INTERPOLATION_END_TYPE);$l->moveCursor($xxxxxx[0]);$l->popState();}else{$l->lexExpression();}}protected function pushToken($zzzzzz,$cccc=''){if(Twig_Token::TEXT_TYPE===$zzzzzz&&''===$cccc){return;}$l->tokens[]=new Twig_Token($zzzzzz,$cccc,$l->lineno);}protected function moveCursor($vvvvvv){$l->cursor+=strlen($vvvvvv);$l->lineno+=substr_count($vvvvvv,"\n");}protected function getOperatorRegex(){$iiii=array_merge(array('='),array_keys($l->env->getUnaryOperators()),array_keys($l->env->getBinaryOperators()));$iiii=array_combine($iiii,array_map('strlen',$iiii));arsort($iiii);$aaaaaaa=array();foreach($iiii as $bbbbbbb=>$lllll){if(ctype_alpha($bbbbbbb[$lllll-1])){$aaaaaaa[]=preg_quote($bbbbbbb,'/').'(?=[\s()])';}else{$aaaaaaa[]=preg_quote($bbbbbbb,'/');}}return'/'.implode('|',$aaaaaaa).'/A';}protected function pushState($nnnnnn){$l->states[]=$l->state;$l->state=$nnnnnn;}protected function popState(){if(0===count($l->states)){throw new Exception('Cannot pop state without a previous state');}$l->state=array_pop($l->states);}}interface Twig_LexerInterface{function tokenize($kkkkkk,$d=null);}interface Twig_NodeInterface extends Countable,IteratorAggregate{function compile(Twig_Compiler $qq);function getLine();function getNodeTag();}class Twig_Node implements Twig_NodeInterface{protected $ccccccc;protected $ddddddd;protected $c;protected $eeeeeee;public function __construct(array $ccccccc=array(),array $ddddddd=array(),$c=0,$eeeeeee=null){$l->nodes=$ccccccc;$l->attributes=$ddddddd;$l->lineno=$c;$l->tag=$eeeeeee;}public function __toString(){$ddddddd=array();foreach($l->attributes as $ee=>$cccc){$ddddddd[]=sprintf('%s: %s',$ee,str_replace("\n",'',var_export($cccc,true)));}$fffffff=array(get_class($l).'('.implode(', ',$ddddddd));if(count($l->nodes)){foreach($l->nodes as $ee=>$rrr){$ggggggg=strlen($ee)+4;$hhhhhhh=array();foreach(explode("\n",(string) $rrr)as $iiiiiii){$hhhhhhh[]=str_repeat(' ',$ggggggg).$iiiiiii;}$fffffff[]=sprintf(' %s: %s',$ee,ltrim(implode("\n",$hhhhhhh)));}$fffffff[]=')';}else{$fffffff[0].=')';}return implode("\n",$fffffff);}public function toXml($jjjjjjj=false){$kkkkkkk=new DOMDocument('1.0','UTF-8');$kkkkkkk->formatOutput=true;$kkkkkkk->appendChild($lllllll=$kkkkkkk->createElement('twig'));$lllllll->appendChild($rrr=$kkkkkkk->createElement('node'));$rrr->setAttribute('class',get_class($l));foreach($l->attributes as $ee=>$cccc){$rrr->appendChild($mmmmmmm=$kkkkkkk->createElement('attribute'));$mmmmmmm->setAttribute('name',$ee);$mmmmmmm->appendChild($kkkkkkk->createTextNode($cccc));}foreach($l->nodes as $ee=>$nnnnnnn){if(null===$nnnnnnn){continue;}$ooooooo=$nnnnnnn->toXml(true)->getElementsByTagName('node')->item(0);$ooooooo=$kkkkkkk->importNode($ooooooo,true);$ooooooo->setAttribute('name',$ee);$rrr->appendChild($ooooooo);}return $jjjjjjj?$kkkkkkk:$kkkkkkk->saveXml();}public function compile(Twig_Compiler $qq){foreach($l->nodes as $rrr){$rrr->compile($qq);}}public function getLine(){return $l->lineno;}public function getNodeTag(){return $l->tag;}public function hasAttribute($ee){return array_key_exists($ee,$l->attributes);}public function getAttribute($ee){if(!array_key_exists($ee,$l->attributes)){throw new Twig_Error_Runtime(sprintf('Attribute "%s" does not exist for Node "%s".',$ee,get_class($l)));}return $l->attributes[$ee];}public function setAttribute($ee,$cccc){$l->attributes[$ee]=$cccc;}public function removeAttribute($ee){unset($l->attributes[$ee]);}public function hasNode($ee){return array_key_exists($ee,$l->nodes);}public function getNode($ee){if(!array_key_exists($ee,$l->nodes)){throw new Twig_Error_Runtime(sprintf('Node "%s" does not exist for Node "%s".',$ee,get_class($l)));}return $l->nodes[$ee];}public function setNode($ee,$rrr=null){$l->nodes[$ee]=$rrr;}public function removeNode($ee){unset($l->nodes[$ee]);}public function count(){return count($l->nodes);}public function getIterator(){return new ArrayIterator($l->nodes);}}abstract class Twig_Node_Expression extends Twig_Node{}class Twig_Node_Expression_Filter extends Twig_Node_Expression{public function __construct(Twig_NodeInterface $rrr,Twig_Node_Expression_Constant $ppppppp,Twig_NodeInterface $o,$c,$eeeeeee=null){parent::__construct(array('node'=>$rrr,'filter'=>$ppppppp,'arguments'=>$o),array(),$c,$eeeeeee);}public function compile(Twig_Compiler $qq){$ee=$l->getNode('filter')->getAttribute('value');if(false===$uuu=$qq->getEnvironment()->getFilter($ee)){$j=sprintf('The filter "%s" does not exist',$ee);if($ffff=$qq->getEnvironment()->computeAlternatives($ee,array_keys($qq->getEnvironment()->getFilters()))){$j=sprintf('%s. Did you mean "%s"',$j,implode('", "',$ffff));}throw new Twig_Error_Syntax($j,$l->getLine());}$l->compileFilter($qq,$uuu);}protected function compileFilter(Twig_Compiler $qq,Twig_FilterInterface $uuu){$qq->raw($uuu->compile().'(')->raw($uuu->needsEnvironment()?'$this->env, ':'')->raw($uuu->needsContext()?'$context, ':'');foreach($uuu->getArguments()as $qqqqqqq){$qq->string($qqqqqqq)->raw(', ');}$qq->subcompile($l->getNode('node'));foreach($l->getNode('arguments')as $rrr){$qq->raw(', ')->subcompile($rrr);}$qq->raw(')');}}class Twig_Node_Expression_Test extends Twig_Node_Expression{public function __construct(Twig_NodeInterface $rrr,$ee,Twig_NodeInterface $o=null,$c){parent::__construct(array('node'=>$rrr,'arguments'=>$o),array('name'=>$ee),$c);}public function compile(Twig_Compiler $qq){$ee=$l->getAttribute('name');$xxxx=$qq->getEnvironment()->getTests();if(!isset($xxxx[$ee])){$j=sprintf('The test "%s" does not exist',$ee);if($ffff=$qq->getEnvironment()->computeAlternatives($ee,array_keys($qq->getEnvironment()->getTests()))){$j=sprintf('%s. Did you mean "%s"',$j,implode('", "',$ffff));}throw new Twig_Error_Syntax($j,$l->getLine());}$ee=$l->getAttribute('name');$rrr=$l->getNode('node');$qq->raw($xxxx[$ee]->compile().'(')->subcompile($rrr);if(null!==$l->getNode('arguments')){$qq->raw(', ');$rrrrrrr=count($l->getNode('arguments'))-1;foreach($l->getNode('arguments')as $zzzz=>$xxxxx){$qq->subcompile($xxxxx);if($zzzz!=$rrrrrrr){$qq->raw(', ');}}}$qq->raw(')');}}class Twig_Node_Expression_Test_Defined extends Twig_Node_Expression_Test{public function __construct(Twig_NodeInterface $rrr,$ee,Twig_NodeInterface $o=null,$c){parent::__construct($rrr,$ee,$o,$c);if($rrr instanceof Twig_Node_Expression_Name){$rrr->setAttribute('is_defined_test',true);}elseif($rrr instanceof Twig_Node_Expression_GetAttr){$rrr->setAttribute('is_defined_test',true);$l->changeIgnoreStrictCheck($rrr);}else{throw new Twig_Error_Syntax('The "defined" test only works with simple variables',$l->getLine());}}protected function changeIgnoreStrictCheck(Twig_Node_Expression_GetAttr $rrr){$rrr->setAttribute('ignore_strict_check',true);if($rrr->getNode('node')instanceof Twig_Node_Expression_GetAttr){$l->changeIgnoreStrictCheck($rrr->getNode('node'));}}public function compile(Twig_Compiler $qq){$qq->subcompile($l->getNode('node'));}}class Twig_Node_Expression_Filter_Default extends Twig_Node_Expression_Filter{public function __construct(Twig_NodeInterface $rrr,Twig_Node_Expression_Constant $ppppppp,Twig_NodeInterface $o,$c,$eeeeeee=null){$ooooo=new Twig_Node_Expression_Filter($rrr,new Twig_Node_Expression_Constant('_default',$rrr->getLine()),$o,$rrr->getLine());if('default'===$ppppppp->getAttribute('value')&&($rrr instanceof Twig_Node_Expression_Name||$rrr instanceof Twig_Node_Expression_GetAttr)){$aaaa=new Twig_Node_Expression_Test_Defined(clone $rrr,'defined',new Twig_Node(),$rrr->getLine());$sssssss=count($o)?$o->getNode(0):new Twig_Node_Expression_Constant('',$rrr->getLine());$rrr=new Twig_Node_Expression_Conditional($aaaa,$ooooo,$sssssss,$rrr->getLine());}else{$rrr=$ooooo;}parent::__construct($rrr,$ppppppp,$o,$c,$eeeeeee);}public function compile(Twig_Compiler $qq){$qq->subcompile($l->getNode('node'));}}class Twig_ExpressionParser{const OPERATOR_LEFT=1;const OPERATOR_RIGHT=2;protected $pp;protected $ccc;protected $ddd;public function __construct(Twig_Parser $pp,array $ccc,array $ddd){$l->parser=$pp;$l->unaryOperators=$ccc;$l->binaryOperators=$ddd;}public function parseExpression($ttttttt=0){$uuuuuuu=$l->getPrimary();$vvvvvvv=$l->parser->getCurrentToken();while($l->isBinary($vvvvvvv)&&$l->binaryOperators[$vvvvvvv->getValue()]['precedence']>=$ttttttt){$wwwwwww=$l->binaryOperators[$vvvvvvv->getValue()];$l->parser->getStream()->next();if(isset($wwwwwww['callable'])){$uuuuuuu=call_user_func($wwwwwww['callable'],$l->parser,$uuuuuuu);}else{$xxxxxxx=$l->parseExpression(self::OPERATOR_LEFT===$wwwwwww['associativity']?$wwwwwww['precedence']+1:$wwwwwww['precedence']);$jjj=$wwwwwww['class'];$uuuuuuu=new $jjj($uuuuuuu,$xxxxxxx,$vvvvvvv->getLine());}$vvvvvvv=$l->parser->getCurrentToken();}if(0===$ttttttt){return $l->parseConditionalExpression($uuuuuuu);}return $uuuuuuu;}protected function getPrimary(){$vvvvvvv=$l->parser->getCurrentToken();if($l->isUnary($vvvvvvv)){$bbbbbbb=$l->unaryOperators[$vvvvvvv->getValue()];$l->parser->getStream()->next();$uuuuuuu=$l->parseExpression($bbbbbbb['precedence']);$jjj=$bbbbbbb['class'];return $l->parsePostfixExpression(new $jjj($uuuuuuu,$vvvvvvv->getLine()));}elseif($vvvvvvv->test(Twig_Token::PUNCTUATION_TYPE,'(')){$l->parser->getStream()->next();$uuuuuuu=$l->parseExpression();$l->parser->getStream()->expect(Twig_Token::PUNCTUATION_TYPE,')','An opened parenthesis is not properly closed');return $l->parsePostfixExpression($uuuuuuu);}return $l->parsePrimaryExpression();}protected function parseConditionalExpression($uuuuuuu){while($l->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE,'?')){$l->parser->getStream()->next();$yyyyyyy=$l->parseExpression();$l->parser->getStream()->expect(Twig_Token::PUNCTUATION_TYPE,':','The ternary operator must have a default value');$zzzzzzz=$l->parseExpression();$uuuuuuu=new Twig_Node_Expression_Conditional($uuuuuuu,$yyyyyyy,$zzzzzzz,$l->parser->getCurrentToken()->getLine());}return $uuuuuuu;}protected function isUnary(Twig_Token $vvvvvvv){return $vvvvvvv->test(Twig_Token::OPERATOR_TYPE)&&isset($l->unaryOperators[$vvvvvvv->getValue()]);}protected function isBinary(Twig_Token $vvvvvvv){return $vvvvvvv->test(Twig_Token::OPERATOR_TYPE)&&isset($l->binaryOperators[$vvvvvvv->getValue()]);}public function parsePrimaryExpression(){$vvvvvvv=$l->parser->getCurrentToken();switch($vvvvvvv->getType()){case Twig_Token::NAME_TYPE:$l->parser->getStream()->next();switch($vvvvvvv->getValue()){case 'true':case 'TRUE':$rrr=new Twig_Node_Expression_Constant(true,$vvvvvvv->getLine());break;case 'false':case 'FALSE':$rrr=new Twig_Node_Expression_Constant(false,$vvvvvvv->getLine());break;case 'none':case 'NONE':case 'null':case 'NULL':$rrr=new Twig_Node_Expression_Constant(null,$vvvvvvv->getLine());break;default:if('('===$l->parser->getCurrentToken()->getValue()){$rrr=$l->getFunctionNode($vvvvvvv->getValue(),$vvvvvvv->getLine());}else{$rrr=new Twig_Node_Expression_Name($vvvvvvv->getValue(),$vvvvvvv->getLine());}}break;case Twig_Token::NUMBER_TYPE:$l->parser->getStream()->next();$rrr=new Twig_Node_Expression_Constant($vvvvvvv->getValue(),$vvvvvvv->getLine());break;case Twig_Token::STRING_TYPE:case Twig_Token::INTERPOLATION_START_TYPE:$rrr=$l->parseStringExpression();break;default:if($vvvvvvv->test(Twig_Token::PUNCTUATION_TYPE,'[')){$rrr=$l->parseArrayExpression();}elseif($vvvvvvv->test(Twig_Token::PUNCTUATION_TYPE,'{')){$rrr=$l->parseHashExpression();}else{throw new Twig_Error_Syntax(sprintf('Unexpected token "%s" of value "%s"',Twig_Token::typeToEnglish($vvvvvvv->getType(),$vvvvvvv->getLine()),$vvvvvvv->getValue()),$vvvvvvv->getLine());}}return $l->parsePostfixExpression($rrr);}public function parseStringExpression(){$vvvv=$l->parser->getStream();$ccccccc=array();$aaaaaaaa=true;while(true){if($vvvv->test(Twig_Token::STRING_TYPE)&&$aaaaaaaa){$vvvvvvv=$vvvv->next();$ccccccc[]=new Twig_Node_Expression_Constant($vvvvvvv->getValue(),$vvvvvvv->getLine());$aaaaaaaa=false;}elseif($vvvv->test(Twig_Token::INTERPOLATION_START_TYPE)){$vvvv->next();$ccccccc[]=$l->parseExpression();$vvvv->expect(Twig_Token::INTERPOLATION_END_TYPE);$aaaaaaaa=true;}else{break;}}$uuuuuuu=array_shift($ccccccc);foreach($ccccccc as $rrr){$uuuuuuu=new Twig_Node_Expression_Binary_Concat($uuuuuuu,$rrr,$rrr->getLine());}return $uuuuuuu;}public function parseArrayExpression(){$vvvv=$l->parser->getStream();$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,'[','An array element was expected');$rrr=new Twig_Node_Expression_Array(array(),$vvvv->getCurrent()->getLine());$bbbbbbbb=true;while(!$vvvv->test(Twig_Token::PUNCTUATION_TYPE,']')){if(!$bbbbbbbb){$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,',','An array element must be followed by a comma');if($vvvv->test(Twig_Token::PUNCTUATION_TYPE,']')){break;}}$bbbbbbbb=false;$rrr->addElement($l->parseExpression());}$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,']','An opened array is not properly closed');return $rrr;}public function parseHashExpression(){$vvvv=$l->parser->getStream();$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,'{','A hash element was expected');$rrr=new Twig_Node_Expression_Array(array(),$vvvv->getCurrent()->getLine());$bbbbbbbb=true;while(!$vvvv->test(Twig_Token::PUNCTUATION_TYPE,'}')){if(!$bbbbbbbb){$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,',','A hash value must be followed by a comma');if($vvvv->test(Twig_Token::PUNCTUATION_TYPE,'}')){break;}}$bbbbbbbb=false;if($vvvv->test(Twig_Token::STRING_TYPE)||$vvvv->test(Twig_Token::NAME_TYPE)||$vvvv->test(Twig_Token::NUMBER_TYPE)){$vvvvvvv=$vvvv->next();$dddd=new Twig_Node_Expression_Constant($vvvvvvv->getValue(),$vvvvvvv->getLine());}elseif($vvvv->test(Twig_Token::PUNCTUATION_TYPE,'(')){$dddd=$l->parseExpression();}else{$cccccccc=$vvvv->getCurrent();throw new Twig_Error_Syntax(sprintf('A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "%s" of value "%s"',Twig_Token::typeToEnglish($cccccccc->getType(),$cccccccc->getLine()),$cccccccc->getValue()),$cccccccc->getLine());}$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,':','A hash key must be followed by a colon (:)');$cccc=$l->parseExpression();$rrr->addElement($cccc,$dddd);}$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,'}','An opened hash is not properly closed');return $rrr;}public function parsePostfixExpression($rrr){while(true){$vvvvvvv=$l->parser->getCurrentToken();if($vvvvvvv->getType()==Twig_Token::PUNCTUATION_TYPE){if('.'==$vvvvvvv->getValue()||'['==$vvvvvvv->getValue()){$rrr=$l->parseSubscriptExpression($rrr);}elseif('|'==$vvvvvvv->getValue()){$rrr=$l->parseFilterExpression($rrr);}else{break;}}else{break;}}return $rrr;}public function getFunctionNode($ee,$iiiiiii){$dddddddd=$l->parseArguments();switch($ee){case 'parent':if(!count($l->parser->getBlockStack())){throw new Twig_Error_Syntax('Calling "parent" outside a block is forbidden',$iiiiiii);}if(!$l->parser->getParent()&&!$l->parser->hasTraits()){throw new Twig_Error_Syntax('Calling "parent" on a template that does not extend nor "use" another template is forbidden',$iiiiiii);}return new Twig_Node_Expression_Parent($l->parser->peekBlockStack(),$iiiiiii);case 'block':return new Twig_Node_Expression_BlockReference($dddddddd->getNode(0),false,$iiiiiii);case 'attribute':if(count($dddddddd)<2){throw new Twig_Error_Syntax('The "attribute" function takes at least two arguments (the variable and the attributes)',$iiiiiii);}return new Twig_Node_Expression_GetAttr($dddddddd->getNode(0),$dddddddd->getNode(1),count($dddddddd)>2?$dddddddd->getNode(2):new Twig_Node_Expression_Array(array(),$iiiiiii),Twig_TemplateInterface::ANY_CALL,$iiiiiii);default:if(null!==$eeeeeeee=$l->parser->getImportedFunction($ee)){$o=new Twig_Node_Expression_Array(array(),$iiiiiii);foreach($dddddddd as $nnnnnnn){$o->addElement($nnnnnnn);}$rrr=new Twig_Node_Expression_MethodCall($eeeeeeee['node'],$eeeeeeee['name'],$o,$iiiiiii);$rrr->setAttribute('safe',true);return $rrr;}$jjj=$l->getFunctionNodeClass($ee);return new $jjj($ee,$dddddddd,$iiiiiii);}}public function parseSubscriptExpression($rrr){$vvvv=$l->parser->getStream();$vvvvvvv=$vvvv->next();$c=$vvvvvvv->getLine();$o=new Twig_Node_Expression_Array(array(),$c);$zzzzzz=Twig_TemplateInterface::ANY_CALL;if($vvvvvvv->getValue()=='.'){$vvvvvvv=$vvvv->next();if($vvvvvvv->getType()==Twig_Token::NAME_TYPE||$vvvvvvv->getType()==Twig_Token::NUMBER_TYPE||($vvvvvvv->getType()==Twig_Token::OPERATOR_TYPE&&preg_match(Twig_Lexer::REGEX_NAME,$vvvvvvv->getValue()))){$xxxxx=new Twig_Node_Expression_Constant($vvvvvvv->getValue(),$c);if($vvvv->test(Twig_Token::PUNCTUATION_TYPE,'(')){$zzzzzz=Twig_TemplateInterface::METHOD_CALL;foreach($l->parseArguments()as $nnnnnnn){$o->addElement($nnnnnnn);}}}else{throw new Twig_Error_Syntax('Expected name or number',$c);}}else{$zzzzzz=Twig_TemplateInterface::ARRAY_CALL;$xxxxx=$l->parseExpression();if($vvvv->test(Twig_Token::PUNCTUATION_TYPE,':')){$vvvv->next();if($vvvv->test(Twig_Token::PUNCTUATION_TYPE,']')){$lllll=new Twig_Node_Expression_Constant(null,$vvvvvvv->getLine());}else{$lllll=$l->parseExpression();}$jjj=$l->getFilterNodeClass('slice');$o=new Twig_Node(array($xxxxx,$lllll));$uuu=new $jjj($rrr,new Twig_Node_Expression_Constant('slice',$vvvvvvv->getLine()),$o,$vvvvvvv->getLine());$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,']');return $uuu;}$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,']');}return new Twig_Node_Expression_GetAttr($rrr,$xxxxx,$o,$zzzzzz,$c);}public function parseFilterExpression($rrr){$l->parser->getStream()->next();return $l->parseFilterExpressionRaw($rrr);}public function parseFilterExpressionRaw($rrr,$eeeeeee=null){while(true){$vvvvvvv=$l->parser->getStream()->expect(Twig_Token::NAME_TYPE);$ee=new Twig_Node_Expression_Constant($vvvvvvv->getValue(),$vvvvvvv->getLine());if(!$l->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE,'(')){$o=new Twig_Node();}else{$o=$l->parseArguments();}$jjj=$l->getFilterNodeClass($ee->getAttribute('value'));$rrr=new $jjj($rrr,$ee,$o,$vvvvvvv->getLine(),$eeeeeee);if(!$l->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE,'|')){break;}$l->parser->getStream()->next();}return $rrr;}public function parseArguments(){$dddddddd=array();$vvvv=$l->parser->getStream();$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,'(','A list of arguments must be opened by a parenthesis');while(!$vvvv->test(Twig_Token::PUNCTUATION_TYPE,')')){if(!empty($dddddddd)){$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,',','Arguments must be separated by a comma');}$dddddddd[]=$l->parseExpression();}$vvvv->expect(Twig_Token::PUNCTUATION_TYPE,')','A list of arguments must be closed by a parenthesis');return new Twig_Node($dddddddd);}public function parseAssignmentExpression(){$ffffffff=array();while(true){$vvvvvvv=$l->parser->getStream()->expect(Twig_Token::NAME_TYPE,null,'Only variables can be assigned to');if(in_array($vvvvvvv->getValue(),array('true','false','none'))){throw new Twig_Error_Syntax(sprintf('You cannot assign a value to "%s"',$vvvvvvv->getValue()),$vvvvvvv->getLine());}$ffffffff[]=new Twig_Node_Expression_AssignName($vvvvvvv->getValue(),$vvvvvvv->getLine());if(!$l->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE,',')){break;}$l->parser->getStream()->next();}return new Twig_Node($ffffffff);}public function parseMultitargetExpression(){$ffffffff=array();while(true){$ffffffff[]=$l->parseExpression();if(!$l->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE,',')){break;}$l->parser->getStream()->next();}return new Twig_Node($ffffffff);}protected function getFunctionNodeClass($ee){$gggggggg=$l->parser->getEnvironment()->getFunctions();if(isset($gggggggg[$ee])&&$gggggggg[$ee]instanceof Twig_Function_Node){return $gggggggg[$ee]->getClass();}return 'Twig_Node_Expression_Function';}protected function getFilterNodeClass($ee){$hhhhhhhh=$l->parser->getEnvironment()->getFilters();if(isset($hhhhhhhh[$ee])&&$hhhhhhhh[$ee]instanceof Twig_Filter_Node){return $hhhhhhhh[$ee]->getClass();}return 'Twig_Node_Expression_Filter';}}class Twig_Token{protected $cccc;protected $zzzzzz;protected $c;const EOF_TYPE=-1;const TEXT_TYPE=0;const BLOCK_START_TYPE=1;const VAR_START_TYPE=2;const BLOCK_END_TYPE=3;const VAR_END_TYPE=4;const NAME_TYPE=5;const NUMBER_TYPE=6;const STRING_TYPE=7;const OPERATOR_TYPE=8;const PUNCTUATION_TYPE=9;const INTERPOLATION_START_TYPE=10;const INTERPOLATION_END_TYPE=11;public function __construct($zzzzzz,$cccc,$c){$l->type=$zzzzzz;$l->value=$cccc;$l->lineno=$c;}public function __toString(){return sprintf('%s(%s)',self::typeToString($l->type,true,$l->lineno),$l->value);}public function test($zzzzzz,$yyyy=null){if(null===$yyyy&&!is_int($zzzzzz)){$yyyy=$zzzzzz;$zzzzzz=self::NAME_TYPE;}return($l->type===$zzzzzz)&&(null===$yyyy||(is_array($yyyy)&&in_array($l->value,$yyyy))||$l->value==$yyyy);}public function getLine(){return $l->lineno;}public function getType(){return $l->type;}public function getValue(){return $l->value;}static public function typeToString($zzzzzz,$iiiiiiii=false,$iiiiiii=-1){switch($zzzzzz){case self::EOF_TYPE:$ee='EOF_TYPE';break;case self::TEXT_TYPE:$ee='TEXT_TYPE';break;case self::BLOCK_START_TYPE:$ee='BLOCK_START_TYPE';break;case self::VAR_START_TYPE:$ee='VAR_START_TYPE';break;case self::BLOCK_END_TYPE:$ee='BLOCK_END_TYPE';break;case self::VAR_END_TYPE:$ee='VAR_END_TYPE';break;case self::NAME_TYPE:$ee='NAME_TYPE';break;case self::NUMBER_TYPE:$ee='NUMBER_TYPE';break;case self::STRING_TYPE:$ee='STRING_TYPE';break;case self::OPERATOR_TYPE:$ee='OPERATOR_TYPE';break;case self::PUNCTUATION_TYPE:$ee='PUNCTUATION_TYPE';break;case self::INTERPOLATION_START_TYPE:$ee='INTERPOLATION_START_TYPE';break;case self::INTERPOLATION_END_TYPE:$ee='INTERPOLATION_END_TYPE';break;default:throw new Twig_Error_Syntax(sprintf('Token of type "%s" does not exist.',$zzzzzz),$iiiiiii);}return $iiiiiiii?$ee:'Twig_Token::'.$ee;}static public function typeToEnglish($zzzzzz,$iiiiiii=-1){switch($zzzzzz){case self::EOF_TYPE:return 'end of template';case self::TEXT_TYPE:return 'text';case self::BLOCK_START_TYPE:return 'begin of statement block';case self::VAR_START_TYPE:return 'begin of print statement';case self::BLOCK_END_TYPE:return 'end of statement block';case self::VAR_END_TYPE:return 'end of print statement';case self::NAME_TYPE:return 'name';case self::NUMBER_TYPE:return 'number';case self::STRING_TYPE:return 'string';case self::OPERATOR_TYPE:return 'operator';case self::PUNCTUATION_TYPE:return 'punctuation';case self::INTERPOLATION_START_TYPE:return 'begin of string interpolation';case self::INTERPOLATION_END_TYPE:return 'end of string interpolation';default:throw new Twig_Error_Syntax(sprintf('Token of type "%s" does not exist.',$zzzzzz),$iiiiiii);}}}class Twig_TokenStream{protected $qqq;protected $cccccccc;protected $d;public function __construct(array $qqq,$d=null){$l->tokens=$qqq;$l->current=0;$l->filename=$d;}public function __toString(){return implode("\n",$l->tokens);}public function injectTokens(array $qqq){$l->tokens=array_merge(array_slice($l->tokens,0,$l->current),$qqq,array_slice($l->tokens,$l->current));}public function next(){if(!isset($l->tokens[++$l->current])){throw new Twig_Error_Syntax('Unexpected end of template',-1,$l->filename);}return $l->tokens[$l->current-1];}public function expect($zzzzzz,$cccc=null,$j=null){$vvvvvvv=$l->tokens[$l->current];if(!$vvvvvvv->test($zzzzzz,$cccc)){$iiiiiii=$vvvvvvv->getLine();throw new Twig_Error_Syntax(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s)',$j?$j.'. ':'',Twig_Token::typeToEnglish($vvvvvvv->getType(),$iiiiiii),$vvvvvvv->getValue(),Twig_Token::typeToEnglish($zzzzzz,$iiiiiii),$cccc?sprintf(' with value "%s"',$cccc):''),$iiiiiii,$l->filename);}$l->next();return $vvvvvvv;}public function look($eeeee=1){if(!isset($l->tokens[$l->current+$eeeee])){throw new Twig_Error_Syntax('Unexpected end of template',-1,$l->filename);}return $l->tokens[$l->current+$eeeee];}public function test($jjjjjjjj,$kkkkkkkk=null){return $l->tokens[$l->current]->test($jjjjjjjj,$kkkkkkkk);}public function isEOF(){return $l->tokens[$l->current]->getType()===Twig_Token::EOF_TYPE;}public function getCurrent(){return $l->tokens[$l->current];}public function getFilename(){return $l->filename;}}class Twig_Parser implements Twig_ParserInterface{protected $llllllll=array();protected $vvvv;protected $mmmmmmmm;protected $nnnnnnnn;protected $uu;protected $oooooooo;protected $pppppppp;protected $qqqqqqqq;protected $rrrrrrrr;protected $wwww;protected $ssssssss;protected $tttttttt;protected $uuuuuuuu;protected $vvvvvvvv=array();public function __construct(Twig_Environment $wwww){$l->env=$wwww;}public function getEnvironment(){return $l->env;}public function getVarName(){return sprintf('__internal_%s',hash('sha1',uniqid(mt_rand(),true),false));}public function parse(Twig_TokenStream $vvvv,$aaaa=null,$wwwwwwww=false){$xxxxxxxx=get_object_vars($l);unset($xxxxxxxx['stack'],$xxxxxxxx['env'],$xxxxxxxx['handlers'],$xxxxxxxx['visitors'],$xxxxxxxx['expressionParser']);$l->stack[]=$xxxxxxxx;if(null===$l->handlers){$l->handlers=$l->env->getTokenParsers();$l->handlers->setParser($l);}if(null===$l->visitors){$l->visitors=$l->env->getNodeVisitors();}if(null===$l->expressionParser){$l->expressionParser=new Twig_ExpressionParser($l,$l->env->getUnaryOperators(),$l->env->getBinaryOperators());}$l->stream=$vvvv;$l->parent=null;$l->blocks=array();$l->macros=array();$l->traits=array();$l->blockStack=array();$l->importedFunctions=array(array());$l->embeddedTemplates=array();try{$yyyyyyyy=$l->subparse($aaaa,$wwwwwwww);if(null!==$l->parent){if(null===$yyyyyyyy=$l->filterBodyNodes($yyyyyyyy)){$yyyyyyyy=new Twig_Node();}}}catch(Twig_Error_Syntax $w){if(null===$w->getTemplateFile()){$w->setTemplateFile($l->stream->getFilename());}throw $w;}$rrr=new Twig_Node_Module(new Twig_Node_Body(array($yyyyyyyy)),$l->parent,new Twig_Node($l->blocks),new Twig_Node($l->macros),new Twig_Node($l->traits),$l->embeddedTemplates,$l->stream->getFilename());$zzzzzzzz=new Twig_NodeTraverser($l->env,$l->visitors);$rrr=$zzzzzzzz->traverse($rrr);foreach(array_pop($l->stack)as $dddd=>$aaaaaaaaa){$l->$dddd=$aaaaaaaaa;}return $rrr;}public function subparse($aaaa,$wwwwwwww=false){$c=$l->getCurrentToken()->getLine();$bbbbbbbbb=array();while(!$l->stream->isEOF()){switch($l->getCurrentToken()->getType()){case Twig_Token::TEXT_TYPE:$vvvvvvv=$l->stream->next();$bbbbbbbbb[]=new Twig_Node_Text($vvvvvvv->getValue(),$vvvvvvv->getLine());break;case Twig_Token::VAR_START_TYPE:$vvvvvvv=$l->stream->next();$uuuuuuu=$l->expressionParser->parseExpression();$l->stream->expect(Twig_Token::VAR_END_TYPE);$bbbbbbbbb[]=new Twig_Node_Print($uuuuuuu,$vvvvvvv->getLine());break;case Twig_Token::BLOCK_START_TYPE:$l->stream->next();$vvvvvvv=$l->getCurrentToken();if($vvvvvvv->getType()!==Twig_Token::NAME_TYPE){throw new Twig_Error_Syntax('A block must start with a tag name',$vvvvvvv->getLine(),$l->stream->getFilename());}if(null!==$aaaa&&call_user_func($aaaa,$vvvvvvv)){if($wwwwwwww){$l->stream->next();}if(1===count($bbbbbbbbb)){return $bbbbbbbbb[0];}return new Twig_Node($bbbbbbbbb,array(),$c);}$ccccccccc=$l->handlers->getTokenParser($vvvvvvv->getValue());if(null===$ccccccccc){if(null!==$aaaa){$ddddddddd=sprintf('Unexpected tag name "%s"',$vvvvvvv->getValue());if(is_array($aaaa)&&isset($aaaa[0])&&$aaaa[0]instanceof Twig_TokenParserInterface){$ddddddddd.=sprintf(' (expecting closing tag for the "%s" tag defined near line %s)',$aaaa[0]->getTag(),$c);}throw new Twig_Error_Syntax($ddddddddd,$vvvvvvv->getLine(),$l->stream->getFilename());}$j=sprintf('Unknown tag name "%s"',$vvvvvvv->getValue());if($ffff=$l->env->computeAlternatives($vvvvvvv->getValue(),array_keys($l->env->getTags()))){$j=sprintf('%s. Did you mean "%s"',$j,implode('", "',$ffff));}throw new Twig_Error_Syntax($j,$vvvvvvv->getLine(),$l->stream->getFilename());}$l->stream->next();$rrr=$ccccccccc->parse($vvvvvvv);if(null!==$rrr){$bbbbbbbbb[]=$rrr;}break;default:throw new Twig_Error_Syntax('Lexer or parser ended up in unsupported state.',-1,$l->stream->getFilename());}}if(1===count($bbbbbbbbb)){return $bbbbbbbbb[0];}return new Twig_Node($bbbbbbbbb,array(),$c);}public function addHandler($ee,$jjj){$l->handlers[$ee]=$jjj;}public function addNodeVisitor(Twig_NodeVisitorInterface $ttt){$l->visitors[]=$ttt;}public function getBlockStack(){return $l->blockStack;}public function peekBlockStack(){return $l->blockStack[count($l->blockStack)-1];}public function popBlockStack(){array_pop($l->blockStack);}public function pushBlockStack($ee){$l->blockStack[]=$ee;}public function hasBlock($ee){return isset($l->blocks[$ee]);}public function getBlock($ee){return $l->blocks[$ee];}public function setBlock($ee,$cccc){$l->blocks[$ee]=new Twig_Node_Body(array($cccc),array(),$cccc->getLine());}public function hasMacro($ee){return isset($l->macros[$ee]);}public function setMacro($ee,Twig_Node_Macro $rrr){if(null===$l->reservedMacroNames){$l->reservedMacroNames=array();$t=new ReflectionClass($l->env->getBaseTemplateClass());foreach($t->getMethods()as $m){$l->reservedMacroNames[]=$m->getName();}}if(in_array($ee,$l->reservedMacroNames)){throw new Twig_Error_Syntax(sprintf('"%s" cannot be used as a macro name as it is a reserved keyword',$ee),$rrr->getLine());}$l->macros[$ee]=$rrr;}public function addTrait($eeeeeeeee){$l->traits[]=$eeeeeeeee;}public function hasTraits(){return count($l->traits)>0;}public function embedTemplate(Twig_Node_Module $q){$q->setIndex(mt_rand());$l->embeddedTemplates[]=$q;}public function addImportedFunction($eeeeeeee,$ee,Twig_Node_Expression $rrr){$l->importedFunctions[0][$eeeeeeee]=array('name'=>$ee,'node'=>$rrr);}public function getImportedFunction($eeeeeeee){foreach($l->importedFunctions as $xx){if(isset($xx[$eeeeeeee])){return $xx[$eeeeeeee];}}}public function isMainScope(){return1===count($l->importedFunctions);}public function pushLocalScope(){array_unshift($l->importedFunctions,array());}public function popLocalScope(){array_shift($l->importedFunctions);}public function getExpressionParser(){return $l->expressionParser;}public function getParent(){return $l->parent;}public function setParent($mmmmmmmm){$l->parent=$mmmmmmmm;}public function getStream(){return $l->stream;}public function getCurrentToken(){return $l->stream->getCurrent();}protected function filterBodyNodes(Twig_NodeInterface $rrr){if(($rrr instanceof Twig_Node_Text&&!ctype_space($rrr->getAttribute('data')))||(!$rrr instanceof Twig_Node_Text&&!$rrr instanceof Twig_Node_BlockReference&&$rrr instanceof Twig_NodeOutputInterface)){if(false!==strpos((string) $rrr,chr(0xEF).chr(0xBB).chr(0xBF))){throw new Twig_Error_Syntax('A template that extends another one cannot have a body but a byte order mark (BOM) has been detected; it must be removed.',$rrr->getLine(),$l->stream->getFilename());}throw new Twig_Error_Syntax('A template that extends another one cannot have a body.',$rrr->getLine(),$l->stream->getFilename());}if($rrr instanceof Twig_Node_Set){return $rrr;}if($rrr instanceof Twig_NodeOutputInterface){return;}foreach($rrr as $fffffffff=>$nnnnnnn){if(null!==$nnnnnnn&&null===$nnnnnnn=$l->filterBodyNodes($nnnnnnn)){$rrr->removeNode($fffffffff);}}return $rrr;}}interface Twig_ParserInterface{function parse(Twig_TokenStream $vvvv);}class Twig_TokenParserBroker implements Twig_TokenParserBrokerInterface{protected $pp;protected $tt=array();protected $ggggggggg=array();public function __construct($tt=array(),$ggggggggg=array()){foreach($tt as $pp){if(!$pp instanceof Twig_TokenParserInterface){throw new Twig_Error('$parsers must a an array of Twig_TokenParserInterface');}$l->parsers[$pp->getTag()]=$pp;}foreach($ggggggggg as $hhhhhhhhh){if(!$hhhhhhhhh instanceof Twig_TokenParserBrokerInterface){throw new Twig_Error('$brokers must a an array of Twig_TokenParserBrokerInterface');}$l->brokers[]=$hhhhhhhhh;}}public function addTokenParser(Twig_TokenParserInterface $pp){$l->parsers[$pp->getTag()]=$pp;}public function addTokenParserBroker(Twig_TokenParserBroker $hhhhhhhhh){$l->brokers[]=$hhhhhhhhh;}public function getTokenParser($eeeeeee){if(isset($l->parsers[$eeeeeee])){return $l->parsers[$eeeeeee];}$hhhhhhhhh=end($l->brokers);while(false!==$hhhhhhhhh){$pp=$hhhhhhhhh->getTokenParser($eeeeeee);if(null!==$pp){return $pp;}$hhhhhhhhh=prev($l->brokers);}return null;}public function getParsers(){return $l->parsers;}public function getParser(){return $l->parser;}public function setParser(Twig_ParserInterface $pp){$l->parser=$pp;foreach($l->parsers as $iiiiiiiii){$iiiiiiiii->setParser($pp);}foreach($l->brokers as $hhhhhhhhh){$hhhhhhhhh->setParser($pp);}}}interface Twig_TokenParserBrokerInterface{function getTokenParser($eeeeeee);function setParser(Twig_ParserInterface $pp);function getParser();}abstract class Twig_TokenParser implements Twig_TokenParserInterface{protected $pp;public function setParser(Twig_Parser $pp){$l->parser=$pp;}}class Twig_TokenParser_For extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$c=$vvvvvvv->getLine();$ffffffff=$l->parser->getExpressionParser()->parseAssignmentExpression();$l->parser->getStream()->expect(Twig_Token::OPERATOR_TYPE,'in');$hhhhhh=$l->parser->getExpressionParser()->parseExpression();$jjjjjjjjj=null;if($l->parser->getStream()->test(Twig_Token::NAME_TYPE,'if')){$l->parser->getStream()->next();$jjjjjjjjj=$l->parser->getExpressionParser()->parseExpression();}$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$yyyyyyyy=$l->parser->subparse(array($l,'decideForFork'));if($l->parser->getStream()->next()->getValue()=='else'){$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$kkkkkkkkk=$l->parser->subparse(array($l,'decideForEnd'),true);}else{$kkkkkkkkk=null;}$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);if(count($ffffffff)>1){$lllllllll=$ffffffff->getNode(0);$lllllllll=new Twig_Node_Expression_AssignName($lllllllll->getAttribute('name'),$lllllllll->getLine());$mmmmmmmmm=$ffffffff->getNode(1);$mmmmmmmmm=new Twig_Node_Expression_AssignName($mmmmmmmmm->getAttribute('name'),$mmmmmmmmm->getLine());}else{$lllllllll=new Twig_Node_Expression_AssignName('_key',$c);$mmmmmmmmm=$ffffffff->getNode(0);$mmmmmmmmm=new Twig_Node_Expression_AssignName($mmmmmmmmm->getAttribute('name'),$mmmmmmmmm->getLine());}return new Twig_Node_For($lllllllll,$mmmmmmmmm,$hhhhhh,$jjjjjjjjj,$yyyyyyyy,$kkkkkkkkk,$c,$l->getTag());}public function decideForFork(Twig_Token $vvvvvvv){return $vvvvvvv->test(array('else','endfor'));}public function decideForEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endfor');}public function getTag(){return 'for';}}interface Twig_TokenParserInterface{function setParser(Twig_Parser $pp);function parse(Twig_Token $vvvvvvv);function getTag();}class Twig_TokenParser_If extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$c=$vvvvvvv->getLine();$uuuuuuu=$l->parser->getExpressionParser()->parseExpression();$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$yyyyyyyy=$l->parser->subparse(array($l,'decideIfFork'));$ww=array($uuuuuuu,$yyyyyyyy);$kkkkkkkkk=null;$mmmmmm=false;while(!$mmmmmm){switch($l->parser->getStream()->next()->getValue()){case 'else':$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$kkkkkkkkk=$l->parser->subparse(array($l,'decideIfEnd'));break;case 'elseif':$uuuuuuu=$l->parser->getExpressionParser()->parseExpression();$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$yyyyyyyy=$l->parser->subparse(array($l,'decideIfFork'));$ww[]=$uuuuuuu;$ww[]=$yyyyyyyy;break;case 'endif':$mmmmmm=true;break;default:throw new Twig_Error_Syntax(sprintf('Unexpected end of template. Twig was looking for the following tags "else", "elseif", or "endif" to close the "if" block started at line %d)',$c),-1);}}$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);return new Twig_Node_If(new Twig_Node($ww),$kkkkkkkkk,$c,$l->getTag());}public function decideIfFork(Twig_Token $vvvvvvv){return $vvvvvvv->test(array('elseif','else','endif'));}public function decideIfEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test(array('endif'));}public function getTag(){return 'if';}}class Twig_TokenParser_Extends extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){if(!$l->parser->isMainScope()){throw new Twig_Error_Syntax('Cannot extend from a block',$vvvvvvv->getLine());}if(null!==$l->parser->getParent()){throw new Twig_Error_Syntax('Multiple extends tags are forbidden',$vvvvvvv->getLine());}$l->parser->setParent($l->parser->getExpressionParser()->parseExpression());$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);return null;}public function getTag(){return 'extends';}}class Twig_TokenParser_Include extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$uuuuuuu=$l->parser->getExpressionParser()->parseExpression();list($nnnnnnnnn,$ooooooooo,$ppppppppp)=$l->parseArguments();return new Twig_Node_Include($uuuuuuu,$nnnnnnnnn,$ooooooooo,$ppppppppp,$vvvvvvv->getLine(),$l->getTag());}protected function parseArguments(){$vvvv=$l->parser->getStream();$ppppppppp=false;if($vvvv->test(Twig_Token::NAME_TYPE,'ignore')){$vvvv->next();$vvvv->expect(Twig_Token::NAME_TYPE,'missing');$ppppppppp=true;}$nnnnnnnnn=null;if($vvvv->test(Twig_Token::NAME_TYPE,'with')){$vvvv->next();$nnnnnnnnn=$l->parser->getExpressionParser()->parseExpression();}$ooooooooo=false;if($vvvv->test(Twig_Token::NAME_TYPE,'only')){$vvvv->next();$ooooooooo=true;}$vvvv->expect(Twig_Token::BLOCK_END_TYPE);return array($nnnnnnnnn,$ooooooooo,$ppppppppp);}public function getTag(){return 'include';}}class Twig_TokenParser_Block extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$c=$vvvvvvv->getLine();$vvvv=$l->parser->getStream();$ee=$vvvv->expect(Twig_Token::NAME_TYPE)->getValue();if($l->parser->hasBlock($ee)){throw new Twig_Error_Syntax(sprintf("The block '$ee' has already been defined line %d",$l->parser->getBlock($ee)->getLine()),$c);}$l->parser->setBlock($ee,$qqqqqqqqq=new Twig_Node_Block($ee,new Twig_Node(array()),$c));$l->parser->pushLocalScope();$l->parser->pushBlockStack($ee);if($vvvv->test(Twig_Token::BLOCK_END_TYPE)){$vvvv->next();$yyyyyyyy=$l->parser->subparse(array($l,'decideBlockEnd'),true);if($vvvv->test(Twig_Token::NAME_TYPE)){$cccc=$vvvv->next()->getValue();if($cccc!=$ee){throw new Twig_Error_Syntax(sprintf("Expected endblock for block '$ee' (but %s given)",$cccc),$c);}}}else{$yyyyyyyy=new Twig_Node(array(new Twig_Node_Print($l->parser->getExpressionParser()->parseExpression(),$c),));}$vvvv->expect(Twig_Token::BLOCK_END_TYPE);$qqqqqqqqq->setNode('body',$yyyyyyyy);$l->parser->popBlockStack();$l->parser->popLocalScope();return new Twig_Node_BlockReference($ee,$c,$l->getTag());}public function decideBlockEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endblock');}public function getTag(){return 'block';}}class Twig_TokenParser_Use extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$q=$l->parser->getExpressionParser()->parseExpression();if(!$q instanceof Twig_Node_Expression_Constant){throw new Twig_Error_Syntax('The template references in a "use" statement must be a string.',$vvvvvvv->getLine());}$vvvv=$l->parser->getStream();$ffffffff=array();if($vvvv->test('with')){$vvvv->next();do{$ee=$vvvv->expect(Twig_Token::NAME_TYPE)->getValue();$eeeeeeee=$ee;if($vvvv->test('as')){$vvvv->next();$eeeeeeee=$vvvv->expect(Twig_Token::NAME_TYPE)->getValue();}$ffffffff[$ee]=new Twig_Node_Expression_Constant($eeeeeeee,-1);if(!$vvvv->test(Twig_Token::PUNCTUATION_TYPE,',')){break;}$vvvv->next();}while(true);}$vvvv->expect(Twig_Token::BLOCK_END_TYPE);$l->parser->addTrait(new Twig_Node(array('template'=>$q,'targets'=>new Twig_Node($ffffffff))));return null;}public function getTag(){return 'use';}}class Twig_TokenParser_Filter extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$ee=$l->parser->getVarName();$rrrrrrrrr=new Twig_Node_Expression_BlockReference(new Twig_Node_Expression_Constant($ee,$vvvvvvv->getLine()),true,$vvvvvvv->getLine(),$l->getTag());$uuu=$l->parser->getExpressionParser()->parseFilterExpressionRaw($rrrrrrrrr,$l->getTag());$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$yyyyyyyy=$l->parser->subparse(array($l,'decideBlockEnd'),true);$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$qqqqqqqqq=new Twig_Node_Block($ee,$yyyyyyyy,$vvvvvvv->getLine());$l->parser->setBlock($ee,$qqqqqqqqq);return new Twig_Node_Print($uuu,$vvvvvvv->getLine(),$l->getTag());}public function decideBlockEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endfilter');}public function getTag(){return 'filter';}}class Twig_TokenParser_Macro extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$c=$vvvvvvv->getLine();$ee=$l->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue();$o=$l->parser->getExpressionParser()->parseArguments();$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$l->parser->pushLocalScope();$yyyyyyyy=$l->parser->subparse(array($l,'decideBlockEnd'),true);if($l->parser->getStream()->test(Twig_Token::NAME_TYPE)){$cccc=$l->parser->getStream()->next()->getValue();if($cccc!=$ee){throw new Twig_Error_Syntax(sprintf("Expected endmacro for macro '$ee' (but %s given)",$cccc),$c);}}$l->parser->popLocalScope();$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$l->parser->setMacro($ee,new Twig_Node_Macro($ee,new Twig_Node_Body(array($yyyyyyyy)),$o,$c,$l->getTag()));return null;}public function decideBlockEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endmacro');}public function getTag(){return 'macro';}}class Twig_TokenParser_Import extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$sssssssss=$l->parser->getExpressionParser()->parseExpression();$l->parser->getStream()->expect('as');$ttttttttt=new Twig_Node_Expression_AssignName($l->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue(),$vvvvvvv->getLine());$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);return new Twig_Node_Import($sssssssss,$ttttttttt,$vvvvvvv->getLine(),$l->getTag());}public function getTag(){return 'import';}}class Twig_TokenParser_From extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$sssssssss=$l->parser->getExpressionParser()->parseExpression();$vvvv=$l->parser->getStream();$vvvv->expect('import');$ffffffff=array();do{$ee=$vvvv->expect(Twig_Token::NAME_TYPE)->getValue();$eeeeeeee=$ee;if($vvvv->test('as')){$vvvv->next();$eeeeeeee=$vvvv->expect(Twig_Token::NAME_TYPE)->getValue();}$ffffffff[$ee]=$eeeeeeee;if(!$vvvv->test(Twig_Token::PUNCTUATION_TYPE,',')){break;}$vvvv->next();}while(true);$vvvv->expect(Twig_Token::BLOCK_END_TYPE);$rrr=new Twig_Node_Import($sssssssss,new Twig_Node_Expression_AssignName($l->parser->getVarName(),$vvvvvvv->getLine()),$vvvvvvv->getLine(),$l->getTag());foreach($ffffffff as $ee=>$eeeeeeee){$l->parser->addImportedFunction($eeeeeeee,'get'.$ee,$rrr->getNode('var'));}return $rrr;}public function getTag(){return 'from';}}class Twig_TokenParser_Set extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$c=$vvvvvvv->getLine();$vvvv=$l->parser->getStream();$ooo=$l->parser->getExpressionParser()->parseAssignmentExpression();$uuuuuuuuu=false;if($vvvv->test(Twig_Token::OPERATOR_TYPE,'=')){$vvvv->next();$yyyy=$l->parser->getExpressionParser()->parseMultitargetExpression();$vvvv->expect(Twig_Token::BLOCK_END_TYPE);if(count($ooo)!==count($yyyy)){throw new Twig_Error_Syntax("When using set, you must have the same number of variables and assignements.",$c);}}else{$uuuuuuuuu=true;if(count($ooo)>1){throw new Twig_Error_Syntax("When using set with a block, you cannot have a multi-target.",$c);}$vvvv->expect(Twig_Token::BLOCK_END_TYPE);$yyyy=$l->parser->subparse(array($l,'decideBlockEnd'),true);$vvvv->expect(Twig_Token::BLOCK_END_TYPE);}return new Twig_Node_Set($uuuuuuuuu,$ooo,$yyyy,$c,$l->getTag());}public function decideBlockEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endset');}public function getTag(){return 'set';}}class Twig_TokenParser_Spaceless extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$c=$vvvvvvv->getLine();$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$yyyyyyyy=$l->parser->subparse(array($l,'decideSpacelessEnd'),true);$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);return new Twig_Node_Spaceless($yyyyyyyy,$c,$l->getTag());}public function decideSpacelessEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endspaceless');}public function getTag(){return 'spaceless';}}class Twig_TokenParser_Flush extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);return new Twig_Node_Flush($vvvvvvv->getLine(),$l->getTag());}public function getTag(){return 'flush';}}class Twig_TokenParser_Do extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$uuuuuuu=$l->parser->getExpressionParser()->parseExpression();$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);return new Twig_Node_Do($uuuuuuu,$vvvvvvv->getLine(),$l->getTag());}public function getTag(){return 'do';}}class Twig_TokenParser_Embed extends Twig_TokenParser_Include{public function parse(Twig_Token $vvvvvvv){$vvvv=$l->parser->getStream();$mmmmmmmm=$l->parser->getExpressionParser()->parseExpression();list($nnnnnnnnn,$ooooooooo,$ppppppppp)=$l->parseArguments();$vvvv->injectTokens(array(new Twig_Token(Twig_Token::BLOCK_START_TYPE,'',$vvvvvvv->getLine()),new Twig_Token(Twig_Token::NAME_TYPE,'extends',$vvvvvvv->getLine()),new Twig_Token(Twig_Token::STRING_TYPE,'__parent__',$vvvvvvv->getLine()),new Twig_Token(Twig_Token::BLOCK_END_TYPE,'',$vvvvvvv->getLine()),));$vvvvvvvvv=$l->parser->parse($vvvv,array($l,'decideBlockEnd'),true);$vvvvvvvvv->setNode('parent',$mmmmmmmm);$l->parser->embedTemplate($vvvvvvvvv);$vvvv->expect(Twig_Token::BLOCK_END_TYPE);return new Twig_Node_Embed($vvvvvvvvv->getAttribute('filename'),$vvvvvvvvv->getAttribute('index'),$nnnnnnnnn,$ooooooooo,$ppppppppp,$vvvvvvv->getLine(),$l->getTag());}public function decideBlockEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endembed');}public function getTag(){return 'embed';}}class Twig_TokenParser_AutoEscape extends Twig_TokenParser{public function parse(Twig_Token $vvvvvvv){$c=$vvvvvvv->getLine();if($l->parser->getStream()->test(Twig_Token::BLOCK_END_TYPE)){$cccc='html';}else{$uuuuuuu=$l->parser->getExpressionParser()->parseExpression();if(!$uuuuuuu instanceof Twig_Node_Expression_Constant){throw new Twig_Error_Syntax('An escaping strategy must be a string or a Boolean.',$c);}$cccc=$uuuuuuu->getAttribute('value');$wwwwwwwww=true===$cccc||false===$cccc;if(true===$cccc){$cccc='html';}if($wwwwwwwww&&$l->parser->getStream()->test(Twig_Token::NAME_TYPE)){if(false===$cccc){throw new Twig_Error_Syntax('Unexpected escaping strategy as you set autoescaping to false.',$c);}$cccc=$l->parser->getStream()->next()->getValue();}}$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);$yyyyyyyy=$l->parser->subparse(array($l,'decideBlockEnd'),true);$l->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);return new Twig_Node_AutoEscape($cccc,$yyyyyyyy,$c,$l->getTag());}public function decideBlockEnd(Twig_Token $vvvvvvv){return $vvvvvvv->test('endautoescape');}public function getTag(){return 'autoescape';}}class Twig_NodeVisitor_Escaper implements Twig_NodeVisitorInterface{protected $xxxxxxxxx=array();protected $pppppppp=array();protected $yyyyyyyyy;protected $zzzzzzzz;protected $iiiiii=false;protected $zzzzzzzzz=array();public function __construct(){$l->safeAnalysis=new Twig_NodeVisitor_SafeAnalysis();}public function enterNode(Twig_NodeInterface $rrr,Twig_Environment $wwww){if($rrr instanceof Twig_Node_Module){if($wwww->hasExtension('escaper')&&$iiiiii=$wwww->getExtension('escaper')->getDefaultStrategy($rrr->getAttribute('filename'))){$l->defaultStrategy=$iiiiii;}$l->safeVars=array();}elseif($rrr instanceof Twig_Node_AutoEscape){$l->statusStack[]=$rrr->getAttribute('value');}elseif($rrr instanceof Twig_Node_Block){$l->statusStack[]=isset($l->blocks[$rrr->getAttribute('name')])?$l->blocks[$rrr->getAttribute('name')]:$l->needEscaping($wwww);}elseif($rrr instanceof Twig_Node_Import){$l->safeVars[]=$rrr->getNode('var')->getAttribute('name');}return $rrr;}public function leaveNode(Twig_NodeInterface $rrr,Twig_Environment $wwww){if($rrr instanceof Twig_Node_Module){$l->defaultStrategy=false;$l->safeVars=array();}elseif($rrr instanceof Twig_Node_Expression_Filter){return $l->preEscapeFilterNode($rrr,$wwww);}elseif($rrr instanceof Twig_Node_Print){return $l->escapePrintNode($rrr,$wwww,$l->needEscaping($wwww));}if($rrr instanceof Twig_Node_AutoEscape||$rrr instanceof Twig_Node_Block){array_pop($l->statusStack);}elseif($rrr instanceof Twig_Node_BlockReference){$l->blocks[$rrr->getAttribute('name')]=$l->needEscaping($wwww);}return $rrr;}protected function escapePrintNode(Twig_Node_Print $rrr,Twig_Environment $wwww,$zzzzzz){if(false===$zzzzzz){return $rrr;}$aaaaaaaaaa=$rrr->getNode('expr');if($l->isSafeFor($zzzzzz,$aaaaaaaaaa,$wwww)){return $rrr;}$jjj=get_class($rrr);return new $jjj($l->getEscaperFilter($zzzzzz,$aaaaaaaaaa),$rrr->getLine());}protected function preEscapeFilterNode(Twig_Node_Expression_Filter $uuu,Twig_Environment $wwww){$ee=$uuu->getNode('filter')->getAttribute('value');if(false!==$bbbbbbbbbb=$wwww->getFilter($ee)){$zzzzzz=$bbbbbbbbbb->getPreEscape();if(null===$zzzzzz){return $uuu;}$rrr=$uuu->getNode('node');if($l->isSafeFor($zzzzzz,$rrr,$wwww)){return $uuu;}$uuu->setNode('node',$l->getEscaperFilter($zzzzzz,$rrr));return $uuu;}return $uuu;}protected function isSafeFor($zzzzzz,Twig_NodeInterface $aaaaaaaaaa,$wwww){$cccccccccc=$l->safeAnalysis->getSafe($aaaaaaaaaa);if(null===$cccccccccc){if(null===$l->traverser){$l->traverser=new Twig_NodeTraverser($wwww,array($l->safeAnalysis));}$l->safeAnalysis->setSafeVars($l->safeVars);$l->traverser->traverse($aaaaaaaaaa);$cccccccccc=$l->safeAnalysis->getSafe($aaaaaaaaaa);}return in_array($zzzzzz,$cccccccccc)||in_array('all',$cccccccccc);}protected function needEscaping(Twig_Environment $wwww){if(count($l->statusStack)){return $l->statusStack[count($l->statusStack)-1];}return $l->defaultStrategy?$l->defaultStrategy:false;}protected function getEscaperFilter($zzzzzz,Twig_NodeInterface $rrr){$iiiiiii=$rrr->getLine();$ee=new Twig_Node_Expression_Constant('escape',$iiiiiii);$dddddddd=new Twig_Node(array(new Twig_Node_Expression_Constant((string) $zzzzzz,$iiiiiii),new Twig_Node_Expression_Constant(null,$iiiiiii),new Twig_Node_Expression_Constant(true,$iiiiiii)));return new Twig_Node_Expression_Filter($rrr,$ee,$dddddddd,$iiiiiii);}public function getPriority(){return0;}}interface Twig_NodeVisitorInterface{function enterNode(Twig_NodeInterface $rrr,Twig_Environment $wwww);function leaveNode(Twig_NodeInterface $rrr,Twig_Environment $wwww);function getPriority();}class Twig_NodeVisitor_SafeAnalysis implements Twig_NodeVisitorInterface{protected $dddddddddd=array();protected $zzzzzzzzz=array();public function setSafeVars($zzzzzzzzz){$l->safeVars=$zzzzzzzzz;}public function getSafe(Twig_NodeInterface $rrr){$eeeeeeeeee=spl_object_hash($rrr);if(isset($l->data[$eeeeeeeeee])){foreach($l->data[$eeeeeeeeee]as $ffffffffff){if($ffffffffff['key']===$rrr){return $ffffffffff['value'];}}}return null;}protected function setSafe(Twig_NodeInterface $rrr,array $cccccccccc){$eeeeeeeeee=spl_object_hash($rrr);if(isset($l->data[$eeeeeeeeee])){foreach($l->data[$eeeeeeeeee]as&$ffffffffff){if($ffffffffff['key']===$rrr){$ffffffffff['value']=$cccccccccc;return;}}}$l->data[$eeeeeeeeee][]=array('key'=>$rrr,'value'=>$cccccccccc,);}public function enterNode(Twig_NodeInterface $rrr,Twig_Environment $wwww){return $rrr;}public function leaveNode(Twig_NodeInterface $rrr,Twig_Environment $wwww){if($rrr instanceof Twig_Node_Expression_Constant){$l->setSafe($rrr,array('all'));}elseif($rrr instanceof Twig_Node_Expression_BlockReference){$l->setSafe($rrr,array('all'));}elseif($rrr instanceof Twig_Node_Expression_Parent){$l->setSafe($rrr,array('all'));}elseif($rrr instanceof Twig_Node_Expression_Conditional){$cccccccccc=$l->intersectSafe($l->getSafe($rrr->getNode('expr2')),$l->getSafe($rrr->getNode('expr3')));$l->setSafe($rrr,$cccccccccc);}elseif($rrr instanceof Twig_Node_Expression_Filter){$ee=$rrr->getNode('filter')->getAttribute('value');$dddddddd=$rrr->getNode('arguments');if(false!==$uuu=$wwww->getFilter($ee)){$cccccccccc=$uuu->getSafe($dddddddd);if(null===$cccccccccc){$cccccccccc=$l->intersectSafe($l->getSafe($rrr->getNode('node')),$uuu->getPreservesSafety());}$l->setSafe($rrr,$cccccccccc);}else{$l->setSafe($rrr,array());}}elseif($rrr instanceof Twig_Node_Expression_Function){$ee=$rrr->getAttribute('name');$dddddddd=$rrr->getNode('arguments');$bbbb=$wwww->getFunction($ee);if(false!==$bbbb){$l->setSafe($rrr,$bbbb->getSafe($dddddddd));}else{$l->setSafe($rrr,array());}}elseif($rrr instanceof Twig_Node_Expression_MethodCall){if($rrr->getAttribute('safe')){$l->setSafe($rrr,array('all'));}else{$l->setSafe($rrr,array());}}elseif($rrr instanceof Twig_Node_Expression_GetAttr&&$rrr->getNode('node')instanceof Twig_Node_Expression_Name){$ee=$rrr->getNode('node')->getAttribute('name');if('_self'==$ee||in_array($ee,$l->safeVars)){$l->setSafe($rrr,array('all'));}else{$l->setSafe($rrr,array());}}else{$l->setSafe($rrr,array());}return $rrr;}protected function intersectSafe(array $gggggggggg=null,array $hhhhhhhhhh=null){if(null===$gggggggggg||null===$hhhhhhhhhh){return array();}if(in_array('all',$gggggggggg)){return $hhhhhhhhhh;}if(in_array('all',$hhhhhhhhhh)){return $gggggggggg;}return array_intersect($gggggggggg,$hhhhhhhhhh);}public function getPriority(){return0;}}class Twig_NodeVisitor_Optimizer implements Twig_NodeVisitorInterface{const OPTIMIZE_ALL=-1;const OPTIMIZE_NONE=0;const OPTIMIZE_FOR=2;const OPTIMIZE_RAW_FILTER=4;const OPTIMIZE_VAR_ACCESS=8;protected $iiiiiiiiii=array();protected $jjjjjj;protected $jjjjjjjjjj=array();protected $kkkkkkkkkk=false;public function __construct($jjjjjj=-1){if(!is_int($jjjjjj)||$jjjjjj>2){throw new InvalidArgumentException(sprintf('Optimizer mode "%s" is not valid.',$jjjjjj));}$l->optimizers=$jjjjjj;}public function enterNode(Twig_NodeInterface $rrr,Twig_Environment $wwww){if(self::OPTIMIZE_FOR===(self::OPTIMIZE_FOR&$l->optimizers)){$l->enterOptimizeFor($rrr,$wwww);}if(!version_compare(phpversion(),'5.4.0RC1','>=')&&self::OPTIMIZE_VAR_ACCESS===(self::OPTIMIZE_VAR_ACCESS&$l->optimizers)&&!$wwww->isStrictVariables()&&!$wwww->hasExtension('sandbox')){if($l->inABody){if(!$rrr instanceof Twig_Node_Expression){if(get_class($rrr)!=='Twig_Node'){array_unshift($l->prependedNodes,array());}}else{$rrr=$l->optimizeVariables($rrr,$wwww);}}elseif($rrr instanceof Twig_Node_Body){$l->inABody=true;}}return $rrr;}public function leaveNode(Twig_NodeInterface $rrr,Twig_Environment $wwww){$aaaaaaaaaa=$rrr instanceof Twig_Node_Expression;if(self::OPTIMIZE_FOR===(self::OPTIMIZE_FOR&$l->optimizers)){$l->leaveOptimizeFor($rrr,$wwww);}if(self::OPTIMIZE_RAW_FILTER===(self::OPTIMIZE_RAW_FILTER&$l->optimizers)){$rrr=$l->optimizeRawFilter($rrr,$wwww);}$rrr=$l->optimizePrintNode($rrr,$wwww);if(self::OPTIMIZE_VAR_ACCESS===(self::OPTIMIZE_VAR_ACCESS&$l->optimizers)&&!$wwww->isStrictVariables()&&!$wwww->hasExtension('sandbox')){if($rrr instanceof Twig_Node_Body){$l->inABody=false;}elseif($l->inABody){if(!$aaaaaaaaaa&&get_class($rrr)!=='Twig_Node'&&$jjjjjjjjjj=array_shift($l->prependedNodes)){$ccccccc=array();foreach(array_unique($jjjjjjjjjj)as $ee){$ccccccc[]=new Twig_Node_SetTemp($ee,$rrr->getLine());}$ccccccc[]=$rrr;$rrr=new Twig_Node($ccccccc);}}}return $rrr;}protected function optimizeVariables($rrr,$wwww){if('Twig_Node_Expression_Name'===get_class($rrr)&&$rrr->isSimple()){$l->prependedNodes[0][]=$rrr->getAttribute('name');return new Twig_Node_Expression_TempName($rrr->getAttribute('name'),$rrr->getLine());}return $rrr;}protected function optimizePrintNode($rrr,$wwww){if(!$rrr instanceof Twig_Node_Print){return $rrr;}if($rrr->getNode('expr')instanceof Twig_Node_Expression_BlockReference||$rrr->getNode('expr')instanceof Twig_Node_Expression_Parent){$rrr->getNode('expr')->setAttribute('output',true);return $rrr->getNode('expr');}return $rrr;}protected function optimizeRawFilter($rrr,$wwww){if($rrr instanceof Twig_Node_Expression_Filter&&'raw'==$rrr->getNode('filter')->getAttribute('value')){return $rrr->getNode('node');}return $rrr;}protected function enterOptimizeFor($rrr,$wwww){if($rrr instanceof Twig_Node_For){$rrr->setAttribute('with_loop',false);array_unshift($l->loops,$rrr);}elseif(!$l->loops){return;}elseif($rrr instanceof Twig_Node_Expression_Name&&'loop'===$rrr->getAttribute('name')){$l->addLoopToCurrent();}elseif($rrr instanceof Twig_Node_BlockReference||$rrr instanceof Twig_Node_Expression_BlockReference){$l->addLoopToCurrent();}elseif($rrr instanceof Twig_Node_Include&&!$rrr->getAttribute('only')){$l->addLoopToAll();}elseif($rrr instanceof Twig_Node_Expression_GetAttr&&(!$rrr->getNode('attribute')instanceof Twig_Node_Expression_Constant||'parent'===$rrr->getNode('attribute')->getAttribute('value'))&&(true===$l->loops[0]->getAttribute('with_loop')||($rrr->getNode('node')instanceof Twig_Node_Expression_Name&&'loop'===$rrr->getNode('node')->getAttribute('name')))){$l->addLoopToAll();}}protected function leaveOptimizeFor($rrr,$wwww){if($rrr instanceof Twig_Node_For){array_shift($l->loops);}}protected function addLoopToCurrent(){$l->loops[0]->setAttribute('with_loop',true);}protected function addLoopToAll(){foreach($l->loops as $llllllllll){$llllllllll->setAttribute('with_loop',true);}}public function getPriority(){return255;}}class Twig_Node_Text extends Twig_Node implements Twig_NodeOutputInterface{public function __construct($dddddddddd,$c){parent::__construct(array(),array('data'=>$dddddddddd),$c);}public function compile(Twig_Compiler $qq){$qq->addDebugInfo($l)->write('echo ')->string($l->getAttribute('data'))->raw(";\n");}}interface Twig_NodeOutputInterface{}class Twig_Node_Expression_Name extends Twig_Node_Expression{protected $mmmmmmmmmm=array('_self'=>'$this','_context'=>'$context','_charset'=>'$this->env->getCharset()',);public function __construct($ee,$c){parent::__construct(array(),array('name'=>$ee,'is_defined_test'=>false,'ignore_strict_check'=>false),$c);}public function compile(Twig_Compiler $qq){$ee=$l->getAttribute('name');if($l->getAttribute('is_defined_test')){if($l->isSpecial()){$qq->repr(true);}else{$qq->raw('array_key_exists(')->repr($ee)->raw(', $context)');}}elseif($l->isSpecial()){$qq->raw($l->specialVars[$ee]);}else{if(version_compare(phpversion(),'5.4.0RC1','>=')&&($l->getAttribute('ignore_strict_check')||!$qq->getEnvironment()->isStrictVariables())){$qq->raw('(isset($context[')->string($ee)->raw(']) ? $context[')->string($ee)->raw('] : null)');}else{$qq->raw('$this->getContext($context, ')->string($ee);if($l->getAttribute('ignore_strict_check')){$qq->raw(', true');}$qq->raw(')');}}}public function isSpecial(){return isset($l->specialVars[$l->getAttribute('name')]);}public function isSimple(){return!$l->isSpecial()&&!$l->getAttribute('is_defined_test');}}class Twig_Node_Expression_AssignName extends Twig_Node_Expression_Name{public function compile(Twig_Compiler $qq){$qq->raw('$context[')->string($l->getAttribute('name'))->raw(']');}}class Twig_Node_For extends Twig_Node{protected $llllllllll;public function __construct(Twig_Node_Expression_AssignName $lllllllll,Twig_Node_Expression_AssignName $mmmmmmmmm,Twig_Node_Expression $hhhhhh,Twig_Node_Expression $jjjjjjjjj=null,Twig_NodeInterface $yyyyyyyy,Twig_NodeInterface $kkkkkkkkk=null,$c,$eeeeeee=null){$yyyyyyyy=new Twig_Node(array($yyyyyyyy,$l->loop=new Twig_Node_ForLoop($c,$eeeeeee)));if(null!==$jjjjjjjjj){$yyyyyyyy=new Twig_Node_If(new Twig_Node(array($jjjjjjjjj,$yyyyyyyy)),null,$c,$eeeeeee);}parent::__construct(array('key_target'=>$lllllllll,'value_target'=>$mmmmmmmmm,'seq'=>$hhhhhh,'body'=>$yyyyyyyy,'else'=>$kkkkkkkkk),array('with_loop'=>true,'ifexpr'=>null!==$jjjjjjjjj),$c,$eeeeeee);}public function compile(Twig_Compiler $qq){$qq->addDebugInfo($l)->write("\$context['_parent'] = (array) \$context;\n")->write("\$context['_seq'] = twig_ensure_traversable(")->subcompile($l->getNode('seq'))->raw(");\n");if(null!==$l->getNode('else')){$qq->write("\$context['_iterated'] = false;\n");}if($l->getAttribute('with_loop')){$qq->write("\$context['loop'] = array(\n")->write(" 'parent' => \$context['_parent'],\n")->write(" 'index0' => 0,\n")->write(" 'index' => 1,\n")->write(" 'first' => true,\n")->write(");\n");if(!$l->getAttribute('ifexpr')){$qq->write("if (is_array(\$context['_seq']) || (is_object(\$context['_seq']) && \$context['_seq'] instanceof Countable)) {\n")->indent()->write("\$length = count(\$context['_seq']);\n")->write("\$context['loop']['revindex0'] = \$length - 1;\n")->write("\$context['loop']['revindex'] = \$length;\n")->write("\$context['loop']['length'] = \$length;\n")->write("\$context['loop']['last'] = 1 === \$length;\n")->outdent()->write("}\n");}}$l->loop->setAttribute('else',null!==$l->getNode('else'));$l->loop->setAttribute('with_loop',$l->getAttribute('with_loop'));$l->loop->setAttribute('ifexpr',$l->getAttribute('ifexpr'));$qq->write("foreach (\$context['_seq'] as ")->subcompile($l->getNode('key_target'))->raw(" => ")->subcompile($l->getNode('value_target'))->raw(") {\n")->indent()->subcompile($l->getNode('body'))->outdent()->write("}\n");if(null!==$l->getNode('else')){$qq->write("if (!\$context['_iterated']) {\n")->indent()->subcompile($l->getNode('else'))->outdent()->write("}\n");}$qq->write("\$_parent = \$context['_parent'];\n");$qq->write('unset($context[\'_seq\'], $context[\'_iterated\'], $context[\''.$l->getNode('key_target')->getAttribute('name').'\'], $context[\''.$l->getNode('value_target')->getAttribute('name').'\'], $context[\'_parent\'], $context[\'loop\']);'."\n");$qq->write("\$context = array_merge(\$_parent, array_intersect_key(\$context, \$_parent));\n");}}class Twig_Node_ForLoop extends Twig_Node{public function __construct($c,$eeeeeee=null){parent::__construct(array(),array('with_loop'=>false,'ifexpr'=>false,'else'=>false),$c,$eeeeeee);}public function compile(Twig_Compiler $qq){if($l->getAttribute('else')){$qq->write("\$context['_iterated'] = true;\n");}if($l->getAttribute('with_loop')){$qq->write("++\$context['loop']['index0'];\n")->write("++\$context['loop']['index'];\n")->write("\$context['loop']['first'] = false;\n");if(!$l->getAttribute('ifexpr')){$qq->write("if (isset(\$context['loop']['length'])) {\n")->indent()->write("--\$context['loop']['revindex0'];\n")->write("--\$context['loop']['revindex'];\n")->write("\$context['loop']['last'] = 0 === \$context['loop']['revindex0'];\n")->outdent()->write("}\n");}}}}class Twig_Node_Expression_Array extends Twig_Node_Expression{protected $kkk;public function __construct(array $nnnnnnnnnn,$c){parent::__construct($nnnnnnnnnn,array(),$c);$l->index=-1;foreach($l->getKeyValuePairs()as $oooooooooo){if($oooooooooo['key']instanceof Twig_Node_Expression_Constant&&ctype_digit((string) $oooooooooo['key']->getAttribute('value'))&&$oooooooooo['key']->getAttribute('value')>$l->index){$l->index=$oooooooooo['key']->getAttribute('value');}}}public function getKeyValuePairs(){$pppppppppp=array();foreach(array_chunk($l->nodes,2)as $oooooooooo){$pppppppppp[]=array('key'=>$oooooooooo[0],'value'=>$oooooooooo[1],);}return $pppppppppp;}public function hasElement(Twig_Node_Expression $dddd){foreach($l->getKeyValuePairs()as $oooooooooo){if((string) $dddd==(string) $oooooooooo['key']){return true;}}return false;}public function addElement(Twig_Node_Expression $cccc,Twig_Node_Expression $dddd=null){if(null===$dddd){$dddd=new Twig_Node_Expression_Constant(++$l->index,$cccc->getLine());}array_push($l->nodes,$dddd,$cccc);}public function compile(Twig_Compiler $qq){$qq->raw('array(');$bbbbbbbb=true;foreach($l->getKeyValuePairs()as $oooooooooo){if(!$bbbbbbbb){$qq->raw(', ');}$bbbbbbbb=false;$qq->subcompile($oooooooooo['key'])->raw(' => ')->subcompile($oooooooooo['value']);}$qq->raw(')');}}interface Twig_TemplateInterface{const ANY_CALL='any';const ARRAY_CALL='array';const METHOD_CALL='method';function render(array $lll);function display(array $lll,array $pppppppp=array());function getEnvironment();}class Twig_Node_Expression_Constant extends Twig_Node_Expression{public function __construct($cccc,$c){parent::__construct(array(),array('value'=>$cccc),$c);}public function compile(Twig_Compiler $qq){$qq->repr($l->getAttribute('value'));}}class Twig_Node_Expression_GetAttr extends Twig_Node_Expression{public function __construct(Twig_Node_Expression $rrr,Twig_Node_Expression $mmmmmmm,Twig_Node_Expression_Array $o,$zzzzzz,$c){parent::__construct(array('node'=>$rrr,'attribute'=>$mmmmmmm,'arguments'=>$o),array('type'=>$zzzzzz,'is_defined_test'=>false,'ignore_strict_check'=>false),$c);}public function compile(Twig_Compiler $qq){if(function_exists('twig_template_get_attributes')){$qq->raw('twig_template_get_attributes($this, ');}else{$qq->raw('$this->getAttribute(');}if($l->getAttribute('ignore_strict_check')){$l->getNode('node')->setAttribute('ignore_strict_check',true);}$qq->subcompile($l->getNode('node'));$qq->raw(', ')->subcompile($l->getNode('attribute'));if(count($l->getNode('arguments'))||Twig_TemplateInterface::ANY_CALL!==$l->getAttribute('type')||$l->getAttribute('is_defined_test')||$l->getAttribute('ignore_strict_check')){$qq->raw(', ')->subcompile($l->getNode('arguments'));if(Twig_TemplateInterface::ANY_CALL!==$l->getAttribute('type')||$l->getAttribute('is_defined_test')||$l->getAttribute('ignore_strict_check')){$qq->raw(', ')->repr($l->getAttribute('type'));}if($l->getAttribute('is_defined_test')||$l->getAttribute('ignore_strict_check')){$qq->raw(', '.($l->getAttribute('is_defined_test')?'true':'false'));}if($l->getAttribute('ignore_strict_check')){$qq->raw(', '.($l->getAttribute('ignore_strict_check')?'true':'false'));}}$qq->raw(')');}}class Twig_Node_Expression_Conditional extends Twig_Node_Expression{public function __construct(Twig_Node_Expression $xxxxxxx,Twig_Node_Expression $yyyyyyy,Twig_Node_Expression $zzzzzzz,$c){parent::__construct(array('expr1'=>$xxxxxxx,'expr2'=>$yyyyyyy,'expr3'=>$zzzzzzz),array(),$c);}public function compile(Twig_Compiler $qq){$qq->raw('((')->subcompile($l->getNode('expr1'))->raw(') ? (')->subcompile($l->getNode('expr2'))->raw(') : (')->subcompile($l->getNode('expr3'))->raw('))');}}class Twig_Node_Print extends Twig_Node implements Twig_NodeOutputInterface{public function __construct(Twig_Node_Expression $uuuuuuu,$c,$eeeeeee=null){parent::__construct(array('expr'=>$uuuuuuu),array(),$c,$eeeeeee);}public function compile(Twig_Compiler $qq){$qq->addDebugInfo($l)->write('echo ')->subcompile($l->getNode('expr'))->raw(";\n");}}class Twig_Node_Module extends Twig_Node{public function __construct(Twig_NodeInterface $yyyyyyyy,Twig_Node_Expression $mmmmmmmm=null,Twig_NodeInterface $pppppppp,Twig_NodeInterface $rrrrrrrr,Twig_NodeInterface $uuuuuuuu,$vvvvvvvv,$d){parent::__construct(array('parent'=>$mmmmmmmm,'body'=>$yyyyyyyy,'blocks'=>$pppppppp,'macros'=>$rrrrrrrr,'traits'=>$uuuuuuuu),array('filename'=>$d,'index'=>null,'embedded_templates'=>$vvvvvvvv),1);}public function setIndex($kkk){$l->setAttribute('index',$kkk);}public function compile(Twig_Compiler $qq){$l->compileTemplate($qq);foreach($l->getAttribute('embedded_templates')as $q){$qq->subcompile($q);}}protected function compileTemplate(Twig_Compiler $qq){if(!$l->getAttribute('index')){$qq->write('');}$l->compileClassHeader($qq);if(count($l->getNode('blocks'))||count($l->getNode('traits'))||null===$l->getNode('parent')||$l->getNode('parent')instanceof Twig_Node_Expression_Constant){$l->compileConstructor($qq);}$l->compileGetParent($qq);$l->compileDisplayHeader($qq);$l->compileDisplayBody($qq);$l->compileDisplayFooter($qq);$qq->subcompile($l->getNode('blocks'));$l->compileMacros($qq);$l->compileGetTemplateName($qq);$l->compileIsTraitable($qq);$l->compileDebugInfo($qq);$l->compileClassFooter($qq);}protected function compileGetParent(Twig_Compiler $qq){if(null===$l->getNode('parent')){return;}$qq->write("protected function doGetParent(array \$context)\n","{\n")->indent()->write("return ");if($l->getNode('parent')instanceof Twig_Node_Expression_Constant){$qq->subcompile($l->getNode('parent'));}else{$qq->raw("\$this->env->resolveTemplate(")->subcompile($l->getNode('parent'))->raw(")");}$qq->raw(";\n")->outdent()->write("}\n\n");}protected function compileDisplayBody(Twig_Compiler $qq){$qq->subcompile($l->getNode('body'));if(null!==$l->getNode('parent')){if($l->getNode('parent')instanceof Twig_Node_Expression_Constant){$qq->write("\$this->parent");}else{$qq->write("\$this->getParent(\$context)");}$qq->raw("->display(\$context, array_merge(\$this->blocks, \$blocks));\n");}}protected function compileClassHeader(Twig_Compiler $qq){$qq->write("\n\n")->write("/* ".str_replace('*/','* /',$l->getAttribute('filename'))." */\n")->write('class '.$qq->getEnvironment()->getTemplateClass($l->getAttribute('filename'),$l->getAttribute('index')))->raw(sprintf(" extends %s\n",$qq->getEnvironment()->getBaseTemplateClass()))->write("{\n")->indent();}protected function compileConstructor(Twig_Compiler $qq){$qq->write("public function __construct(Twig_Environment \$env)\n","{\n")->indent()->write("parent::__construct(\$env);\n\n");if(null===$l->getNode('parent')){$qq->write("\$this->parent = false;\n\n");}elseif($l->getNode('parent')instanceof Twig_Node_Expression_Constant){$qq->write("\$this->parent = \$this->env->loadTemplate(")->subcompile($l->getNode('parent'))->raw(");\n\n");}$qqqqqqqqqq=count($l->getNode('traits'));if($qqqqqqqqqq){foreach($l->getNode('traits')as $zzzz=>$eeeeeeeee){$l->compileLoadTemplate($qq,$eeeeeeeee->getNode('template'),sprintf('$_trait_%s',$zzzz));$qq->addDebugInfo($eeeeeeeee->getNode('template'))->write(sprintf("if (!\$_trait_%s->isTraitable()) {\n",$zzzz))->indent()->write("throw new Twig_Error_Runtime('Template \"'.")->subcompile($eeeeeeeee->getNode('template'))->raw(".'\" cannot be used as a trait.');\n")->outdent()->write("}\n")->write(sprintf("\$_trait_%s_blocks = \$_trait_%s->getBlocks();\n\n",$zzzz,$zzzz));foreach($eeeeeeeee->getNode('targets')as $dddd=>$cccc){$qq->write(sprintf("\$_trait_%s_blocks[",$zzzz))->subcompile($cccc)->raw(sprintf("] = \$_trait_%s_blocks[",$zzzz))->string($dddd)->raw(sprintf("]; unset(\$_trait_%s_blocks[",$zzzz))->string($dddd)->raw("]);\n\n");}}if($qqqqqqqqqq>1){$qq->write("\$this->traits = array_merge(\n")->indent();for($zzzz=0;$zzzz<$qqqqqqqqqq;$zzzz++){$qq->write(sprintf("\$_trait_%s_blocks".($zzzz==$qqqqqqqqqq-1?'':',')."\n",$zzzz));}$qq->outdent()->write(");\n\n");}else{$qq->write("\$this->traits = \$_trait_0_blocks;\n\n");}$qq->write("\$this->blocks = array_merge(\n")->indent()->write("\$this->traits,\n")->write("array(\n");}else{$qq->write("\$this->blocks = array(\n");}$qq->indent();foreach($l->getNode('blocks')as $ee=>$rrr){$qq->write(sprintf("'%s' => array(\$this, 'block_%s'),\n",$ee,$ee));}if($qqqqqqqqqq){$qq->outdent()->write(")\n");}$qq->outdent()->write(");\n")->outdent()->write("}\n\n");;}protected function compileDisplayHeader(Twig_Compiler $qq){$qq->write("protected function doDisplay(array \$context, array \$blocks = array())\n","{\n")->indent();}protected function compileDisplayFooter(Twig_Compiler $qq){$qq->outdent()->write("}\n\n");}protected function compileClassFooter(Twig_Compiler $qq){$qq->outdent()->write("}\n");}protected function compileMacros(Twig_Compiler $qq){$qq->subcompile($l->getNode('macros'));}protected function compileGetTemplateName(Twig_Compiler $qq){$qq->write("public function getTemplateName()\n","{\n")->indent()->write('return ')->repr($l->getAttribute('filename'))->raw(";\n")->outdent()->write("}\n\n");}protected function compileIsTraitable(Twig_Compiler $qq){$rrrrrrrrrr=null===$l->getNode('parent')&&0===count($l->getNode('macros'));if($rrrrrrrrrr){if($l->getNode('body')instanceof Twig_Node_Body){$ccccccc=$l->getNode('body')->getNode(0);}else{$ccccccc=$l->getNode('body');}if(!count($ccccccc)){$ccccccc=new Twig_Node(array($ccccccc));}foreach($ccccccc as $rrr){if(!count($rrr)){continue;}if($rrr instanceof Twig_Node_Text&&ctype_space($rrr->getAttribute('data'))){continue;}if($rrr instanceof Twig_Node_BlockReference){continue;}$rrrrrrrrrr=false;break;}}if($rrrrrrrrrr){return;}$qq->write("public function isTraitable()\n","{\n")->indent()->write(sprintf("return %s;\n",$rrrrrrrrrr?'true':'false'))->outdent()->write("}\n\n");}protected function compileDebugInfo(Twig_Compiler $qq){$qq->write("public function getDebugInfo()\n","{\n")->indent()->write(sprintf("return %s;\n",str_replace("\n",'',var_export(array_reverse($qq->getDebugInfo(),true),true))))->outdent()->write("}\n");}protected function compileLoadTemplate(Twig_Compiler $qq,$rrr,$ttttttttt){if($rrr instanceof Twig_Node_Expression_Constant){$qq->write(sprintf("%s = \$this->env->loadTemplate(",$ttttttttt))->subcompile($rrr)->raw(");\n");}else{$qq->write(sprintf("%s = ",$ttttttttt))->subcompile($rrr)->raw(";\n")->write(sprintf("if (!%s",$ttttttttt))->raw(" instanceof Twig_Template) {\n")->indent()->write(sprintf("%s = \$this->env->loadTemplate(%s);\n",$ttttttttt,$ttttttttt))->outdent()->write("}\n");}}}class Twig_Node_Body extends Twig_Node{}class Twig_NodeTraverser{protected $wwww;protected $uu;public function __construct(Twig_Environment $wwww,array $uu=array()){$l->env=$wwww;$l->visitors=array();foreach($uu as $ttt){$l->addVisitor($ttt);}}public function addVisitor(Twig_NodeVisitorInterface $ttt){if(!isset($l->visitors[$ttt->getPriority()])){$l->visitors[$ttt->getPriority()]=array();}$l->visitors[$ttt->getPriority()][]=$ttt;}public function traverse(Twig_NodeInterface $rrr){ksort($l->visitors);foreach($l->visitors as $uu){foreach($uu as $ttt){$rrr=$l->traverseForVisitor($ttt,$rrr);}}return $rrr;}protected function traverseForVisitor(Twig_NodeVisitorInterface $ttt,Twig_NodeInterface $rrr=null){if(null===$rrr){return null;}$rrr=$ttt->enterNode($rrr,$l->env);foreach($rrr as $fffffffff=>$nnnnnnn){if(false!==$nnnnnnn=$l->traverseForVisitor($ttt,$nnnnnnn)){$rrr->setNode($fffffffff,$nnnnnnn);}else{$rrr->removeNode($fffffffff);}}return $ttt->leaveNode($rrr,$l->env);}}class Twig_Compiler implements Twig_CompilerInterface{protected $ssssssssss;protected $ppp;protected $tttttttttt;protected $wwww;protected $uuuuuuuuuu;protected $vvvvvvvvvv;protected $wwwwwwwwww;public function __construct(Twig_Environment $wwww){$l->env=$wwww;$l->debugInfo=array();}public function getEnvironment(){return $l->env;}public function getSource(){return $l->source;}public function compile(Twig_NodeInterface $rrr,$tttttttttt=0){$l->lastLine=null;$l->source='';$l->sourceOffset=0;$l->sourceLine=0;$l->indentation=$tttttttttt;$rrr->compile($l);return $l;}public function subcompile(Twig_NodeInterface $rrr,$hhhhh=true){if(false===$hhhhh){$l->addIndentation();}$rrr->compile($l);return $l;}public function raw($qqqqq){$l->source.=$qqqqq;return $l;}public function write(){$xxxxxxxxxx=func_get_args();foreach($xxxxxxxxxx as $qqqqq){$l->addIndentation();$l->source.=$qqqqq;}return $l;}public function addIndentation(){$l->source.=str_repeat(' ',$l->indentation*4);return $l;}public function string($cccc){$l->source.=sprintf('"%s"',addcslashes($cccc,"\0\t\"\$\\"));return $l;}public function repr($cccc){if(is_int($cccc)||is_float($cccc)){if(false!==$yyyyyyyyyy=setlocale(LC_NUMERIC,0)){setlocale(LC_NUMERIC,'C');}$l->raw($cccc);if(false!==$yyyyyyyyyy){setlocale(LC_NUMERIC,$yyyyyyyyyy);}}elseif(null===$cccc){$l->raw('null');}elseif(is_bool($cccc)){$l->raw($cccc?'true':'false');}elseif(is_array($cccc)){$l->raw('array(');$zzzz=0;foreach($cccc as $dddd=>$cccc){if($zzzz++){$l->raw(', ');}$l->repr($dddd);$l->raw(' => ');$l->repr($cccc);}$l->raw(')');}else{$l->string($cccc);}return $l;}public function addDebugInfo(Twig_NodeInterface $rrr){if($rrr->getLine()!=$l->lastLine){if(((int) ini_get('mbstring.func_overload'))&2){$l->sourceLine+=mb_substr_count(mb_substr($l->source,$l->sourceOffset),"\n");}else{$l->sourceLine+=substr_count($l->source,"\n",$l->sourceOffset);}$l->sourceOffset=strlen($l->source);$l->debugInfo[$l->sourceLine]=$rrr->getLine();$l->lastLine=$rrr->getLine();$l->write("// line {$rrr->getLine()}\n");}return $l;}public function getDebugInfo(){return $l->debugInfo;}public function indent($zzzzzzzzzz=1){$l->indentation+=$zzzzzzzzzz;return $l;}public function outdent($zzzzzzzzzz=1){if($l->indentation<$zzzzzzzzzz){throw new Twig_Error('Unable to call outdent() as the indentation would become negative');}$l->indentation-=$zzzzzzzzzz;return $l;}}interface Twig_CompilerInterface{function compile(Twig_NodeInterface $rrr);function getSource();}abstract class Twig_Filter implements Twig_FilterInterface{protected $iii;protected $o=array();public function __construct(array $iii=array()){$l->options=array_merge(array('needs_environment'=>false,'needs_context'=>false,'pre_escape'=>null,'preserves_safety'=>null,),$iii);}public function setArguments($o){$l->arguments=$o;}public function getArguments(){return $l->arguments;}public function needsEnvironment(){return $l->options['needs_environment'];}public function needsContext(){return $l->options['needs_context'];}public function getSafe(Twig_Node $wwwww){if(isset($l->options['is_safe'])){return $l->options['is_safe'];}if(isset($l->options['is_safe_callback'])){return call_user_func($l->options['is_safe_callback'],$wwwww);}return null;}public function getPreservesSafety(){return $l->options['preserves_safety'];}public function getPreEscape(){return $l->options['pre_escape'];}}class Twig_Filter_Function extends Twig_Filter{protected $bbbb;public function __construct($bbbb,array $iii=array()){parent::__construct($iii);$l->function=$bbbb;}public function compile(){return $l->function;}}interface Twig_FilterInterface{function compile();function needsEnvironment();function needsContext();function getSafe(Twig_Node $wwwww);function getPreservesSafety();function getPreEscape();function setArguments($o);function getArguments();}class Twig_Filter_Node extends Twig_Filter{protected $jjj;public function __construct($jjj,array $iii=array()){parent::__construct($iii);$l->class=$jjj;}public function getClass(){return $l->class;}public function compile(){}}abstract class Twig_Template implements Twig_TemplateInterface{static protected $bb=array();protected $mmmmmmmm;protected $aaaaaaaaaaa;protected $wwww;protected $pppppppp;protected $uuuuuuuu;public function __construct(Twig_Environment $wwww){$l->env=$wwww;$l->blocks=array();$l->traits=array();}abstract public function getTemplateName();public function getEnvironment(){return $l->env;}public function getParent(array $lll){if(null!==$l->parent){return $l->parent;}$mmmmmmmm=$l->doGetParent($lll);if(false===$mmmmmmmm){return false;}elseif($mmmmmmmm instanceof Twig_Template){$ee=$mmmmmmmm->getTemplateName();$l->parents[$ee]=$mmmmmmmm;$mmmmmmmm=$ee;}elseif(!isset($l->parents[$mmmmmmmm])){$l->parents[$mmmmmmmm]=$l->env->loadTemplate($mmmmmmmm);}return $l->parents[$mmmmmmmm];}protected function doGetParent(array $lll){return false;}public function isTraitable(){return true;}public function displayParentBlock($ee,array $lll,array $pppppppp=array()){$ee=(string) $ee;if(isset($l->traits[$ee])){$l->traits[$ee][0]->displayBlock($ee,$lll,$pppppppp);}elseif(false!==$mmmmmmmm=$l->getParent($lll)){$mmmmmmmm->displayBlock($ee,$lll,$pppppppp);}else{throw new Twig_Error_Runtime(sprintf('The template has no parent and no traits defining the "%s" block',$ee),-1,$l->getTemplateName());}}public function displayBlock($ee,array $lll,array $pppppppp=array()){$ee=(string) $ee;if(isset($pppppppp[$ee])){$hhhhhhhhhh=$pppppppp;unset($hhhhhhhhhh[$ee]);call_user_func($pppppppp[$ee],$lll,$hhhhhhhhhh);}elseif(isset($l->blocks[$ee])){call_user_func($l->blocks[$ee],$lll,$pppppppp);}elseif(false!==$mmmmmmmm=$l->getParent($lll)){$mmmmmmmm->displayBlock($ee,$lll,array_merge($l->blocks,$pppppppp));}}public function renderParentBlock($ee,array $lll,array $pppppppp=array()){ob_start();$l->displayParentBlock($ee,$lll,$pppppppp);return ob_get_clean();}public function renderBlock($ee,array $lll,array $pppppppp=array()){ob_start();$l->displayBlock($ee,$lll,$pppppppp);return ob_get_clean();}public function hasBlock($ee){return isset($l->blocks[(string) $ee]);}public function getBlockNames(){return array_keys($l->blocks);}public function getBlocks(){return $l->blocks;}public function display(array $lll,array $pppppppp=array()){$l->displayWithErrorHandling($l->env->mergeGlobals($lll),$pppppppp);}public function render(array $lll){$ii=ob_get_level();ob_start();try{$l->display($lll);}catch(Exception $w){while(ob_get_level()>$ii){ob_end_clean();}throw $w;}return ob_get_clean();}protected function displayWithErrorHandling(array $lll,array $pppppppp=array()){try{$l->doDisplay($lll,$pppppppp);}catch(Twig_Error $w){throw $w;}catch(Exception $w){throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").',$w->getMessage()),-1,null,$w);}}abstract protected function doDisplay(array $lll,array $pppppppp=array());final protected function getContext($lll,$gggg,$bbbbbbbbbbb=false){if(!array_key_exists($gggg,$lll)){if($bbbbbbbbbbb||!$l->env->isStrictVariables()){return null;}throw new Twig_Error_Runtime(sprintf('Variable "%s" does not exist',$gggg));}return $lll[$gggg];}protected function getAttribute($ccccccccccc,$gggg,array $o=array(),$zzzzzz=Twig_TemplateInterface::ANY_CALL,$ddddddddddd=false,$bbbbbbbbbbb=false){$gggg=ctype_digit((string) $gggg)?(int) $gggg:(string) $gggg;if(Twig_TemplateInterface::METHOD_CALL!==$zzzzzz){if((is_array($ccccccccccc)&&array_key_exists($gggg,$ccccccccccc))||($ccccccccccc instanceof ArrayAccess&&isset($ccccccccccc[$gggg]))){if($ddddddddddd){return true;}return $ccccccccccc[$gggg];}if(Twig_TemplateInterface::ARRAY_CALL===$zzzzzz){if($ddddddddddd){return false;}if($bbbbbbbbbbb||!$l->env->isStrictVariables()){return null;}if(is_object($ccccccccccc)){throw new Twig_Error_Runtime(sprintf('Key "%s" in object (with ArrayAccess) of type "%s" does not exist',$gggg,get_class($ccccccccccc)));}elseif(is_array($ccccccccccc)){throw new Twig_Error_Runtime(sprintf('Key "%s" for array with keys "%s" does not exist',$gggg,implode(', ',array_keys($ccccccccccc))));}else{throw new Twig_Error_Runtime(sprintf('Impossible to access a key ("%s") on a "%s" variable',$gggg,gettype($ccccccccccc)));}}}if(!is_object($ccccccccccc)){if($ddddddddddd){return false;}if($bbbbbbbbbbb||!$l->env->isStrictVariables()){return null;}throw new Twig_Error_Runtime(sprintf('Item "%s" for "%s" does not exist',$gggg,is_array($ccccccccccc)?'Array':$ccccccccccc));}$jjj=get_class($ccccccccccc);if(Twig_TemplateInterface::METHOD_CALL!==$zzzzzz){if(isset($ccccccccccc->$gggg)||array_key_exists($gggg,$ccccccccccc)){if($ddddddddddd){return true;}if($l->env->hasExtension('sandbox')){$l->env->getExtension('sandbox')->checkPropertyAllowed($ccccccccccc,$gggg);}return $ccccccccccc->$gggg;}}if(!isset(self::$bb[$jjj]['methods'])){self::$bb[$jjj]['methods']=array_change_key_case(array_flip(get_class_methods($ccccccccccc)));}$eeeeeeeeeee=strtolower($gggg);if(isset(self::$bb[$jjj]['methods'][$eeeeeeeeeee])){$m=$gggg;}elseif(isset(self::$bb[$jjj]['methods']['get'.$eeeeeeeeeee])){$m='get'.$gggg;}elseif(isset(self::$bb[$jjj]['methods']['is'.$eeeeeeeeeee])){$m='is'.$gggg;}elseif(isset(self::$bb[$jjj]['methods']['__call'])){$m=$gggg;}else{if($ddddddddddd){return false;}if($bbbbbbbbbbb||!$l->env->isStrictVariables()){return null;}throw new Twig_Error_Runtime(sprintf('Method "%s" for object "%s" does not exist',$gggg,get_class($ccccccccccc)));}if($ddddddddddd){return true;}if($l->env->hasExtension('sandbox')){$l->env->getExtension('sandbox')->checkMethodAllowed($ccccccccccc,$m);}$fffffffffff=call_user_func_array(array($ccccccccccc,$m),$o);if($ccccccccccc instanceof Twig_TemplateInterface){return $fffffffffff===''?'':new Twig_Markup($fffffffffff,$l->env->getCharset());}return $fffffffffff;}static public function clearCache(){self::$bb=array();}}