3 \��@sVdZddlmZddlmZmZdddiiZiZdd�Zd d �Z Gd d �d ej �Z d S)z?Fix incompatible renames Fixes: * sys.maxint -> sys.maxsize �)� fixer_base)�Name� attr_chain�sysZmaxint�maxsizecCsddjtt|��dS)N�(�|�))�join�map�repr)�members�r�1/usr/lib64/python3.6/lib2to3/fixes/fix_renames.py� alternatessrccsbx\ttj��D]L\}}xBt|j��D]2\}}|t||f<d|||fVd||fVq$WqWdS)Nz� import_from< 'from' module_name=%r 'import' ( attr_name=%r | import_as_name< attr_name=%r 'as' any >) > z^ power< module_name=%r trailer< '.' attr_name=%r > any* > )�list�MAPPING�items�LOOKUP)�module�replaceZold_attr�new_attrrrr� build_patterns  rcs8eZdZdZdje��ZdZ�fdd�Zdd�Z �Z S)� FixRenamesTrZprecs@tt|�j��|�}|r5sz#FixRenames.match..�parentF)�superrr�anyr)�self�node�results)� __class__)rrr1s zFixRenames.matchcCsD|jd�}|jd�}|r@|r@t|j|jf}|jt||jd��dS)NZ module_name� attr_name)�prefix)�getr�valuerrr&)r!r"r#Zmod_namer%rrrr� transform>s   zFixRenames.transform) �__name__� __module__� __qualname__Z BM_compatibler rZPATTERN�orderrr)� __classcell__rr)r$rr*s   rN) �__doc__�rZ fixer_utilrrrrrrZBaseFixrrrrr�s