403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/asttokens/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/asttokens/__pycache__/mark_tokens.cpython-311.pyc
�

�ȍc�T���ddlZddlZddlZddlZddlmZddlmZmZmZm	Z	m
Z
mZmZddl
Z
ddlmZddlmZddlmZddlmZerdd	lmZejd
fejdfejdfejd
fejdfejdfiZejdfejd
fejd
fejdfejdfejdfiZGd�de��ZdS)�N)�Module)�Callable�List�Union�cast�Optional�Tuple�
TYPE_CHECKING�)�util)�	ASTTokens)�AstConstant)�astroid_node_classes)�AstNode�(�)�[�]�{�}c�b�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zej
d
krd�Zejrd�Zd
�Zd�Zd�Zd�ZeZeZeZd�ZeZeZd�Zd�Zd�Zd�Zd�Z d�Z!ej
d
krd�Z"nd�Z"d�Z#d+d�Z$d�Z%d�Z&d�Z'd �Z(d!�Z)d"�Z*d#�Z+e+Z,d$�Z-d%�Z.d&�Z/ejrd'�Z0d(�Z1e1Z2e1Z3d)�Z4d*S),�
MarkTokensz�
  Helper that visits all nodes in the AST tree and assigns .first_token and .last_token attributes
  to each of them. This is the heart of the token-marking logic.
  c�R�||_tj��|_d|_dS�N)�_coder�NodeMethods�_methods�_iter_children)�self�codes  �7/usr/lib/python3/dist-packages/asttokens/mark_tokens.py�__init__zMarkTokens.__init__4s'���D�J��$�&�&�D�M��D����c�x�tj|��|_tj||j|j��dSr)r�iter_children_funcr�
visit_tree�_visit_before_children�_visit_after_children)r�nodes  r!r&zMarkTokens.visit_tree:s5���1�$�7�7�D���O�D�$�5�t�7Q�R�R�R�R�Rr#c���t|dd��}|� |j�|j|��nd}|s/t	j|��r|j�dd��}|p||fS)N�
col_offsetrr)�getattrr�get_token_from_utf8�linenor�	is_module�	get_token)rr)�parent_token�col�tokens     r!r'z!MarkTokens._visit_before_children?sx��
�$��d�
+�
+�C�@C��D�J�*�*�4�;��<�<�<�UY�E��)�T�^�D�)�)�)��j�"�"�1�a�(�(�e�
�!�\�5�)�)r#c���|}d}tt|j��|��D]S}tj|��r�|r|jj|jkr|j}|r|jj|jkr|j}�T|p|}|p|}tj|��r-|�	ttj
|����}|�ttj
|��ttj
|��|��\}}|j�
||j��|||��\}}||f||fkr|�|||��\}}||_||_dSr)rrrr�is_empty_astroid_slice�first_token�index�
last_token�is_stmt�_find_last_in_stmt�Token�_expand_to_matching_pairsr�get�	__class__)	rr)r1r3�first�last�child�nfirst�nlasts	         r!r(z MarkTokens._visit_after_childrenLs~��
�E��D�4��h�� 3�4�4�T�:�:� � ��	
�	$�U�	+�	+���
�"�e�'�-���;�;��!��
� �U�%�+�d�j�8�8�����
�!�\�E��=�5�D��|�D���=�
�
$�
$�T�$�*�d�%;�%;�
<�
<�d��0�0��d�j�%�1H�1H�$�t�z�[_�J`�J`�bf�g�g�K�E�4�<�D�M�%�%�d�D�N�;�;�D�%��N�N�M�F�E����5�$�-�'�'��4�4�V�U�D�I�I�m�f�e��D���D�O�O�Or#c���|}tj|tj��s�tj|tjd��s�tj|j��st|j�|d���}tj|tj��s9tj|tjd��stj|j���t|j�	|��S)N�;T)�
include_extra)
r�match_tokenr3�NEWLINE�OP�ISEOF�typer�
next_token�
prev_token)r�start_token�ts   r!r:zMarkTokens._find_last_in_stmtvs����A����5�=�1�1�7����5�8�S�1�1�7��{�1�6�"�"�7��*�
�
���
�
6�
6�a����5�=�1�1�7����5�8�S�1�1�7��{�1�6�"�"�7��:� � ��#�#�#r#c���
�g}g}|j�||��D]�}|dd�}|r!||dkr|����/|tvr!|�t|���Y|t
vr |�t
|����t
|��D]�}|j�|���
t�
fd�dD����r5|j��
���
t�
fd�dD�����5tj
�
g|�R�r�
}��|D]0}|j�|��}	tj
|	g|�R�r|	}�1||fS)z�
    Scan tokens in [first_token, last_token] range that are between node's children, and for any
    unmatched brackets, adjust first/last tokens to include the closing pair.
    N����c3�X�K�|]$}tj�tj|��V��%dSr)rrGr3rI)�.0�xr@s  �r!�	<genexpr>z7MarkTokens._expand_to_matching_pairs.<locals>.<genexpr>�s4�����H�H��� ��u�x��3�3�H�H�H�H�H�Hr#)�,�:)r�token_range�pop�_matching_pairs_left�append�_matching_pairs_right�reversedrL�anyrrGrM)rr6r8r)�to_match_right�
