o bc@s<dZddlmZddlmZdddZGdddejZd 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_basechrstr)unichrunicodecs,eZdZdZdZfddZddZZS) FixUnicodeTzSTRING | 'unicode' | 'unichr'cs"tt|||d|jv|_dS)Nunicode_literals)superr start_treefuture_featuresr )selftreefilename __class__0/usr/lib/python3.10/lib2to3/fixes/fix_unicode.pyr szFixUnicode.start_treecCs|jtjkr|}t|j|_|S|jtjkrQ|j}|js5|ddvr5d|vr5ddd| dD}|ddvrA|dd}||jkrH|S|}||_|SdS) Nz'"\z\\cSs g|] }|ddddqS)z\uz\\uz\Uz\\U)replace).0vrrr sz(FixUnicode.transform..uU) typerNAMEclone_mappingvalueSTRINGr joinsplit)r noderesultsnewvalrrr transforms$       zFixUnicode.transform)__name__ __module__ __qualname__ BM_compatiblePATTERNr r( __classcell__rrrrrs  rN)__doc__pgen2rrrBaseFixrrrrrs