U
    ?h                     @  sv   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)PcxImageFileih:bytesbool)prefixreturnc                 C  s   t | dkot| tkS )N   )leni32MAGIC)r	    r   D/var/www/html/venv/lib/python3.8/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  s<   |  |sd S || _| j| _| j| j|  t|  d S N)Z_seek_checkr   r   r   r   r   r   r#   )r   r   r   r   r   r   B   s    
zDcxImageFile.seekc                 C  s   | j S r%   )r   )r   r   r   r   tellJ   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PcxImagePluginr   r   r   r   Zregister_openr*   Zregister_extensionr   r   r   r   <module>   s   &