403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/site-packages/jinja2/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/site-packages/jinja2/__pycache__/idtracking.cpython-39.opt-1.pyc
a

V�4d�)�@s�ddlZddlmZddlmZdZdZdZdZ	dej
ejejd	d	d
�dd�Z
dejejd	d	d
�dd�ZGdd	�d	�ZGdd�de�ZGdd�de�ZdS)�N�)�nodes)�NodeVisitor�param�resolve�aliasZ	undefined�Symbols)r�parent_symbols�returncCs*t|d�}t|�}|D]}|�|�q|S�N)�parent)r�FrameSymbolVisitor�visit)rr	�sym�visitor�node�r�5/usr/lib/python3.9/site-packages/jinja2/idtracking.py�find_symbolss

r)rr	r
cCst|d�}|�|�|Sr)r�analyze_node)rr	rrrr�symbols_for_nodes

rc@s*eZdZd#ejdejedd�dd�Zejej	dd�dd�Z
d$eejejeejefed�d	d
�Z
eejej	d�dd
�Zeejed�dd�Zeed�dd�Zdd�dd�Zedd�dd�Zeed�dd�Zedd�dd�Zejddd�dd�Zejeefd�dd �Zejed�d!d"�ZdS)%rN)r�levelr
cCsD|dur |durd}n
|jd}||_||_i|_i|_t�|_dS�Nrr)rr�refs�loads�set�stores)�selfrrrrr�__init__s
zSymbols.__init__�r�kwargsr
cKst|�}|j|fi|��dS�N)�RootVisitorr)rrr rrrrr.szSymbols.analyze_node)�name�loadr
cCs2d|j�d|��}||j|<|dur.||j|<|S)NZl_�_)rrr)rr#r$�identrrr�_define_ref2s


zSymbols._define_ref)�targetr
cCs.||jvr|j|S|jdur*|j�|�SdSr!)rr�	find_load)rr(rrrr);s



zSymbols.find_load)r#r
cCs.||jvr|j|S|jdur*|j�|�SdSr!)rr�find_ref�rr#rrrr*Ds



zSymbols.find_refcCs&|�|�}|dur"td|�d���|S)NzFTried to resolve a name to a reference that was unknown to the frame (�))r*�AssertionError)rr#�rvrrr�refMs
��zSymbols.ref)r
cCsBt�|j�}|j�|j�|j��|_|j��|_|j��|_|Sr!)	�object�__new__�	__class__�__dict__�updater�copyrr)rr.rrrr5VszSymbols.copycCs`|j�|�||jvr\|jdurJ|j�|�}|durJ|j|t|fd�dS|j|tdfd�dS�N)r$)r�addrrr*r'�VAR_LOAD_ALIAS�VAR_LOAD_UNDEFINED)rr#Z	outer_refrrr�store^s

z
Symbols.storecCs|j�|�|j|tdfd�Sr6)rr7r'�VAR_LOAD_PARAMETERr+rrr�declare_parameterpszSymbols.declare_parametercCs$|�|�dur |j|t|fd�dSr6)r*r'�VAR_LOAD_RESOLVEr+rrrr$tszSymbols.load)�branch_symbolsr
c	Cs�i}|D]0}|jD]$}||jvr"q|�|d�d||<qq|D].}|j�|j�|j�|j�|j�|j�q>|��D]\\}}|t|�kr�qv|�|�}|jdur�|j�|�}|dur�t	|f|j|<qvt
|f|j|<qvdSr)r�getrr4r�items�lenr*rr8r=)	rr>r�branchr(rr#Zbranch_countZouter_targetrrr�
branch_updatexs(



zSymbols.branch_updatecCsBi}|}|dur>t|j�D]}||vr|�|�||<q|j}q|Sr!)�sortedrr*r)rr.rr#rrr�dump_stores�szSymbols.dump_storescCsHt�}|}|durD|j��D]\}\}}|tkr|�|�q|j}q
|Sr!)rrr@r;r7r)rr.rr(Zinstrr%rrr�dump_param_targets�szSymbols.dump_param_targets)NN)N)�__name__�
__module__�__qualname__�t�Optional�intrr�Node�Anyr�str�Tupler'r)r*r/r5r:r<r$�SequencerC�DictrE�SetrFrrrrrs*����				
c@s�eZdZddd�dd�Zejejdd�dd�ZeZ	eZ
eZeZeZ
eZeZejejdd�d	d
�Zejejdd�dd�Zejejdd�d
d�Zdejeejdd�dd�Zejejdd�dd�Zejejejdd�dd�ZdS)r"rN��symbolsr
cCst|�|_dSr!)r
�sym_visitor�rrUrrrr�szRootVisitor.__init__rcKs|��D]}|j�|�qdSr!�Ziter_child_nodesrVr�rrr �childrrr�
_simple_visit�szRootVisitor._simple_visitcKs|jD]}|j�|�qdSr!��bodyrVrrYrrr�visit_AssignBlock�s
zRootVisitor.visit_AssignBlockcKs"|jdd�D]}|j�|�qdS)N)�call)ZexcluderXrYrrr�visit_CallBlock�szRootVisitor.visit_CallBlockcKs|jD]}|j�|�qdSr!r\rYrrr�visit_OverlayScope�s
zRootVisitor.visit_OverlayScoper])r�
for_branchr r
cKs�|dkr"|jj|jdd�|j}nN|dkr2|j}n>|dkrh|jj|jdd�|jdurd|j�|j�dStd��|r�|D]}|j�|�qxdS)Nr]T)�store_as_param�else�testzUnknown for branch)rVrr(r]�else_re�RuntimeError)rrrbr rB�itemrrr�	visit_For�s
zRootVisitor.visit_ForcKs4|jD]}|j�|�q|jD]}|j�|�qdSr!)�targetsrVrr])rrr r(rZrrr�
visit_With�s

zRootVisitor.visit_With)r�argsr r
cOstdt|�j����dS)NzCannot find symbols for )�NotImplementedError�typerG)rrrlr rrr�
generic_visit�szRootVisitor.generic_visit)r])rGrHrIrrrMrJrNr[Zvisit_Template�visit_Block�visit_Macro�visit_FilterBlock�visit_Scope�visit_IfZvisit_ScopedEvalContextModifier�AssignBlockr^�	CallBlockr`�OverlayScopera�ForrOri�Withrkrorrrrr"�s&�
�r"c@sneZdZdZddd�dd�Zd(ejeej	dd�d	d
�Z
ejej	dd�dd
�Zej
ej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�dd�Zejej	dd�d d!�Z ej!ej	dd�d"d#�Z"ej#ej	dd�d$d%�Z$ej%ej	dd�d&d'�Z&dS))r
zA visitor for `Frame.inspect`.rNrTcCs
||_dSr!)rUrWrrrr�szFrameSymbolVisitor.__init__F)rrcr r
cKsT|s|jdkr|j�|j�n2|jdkr8|j�|j�n|jdkrP|j�|j�dS)z2All assignments to names go through this function.rr:r$N)�ctxrUr<r#r:r$)rrrcr rrr�
visit_Name�s

