
    z%ic                     V    d Z ddlZddddddd	d
ddd
Zd Zd Zd Zedk(  r e        yy)z<Safely evaluate Python string literals without using eval().    N
	'"\)
abfnrtvr
   r   r   c                    | j                  dd      \  }}t        j                  |      }||S |j                  d      r9|dd  }t	        |      dk  rt        d|z        	 t        |d      }t        |      S 	 t        |d      }t        |      S # t
        $ r t        d|z        d w xY w# t
        $ r t        d|z        d w xY w)	Nr      x   z!invalid hex string escape ('\%s')      z#invalid octal string escape ('\%s'))groupsimple_escapesget
startswithlen
ValueErrorintchr)malltaileschexesis         J/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/lib2to3/pgen2/literals.pyescaper)      s    1IC


T
"C

sQRu:>ADHII	TE2A q6M		VD!A q6M  	TADHItS	T
  	VCdJKQUU	Vs   "B :B- B*-Cc                     | d   }| d d |dz  k(  r|dz  }| t        |      t        |        } t        j                  dt        |       S )Nr      z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r   resubr)   )sqs     r(   
evalStringr0   (   sQ    	!A!u!|aC 	
#a&#a&A66>JJ    c                      t        d      D ]7  } t        |       }t        |      }t        |      }||k7  s*t	        | |||       9 y )N   )ranger!   reprr0   print)r'   cr.   es       r(   testr9   2   sE    3Z FGqM6!Q1r1   __main__)__doc__r,   r   r)   r0   r9   __name__ r1   r(   <module>r>      sW    C 		*K zF r1   