a
    «Á‚b  ã                   @   s    d Z ddlZdd„ Zdd„ ZdS )z4
OOXML has non-standard escaping for characters < 
é    Nc                 C   s   t  d¡}dd„ }| || ¡S )zB
    Convert ASCII < 31 to OOXML: \n == _x + hex(ord(\n)) + _
    z[\001-\031]c                 S   s   d  t|  d¡ƒ¡S )z*
        Callback to escape chars
        z
_x{:0>4x}_r   )ÚformatÚordÚgroup©Úmatch© r   úe/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/openpyxl/utils/escape.pyÚ_sub   s    zescape.<locals>._sub©ÚreÚcompileÚsub)ÚvalueZ
CHAR_REGEXr	   r   r   r   Úescape
   s    
r   c                 C   s*   t  d¡}dd„ }d| v r&| || ¡} | S )z:
    Convert escaped strings to ASCIII: _x000a_ == \n
    z_x([0-9A-Fa-f]{4})_c                 S   s   t t|  d¡dƒƒS )z,
        Callback to unescape chars
        é   é   )ÚchrÚintr   r   r   r   r   r	   "   s    zunescape.<locals>._subÚ_xr
   )r   ZESCAPED_REGEXr	   r   r   r   Úunescape   s
    
r   )Ú__doc__r   r   r   r   r   r   r   Ú<module>   s   