U
    <þjg“  ã                   @  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   ú6/tmp/pip-unpacked-wheel-f170kk4x/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 k	st‚| 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kr¶dd| j |||	ffg| _n.|dkrØdd| j ||f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ÚAssertionErrorÚreadr   ÚSyntaxErrorr   Ú_sizeÚ_moder   r#   ZpaletteÚmodeÚreplaceÚsizeZ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   k