
    jj;                       d dl mZ d dlZd dlZd dlZej
                  rd dlmZ  G d deej                        Z
 G d deej                        Z G d d	eej                        Z G d
 deej                        Z G d deej                        Zej                  dfZej"                  	 	 	 	 	 	 dAd       Zej"                  	 	 	 	 	 	 dBd       Z	 	 	 	 	 	 dCdZej"                  	 	 	 	 	 	 dDd       Zej"                  	 	 	 	 	 	 dEd       Zej"                  	 	 	 	 	 	 dFd       Z	 	 	 	 	 	 dGdZej"                  	 	 	 	 	 	 dHd       Zej"                  	 	 	 	 	 	 dId       Z	 	 	 	 	 	 dJdZej"                  	 	 	 	 	 	 dKd       Zej"                  	 	 	 	 	 	 dLd       Zej"                  	 	 	 	 	 	 dMd       Z	 	 	 	 	 	 dNdZej"                  	 	 	 	 	 	 dOd       Zej"                  	 	 	 	 	 	 dPd       Zej"                  	 	 	 	 	 	 dQd       Zej"                  	 	 	 	 	 	 dRd        Z	 	 	 	 	 	 dSd!Zej"                  	 	 	 	 	 	 dTd"       Zej"                  	 	 	 	 	 	 dUd#       Zej"                  	 	 	 	 	 	 dVd$       Zej"                  	 	 	 	 	 	 dWd%       Zej"                  	 	 	 	 	 	 dXd&       Z	 	 	 	 	 	 dYd'Zej"                  	 	 	 	 	 	 dZd(       Zej"                  	 	 	 	 	 	 d[d)       Zej"                  	 	 	 	 	 	 d\d*       Zej"                  	 	 	 	 	 	 d]d+       Z	 	 	 	 	 	 d^d,Zej"                  	 	 	 	 	 	 d_d-       Zej"                  	 	 	 	 	 	 d`d.       Zej"                  	 	 	 	 	 	 dad/       Zej"                  	 	 	 	 	 	 dbd0       Zej"                  	 	 	 	 	 	 dcd1       Z	 	 	 	 	 	 ddd2Z ej4                  d34       G d5 d6             Z ej4                  d34       G d7 d8e             Z ej4                  d34       G d9 d:e             Z G d; d<ej<                        Z e       Z  G d= d>eej                        Z! G d? d@ej<                        Z" e"       Z#y)e    )annotationsN)Literalc                      e Zd ZdZdZdZdZy)SizingzWidget sizing methods.flowboxfixedN)__name__
__module____qualname____doc__FLOWBOXFIXED     _/home/ubuntu/.cache/pipx/cdb5059130eadca/lib/python3.12/site-packages/urwid/widget/constants.pyr   r      s     D
CEr   r   c                      e Zd ZdZdZdZdZy)AlignzText alignment modesleftrightcenterN)r
   r   r   r   LEFTRIGHTCENTERr   r   r   r   r      s    DEFr   r   c                      e Zd ZdZdZdZdZy)VAlignzFiller alignmenttopmiddlebottomN)r
   r   r   r   TOPMIDDLEBOTTOMr   r   r   r   r      s    
CFFr   r   c                       e Zd ZdZdZdZdZdZy)WrapModezText wrapping modesspaceanyclipellipsisN)r
   r   r   r   SPACEANYCLIPELLIPSISr   r   r   r%   r%   '   s    E
CDHr   r%   c                  (    e Zd ZdZdZdZdZdZdZdZ	y)	
WHSettingszWidth and Height settingspackgivenrelativeweightr(   r   N)
r
   r   r   r   PACKGIVENRELATIVEWEIGHTr,   r   r   r   r   r/   r/   0   s#    #DEHFDDr   r/   d   c                     y Nr   alignerrs     r   normalize_alignr>   >   s     r   c                     y r:   r   r;   s     r   r>   r>   E        03r   c                ,   | t         j                  t         j                  t         j                  hv rt        |       dfS t	        | t
              r;t        |       dk(  r-| d   t        j                  k(  r| \  }}t        j                  |fS  |d| d      )zy
    Split align into (align_type, align_amount).  Raise exception err
    if align doesn't match a valid alignment.
    N   r   zalign value zS is not one of 'left', 'center', 'right', ('relative', percentage 0=left 100=right))	r   r   r   r   
