£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
     fc                 @   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   |  dd\}}|dstt|}|d k	r4|S |dr|dd  }t|dk rbtd| yt|d}W q tk
r   td| d Y qX n2yt|d}W n" tk
r   td	| 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tailZescZhexesi r%   ;/opt/alt/python37/lib64/python3.7/lib2to3/pgen2/literals.pyescape   s$    

r'   c             C   s   |  ds(|  ds(tt| d d | d }| d d |d krL|d }| |sptt| t| d  t| dt| kst| t|t|  } t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    ($r/   c              C   sD   x>t dD ]2} t| }t|}t|}||kr
t| ||| q
W d S )N   )ranger    r)   r/   print)r$   cr-   er%   r%   r&   test2   s    r5   __main__)__doc__r+   r   r'   r/   r5   __name__r%   r%   r%   r&   <module>   s    
	