B
    àz÷bë
  ã               @   sX   d dl 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 )	é   )ÚImageÚ	ImageFile)Úi32bec             C   s(   t | ƒdko&t| dƒdko&t| dƒdkS )Né   é    é   é   )r   é   )ÚlenÚi32)Úprefix© r   ú1lib/python3.7/site-packages/PIL/GbrImagePlugin.pyÚ_accept   s    r   c               @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )ÚGbrImageFileZGBRzGIMP brush filec       	      C   sN  t | j d¡ƒ}|dk r tdƒ‚t | j d¡ƒ}|dkrFtd|› ƒ‚t | j d¡ƒ}t | j d¡ƒ}t | j d¡ƒ}|dks†|dkrŽtdƒ‚|dkr¤td|› ƒ‚|d	kr¶|d }n:|d
 }| j d¡}|dkrÚtdƒ‚t | j d¡ƒ| jd< | j |¡d d… }|d	krd| _nd| _||f| _|| jd< t | j	¡ || | | _
d S )Nr   r   znot a GIMP brush)r   r	   z Unsupported GIMP brush version: r   )r   r   z$Unsupported GIMP brush color depth: r   é   s   GIMPz"not a GIMP brush, bad magic numberZspacingéÿÿÿÿÚLZRGBAÚcomment)r   ÚfpÚreadÚSyntaxErrorÚinfoÚmodeZ_sizer   Z_decompression_bomb_checkÚsizeÚ
_data_size)	ÚselfZheader_sizeÚversionÚwidthZheightZcolor_depthZcomment_lengthZmagic_numberr   r   r   r   Ú_open,   s8    



zGbrImageFile._openc             C   s:   | j s.tj | j| j¡| _ |  | j | j	¡¡ tj 
| ¡S )N)Zimr   ÚcoreÚnewr   r   Z	frombytesr   r   r   Úload)r   r   r   r   r"   V   s    zGbrImageFile.loadN)Ú__name__Ú
__module__Ú__qualname__ÚformatZformat_descriptionr   r"   r   r   r   r   r   '   s   *r   z.gbrN)Ú r   r   Z_binaryr   r   r   r   Zregister_openr&   Zregister_extensionr   r   r   r   Ú<module>   s
   :