3 \��@s8ddlmZddlmZddd�ZGdd�dej�ZdS) �)�token)� fixer_base�chr�str)ZunichrZunicodecs,eZdZdZdZ�fdd�Zdd�Z�ZS)� FixUnicodeTzSTRING | 'unicode' | 'unichr'cs"tt|�j||�d|jk|_dS)N�unicode_literals)�superr� start_treeZfuture_featuresr)�selfZtree�filename)� __class__��1/usr/lib64/python3.6/lib2to3/fixes/fix_unicode.pyr szFixUnicode.start_treecCs�|jtjkr$|j�}t|j|_|S|jtjkr�|j}|j rl|ddkrld|krldjdd�|j d�D��}|ddkr�|dd�}||jkr�|S|j�}||_|SdS) N�z'"�\z\\cSs g|]}|jdd�jdd��qS)z\uz\\uz\Uz\\U)�replace)�.0�vr r r� !sz(FixUnicode.transform..ZuU�) �typer�NAMEZclone�_mapping�value�STRINGr�join�split)r ZnodeZresults�new�valr r r� transforms"      zFixUnicode.transform)�__name__� __module__� __qualname__Z BM_compatibleZPATTERNr r� __classcell__r r )r rrs rN)Zpgen2r�rrZBaseFixrr r r r� s