
    zvg                       d dl mZ d dlZddlmZmZmZ ddlmZ  ej	        d          Z
ddZ G d dej                  Z ej        ej        ee            ej        ej        d            ej        ej        d           dS )    )annotationsN   )Image	ImageFileImagePalette)o8s$   "([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)prefixbytesreturnboolc                    | d d         dk    S )N	   s	   /* XPM */ )r	   s    O/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/PIL/XpmImagePlugin.py_acceptr      s    "1":%%    c                  &    e Zd ZdZdZddZdd	Zd
S )XpmImageFileXPMzX11 Pixel Mapr   Nonec                   t          | j                            d                    sd}t          |          	 | j                                        }|sd}t          |          t
                              |          }|rnJt          |                    d                    t          |                    d                    f| _	        t          |                    d                    }t          |                    d                    }|d	k    s|dk    rd
}t          |          dgd	z  }t          |          D ]D}| j                                        }|dd          dk    r|d d         }n|dd          dv r
|d d         }|d         }|dd                                         }t          dt          |          d          D ]}	||	         dk    r||	dz            }
|
dk    r|| j        d<   ny|
d d         dk    rZt          |
dd          d          }
t          |
dz	  dz            t          |
dz	  dz            z   t          |
dz            z   ||<   nd
}t          |           nd
}t          |          Fd| _        t#          j        dd                    |                    | _        t+          j        dd| j        z   | j                                        d          g| _        d S )Nr   znot an XPM fileTzbroken XPM filer               zcannot read this XPM files      s   
r      cs   Nonetransparency   #         PRGBr   raw)r   r   )r   fpreadSyntaxErrorreadlinexpm_headmatchintgroup_size
ValueErrorrangesplitleninfor   _moder   r&   joinpaletter   _Tilesizetelltile)selfmsgsmpalbppr7   _cirgbs              r   _openzXpmImageFile._open'   s   tw||A'' 	##Cc"""	  ""A ''!#&&&q!!A 	 __c!''!**oo5
!''!**oo!''!**oo99q-CS//!
 +#s 	& 	&A  ""Av  crcF2337""crcF!A!B$A1c!ffa(( & &Q44<<AE(Cg~~45	.11RaRD!#abb'2..r	S011BqC7G4H4HH2cTWi==X  


 :(oo-E  & 2 oo%  
#'sxx/@/@AA_UFTY,>PSTTU			r   
read_bytesr-   r
   c                |      j         \  } fdt          |          D             }d                    |          S )Nc                ~    g | ]9}j                                         d d z                                          :S )r   )r'   r*   ljust).0rD   r<   xsizes     r   
<listcomp>z*XpmImageFile.load_read.<locals>.<listcomp>p   sB    RRRTWEAI.44U;;RRRr   r   )r9   r1   r6   )r<   rG   ysizer>   rL   s   `   @r   	load_readzXpmImageFile.load_readj   sC     yuRRRRRU5\\RRRxx{{r   N)r   r   )rG   r-   r   r
   )__name__
__module____qualname__formatformat_descriptionrF   rO   r   r   r   r   r   #   sP        F(AV AV AV AVF     r   r   z.xpmz	image/xpm)r	   r
   r   r   )
__future__r   re r   r   r   _binaryr   compiler+   r   r   register_openrS   register_extensionregister_mimer   r   r   <module>r]      s    # " " " " " 				 , , , , , , , , , ,       2:=>>& & & &O O O O O9& O O Ol  L'w ? ? ?  ,f 5 5 5  L' 5 5 5 5 5r   