
    жvgD                     (   d dl mZ d dlmZ d dlmZmZmZ ddlm	Z	 erd dl
mZ  G d d          Zed	k    rZd d
lZd dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZ  G d d          Z e            Ze                     e                       d
S d
S )    )sqrt)	lru_cache)SequenceTupleTYPE_CHECKING   )ColorTripletTablec                       e Zd ZdZdeeeeef                  fdZdedefdZ	ddZ
 ed	
          deeeef         defd            ZdS )PalettezA palette of available colors.colorsc                     || _         d S N)_colors)selfr   s     U/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/pip/_vendor/rich/palette.py__init__zPalette.__init__   s        numberreturnc                 *    t          | j        |          S r   )r	   r   )r   r   s     r   __getitem__zPalette.__getitem__   s    T\&122r   r   c                 T   ddl m} ddlm} ddlm} ddlm}  |dddd	t          | j	                   d
dd          }t          | j	                  D ]S\  }}|                    t          |          t          |           |d | |j        |                                T|S )Nr   ColorStyle)Textr
   indexRGBr   r   z colorsTright)titlecaption	highlightcaption_justifyz                )bgcolor)style)pip._vendor.rich.colorr   pip._vendor.rich.styler   pip._vendor.rich.textr   pip._vendor.rich.tabler   lenr   	enumerateadd_rowstrreprfrom_rgb)r   r   r   r   r   tabler    colors           r   __rich__zPalette.__rich__   s   000000000000......0000004<((111#
 
 
 &dl33 	 	LE5MME

UXUU>5>53I%J%J%JKKK   
 r   i   )maxsizer4   c                     |\  t           | j        j        dt          dt          ffd}t          t          t          | j                            |          }|S )zFind a color from a palette that most closely matches a given color.

        Args:
            color (Tuple[int, int, int]): RGB components in range 0 > 255.

        Returns:
            int: Index of closes matching color.
        r    r   c                      
|           \  }}}|z   dz  }|z
  }|z
  }	|z
  } d|z   |z  |z  dz	  d|z  |z  z   d|z
  |z  |z  dz	  z             S )zGet the distance to a color.   i         i   )r    red2green2blue2red_meanredgreenblue_sqrtblue1	get_colorgreen1red1s           r   get_color_distancez)Palette.match.<locals>.get_color_distance:   s    "+)E"2"2D&%t)H+CVOE5=D5>S(3.14e)e#$8^t+d2q8:  r   )key)r   r   r   intfloatminranger-   )	r   r4   rI   	min_indexrD   rE   rF   rG   rH   s	       @@@@@r   matchzPalette.match,   s     $feL,		c 	e 	 	 	 	 	 	 	 	 	 	 c$,//006HIII	r   N)r   r   )__name__
__module____qualname____doc__r   r   rK   r   r	   r   r5   r   rP   r<   r   r   r   r      s        ((xc3m(<=    3# 3, 3 3 3 3   0 Yt5c3/ C      r   r   __main__N)Iterabler   )ConsoleConsoleOptions)Segmentr   c                   .    e Zd Zdededee         fdZdS )ColorBoxconsoleoptionsr   c           	   #     K   |j         j        dz
  }t          d|          D ]}t          |j                  D ]}||j        z  }||dz   z  }t	          j        ||d          \  }}	}
t	          j        ||d|z  dz  z   d          \  }}}t          j        |dz  |	dz  |
dz            }t          j        |dz  |dz  |dz            }t          dt          ||                    V  t          j
                    V  d S )	N   r   r   g      ?r9      u   ▄)r4   r'   )sizeheightrN   	max_widthcolorsys
hls_to_rgbr   r2   rY   r   line)r   r\   r]   rb   yxhlr1g1b1r2g2b2r'   r4   s                   r   __rich_console__zColorBox.__rich_console__T   s+      \(1,F1f%% 	% 	%w011 N NAG--AVaZ(A!)!4Q3!?!?JBB!)!4QQZ!^8Lc!R!RJBB#nR#XrCxcJJG!N28R#XrCxHHE!%UG)L)L)LMMMMMMlnn$$$$	% 	%r   N)rQ   rR   rS   rW   rX   rV   rY   rq   r<   r   r   r[   r[   S   sE        	%"	%-;	%g	% 	% 	% 	% 	% 	%r   r[   )mathr   	functoolsr   typingr   r   r   color_tripletr	   r,   r   r   rQ   rd   rV   r)   r   pip._vendor.rich.consolerW   rX   pip._vendor.rich.segmentrY   r*   r   r[   r\   printr<   r   r   <module>ry      sm               1 1 1 1 1 1 1 1 1 1 ' ' ' ' ' ' -,,,,,,= = = = = = = =@ zOOO,,,,,,@@@@@@@@000000,,,,,,% % % % % % % %  giiGMM((**3 r   