Ë
    V.jí  ã                  óp   — d Z ddlmZ ddlmZ g d¢ZeZddd„Zddd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zdd„Zy)zß
Key bindings, for scrolling up and down through pages.

This are separate bindings, because GNU readline doesn't have them, but
they are very useful for navigating through long multiline buffers, like in
Vi, Emacs, etc...
é    )Úannotations)ÚKeyPressEvent)Úscroll_forwardÚscroll_backwardÚscroll_half_page_upÚscroll_half_page_downÚscroll_one_line_upÚscroll_one_line_downc                óæ  — | j                   j                  j                  }| j                   j                  }|r¹|j                  r¬|j                  }|j
                  }|j                  }|r|dz  }|j                  j                  dz   }d}||j                  k  r5|j                  |«      }	||	z   |k  r||	z  }|dz  }nn||j                  k  rŒ5|j                  j                  |d«      |_        yyy)z
    Scroll window down.
    é   é   r   N)ÚappÚlayoutÚcurrent_windowÚcurrent_bufferÚrender_infoÚ
ui_contentÚwindow_heightÚdocumentÚcursor_position_rowÚ
line_countÚget_height_for_lineÚtranslate_row_col_to_indexÚcursor_position)
ÚeventÚhalfÚwÚbÚinfor   Úscroll_heightÚyÚheightÚline_heights
             úlC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\prompt_toolkit/key_binding/bindings/scroll.pyr   r      së   € ð 	�	‰	×Ñ×'Ñ'€AØ�	‰	× Ñ €AáˆQ�]Š]Ø�}‰}ˆØ—_‘_ˆ
ð ×*Ñ*ˆÙØ˜aÑˆMð �J‰J×*Ñ*¨QÑ.ˆØˆØ�*×'Ñ'Ò'Ø×2Ñ2°1Ó5ˆKà˜Ñ# mÒ3Ø˜+Ñ%�Ø�Q‘‘àð �*×'Ñ'Ó'ð ŸJ™J×AÑAÀ!ÀQÓGˆÕð+ €qó    c                óº  — | j                   j                  j                  }| j                   j                  }|r£|j                  r–|j                  }|j
                  }|r|dz  }t        d|j                  j                  dz
  «      }d}|dkD  r+|j                  |«      }||z   |k  r||z  }|dz  }nn|dkD  rŒ+|j                  j                  |d«      |_        yyy)z
    Scroll window up.
    r   r   r   N)r   r   r   r   r   r   Úmaxr   r   r   r   r   )	r   r   r   r   r   r    r!   r"   r#   s	            r$   r   r   8   sÛ   € ð 	�	‰	×Ñ×'Ñ'€AØ�	‰	× Ñ €AáˆQ�]Š]Ø�}‰}ˆð ×*Ñ*ˆÙØ˜aÑˆMô ��1—:‘:×1Ñ1°AÑ5Ó6ˆØˆØ�!ŠeØ×2Ñ2°1Ó5ˆKà˜Ñ# mÒ3Ø˜+Ñ%�Ø�Q‘‘àð �!‹eð ŸJ™J×AÑAÀ!ÀQÓGˆÕð) €qr%   c                ó   — t        | d¬«       y)z8
    Same as ControlF, but only scroll half a page.
    T©r   N)r   ©r   s    r$   r   r   V   s   € ô �5˜tÖ$r%   c                ó   — t        | d¬«       y)z8
    Same as ControlB, but only scroll half a page.
    Tr)   N)r   r*   s    r$   r   r   ]   s   € ô �E Ö%r%   c                óÔ  — | j                   j                  j                  }| j                   j                  }|r°|j                  r£|j                  }|j
                  |j                  |j                  z
  k  rp|j                  j                  |j                  j                  k  r-|xj                  |j                  j                  «       z  c_        |xj
                  dz  c_        yyyy)z
    scroll_offset += 1
    r   N)r   r   r   r   r   Úvertical_scrollÚcontent_heightr   r   r!   Úconfigured_scroll_offsetsÚtopr   Úget_cursor_down_position)r   r   r   r   s       r$   r
   r
   d   s¹   € ð 	�	‰	×Ñ×'Ñ'€AØ�	‰	× Ñ €Aáà�=Š=Ø—=‘=ˆDà× Ñ  4×#6Ñ#6¸×9KÑ9KÑ#KÒKØ×'Ñ'×)Ñ)¨T×-KÑ-K×-OÑ-OÒOØ×%Ò%¨¯©×)LÑ)LÓ)NÑNÕ%à×!Ò! QÑ&Ö!ð	 Lð ð 	r%   c                ó>  — | j                   j                  j                  }| j                   j                  }|rå|j                  rØ|j                  }|j
                  dkD  r¼|j                  |j                  «       «      }|j                  j                  |j                  dz
  |z
  |j                  j                  z
  z
  }t        t        d|«      «      D ]/  }|xj                  |j                  j!                  «       z  c_        Œ1 |xj
                  dz  c_        yyyy)z
    scroll_offset -= 1
    r   r   N)r   r   r   r   r   r-   r   Úfirst_visible_liner   r!   r   r/   ÚbottomÚranger'   r   Úget_cursor_up_position)r   r   r   r   Úfirst_line_heightÚ	cursor_upÚ_s          r$   r	   r	   w   s   € ð 	�	‰	×Ñ×'Ñ'€AØ�	‰	× Ñ €Aáà�=Š=Ø—=‘=ˆDà× Ñ  1Ò$Ø$(×$<Ñ$<¸T×=TÑ=TÓ=VÓ$WÐ!à ×0Ñ0×2Ñ2Ø×&Ñ&Øñà'ñ(ð ×4Ñ4×;Ñ;ñ<ñ�	ô œs 1 iÓ0Ö1�AØ×%Ò%¨¯©×)JÑ)JÓ)LÑLÖ%ð 2ð ×!Ò! QÑ&Ö!ð! %ð ð 	r%   c                ó   — | j                   j                  j                  }| j                   j                  }|r–|j                  r‰t        |j                  j                  «       |j                  dz   «      }||_        |j                  j                  |d«      |_
        |xj                  |j                  j                  d¬«      z  c_
        yyy)zX
    Scroll page down. (Prefer the cursor at the top of the page, after scrolling.)
    r   r   T©Úafter_whitespaceN)r   r   r   r   r   r'   Úlast_visible_liner-   r   r   r   Úget_start_of_line_position©r   r   r   Ú
