B
    Ēbģ  ć               @   sR   d dl Z d dlZd dlZd dlmZ dd Zdd Zdd Ze d	”Z	d
d Z
dS )é    N)Śsixc             C   sV   t | tjrt d| ”S y$|  d”} t d| ”} |  d”} W n tk
rP   Y nX | S )NZNFDzutf-8)Ś
isinstancer   Ś	text_typeŚunicodedataŚ	normalizeŚdecodeŚencodeŚUnicodeError)Śpath© r   ś@/tmp/pip-install-t65vy14x/setuptools/setuptools/unicode_utils.pyŚ	decompose	   s    
r   c          	   C   sX   t | tjr| S t ” pd}|df}x.|D ]&}y
|  |”S  tk
rN   w*Y q*X q*W dS )zY
    Ensure that the given path is decoded,
    NONE when no expected encoding works
    zutf-8N)r   r   r   ŚsysŚgetfilesystemencodingr   ŚUnicodeDecodeError)r
   Zfs_encŚ
candidatesŚencr   r   r   Śfilesys_decode   s    

r   c             C   s$   y
|   |”S  tk
r   dS X dS )z/turn unicode encoding into a functional routineN)r   ŚUnicodeEncodeError)Śstringr   r   r   r   Ś
try_encode(   s    
r   s&   ^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)c             C   s8   |   ” }|  d” t |”}|d kr(d S | d” d”S )Nr   é   Śascii)ŚreadlineŚseekŚ	CODING_REŚmatchŚgroupr   )ŚfpŚ
first_lineŚmr   r   r   Śdetect_encoding3   s    

r!   )r   r   ŚreZsetuptools.externr   r   r   r   Ścompiler   r!   r   r   r   r   Ś<module>   s   
