ž zyMaèc@sWdZddlmZddlmZidd6dd6ZGdd „d ejƒZd S( u¢Fixer for unicode. * Changes unicode to str and unichr to chr. * If "...\u..." is not unicode literal change it into "...\\u...". * Change u"..." into "...". i(utoken(u fixer_baseuchruunichrustruunicodecs>|EeZdZdZdZ‡fdd†Zdd„Z‡S(u FixUnicodeuSTRING | 'unicode' | 'unichr'cs/tt|ƒj||ƒd|jk|_dS(Nuunicode_literals(usuperu FixUnicodeu start_treeufuture_featuresuunicode_literals(uselfutreeufilename(u __class__(u>/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_unicode.pyu start_treesuFixUnicode.start_treecCsî|jtjkr2|jƒ}t|j|_|S|jtjkrê|j}|j r›|ddkr›d|kr›djdd„|j dƒDƒƒ}n|ddkr¾|dd…}n||jkrÑ|S|jƒ}||_|SdS( Niu'"u\u\\cSs.g|]$}|jddƒjddƒ‘qS(u\uu\\uu\Uu\\U(ureplace(u.0uv((u>/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_unicode.pyu !s u(FixUnicode.transform..uuUi( utypeutokenuNAMEucloneu_mappinguvalueuSTRINGuunicode_literalsujoinusplit(uselfunodeuresultsunewuval((u>/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_unicode.pyu transforms"  &   uFixUnicode.transformT(u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNu start_treeu transform(u __locals__((u __class__u>/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_unicode.pyu FixUnicodesu FixUnicodeN(u__doc__upgen2utokenuu fixer_baseu_mappinguBaseFixu FixUnicode(((u>/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_unicode.pyu s