
    @OOf                     $   d dl Z d dlZd dlmZ d dlmZ d dlmZ dZ G d dej                        Z	 G d dej                        Z G d	 d
ej                        Z G d dej                        Z G d dej                   ej"                        Zy)    N)layoutwidget)signals   c                   6     e Zd Z fdZd Zd Zd Zd Z xZS )KeyItemc                 z    |||c| _         | _        | _        t        |   d        | j                         | _        y N)walkerbindingfocusedsuper__init__
get_widget_w)selfr
   r   r   	__class__s       d/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/tools/console/keybindings.pyr   zKeyItem.__init__   s4    28'7/T\4<//#    c           	         t        j                  | j                  j                        j	                         }dt        j                  d| j                  rdndfg      fdt        j                  d| j                  j                  fg      fdt        j                  dd	j                  | j                  j                        fg      ft        j                  d
|fg      g}t        j                  |      S )N   focusz>> z   
   title   	highlight
text)textwrapdedentr   commandstripurwidTextr   keyjoincontextsColumns)r   cmdpartss      r   r   zKeyItem.get_widget   s    oodll22399;

Wt||eGHIJgt||'7'789:;k499T\\5J5J+KLMNOJJ'	
 }}U##r   c                 <    | j                   d   j                         S )N   )r   get_edit_textr   s    r   r,   zKeyItem.get_edit_text   s    wwqz''))r   c                      y)NT r-   s    r   
selectablezKeyItem.selectable   s    r   c                     |S r	   r/   )r   sizer$   s      r   keypresszKeyItem.keypress"   s    
r   )	__name__
__module____qualname__r   r   r,   r0   r3   __classcell__r   s   @r   r   r      s    $
$*r   r   c                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
dd	Zy
)KeyListWalkerc                    || _         || _        d| _        d | _        t	        |j
                  j	                  d            | _        | j                  d       t        j                  j                  | j                         y )Nr   all)keybinding_focus_changemasterindexfocusobjlistkeymapbindings	set_focusr   keybindings_changeconnectsig_modified)r   r>   r=   s      r   r   zKeyListWalker.__init__'   s`    '>$
