o
    üÞhí  ã                   @  sj   d dl mZ ddlmZmZmZ ddlmZ 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ÚprefixÚbytesÚreturnÚboolc                 C  s   t | ƒdkot| ƒdkS )Né   i•j¦Y)ÚlenÚi32)r   © r   úR/var/www/html/premium_crap/venv/lib/python3.10/site-packages/PIL/SunImagePlugin.pyÚ_accept   s   r   c                   @  s   e Zd ZdZdZddd„ZdS )	ÚSunImageFileÚSUNzSun Raster Filer
   ÚNonec           
      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rBd
\| _}nB|dkrLd\| _}n8|dkrVd | _}n.|dkrj|dkrdd\| _}n d\| _}n|dkr~|dkrxd\| _}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Ùt dd| j |||	f¡g| _d S |dkrìt dd| j ||¡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Úsizer   Ú_TileÚtile)
ÚselfÚsÚmsgÚoffsetÚdepthÚ	file_typeÚpalette_typeÚpalette_lengthÚrawmodeÚstrider   r   r   Ú_open$   s`   





ÿ
ÿzSunImageFile._openN)r
   r   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr>   r   r   r   r   r       s    r   z.rasN)r   r	   r
   r   )Ú
__future__r   Ú r   r   r   Ú_binaryr   r   r   r   Úregister_openrB   Úregister_extensionr   r   r   r   Ú<module>   s   
o