isinstancetuplelenr/   r6   )r<   r=   _align_typealign_amounts       r   r>   r>   L   s     U\\5;;77ed##%CJ!OaJDWDW8W$)!\##\22

uirs r   c                     y r:   r   
align_typerG   s     r   simplify_alignrK   `   r@   r   c                     y r:   r   rI   s     r   rK   rK   g        r   c                     y r:   r   rI   s     r   rK   rK   n   s     r   c                    | t         j                  k(  r-t        |t              st	        |      t         j                  |fS t        |       S )zc
    Recombine (align_type, align_amount) into an align value.
    Inverse of normalize_align.
    )r/   r6   rC   int	TypeErrorr   rI   s     r   rK   rK   u   sC     Z(((,,L))##\22r   c                     y r:   r   valignr=   s     r   normalize_valignrU      s     r   c                     y r:   r   rS   s     r   rU   rU      r@   r   c                ,   | t         j                  t         j                  t         j                  hv rt        |       dfS t	        | t
              r;t        |       dk(  r-| d   t        j                  k(  r| \  }}t        j                  |fS  |d| d      )z{
    Split align into (valign_type, valign_amount).  Raise exception err
    if align doesn't match a valid alignment.
    NrB   r   zvalign value zS is not one of 'top', 'middle', 'bottom', ('relative', percentage 0=left 100=right))	r   r!   r"   r#   rC   rD   rE   r/   r6   )rT   r=   _valign_typevalign_amounts       r   rU   rU      s     &**fmmV]];;v%%&% S[A%5&)zGZGZ:Z&,#m##]33

z!tu r   c                     y r:   r   valign_typerY   s     r   simplify_valignr]      s     r   c                     y r:   r   r[   s     r   r]   r]      r@   r   c                     y r:   r   r[   s     r   r]   r]      rM   r   c                    | t         j                  k(  r-t        |t              st	        |      t         j                  |fS t        |       S )zg
    Recombine (valign_type, valign_amount) into an valign value.
    Inverse of normalize_valign.
    )r/   r6   rC   rP   rQ   r   r[   s     r   r]   r]      sC     j)))--M**##]33+r   c                     y r:   r   widthr=   s     r   normalize_widthrd      s     >Ar   c                     y r:   r   rb   s     r   rd   rd           -0r   c                     y r:   r   rb   s     r   rd   rd      r@   r   c                     y r:   r   rb   s     r   rd   rd           69r   c                f   | t         j                  t         j                  hv rt        |       dfS t        | t              rt         j
                  | fS t        | t              rEt        |       dk(  r7| d   t         j                  t         j                  hv r| \  }}t        |      |fS  |d| d      )zy
    Split width into (width_type, width_amount).  Raise exception err
    if width doesn't match a valid alignment.
    NrB   r   zwidth value z^ is not one offixed number of columns, 'pack', ('relative', percentage of total width), 'clip')
r/   r,   r4   rC   rP   r5   rD   rE   r6   r7   )rc   r=   
width_typewidth_amounts       r   rd   rd      s    " *//225!4((%  %((%CJ!OaZEXEXZdZkZkDl8l#( 
L:&55

ui  [ 	\ r   c                     y r:   r   rk   rl   s     r   simplify_widthro          14r   c                     y r:   r   rn   s     r   ro   ro          r   c                     y r:   r   rn   s     r   ro   ro     r@   r   c                     y r:   r   rn   s     r   ro   ro     ri   r   c                     y r:   r   rn   s     r   ro   ro   $  rM   r   c                    | t         j                  t         j                  hv rt        |       S t        |t              st        |      | t         j                  k(  r|S t        |       |fS )zc
    Recombine (width_type, width_amount) into an width value.
    Inverse of normalize_width.
    )r/   r,   r4   rC   rP   rQ   r5   rn   s     r   ro   ro   +  s]     jooz77*%%lC(%%Z%%%z"L11r   c                     y r:   r   heightr=   s     r   normalize_heightrz   D  rf   r   c                     y r:   r   rx   s     r   rz   rz   K  s     :=r   c                     y r:   r   rx   s     r   rz   rz   R  r@   r   c                     y r:   r   rx   s     r   rz   rz   Y  ri   r   c                   | t         j                  k(  rt         j                  dfS | t        j                  k(  rt        j                  dfS t	        | t
              rFt        |       dk(  r8| d   t        j                  t        j                  hv rt        | d         | d   fS t	        | t              rt        j                  | fS  |d| d      )zi
    Split height into (height_type, height_amount).  Raise exception err
    if height isn't valid.
    NrB   r      zheight value zX is not one of fixed number of columns, 'pack', ('relative', percentage of total height))r   r   r/   r4   rC   rD   rE   r6   r7   rP   r5   rx   s     r   rz   rz   `  s    " T"" &&&% S[A%5&)