to_match_left�tok�tok_info�matchr?r@s          @r!r<z$MarkTokens._expand_to_matching_pairss�����N��M��z�%�%�k�:�>�>�>�>���R�a�R��h�	�>�H��r�(:�:�:���������+�+�+����2�8�<�=�=�=�=��,�,�,����2�8�<�=�=�=���.�)�)����
�Z�
"�
"�:�
.�
.�d��H�H�H�H�Z�H�H�H�H�H�+��z�$�$�T�*�*��
�H�H�H�H�Z�H�H�H�H�H�+�
�	�$�	'��	'�	'�	'���
�������j�#�#�K�0�0�e�	
�	�%�	(�%�	(�	(�	(�������$�$r#c�
�||fSr��rr)r6r8s    r!�
visit_defaultzMarkTokens.visit_default�s��
��$�$r#c�~�|j�|��}tj|tj|��||fSr)rrMr�expect_tokenr3rI)r�
open_bracer)r6r8�befores      r!�handle_compzMarkTokens.handle_comp�s;���Z�
"�
"�;�
/�
/�F���f�e�h�
�3�3�3��J��r#)��c�2�|�d|||��S�Nr�rmrgs    r!�visit_listcompzMarkTokens.visit_listcomp����
�
�
�c�4��j�
A�
A�Ar#c�2�|�d|||��S�Nrrrrgs    r!�
visit_setcompzMarkTokens.visit_setcomp�rtr#c�2�|�d|||��Srvrrrgs    r!�visit_dictcompzMarkTokens.visit_dictcomp�rtr#c�Z�|j�|tjdd���}||fS)N�forT��reverse�r�
find_tokenr3�NAME�rr)r6r8r?s     r!�visit_comprehensionzMarkTokens.visit_comprehension�s/��
�J�!�!�+�u�z�5�$�!�O�O�E��:��r#c�b�|jdvr#|j�|��}|jdv�#||fS)N)�if�elif��stringrrMrgs    r!�visit_ifzMarkTokens.visit_if�s@��
�
�N�
2�
2��J�)�)�+�6�6�k��
�N�
2�
2��
�"�"r#c���|j�|tjd��}|j�|��}tj|tj��||fS)N�.)rrr3rIrLrrjr�)rr)r6r8�dot�names      r!�handle_attrzMarkTokens.handle_attr�sT���*�
�
�
�E�H�c�
:�
:�C��:� � ��%�%�D���d�E�J�'�'�'����r#c��|js6t|dd��r%|j�|tj��}|jdkr<|j�|��}tj	|tj
d��r|}||fS)N�docr�@)�bodyr,rrr3�STRINGr7rMrrGrI)rr)r6r8�prevs     r!�
handle_defzMarkTokens.handle_def�s����9�C���u�d�3�3�C��:�(�(��U�\�B�B�j���1���
�Z�
"�
"�;�
/�
/�d�	
�	�$���#�	.�	.������$�$r#c���ttt|j��|����}|j�|jtj|��}|j	|j	kr|}|Sr)
�nextrrrrrr8r3rIr7)rr)r8�opening_bracket�first_child�
call_starts      r!�handle_following_bracketsz$MarkTokens.handle_following_brackets�sc���:�t�H�d�&9�:�:�4�@�@�A�A�K���&�&�{�'=�u�x��Y�Y�J���*�*�*�*��j��r#c��|�||d��}tj|tjd��r|j�|��}||fS)Nrr�)r�rrGr3rIrrLrgs    r!�
visit_callzMarkTokens.visit_callsT���/�/��j�#�F�F�J�
���U�X�s�3�3�7��J�)�)�+�6�6�k���$�$r#c�8�|�||d��}||fS)Nr�r�rgs    r!�visit_matchclasszMarkTokens.visit_matchclass
s$���/�/��j�#�F�F�J���$�$r#c�8�|�||d��}||fSrqr�rgs    r!�visit_subscriptzMarkTokens.visit_subscripts&���/�/��j�#�F�F�J���$�$r#c��	|j�|��}|jdkrn|}�)	|j�|��}|jdkrn|}�)||fS)NTrX)rrMr�rL)rr)r6r8r��next_s      r!�visit_slicezMarkTokens.visit_slicesw���
�Z�
"�
"�;�
/�
/�d�	
���	�	�
��k�	�
��j�#�#�J�/�/�e�	���	�	�
��j�	�

