Your IP : 18.222.91.173
�
�Q�f � �j � d Z ddlmZ ddlmZ ddlmZ ddlm Z m
Z
mZ G d� dej � Z
y) a7
Fixer that changes zip(seq0, seq1, ...) into list(zip(seq0, seq1, ...)
unless there exists a 'from future_builtins import zip' statement in the
top-level namespace.
We avoid the transformation if the zip() call is directly contained in
iter(<>), list(<>), tuple(<>), sorted(<>), ...join(<>), or for V in <>:.
� )�
fixer_base)�Node)�python_symbols)�Name�ArgList�in_special_contextc � � e Zd ZdZdZdZd� Zy)�FixZipTzN
power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*]
>
zfuture_builtins.zipc � � | j |� ry t |� ry |d j � }d|_ g }d|v r.|d D �cg c] }|j � �� }}|D ] }d|_ � t t
j t d� |gd�� }t t
j t d� t |g� g|z � }|j |_ |S c c}w )N�args� �trailers�zip)�prefix�list) �should_skipr �cloner r �syms�powerr r )�self�node�resultsr r �n�news �</opt/alt/python312/lib64/python3.12/lib2to3/fixes/fix_zip.py� transformzFixZip.transform s� � ����D�!���d�#���v��$�$�&��������� �+2�:�+>�?�+>�a���� �+>�H�?������ � �4�:�:��U��T�2�2�>���4�:�:��V��g�s�e�n�=��H�I���[�[��
��
�� @s �CN)�__name__�
__module__�__qualname__�
BM_compatible�PATTERN�skip_onr � � r r
r
s � ��M��G�
$�G�r$ r
N)�__doc__r
r �pytreer �pygramr r �
fixer_utilr r r �ConditionalFixr
r# r$ r �<module>r* s- ��� � � +� :� :��Z�
&�
&� r$