o
    ä›eX  ã                   @  sh   d dl mZ ddlmZmZmZ ddlmZ 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)Úi32bec                 C  s   t | ƒdkot| ƒdkS )Né   i•j¦Y)ÚlenÚi32)Úprefix© r   úE/var/www/html/venv/lib/python3.10/site-packages/PIL/SunImagePlugin.pyÚ_accept   s   r   c                   @  s   e Zd ZdZdZdd„ ZdS )ÚSunImageFileÚSUNzSun Raster Filec           
      C  sÎ  | j  d¡}t|ƒsd}t|ƒ‚d}t|dƒt|dƒf| _t|dƒ}t|dƒ}t|dƒ}t|dƒ}|d	kr;d
\| _}nB|dkrEd\| _}n8|dkrOd | _}n.|dkrc|dkr]d\| _}n d\| _}n|dkrw|dkrqd\| _}nd\| _}nd}t|ƒ‚|r°|dkr‰d}t|ƒ‚|d	kr“d}t|ƒ‚|| }t d| j  |¡¡| _	| j
dkr°d| _| dd¡}| jd | d d d }	|dv rÐdd| j |||	ffg| _d S |dkrádd| j ||fg| _d S d }t|ƒ‚)!Né    znot an SUN raster filer   é   é   é   é   é   r   )Ú1z1;I)ÚLzL;4r   é   )ÚRGBr   )r   ÚBGR)r   ÚRGBX)r   ÚBGRXzUnsupported Mode/Bit Depthi   z Unsupported Color Palette LengthzUnsupported Palette TypezRGB;LÚPr   é   é   é   )r   r   r   r   é   Úraw)r   r   Úsun_rlez Unsupported Sun Raster file type)ÚfpÚreadr   ÚSyntaxErrorr
   Ú_sizeÚ_moder   r#   ÚpaletteÚmodeÚreplaceÚsizeÚtile)
ÚselfÚsÚmsgÚoffsetÚdepthÚ	file_typeÚpalette_typeÚpalette_lengthÚrawmodeÚstrider   r   r   Ú_open$   sZ   




zSunImageFile._openN)Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr9   r   r   r   r   r       s    r   z.rasN)Ú
__future__r   Ú r   r   r   Ú_binaryr   r
   r   r   Úregister_openr=   Úregister_extensionr   r   r   r   Ú<module>   s   i