3
sݨ\ @ s d Z ddlZddlZddlZddlmZmZ ddlmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZ ddlm Z dd l!m"Z"m#Z# dd
l$m%Z%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 dd
l6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@mAZA e/dZBdaCdd ZDdd ZEdd ZFdd ZGdd ZHdd ZIG dd deJZKG dd deJZLe>G dd d eJZMG d!d" d"eJZNe=G d#d$ d$eJZOeLeK_PdS )%z
jinja2.environment
~~~~~~~~~~~~~~~~~~
Provides a class that holds runtime and parsing time options.
:copyright: (c) 2017 by the Jinja Team.
:license: BSD, see LICENSE for more details.
N)reducepartial)nodes)BLOCK_START_STRINGBLOCK_END_STRINGVARIABLE_START_STRINGVARIABLE_END_STRINGCOMMENT_START_STRINGCOMMENT_END_STRINGLINE_STATEMENT_PREFIXLINE_COMMENT_PREFIXTRIM_BLOCKSNEWLINE_SEQUENCEDEFAULT_FILTERS
DEFAULT_TESTSDEFAULT_NAMESPACEDEFAULT_POLICIESKEEP_TRAILING_NEWLINE
LSTRIP_BLOCKS) get_lexerTokenStream)Parser)EvalContext)generate
CodeGenerator) Undefinednew_contextContext)TemplateSyntaxErrorTemplateNotFoundTemplatesNotFoundTemplateRuntimeError)
import_stringLRUCacheMarkupmissingconcatconsumeinternalcodehave_async_gen)imapifilterstring_types iteritems text_typereraiseimplements_iteratorimplements_to_stringencode_filenamePY2PYPY
c G sN yt j| }W n tk
r& t| S X |dk r4|S t| t | <