o
    Z#ûa/
  ã                   @   sT   d dl Z ddlmZmZ dd„ ZG dd„ dejƒZe ejee¡ e 	ejd¡ dS )	é    Né   )ÚImageÚTiffImagePluginc                 C   s   | d d… t jkS )Né   )ÚolefileÚMAGIC)Úprefix© r	   ú4/usr/lib/python3/dist-packages/PIL/MicImagePlugin.pyÚ_accept   s   r   c                   @   s8   e Zd ZdZdZdZdd„ Zdd„ Zdd	„ Zd
d„ Z	dS )ÚMicImageFileÚMICzMicrosoft Image ComposerFc              
   C   sÜ   z	t  | j¡| _W n ty } ztdƒ|‚d }~ww g | _| j ¡ D ]}|dd … rA|d dd … dkrA|d dkrA| j |¡ q#| jsItdƒ‚| j| _	d | _
t| jƒ| _| jdk| _t| jƒdkrgtj| _|  d¡ d S )Nz!not an MIC file; invalid OLE filer   r   éüÿÿÿz.ACIr   z!not an MIC file; no image entries)r   Ú	OleFileIOÚfpÚoleÚOSErrorÚSyntaxErrorÚimagesÚlistdirÚappendÚ_MicImageFile__fpÚframeÚlenÚ	_n_framesÚis_animatedr   Ú	CONTAINERÚ	_categoryÚseek)ÚselfÚeÚpathr	   r	   r
   Ú_open*   s(   
€ÿ,€zMicImageFile._openc              
   C   sd   |   |¡sd S z| j| }W n ty } ztdƒ|‚d }~ww | j |¡| _tj 	| ¡ || _
d S )Nzno such frame)Ú_seek_checkr   Ú
IndexErrorÚEOFErrorr   Ú
openstreamr   r   ÚTiffImageFiler"   r   )r   r   Úfilenamer    r	   r	   r
   r   K   s   

€ÿ
zMicImageFile.seekc                 C   s   | j S ©N)r   ©r   r	   r	   r
   ÚtellY   s   zMicImageFile.tellc                 C   sP   z#z| j | jkr| j  ¡  W n	 ty   Y nw W d | _ d S W d | _ d S d | _ w r)   )r   r   ÚcloseÚAttributeErrorr*   r	   r	   r
   Ú
_close__fp\   s   
€ÿ€
þzMicImageFile._close__fpN)
Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionÚ!_close_exclusive_fp_after_loadingr"   r   r+   r.   r	   r	   r	   r
   r   $   s    !r   z.mic)
r   Ú r   r   r   r'   r   Úregister_openr2   Úregister_extensionr	   r	   r	   r
   Ú<module>   s   E