o
     JAf   ã                   @   s<   	 d dl mZ d dlmZ d dlmZ G dd„ dejƒZdS )é   )Útoken)Ú
fixer_base)ÚNumberc                   @   s"   e Zd ZejZdd„ Zdd„ ZdS )ÚFixNumliteralsc                 C   s   |j  d¡p|j d dv S )NÚ0éÿÿÿÿÚLl)ÚvalueÚ
startswith)ÚselfÚnode© r   ú4/usr/lib/python3.10/lib2to3/fixes/fix_numliterals.pyÚmatch   s   zFixNumliterals.matchc                 C   s`   |j }|d dv r|d d… }n| d¡r)| ¡ r)tt|ƒƒdkr)d|dd …  }t||jdS )Nr   r   r   é   Z0o)Úprefix)r	   r
   ÚisdigitÚlenÚsetr   r   )r   r   ÚresultsÚvalr   r   r   Ú	transform   s   "zFixNumliterals.transformN)Ú__name__Ú
__module__Ú__qualname__r   ÚNUMBERZ_accept_typer   r   r   r   r   r   r      s    r   N)Zpgen2r   Ú r   Z
fixer_utilr   ZBaseFixr   r   r   r   r   Ú<module>   s
    