File: //snap/core22/2111/lib/python3/dist-packages/jinja2/__pycache__/idtracking.cpython-310.pyc
o
^�a�) � @ s� d dl ZddlmZ ddlmZ dZdZdZdZ dd ej
ej d
ejd ddfd
d�Z
ddejd
ejd ddfdd�ZG dd� d�ZG dd� de�ZG dd� de�ZdS )� N� )�nodes)�NodeVisitor�param�resolve�alias� undefinedr �parent_symbols�Symbols�returnc C s* t |d�}t|�}| D ]}|�|� q|S �N)�parent)r
�FrameSymbolVisitor�visit)r r �sym�visitor�node� r �3/usr/lib/python3/dist-packages/jinja2/idtracking.py�find_symbols s
r r c C s t |d�}|�| � |S r )r
�analyze_node)r r r r r r �symbols_for_node s
r c @ sD e Zd Z d%dejd deje ddfdd�Zdejdej ddfd d
�Z
d&dedejejeeje f defd
d�Z
dedejej fdd�Zdedeje fdd�Zdedefdd�Zd'dd�Zdeddfdd�Zdedefdd�Zdeddfdd�Zdejd ddfdd �Zdejeef fd!d"�Zdeje fd#d$�ZdS )(r
Nr
�levelr c C sD |d u r|d u rd}n|j d }|| _ || _i | _i | _t� | _d S )Nr r )r r
�refs�loads�set�stores)�selfr
r r r r �__init__ s
zSymbols.__init__r �kwargsc K s t | �}|j|fi |�� d S �N)�RootVisitorr )r r r r r r r r . s zSymbols.analyze_node�name�loadc C s2 d| j � d|� �}|| j|<