a
    Aøg»  ã                   @  s6   d dl mZ d dlmZ ddlmZ G dd„ dƒZdS )é    )Úannotations)ÚIOé   ©Úo8c                   @  s2   e Zd ZdZdZdddœdd„Zdd	œd
d„ZdS )ÚPaletteFilez-File handler for Teragon-style palette files.ZRGBz	IO[bytes]ÚNone)ÚfpÚreturnc           
      C  sÖ   dd„ t dƒD ƒ}| ¡ }|s qÆ|d d… dkr2qt|ƒdkrJd}t|ƒ‚dd„ | ¡ D ƒ}z|\}}}}	W n" tyŽ   |\}}| }}	Y n0 d	|  kr¤d
krn qt|ƒt|ƒ t|	ƒ ||< qd |¡| _d S )Nc                 S  s   g | ]}t |ƒd  ‘qS )é   r   )Ú.0Úi© r   úN/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/PIL/PaletteFile.pyÚ
<listcomp>   ó    z(PaletteFile.__init__.<locals>.<listcomp>é   r   ó   #éd   zbad palette filec                 S  s   g | ]}t |ƒ‘qS r   )Úint)r   Úxr   r   r   r   )   r   r   éÿ   r   )	ÚrangeÚreadlineÚlenÚSyntaxErrorÚsplitÚ
ValueErrorr   ÚjoinÚpalette)
Úselfr	   r   ÚsÚmsgÚvr   ÚrÚgÚbr   r   r   Ú__init__   s$    zPaletteFile.__init__ztuple[bytes, str])r
   c                 C  s   | j | jfS )N)r   Úrawmode)r    r   r   r   Ú
getpalette5   s    zPaletteFile.getpaletteN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   r'   r)   r   r   r   r   r      s   r   N)Ú
__future__r   Útypingr   Ú_binaryr   r   r   r   r   r   Ú<module>   s   