o
    bc                     @   s2   d Z ddlmZ ddlmZ G dd dejZdS )aT   Fixer for itertools.(imap|ifilter|izip) --> (map|filter|zip) and
    itertools.ifilterfalse --> itertools.filterfalse (bugs 2360-2363)

    imports from itertools are fixed in fix_itertools_import.py

    If itertools is imported as something else (ie: import itertools as it;
    it.izip(spam, eggs)) method calls will not get fixed.
       )
fixer_base)Namec                   @   s*   e Zd ZdZdZde  ZdZdd ZdS )FixItertoolsTz7('imap'|'ifilter'|'izip'|'izip_longest'|'ifilterfalse')z
              power< it='itertools'
                  trailer<
                     dot='.' func=%(it_funcs)s > trailer< '(' [any] ')' > >
              |
              power< func=%(it_funcs)s trailer< '(' [any] ')' > >
                 c                 C   s   d }|d d }d|v r+|j dvr+|d |d }}|j}|  |  |j| |p/|j}|t|j dd  |d d S )Nfunc    it)ifilterfalseizip_longestdot   )prefix)valuer   removeparentreplacer   )selfnoderesultsr   r   r   r    r   2/usr/lib/python3.10/lib2to3/fixes/fix_itertools.py	transform   s   

 zFixItertools.transformN)	__name__
__module____qualname__BM_compatibleit_funcslocalsPATTERN	run_orderr   r   r   r   r   r      s    	r   N)__doc__ r   
fixer_utilr   BaseFixr   r   r   r   r   <module>   s    
