a
    ç´«jí  ã                   @  sp   d dl mZ ddlmZmZmZ ddlmZ dddœdd	„Z	G d
d„ dejƒZ
e e
je
e	¡ e e
jd¡ dS )é    )Úannotationsé   )ÚImageÚ	ImageFileÚImagePalette)Úi32beÚbytesÚbool)ÚprefixÚreturnc                 C  s   t | ƒdkot| ƒdkS )Né   i•j¦Y)ÚlenÚi32)r
   © r   úQ/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/PIL/SunImagePlugin.pyÚ_accept   s    r   c                   @  s"   e Zd ZdZdZddœdd„ZdS )ÚSunImageFileZSUNzSun Raster FileÚNone)r   c           
      C  sð  | j d usJ ‚| j  d¡}t|ƒs.d}t|ƒ‚d}t|dƒt|dƒf| _t|dƒ}t|dƒ}t|dƒ}t|dƒ}|d	kr„d
\| _}n„|dkr˜d\| _}np|dkr¬d | _}n\|dkrÔ|dkrÈd\| _}n
d\| _}n4|dkrü|dkrðd\| _}n
d\| _}nd}t|ƒ‚|�rv|dk�r$d}t|ƒ‚|d	k�r:d}t|ƒ‚|| }t d| j  |¡¡| _	| j
dk�rvd| _| dd¡}| jd | d d d }	|dv �rºt dd| j |||	f¡g| _n2|dk�ràt dd| j ||¡g| _nd }t|ƒ‚d S )!Né    znot an SUN raster filer   é   é   é   é   é   r   )Ú1z1;I)ÚLzL;4r   é   )ÚRGBr   )r   ZBGR)r   ZRGBX)r   ZBGRXzUnsupported Mode/Bit Depthi   z Unsupported Color Palette LengthzUnsupported Palette TypezRGB;LÚPr   é   é   é   )r   r   r   r   é   Úraw)r   r   Zsun_rlez Unsupported Sun Raster file type)ÚfpÚreadr   ÚSyntaxErrorr   Ú_sizeÚ_moder   r#   ÚpaletteÚmodeÚreplaceÚsizer   Z_TileZtile)
ÚselfÚsÚmsgÚoffsetÚdepthÚ	file_typeZpalette_typeZpalette_lengthÚrawmodeZstrider   r   r   Ú_open$   s`    






ÿ
ÿzSunImageFile._openN)Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr4   r   r   r   r   r       s   r   z.rasN)Ú
__future__r   Ú r   r   r   Ú_binaryr   r   r   r   Zregister_openr8   Zregister_extensionr   r   r   r   Ú<module>   s   o