
    ZQd                     R    d Z ddlmZ ddlmZ dddZ G d dej                  Zd	S )
zFixer for unicode.

* Changes unicode to str and unichr to chr.

* If "...\u..." is not unicode literal change it into "...\\u...".

* Change u"..." into "...".

   )token)
fixer_basechrstr)unichrunicodec                   ,     e Zd ZdZdZ fdZd Z xZS )
FixUnicodeTzSTRING | 'unicode' | 'unichr'c                 v    t          t          |                               ||           d|j        v | _        d S )Nunicode_literals)superr
   
start_treefuture_featuresr   )selftreefilename	__class__s      0/usr/lib/python3.11/lib2to3/fixes/fix_unicode.pyr   zFixUnicode.start_tree   s9    j$**4::: 2d6J J    c                    |j         t          j        k    r-|                                }t          |j                 |_        |S |j         t          j        k    r|j        }| j        s@|d         dv r6d|v r2d                    d |	                    d          D                       }|d         dv r
|dd          }||j        k    r|S |                                }||_        |S d S )N    z'"\z\\c                 b    g | ],}|                     d d                               dd          -S )z\uz\\uz\Uz\\U)replace).0vs     r   
<listcomp>z(FixUnicode.transform.<locals>.<listcomp>    sF     " " " IIeV,,44UFCC" " "r   uU   )
typer   NAMEclone_mappingvalueSTRINGr   joinsplit)r   noderesultsnewvals        r   	transformzFixUnicode.transform   s    9
""**,,C ,CIJY%,&&*C( SVu__jj " " YYu--" " "   1v~~!""gdj  **,,CCIJ '&r   )__name__
__module____qualname__BM_compatiblePATTERNr   r,   __classcell__)r   s   @r   r
   r
      sV        M-GK K K K K      r   r
   N)__doc__pgen2r    r   r#   BaseFixr
    r   r   <module>r8      sy                %00    #     r   