ó
    EñiØ  ã                   ó  • S SK Jr  S SKJr  S SKJrJrJr  SSKJ	r	  \(       a  S SK
Jr   " S S5      r\S	:X  aL  S S
KrS SKJr  S SKJr  S SKJrJr  S SKJr  S SKJr   " S S5      r\" 5       r\R7                  \" 5       5        g
g
)é    )Úsqrt)Ú	lru_cache)ÚSequenceÚTupleÚTYPE_CHECKINGé   )ÚColorTriplet©ÚTablec                   ó„   • \ rS rSrSrS\\\\\4      4S jrS\S\	4S jr
SS jr\" S	S
9S\\\\4   S\4S j5       rSrg)ÚPaletteé   zA palette of available colors.Úcolorsc                 ó   • Xl         g ©N©Ú_colors)Úselfr   s     ÚI/home/mande/repo/quber/.venv/lib/python3.13/site-packages/rich/palette.pyÚ__init__ÚPalette.__init__   s   € Ø�ó    ÚnumberÚreturnc                 ó,   • [        U R                  U   6 $ r   )r	   r   )r   r   s     r   Ú__getitem__ÚPalette.__getitem__   s   € Ü˜TŸ\™\¨&Ñ1Ð2Ð2r   c                 ó,  • SSK Jn  SSKJn  SSKJn  SSKJn  U" SSSS	[        U R                  5       S
3SSS9n[        U R                  5       H@  u  pgUR                  [        U5      [        U5      U" SU" UR                  " U6 S9S95        MB     U$ )Nr   ©ÚColor©ÚStyle)ÚTextr
   ÚindexÚRGBr    r   z colorsTÚright)ÚtitleÚcaptionÚ	highlightÚcaption_justifyz                )Úbgcolor)Ústyle)Ú
rich.colorr    Ú
rich.styler"   Ú	rich.textr#   Ú
rich.tabler   Úlenr   Ú	enumerateÚadd_rowÚstrÚreprÚfrom_rgb)r   r    r"   r#   r   Útabler$   Úcolors           r   Ú__rich__ÚPalette.__rich__   sŽ   € Ý$Ý$Ý"Ý$áØØØØÜ˜4Ÿ<™<Ó(Ð)¨Ð1ØØ#ñ
ˆô & d§l¡lÖ3‰LˆEØ�M‰MÜ�E“
Ü�U“Ù�X¡U°5·>²>À5Ð3IÑ%JÑKöñ 4ð ˆr   i   )Úmaxsizer8   c                 óÐ   ^^^^^• Uu  mmm[         mU R                  R                  mS[        S[        4UUUUU4S jjn[        [        [        U R                  5      5      US9nU$ )zÂFind 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                 ó    >• T
" U 5      u  pnTU-   S-  nTU-
  nTU-
  nT	U-
  nT" SU-   U-  U-  S-	  SU-  U-  -   SU-
  U-  U-  S-	  -   5      $ )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_distanceÚ)Palette.match.<locals>.get_color_distance:   sŠ   ø€ á"+¨EÓ"2ÑˆD˜%Ø˜t™¨Ñ)ˆHØ˜‘+ˆCØ˜V‘OˆEØ˜5‘=ˆDÙØ˜‘> SÑ(¨3Ñ.°1Ñ4Ø�e‘)˜eÑ#ñ$à˜8‘^ tÑ+¨dÑ2°qÑ8ñ:óð r   )Úkey)r   r   r   ÚintÚfloatÚminÚranger1   )	r   r8   rN   Ú	min_indexrI   rJ   rK   rL   rM   s	       @@@@@r   ÚmatchÚPalette.match,   s`   ü€ ð $Ñˆˆf�eÜˆØ—L‘L×,Ñ,ˆ	ð	¤cð 	¬e÷ 	ó 	ô œœc $§,¡,Ó/Ó0Ð6HÑIˆ	ØÐr   r   N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   rQ   r   r	   r   r9   r   rV   Ú__static_attributes__rA   r   r   r   r      sk   † Ù(ð˜x¨¨c°3¸¨mÑ(<Ñ=ô ð3 #ð 3¨,ô 3ôñ0 �tÑð˜5  c¨3 Ñ/ð °Có ó ór   r   Ú__main__N)ÚIterabler   )ÚConsoleÚConsoleOptions)ÚSegmentr!   c                   ó0   • \ rS rSrS\S\S\\   4S jrSr	g)ÚColorBoxéS   ÚconsoleÚoptionsr   c           
   #   ó  #   • UR                   R                  S-
  n[        SU5       Hß  n[        UR                  5       H¬  nXRR                  -  nXCS-   -  n[        R
                  " XgS5      u  p‰n
[        R
                  " XgSU-  S-  -   S5      u  p¼n[        R                  " US-  U	S-  U
S-  5      n[        R                  " US-  US-  US-  5      n[        S[        XþS95      v •  M®     [        R                  " 5       v •  Má     g 7f)	Né   r   r   g      ð?r>   éÿ   u   â–„)r8   r+   )ÚsizeÚheightrT   Ú	max_widthÚcolorsysÚ
hls_to_rgbr    r6   rb   r"   Úline)r   rf   rg   rl   ÚyÚxÚhÚlÚr1Úg1Úb1Úr2Úg2Úb2r+   r8   s                   r   Ú__rich_console__ÚColorBox.__rich_console__T   sð   é € ð —\‘\×(Ñ(¨1Ñ,ˆFÜ˜1˜fÖ%�Ü˜w×0Ñ0Ö1�AØ×-Ñ-Ñ-�AØ a™ZÑ(�AÜ!)×!4Ò!4°Q¸3Ó!?‘J�B˜BÜ!)×!4Ò!4°Q¸QÀ¹ZÈ!¹^Ñ8LÈcÓ!R‘J�B˜BÜ#Ÿnšn¨R°#©X°r¸C±xÀÀcÁÓJ�GÜ!ŸNšN¨2°©8°R¸#±X¸rÀC¹xÓH�EÜ! %¬°UÑ)LÓMÔMñ 2ô —l’l“nÔ$ò &ùs   ‚D
DrA   N)
rX   rY   rZ   r[   r`   ra   r_   rb   r{   r]   rA   r   r   rd   rd   S   s$   † ð	%Ø"ð	%Ø-;ð	%à�gÑ÷	%r   rd   )Úmathr   Ú	functoolsr   Útypingr   r   r   Úcolor_tripletr	   r0   r   r   rX   rn   r_   r-   r    Úrich.consoler`   ra   Úrich.segmentrb   r.   r"   rd   rf   ÚprintrA   r   r   Ú<module>r„      sg   ðÝ Ý ß 1Ñ 1å 'æÝ ÷=ñ =ð@ ˆzÓÛÝÝ ß4Ý$Ý ÷%ñ %ñ  ‹i€GØ‡M�M‘(“*Õð3 r   