line_indexs       r$   Úscroll_page_downrA   –   s©   € ð 	�	‰	×Ñ×'Ñ'€AØ�	‰	× Ñ €AáˆQ�]Š]ä˜Ÿ™×8Ñ8Ó:¸A×<MÑ<MÐPQÑ<QÓRˆ
Ø&ˆÔàŸJ™J×AÑAÀ*ÈaÓPˆÔØ	×Ò˜QŸZ™Z×BÑBØ!ð Có 
ñ 	
Öð €qr%   c                óÈ  — | j                   j                  j                  }| j                   j                  }|rª|j                  r�t        dt        |j                  j                  «       |j                  j                  dz
  «      «      }|j                  j                  |d«      |_        |xj                  |j                  j                  d¬«      z  c_        d|_        yyy)zY
    Scroll page up. (Prefer the cursor at the bottom of the page, after scrolling.)
    r   r   Tr;   N)r   r   r   r   r   r'   Úminr3   r   r   r   r   r>   r-   r?   s       r$   Úscroll_page_uprD   ¨   s¾   € ð 	�	‰	×Ñ×'Ñ'€AØ�	‰	× Ñ €AáˆQ�]Š]ô ØÜ�—‘×0Ñ0Ó2°A·J±J×4RÑ4RÐUVÑ4VÓWó
ˆ
ð
 ŸJ™J×AÑAÀ*ÈaÓPˆÔØ	×Ò˜QŸZ™Z×BÑBØ!ð Có 
ñ 	
Õð ˆÕð €qr%   N)F)r   ÚEr   ÚboolÚreturnÚNone)r   rE   rG   rH   )Ú__doc__Ú
__future__r   Ú(prompt_toolkit.key_binding.key_processorr   Ú__all__rE   r   r   r   r   r
   r	   rA   rD   © r%   r$   Ú<module>rN      sJ   ðñõ #å Bò€ð €ôHô>Hó<%ó&ó'ó&'ó>
ô$r%   