File: //lib64/python3.9/lib2to3/pgen2/__pycache__/literals.cpython-39.pyc
a
    �DOgc  �                   @   sP   d Z ddlZddddddd	d
ddd
�
Zdd� Zdd� Zdd� ZedkrLe�  dS )z<Safely evaluate Python string literals without using eval().�    N����
�
�	��'�"�\)
�a�b�f�n�r�t�vr	   r
   r   c                 C   s�   | � dd�\}}|�d�sJ �t�|�}|d ur4|S |�d�r�|dd � }t|�dk rbtd| ��zt|d�}W q� ty�   td| �d �Y q�0 n0zt|d�}W n  ty�   td	| �d �Y n0 t|�S )
Nr   �   r   �x�   z!invalid hex string escape ('\%s')�   �   z#invalid octal string escape ('\%s'))�group�
startswith�simple_escapes�get�len�
ValueError�int�chr)�m�all�tailZescZhexes�i� r$   �./usr/lib64/python3.9/lib2to3/pgen2/literals.py�escape   s$    
r&