a
    ¨º”ha  ã                   @  s‚   d dl mZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 dZdd	d
œdd„ZG dd„ de
ƒZe ejee¡ e ejd¡ dS )é    )Úannotationsé   )ÚImage)Úi32le)ÚDeferredError)ÚPcxImageFilei±hÞ:ÚbytesÚbool)ÚprefixÚreturnc                 C  s   t | ƒdkot| ƒtkS )Né   )ÚlenÚi32ÚMAGIC)r
   © r   ú@/var/www/auris/lib/python3.9/site-packages/PIL/DcxImagePlugin.pyÚ_accept!   s    r   c                   @  sD   e Zd ZdZdZdZddœdd„Zddd	œd
d„Zddœdd„ZdS )ÚDcxImageFileZDCXz	Intel DCXFÚNone)r   c                 C  sŒ   | j  d¡}t|ƒs d}t|ƒ‚g | _tdƒD ](}t| j  d¡ƒ}|sJ qX| j |¡ q.| j | _d| _	t
| jƒ| _| jdk| _|  d¡ d S )Nr   znot a DCX filei   éÿÿÿÿr   r   )ÚfpÚreadr   ÚSyntaxErrorÚ_offsetÚranger   ÚappendÚ_fpÚframer   Zn_framesZis_animatedÚseek)ÚselfÚsÚmsgÚiÚoffsetr   r   r   Ú_open.   s    zDcxImageFile._openÚint)r   r   c                 C  sP   |   |¡sd S t| jtƒr"| jj‚|| _| j| _| j | j| ¡ t	 
| ¡ d S ©N)Z_seek_checkÚ
isinstancer   r   Úexr   r   r   r   r   r$   )r   r   r   r   r   r   C   s    
zDcxImageFile.seekc                 C  s   | j S r&   )r   )r   r   r   r   ÚtellM   s    zDcxImageFile.tellN)	Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionZ!_close_exclusive_fp_after_loadingr$   r   r)   r   r   r   r   r   )   s   
r   z.dcxN)Ú
__future__r   Ú r   Ú_binaryr   r   Z_utilr   ZPcxImagePluginr   r   r   r   Zregister_openr-   Zregister_extensionr   r   r   r   Ú<module>   s   (