
    Rf
                    X    d dl mZ d dlZd dlmZ  G d d          Zed
d	            ZdS )    )annotationsN)	lru_cachec                  "    e Zd ZdZddZddZdS )ModeDescriptorzWrapper for mode strings.modestrbandstuple[str, ...]basemodebasetypetypestrreturnNonec                L    || _         || _        || _        || _        || _        d S N)r   r	   r   r   r   )selfr   r	   r   r   r   s         ?/var/www/html/env/lib/python3.11/site-packages/PIL/ImageMode.py__init__zModeDescriptor.__init__   s+     	
      c                    | j         S r   )r   )r   s    r   __str__zModeDescriptor.__str__&   s
    yr   N)r   r   r	   r
   r   r   r   r   r   r   r   r   )r   r   )__name__
__module____qualname____doc__r   r    r   r   r   r      sB        ##        r   r   r   r   r   c                f   t           j        dk    rdnd}i dddddddd	|d
z   fdddd|dz   fddddddddddddddddddd d!d"d!d#d!d$d%d&d'd(}| |v r ||          \  }}}}t          | ||||          S d)d*d)d*d+d,|d-z   |d.z   d/d0d/d1d2d1d3}||          }t          | d	dd|          S )4z*Gets a mode descriptor for the given mode.little<>1)Lr"   )r!   z|b1r"   )r"   r"   )r"   |u1I)r$   i4F)r&   f4P)r(   r"   )r(   r#   RGB)r)   r"   )RGBr#   RGBX)r)   r"   )r*   r+   r,   Xr#   RGBA)r)   r"   )r*   r+   r,   Ar#   CMYK)r)   r"   )CMYKr#   YCbCr)r)   r"   )r4   CbCrr#   LAB)r)   r"   )r"   r0   r,   r#   HSV)r)   r"   )HSVr#   RGBa)r)   r"   )r*   r+   r,   ar#   zBGR;15)r)   r"   )r,   r+   r*   r#   zBGR;16zBGR;24LA)r"   r"   )r"   r0   r#   )r"   r"   )r"   r?   r#   )r)   r"   )r(   r0   r#   )LaPAz<u2z<i2z>u2z>i2u2i2z<u4z>u4z<i4z>i4)zI;16zI;16SzI;16LzI;16LSzI;16BzI;16BSzI;16NzI;16NSzI;32zI;32BzI;32LzI;32SzI;32BSzI;32LS)sys	byteorderr   )r   endianmodes	base_mode	base_typer	   type_strmapping_modess           r   getmoderM   *   s    MX--SS3F 	& 	&	
 	c3. 	c3. 	& 	3 	9 	9 	9 	7 	3 	3" 	9#$ 	6%& 	6'( 	6)* 	++, ,-/  E2 u}}05d-	9eXdE9iJJJ $4- M$ T"H$S(;;;r   )r   r   r   r   )
__future__r   rE   	functoolsr   r   rM   r   r   r   <module>rP      s    # " " " " " 



             * 5< 5< 5< 5< 5< 5<r   