a
    óñ"hH  ã                   @   s.   d dl mZ d dlmZ G dd„ dejƒZdS )é   )Ú
fixer_base)Útokenc                   @   s    e Zd ZdZdZdZdd„ ZdS )ÚFixIsinstanceTz˜
    power<
        'isinstance'
        trailer< '(' arglist< any ',' atom< '('
            args=testlist_gexp< any+ >
        ')' > > ')' >
    >
    é   c                 C   sö   t ƒ }|d }|j}g }t|ƒ}|D ]p\}}	|	jtjkrr|	j|v rr|t|ƒd k r”||d  jtjkr”t	|ƒ q$q$| 
|	¡ |	jtjkr$| |	j¡ q$|r°|d jtjkr°|d= t|ƒdkrÞ|j}
|
j|d _|
 |d ¡ n||d d …< | ¡  d S )NÚargsé   éÿÿÿÿé    )ÚsetZchildrenÚ	enumerateÚtyper   ÚNAMEÚvalueÚlenÚCOMMAÚnextÚappendÚaddÚparentÚprefixÚreplaceÚchanged)ÚselfZnodeÚresultsZnames_insertedZtestlistr   Únew_argsÚiteratorÚidxÚargZatom© r   úD/opt/python-3.9.21/usr/lib/python3.9/lib2to3/fixes/fix_isinstance.pyÚ	transform   s*    $
zFixIsinstance.transformN)Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleZPATTERNZ	run_orderr    r   r   r   r   r      s   	r   N)Ú r   Z
fixer_utilr   ZBaseFixr   r   r   r   r   Ú<module>   s   