H[H[]g]n]nGo:o6!9%vay11&#  &))

z "T 	U r   c                     y r:   r   height_typeheight_amounts     r   simplify_heightr     rp   r   c                     y r:   r   r   s     r   r   r     rr   r   c                     y r:   r   r   s     r   r   r     r@   r   c                     y r:   r   r   s     r   r   r     ri   r   c                     y r:   r   r   s     r   r   r     rM   r   c                    | t         j                  t         j                  hv rt        |       S t        |t              st        |      | t         j                  k(  r|S t        |       |fS )zf
    Recombine (height_type, height_amount) into a height value.
    Inverse of normalize_height.
    )r/   r   r4   rC   rP   rQ   r5   r   s     r   r   r     s]    0 z
88+&&mS)&&j&&&{#]33r   T)frozenc                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   y)_BoxSymbolszBox symbols for drawing.str
HORIZONTALVERTICALTOP_LEFT	TOP_RIGHTBOTTOM_LEFTBOTTOM_RIGHTLEFT_TRIGHT_TTOP_TBOTTOM_TCROSSNr
   r   r   r   __annotations__r   r   r   r   r     s>    "OMMNKLJMJr   r   c                  N    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   y	)
_BoxSymbolsWithDashesz8Box symbols for drawing.

    Extra dashes symbols.
    r   HORIZONTAL_4_DASHESHORIZONTAL_3_DASHESHORIZONTAL_2_DASHESVERTICAL_2_DASHVERTICAL_3_DASHVERTICAL_4_DASHNr   r   r   r   r   r     s-    
 r   r   c                  :    e Zd ZU dZded<   ded<   ded<   ded<   y)_LightBoxSymbolszBox symbols for drawing.

    The Thin version includes extra symbols.
    Symbols are ordered as in Unicode except dashes.
    r   TOP_LEFT_ROUNDEDTOP_RIGHT_ROUNDEDBOTTOM_LEFT_ROUNDEDBOTTOM_RIGHT_ROUNDEDNr   r   r   r   r   r     s!     r   r   c                      e Zd ZU dZ edddddddd	d