��$�$r#c��|j�|��}tj|tjd��r|}||fS)NrW)rrLrrGr3rI)rr)r6r8�maybe_commas     r!�handle_bare_tuplezMarkTokens.handle_bare_tuple/sB���*�'�'�
�3�3�K����U�X�s�3�3���j���$�$r#c�J�t|tj��st|tj��sJ�|jd}trtt|��}|�	|j
|jd��\}}||kr|�|||��S||fS)NrT)
�
isinstance�astr	�nc�_BaseContainer�eltsr
rr�_gobble_parensr6r8r�)rr)r6r8rA�child_first�
child_lasts       r!�handle_tuple_nonemptyz MarkTokens.handle_tuple_nonempty9s���
��c�i�
(�
(�O�J�t�R�=N�,O�,O�O�O�O��i��l�e�	�%��W�e�$�$�� $� 3� 3�E�4E�u�GW�Y]� ^� ^��k�:�	��	#�	#��%�%�d�K��D�D�D��:�
&�&r#c�d�|�|||��\}}|�||d��S)NF)r�r�rgs    r!r�z MarkTokens.handle_tuple_nonemptyGs6��"&�"8�"8��{�J�"W�"W��{�J�
�
 �
 ��j�%�
@�
@�@r#c��t|tj��st|tj��sJ�|js||fS|�|||��Sr)r�r�r	r�r�r�r�rgs    r!�visit_tuplezMarkTokens.visit_tupleLsY���d�C�I�&�&�M�*�T�2�;L�*M�*M�M�M�M��9�'��:�
&�&��%�%�d�K��D�D�Dr#Fc��|jdkr||j�|��}|j�|��}t	j|tjd��r't	j|tjd��r||}}|r��	||fS)Nrrr)r7rrMrLrrGr3rI)rr6r8�include_allr�r�s      r!r�zMarkTokens._gobble_parensTs����
�a�
�
�
�Z�
"�
"�;�
/�
/�d�
�Z�
"�
"�:�
.�
.�d�	
�	�$���#�	.�	.��4�3C�D�%�(�TW�3X�3X��"&��Z���	�
����$�$r#c�.�|�||��Sr��
handle_strrgs    r!�	visit_strzMarkTokens.visit_strb����?�?�;�
�3�3�3r#c�.�|�||��Srr�rgs    r!�visit_joinedstrzMarkTokens.visit_joinedstrfs���?�?�;�
�3�3�3r#c�.�|�||��Srr�rgs    r!�visit_byteszMarkTokens.visit_bytesnr�r#c���|j�|��}tj|tj��r;|}|j�|��}tj|tj���;||fSr)rrLrrGr3r�)rr6r8r@s    r!r�zMarkTokens.handle_strrsp���:� � ��,�,�D�
�
�4���
.�
.�/��j�
�Z�
"�
"�:�
.�
.�d��
�4���
.�
.�/�
��$�$r#c�\�tj|tj��r9|j�|��}tj|tj���9t
|t��r|j}|dkr/|j	tj
kr|j�|��}||fS)Nr)rrGr3rIrrLr��complex�imagrK�NUMBERrM)rr)�valuer6r8s     r!�
handle_numzMarkTokens.handle_num{s����
�:�u�x�
0�
0�5��:�(�(��4�4�j��
�:�u�x�
0�
0�5��%��!�!���j�e�
�q�y�y�[�%���5�5��j�+�+�K�8�8����$�$r#c�l�|�|ttj|��j||��Sr)r�rr��Num�nrgs    r!�	visit_numzMarkTokens.visit_num�s)���?�?�4��c�g�t�!4�!4�!6��Z�P�P�Pr#c�h�t|t��st|tj��sJ�t|jt
j��r|�||j||��St|jtj	tj
f��r|�|||��S||fSr)r�rr��Constr��numbers�Numberr��six�	text_type�binary_typer�rgs    r!�visit_constzMarkTokens.visit_const�s����d�K�(�(�F�J�t�R�X�,F�,F�F�F�F��$�*�g�n�-�-�;�
�_�_�T�4�:�{�J�
G�
G�G�	�D�J����� @�	A�	A�;�
�^�^�D�+�z�
:�
:�:���$�$r#c�x�t|tj��st|tj��sJ�|j�zt
|dd���i|j�|tj
dd���}|j�|��}tj
|tj|j��|}||fS)Nr.�=Tr|)r�r��keywordr��Keyword�argr,rrr3rIrMrrjr�)rr)r6r8�equalsr�s      r!�
visit_keywordzMarkTokens.visit_keyword�s����d�C�K�(�(�H�J�t�R�Z�,H�,H�H�H�H��x����h�� =� =� E��z�$�$�[�%�(�C��$�N�N�f�
�Z�
"�
"�6�
*�
*�d�
���e�j�$�(�3�3�3��k���$�$r#c���tj|tjd��s<|j�|��}tj|tjd��r|}||fS)N�*)rrGr3rIrrM)rr)r6r8�stars     r!�
visit_starredzMarkTokens.visit_starred�s[����K���3�7�7��
�Z�
"�
"�;�
/�
/�d�	
�	�$���#�	.�	.������$�$r#c���tj|tjd��rB|j�|tjd��}|j�|��x}}||fS)N�exceptrX)rrGr3r�rrrIrM)rr)r6r8�colons     r!�visit_assignnamezMarkTokens.visit_assignname�s]�����U�Z��:�:�>��j�#�#�J���#�>�>�e�!%��!6�!6�u�!=�!=�=�k�J���$�$r#c�Z�|j�|tjdd���}||fS)N�withTr|r~r�s     r!�
visit_withzMarkTokens.visit_with�s-���j�#�#�K���V�T�#�R�R�e��Z�
 � r#c�T�|jdks|j�|��}||fS)N�asyncr�rgs    r!�handle_asynczMarkTokens.handle_async�s0�����(�(��J�)�)�+�6�6�k���$�$r#c��tj|tjd��r|j�|��}|�|||��S)N�def)rrGr3r�rrM�visit_functiondefrgs    r!�visit_asyncfunctiondefz!MarkTokens.visit_asyncfunctiondef�sJ�����U�Z��7�7�7��J�)�)�+�6�6�k��!�!�$��Z�@�@�@r#N)F)5�__name__�
__module__�__qualname__�__doc__r"r&r'r(r:r<rhrm�sys�version_inforsr��PY2rwryr�r�r��visit_attribute�visit_assignattr�
visit_delattrr��visit_classdefr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��visit_constantr�r�r�r�r��visit_asyncfor�visit_asyncwithr�rfr#r!rr/s������������S�S�S�
*�*�*�(�(�(�T$�$�$�#%�#%�#%�R%�%�%� � � �	�����B�B�B�	�W�B�B�B�B�B�B�B�	�	�	�#�#�#���� �/� ���-�%�%�%��.� �����	%�	%�	%�%�%�%�
%�%�%�%�%�%�(%�%�%�	�����'�'�'�'�A�A�A�
E�E�E�%�%�%�%�4�4�4�4�4�4�4�4�4�%�%�%�%�%�%�,Q�Q�Q�
%�%�%��.�
%�
%�
%�%�%�%�%�%�%�	�W�!�!�!�!�%�%�%� �.� �/�	A�	A�	A�	A�	Ar#r)r�r�r�r3r�typingrrrrrr	r
r��r�	asttokensr
r�astroid_compatrr�rrIr[r]�objectrrfr#r!�<module>r�s����
�
�
�����
�
�
�
�����������N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�N�
�
�
�
������� � � � � � �������6�6�6�6�6�6���������
	�8�S�/�E�H�c�?��8�S�/�E�H�c�?��8�S�/�E�H�c�?���	�8�S�/�E�H�c�?��8�S�/�E�H�c�?��8�S�/�E�H�c�?���oA�oA�oA�oA�oA��oA�oA�oA�oA�oAr#

Youez - 2016 - github.com/yon3zu
LinuXploit