U
    Ú²g  ã                   @   s8   d dl Z d\ZZZdd„ Zddd„Zd	d
„ Zdd„ ZdS )é    N)r   é   é   c           	      G   sà   t tdd„ ttdd„ |ƒƒƒƒ}t tdd„ ttdd„ |ƒƒƒƒ}d}d}g }t}|  ¡ }|s^qØ| ¡ }|tkrˆ||krˆg }|| }t}qP|tkr´||krª|| |krªt}n
| |¡ |tkrPd 	¡  
dd	„ |D ƒ¡}qØqP||fS )
Nc                 S   s   | d | d fS ©Nr   r   © ©Úxr   r   ú6/tmp/pip-unpacked-wheel-mj5o32qq/pyasn1_modules/pem.pyÚ<lambda>   ó    z'readPemBlocksFromFile.<locals>.<lambda>c                 S   s   | d S )Nr   r   ©Úyr   r   r   r	      r
   c                 S   s   | d | d fS r   r   r   r   r   r   r	      r
   c                 S   s   | d S )Nr   r   r   r   r   r   r	      r
   éÿÿÿÿÚ c                 S   s   g | ]}t  | ¡ ¡‘qS r   ©Úbase64Ú	b64decodeÚencode)Ú.0r   r   r   r   Ú
<listcomp>(   s     z)readPemBlocksFromFile.<locals>.<listcomp>)ÚdictÚmapÚ	enumerateÚstSpamÚreadlineÚstripÚstHamÚstDumpÚappendr   Újoin)	ÚfileObjÚmarkersZstartMarkersZstopMarkersÚidxÚ	substrateZ	certLinesÚstateZcertLiner   r   r   ÚreadPemBlocksFromFile   s8    
ÿ
ÿ
r$   ú-----BEGIN CERTIFICATE-----ú-----END CERTIFICATE-----c                 C   s   t | ||fƒ\}}|S ©N)r$   )r   ZstartMarkerZ	endMarkerr!   r"   r   r   r   ÚreadPemFromFile.   s    r(   c                 C   s   t  |  ¡ ¡S r'   r   )Útextr   r   r   ÚreadBase64fromText5   s    r*   c                 C   s   t |  ¡ ƒS r'   )r*   Úread)r   r   r   r   ÚreadBase64FromFile9   s    r,   )r%   r&   )r   r   r   r   r$   r(   r*   r,   r   r   r   r   Ú<module>   s   
!  þ