dddddddddddd      Zded<    edddddddd d!d"d#d$d%d&d'd(d)      Zd*ed+<    e	d,d-d.d/d0d1d2d3d4d5d6      Z
d7ed8<   y9):_BoxSymbolsCollectionzStandard Unicode box symbols for basic tables drawing.

    .. note::
        Transitions are not included: depends on line types, different kinds of transitions are available.
        Please check Unicode table for transitions symbols if required.
    u   ─u   │u   ┌u   ┐u   └u   ┘u   ├u   ┤u   ┬u   ┴u   ┼u   ┈u   ┄u   ╌u   ╎u   ┆u   ┊u   ╭u   ╮u   ╰u   ╯r   LIGHTu   ━u   ┃u   ┏u   ┓u   ┗u   ┛u   ┣u   ┫u   ┳u   ┻u   ╋u   ┉u   ┅u   ╍u   ╏u   ┇u   ┋r   HEAVYu   ═u   ║u   ╔u   ╗u   ╚u   ╝u   ╠u   ╣u   ╦u   ╩u   ╬r   DOUBLEN)r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r     s     /ueUE5%ueUZ\achjoqvx}  @E  GL  NS  UZE  $9ueUE5%ueUZ\achjoqvx}$E   &ueUE5%ueFK r   r   c                      e Zd ZdZdZdZy)BAR_SYMBOLSah  Standard Unicode bar symbols excluding empty space.

    Start from space (0), then 1/8 till full block (1/1).
    Typically used only 8 from this symbol collection depends on use-case:
    * empty - 7/8 and styles for BG different on both sides (like standard `ProgressBar` and `BarGraph`)
    * 1/8 - full block and single style for BG on the right side
    u    ▏▎▍▌▋▊▉█u    ▁▂▃▄▅▆▇█N)r
   r   r   r   
HORISONTALr   r   r   r   r   r     s     -J,Hr   r   c                  J    e Zd ZU dZdZded<   dZded<   dZded<   d	Zded
<   y)_SHADE_SYMBOLSz-Standard shade symbols excluding empty space.u   █r   
FULL_BLOCKu   ▓
DARK_SHADEu   ▒MEDIUM_SHADEu   ░
LITE_SHADEN)	r
   r   r   r   r   r   r   r   r   r   r   r   r   r      s/    7 JJL#Jr   r   )r<   *Literal['left', 'center', 'right'] | Alignr=   type[BaseException]returnztuple[Align, None])r<   4tuple[Literal['relative', WHSettings.RELATIVE], int]r=   r   r   (tuple[Literal[WHSettings.RELATIVE], int])r<   zaLiteral['left', 'center', 'right'] | Align | tuple[Literal['relative', WHSettings.RELATIVE], int]r=   r   r   z=tuple[Align, None] | tuple[Literal[WHSettings.RELATIVE], int])rJ   (Literal['relative', WHSettings.RELATIVE]rG   rP   r   r   )rJ   r   rG   Noner   typing.NoReturn)rJ   r   rG   
