3
U'íc[i ã @ sh U d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm Z d dl
mZ d dl
mZ d dl
mZ d dlmZ d dlmZ d dlZejrd dlZejd ejd
ejf dZedf d
dd i Zeje Zeje dj Z!eedddZ"eedddZ#eedddZ$G dd de j%Z&eedddZ'eedddZ(eedddZ)eedd d!Z*eje+d"d#d$Z,ej-ej dd%d&d'Z.dd(d)d*Z/d_e0e+ejd,d-d.Z1d`e0e0ej2ej3 d0d1d2Z4eje0d"d3d4Z5eje0d"d5d6Z6ej7d7ej8ej9B Z:ej7d8Z;dae0ej2e< ej2e0 ej2e0 ej2ej-e0 e0d9d:d;Z=dbe<e+e<e<e0d@dAdBZ>dceje0e+e0dDdEdFZ?ddeje0e+e0dDdGdHZ@ejAjBG dIdJ dJZCdef d=d+fejDe0 ejDe0 e+e+ejej2e0 ge+f dNdOdPZEdfejej2ejd
e0f ejejFdQdRdSZGG dTdU dUZHG dVdW dWZIG dXdY dYZJG dZd[ d[ejFZFeje0d\d]d^ZKdS )gé N)Úabc)Údeque)Úchoice)Ú randrange)ÚLock)ÚCodeType)Úquote_from_bytesÚF.)ZboundZMissingTypeÚ__repr__c C s dS )NÚmissing© )Úxr r ú./tmp/pip-build-gk9425m9/Jinja2/jinja2/utils.pyÚ<lambda> s r Ú )ÚfÚreturnc C s t j| _| S )a· Pass the :class:`~jinja2.runtime.Context` as the first argument
to the decorated function when called while rendering a template.
Can be used on functions, filters, and tests.
If only ``Context.eval_context`` is needed, use
:func:`pass_eval_context`. If only ``Context.environment`` is
needed, use :func:`pass_environment`.
.. versionadded:: 3.0.0
Replaces ``contextfunction`` and ``contextfilter``.
)Ú_PassArgÚcontextÚjinja_pass_arg)r r r r Úpass_context s
r c C s t j| _| S )a Pass the :class:`~jinja2.nodes.EvalContext` as the first argument
to the decorated function when called while rendering a template.
See :ref:`eval-context`.
Can be used on functions, filters, and tests.
If only ``EvalContext.environment`` is needed, use
:func:`pass_environment`.
.. versionadded:: 3.0.0
Replaces ``evalcontextfunction`` and ``evalcontextfilter``.
)r Úeval_contextr )r r r r Úpass_eval_context/ s
r c C s t j| _| S )a Pass the :class:`~jinja2.Environment` as the first argument to
the decorated function when called while rendering a template.
Can be used on functions, filters, and tests.
.. versionadded:: 3.0.0
Replaces ``environmentfunction`` and ``environmentfilter``.
)r Úenvironmentr )r r r r Úpass_environment@ s r c @ s>