???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \O  ã               @   sP   d Z ddlZddddddd	d
dddœ
Zdd„ Zdd„ Zdd„ ZedkrLeƒ  dS )z<Safely evaluate Python string literals without using eval().é    NúúúÚ
úú	úú'ú"ú\)
ÚaÚbÚfÚnÚrÚtÚvr	   r
   r   c             C   sÌ   | j ddƒ\}}|jdƒst‚tj|ƒ}|d k	r4|S |jdƒr”|dd … }t|ƒdk rbtd| ƒ‚yt|dƒ}W qÄ tk
r   td| ƒ‚Y qÄX n0yt|dƒ}W n  tk
rÂ   td	| ƒ‚Y nX t|ƒS )
Nr   é   r   Úxé   z!invalid hex string escape ('\%s')é   é   z#invalid octal string escape ('\%s'))	ÚgroupÚ
startswithÚAssertionErrorÚsimple_escapesÚgetÚlenÚ
ValueErrorÚintÚchr)ÚmÚallÚtailÚescZhexesÚi© r&   ú./usr/lib64/python3.6/lib2to3/pgen2/literals.pyÚescape   s$    

r(   c             C   s¬   | j dƒs(| j dƒs(tt| d d… ƒƒ‚| d }| d d… |d krL|d }| j|ƒsptt| t|ƒ d … ƒƒ‚t| ƒdt|ƒ ksˆt‚| t|ƒt|ƒ … } tjdt| ƒS )Nr	   r
   r   r   é   r   z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r   r   ÚreprÚendswithr   ÚreÚsubr(   )ÚsÚqr&   r&   r'   Ú
evalString(   s    ($r0   c              C   sD   x>t dƒD ]2} t| ƒ}t|ƒ}t|ƒ}||kr
t| |||ƒ q
W d S )Né   )Úranger    r*   r0   Úprint)r%   Úcr.   Úer&   r&   r'   Útest2   s    r6   Ú__main__)Ú__doc__r,   r   r(   r0   r6   Ú__name__r&   r&   r&   r'   Ú<module>   s    
	