int | Noner   r   )rJ   zKLiteral['left', 'center', 'right', 'relative', WHSettings.RELATIVE] | AlignrG   r   r   z0Align | tuple[Literal[WHSettings.RELATIVE], int])rT   +Literal['top', 'middle', 'bottom'] | VAlignr=   r   r   ztuple[VAlign, None])rT   r   r=   r   r   r   )rT   zbLiteral['top', 'middle', 'bottom'] | VAlign | tuple[Literal['relative', WHSettings.RELATIVE], int]r=   r   r   z>tuple[VAlign, None] | tuple[Literal[WHSettings.RELATIVE], int])r\   r   rY   r   r   r   )r\   r   rY   rP   r   r   )r\   r   rY   r   r   r   )r\   zLLiteral['top', 'middle', 'bottom', 'relative', WHSettings.RELATIVE] | VAlignrY   r   r   z1VAlign | tuple[Literal[WHSettings.RELATIVE], int])rc   9Literal['clip', 'pack', WHSettings.CLIP, WHSettings.PACK]r=   r   r   z6tuple[Literal[WHSettings.CLIP, WHSettings.PACK], None])rc   rP   r=   r   r   %tuple[Literal[WHSettings.GIVEN], int])rc   r   r=   r   r   r   )rc   8tuple[Literal['weight', WHSettings.WEIGHT], int | float]r=   r   r   .tuple[Literal[WHSettings.WEIGHT], int | float])rc   zLiteral['clip', 'pack', WHSettings.CLIP, WHSettings.PACK] | int | tuple[Literal['relative', WHSettings.RELATIVE], int] | tuple[Literal['weight', WHSettings.WEIGHT], int | float]r=   r   r   ztuple[Literal[WHSettings.CLIP, WHSettings.PACK], None] | tuple[Literal[WHSettings.GIVEN, WHSettings.RELATIVE], int] | tuple[Literal[WHSettings.WEIGHT], int | float])rk   r   rl   r   r   z)Literal[WHSettings.CLIP, WHSettings.PACK])rk   "Literal['given', WHSettings.GIVEN]rl   rP   r   rP   )rk   r   rl   rP   r   r   )rk   $Literal['weight', WHSettings.WEIGHT]rl   zint | floatr   r   )rk   z`Literal['given', 'relative', 'weight', WHSettings.GIVEN, WHSettings.RELATIVE, WHSettings.WEIGHT]rl   r   r   r   )rk   zCLiteral['clip', 'pack', 'given', 'relative', 'weight'] | WHSettingsrl   int | float | Noner   zLiteral[WHSettings.CLIP, WHSettings.PACK] | int | tuple[Literal[WHSettings.RELATIVE], int] | tuple[Literal[WHSettings.WEIGHT], int | float])ry   rP   r=   r   r   r   )ry   z5Literal['flow', 'pack', Sizing.FLOW, WHSettings.PACK]r=   r   r   z2tuple[Literal[Sizing.FLOW, WHSettings.PACK], None])ry   r   r=   r   r   r   )ry   r   r=   r   r   r   )ry   zint | Literal['flow', 'pack', Sizing.FLOW, WHSettings.PACK] | tuple[Literal['relative', WHSettings.RELATIVE], int] | tuple[Literal['weight', WHSettings.WEIGHT], int | float]r=   r   r   ztuple[Literal[Sizing.FLOW, WHSettings.PACK], None] | tuple[Literal[WHSettings.RELATIVE, WHSettings.GIVEN], int] | tuple[Literal[WHSettings.WEIGHT], int | float])r   z9Literal['flow', 'pack', WHSettings.FLOW, WHSettings.PACK]r   r   r   z)Literal[WHSettings.FLOW, WHSettings.PACK])r   r   r   rP   r   rP   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   z`Literal['relative', 'given', 'weight', WHSettings.RELATIVE, WHSettings.GIVEN, WHSettings.WEIGHT]r   r   r   r   )r   zLiteral['flow', 'pack', 'relative', 'given', 'weight', WHSettings.FLOW, WHSettings.PACK, WHSettings.RELATIVE, WHSettings.GIVEN, WHSettings.WEIGHT]r   r   r   zint | Literal[WHSettings.FLOW, WHSettings.PACK] | tuple[Literal[WHSettings.RELATIVE], int] | tuple[Literal[WHSettings.WEIGHT], int | float])$
__future__r   dataclassesenumtypingTYPE_CHECKINGtyping_extensionsr   r   Enumr   r   r   r%   r/   r6   RELATIVE_100overloadr>   rK   rU   r]   rd   ro   rz   r   	dataclassr   r   r   
NamedTupler   BOX_SYMBOLSr   r   SHADE_SYMBOLSr   r   r   <module>r      s   "   	)S$)) C S$)) sDII dii  ##S) 5	   3?3	3 .3 3l	 C( 3833 .3 3 8   :  [ 6  7	   3@3	3 .3 3n	 D( <   3933 .3 3 9  ] 7 ADA	A <A A 00	0 +0 0 3?3	3 .3 3 9C9	9 49 9	C 
5B 4I44 /4 4 2 	  3833 .3 3 9499 49 9 p  2S2$25	22 00	0 +0 0 =A=	= 8= = 3@3	3 .3 3 9D9	9 49 9 	C  
 5 F 4J44 /4 4 3 	  3933 .3 3 959%9 49 9 q  !4!4 &!45!4H d#  $" d#K  $ d#
, 
 $
F-- * $%-#tyy -V&&   r   