V]]//67q""**4+<+<=r   c                     t        | j                  j                  j                  d            | _        | j	                  t        | j                  t        | j                        dz
               | j                          y )Nr<   r+   )	rA   r>   rB   rC   rD   minr?   len	_modifiedr-   s    r   rG   zKeyListWalker.sig_modified1   sR    T[[//44U;<s4::s4=='9A'=>?r   c                 6    | j                   j                         S r	   )	focus_objr,   r-   s    r   r,   zKeyListWalker.get_edit_text6   s    ~~++--r   c                 T    | j                   |   }t        | ||| j                  k(        S r	   )rC   r   r?   )r   posr   s      r   _getzKeyListWalker._get9   s(    --$tWcTZZ&788r   c                 2    | j                   | j                  fS r	   )rM   r?   r-   s    r   	get_focuszKeyListWalker.get_focus=   s    ~~tzz))r   c                     | j                   |   }|| _        | j                  | j                        | _        | j                  j                  |j                  xs d       | j                          y )N )rC   r?   rP   rM   r=   sendhelprK   )r   r?   r   s      r   rD   zKeyListWalker.set_focus@   sR    --&
4::.$$))',,*<"=r   c                 j    |t        | j                        dz
  k\  ry|dz   }| j                  |      |fS )Nr+   NN)rJ   rC   rP   r   rO   s     r   get_nextzKeyListWalker.get_nextG   s7    #dmm$q((Agyy~s""r   c                 >    |dz
  }|dk  ry| j                  |      |fS )Nr+   r   rX   )rP   rY   s     r   get_prevzKeyListWalker.get_prevM   s(    Ag7yy~s""r   c                     |r't        t        t        | j                                    S t        t        | j                              S r	   )reversedrangerJ   rC   )r   reverses     r   	positionszKeyListWalker.positionsS   s2    E#dmm"4566T]]+,,r   N)F)r4   r5   r6   r   rG   r,   rP   rR   rD   rZ   r\   ra   r/   r   r   r:   r:   &   s/    >
.9*##-r   r:   c                   (     e Zd Z fdZ fdZ xZS )KeyListc                 h    || _         t        ||      | _        t        |   | j                         y r	   )r>   r:   r
   r   r   r   r>   r=   r   s      r   r   zKeyList.__init__[   s*    #F,CD%r   c                 X   |dk(  r| j                         \  }}n|dk(  r,| j                  d       | j                  j                          nP|dk(  rK| j                  t	        | j                  j
                        dz
         | j                  j                          t        |   ||      S )Nm_selectm_startr   m_endr+   )rR   rD   r
   rK   rJ   rC   r   r3   )r   r2   r$   focidxr   s        r   r3   zKeyList.keypress`   s    *~~'HCINN1KK!!#G^NN3t{{334q89KK!!#wc**r   )r4   r5   r6   r   r3   r7   r8   s   @r   rc   rc   Z   s    &

+ 
+r   rc   c                   0     e Zd Z fdZd Zd Zd Z xZS )KeyHelpc                     || _         t        | 	  | j                  d             | j	                  d       |j                  | j                         y )NrT   F)r>   r   r   widget
set_activerF   sig_modre   s      r   r   zKeyHelp.__init__n   s=    R)''5r   c                 p    t        j                  d      }|rdnd}t        j                  ||      | _        y )NzKey Binding Helpheadingheading_inactive)r"   r#   AttrWrapheader)r   valhstyles       r   rp   zKeyHelp.set_activet   s-    JJ)* 	&8nnQ.r   c                     | j                   j                  j                         \  }}t        j                  t        j                  ||      D cg c]  }t        j                  |       c}      S c c}w r	   )r>   uiget_cols_rowsr"   ListBoxr   wrapr#   )r   txtcols_is        r   ro   zKeyHelp.widgety   sL    ++....0a}}X]]35MNejjmNOONs   A2c                 D    | j                  | j                  |             y r	   )set_bodyro   )r   r   s     r   rq   zKeyHelp.sig_mod}   s    dkk#&'r   )r4   r5   r6   r   rp   ro   rq   r7   r8   s   @r   rm   rm   m   s    6/
P(r   rm   c                   >     e Zd ZU dZdZeed<    fdZd Zd Z	 xZ
S )KeyBindingszKey Bindingskeybindingsfocus_positionc                     t        j                  d       }t        ||      }t        |   t        ||      t        |fg       || _        y )Nc                      y r	   r/   )r   s    r   <lambda>z&KeyBindings.__init__.<locals>.<lambda>   s    r   )utils_signals
SyncSignalrm   r   r   rc   HELP_HEIGHTr>   )r   r>   r=   ohr   s       r   r   zKeyBindings.__init__   sP    "/":":;L"MV45 78b!	
 r   c                     | j                   dk7  ry | j                  d   }|j                  j                         d   j                  S )Nr   )r   widget_listr
   rR   r   )r   fs     r   get_focused_bindingzKeyBindings.get_focused_binding   sA    !#Qxx!!#A&...r   c                    |dk(  rW| j                   dz   t        | j                        z  | _         | j                  d   j                  | j                   dk(         d }d }t        |      dk(  r| j	                  |d      }| j                  j                  | j                        }| j                  ||d|      }| j                  j                  ||      S )Nm_nextr+      T)r   )	r   rJ   r   rp   get_item_rowsr?   
focus_itemget_item_sizer3   )r   r2   r$   	item_rowsr   tsizes         r   r3   zKeyBindings.keypress   s    (?#'#6#6#:c$BRBR>S"SDQ**4+>+>!+CDC 	t9>**4t*<I""4??3""4D)<''s33r   )r4   r5   r6   r   keyctxint__annotations__r   r   r3   r7   r8   s   @r   r   r      s"    EF
/4r   r   )r   r"   mitmproxy.tools.consoler   r   mitmproxy.utilsr   r   
WidgetWrapr   
ListWalkerr:   r}   rc   Framerm   PileLayoutWidgetr   r/   r   r   <module>r      sv      0 + 4e 41-E$$ 1-h+emm +&(ekk (($4%**l77 $4r   