zFrameSymbolVisitor.visit_NamercKs|j�|j�dSr!)rUr$r#�rrr rrr�visit_NSRef�szFrameSymbolVisitor.visit_NSRefcsr�j|jfi����j�tjtjdd����fdd�}||j�}||j�}||j	pXd�}�j�
|||g�dS)Nr)rr
cs4����_}|D]}�j|fi���q��_|Sr!)r5rUr)rr.Zsubnode�r Zoriginal_symbolsrrr�inner_visits
z0FrameSymbolVisitor.visit_If.<locals>.inner_visitr)rrerUrJ�IterablerrMr]Zelif_rfrC)rrr rZbody_symbolsZelif_symbolsZelse_symbolsrr~rrt�s 	

zFrameSymbolVisitor.visit_IfcKs|j�|j�dSr!)rUr:r#r|rrrrqszFrameSymbolVisitor.visit_MacrocKs$|j|fi|��|j�|j�dSr!)rorUr:r(r|rrr�visit_ImportszFrameSymbolVisitor.visit_ImportcKsJ|j|fi|��|jD],}t|t�r8|j�|d�q|j�|�qdS)Nr)ro�names�
isinstance�tuplerUr:)rrr r#rrr�visit_FromImports


z#FrameSymbolVisitor.visit_FromImportcKs,|j|jfi|��|j|jfi|��dS)z'Visit assignments in the correct order.N)rrr(r|rrr�visit_AssignszFrameSymbolVisitor.visit_AssigncKs|j|jfi|��dS)zqVisiting stops at for blocks.  However the block sequence
        is visited as part of the outer scope.
        N)r�iterr|rrrri#szFrameSymbolVisitor.visit_ForcKs|j|jfi|��dSr!)rr_r|rrrr`)sz"FrameSymbolVisitor.visit_CallBlockcKs|j|jfi|��dSr!)r�filterr|rrrrr,sz$FrameSymbolVisitor.visit_FilterBlockcKs|jD]}|�|�qdSr!)�valuesr)rrr r(rrrrk/s
zFrameSymbolVisitor.visit_WithcKs|j|jfi|��dS)zStop visiting at block assigns.N)rr(r|rrrr^3sz$FrameSymbolVisitor.visit_AssignBlockcKsdS)zStop visiting at scopes.Nrr|rrrrs7szFrameSymbolVisitor.visit_ScopecKsdS)zStop visiting at blocks.Nrr|rrrrp:szFrameSymbolVisitor.visit_BlockcKsdS)z!Do not visit into overlay scopes.Nrr|rrrra=sz%FrameSymbolVisitor.visit_OverlayScope)F)'rGrHrI�__doc__rr�Name�boolrJrNr{ZNSRefr}ZIfrtZMacrorqZImportr�Z
FromImportr�ZAssignr�rxrirvr`ZFilterBlockrrryrkrur^ZScopersZBlockrprwrarrrrr
�s*�
�	r
)N)N)�typingrJ�rrrr;r=r8r9r�rMrKrrrr"r
rrrr�<module>s(����:

Youez - 2016 - github.com/yon3zu
LinuXploit