§
    ŒŸj²L  ã                  ó  — d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ d
dlmZmZm Z  ddl!m"Z" g d¢Z#eZ$edd„¦   «         Z%edd„¦   «         Z&dd„Z'dd„Z(dd„Z)dS )é    )Úannotations)Úget_app)ÚBufferÚindentÚunindent)ÚCompleteEvent)
Ú	ConditionÚemacs_insert_modeÚ
emacs_modeÚhas_argÚhas_selectionÚin_paste_modeÚis_multilineÚis_read_onlyÚshift_selection_modeÚvi_search_direction_reversed)ÚBinding)ÚKeyPressEvent)ÚKeys)ÚSelectionTypeé   )ÚConditionalKeyBindingsÚKeyBindingsÚKeyBindingsBaseé   )Úget_by_name)Úload_emacs_bindingsÚload_emacs_search_bindingsÚ#load_emacs_shift_selection_bindingsÚreturnÚboolc                 ó2   — t          ¦   «         j        j        S ©N)r   Úcurrent_bufferÚis_returnable© ó    úv/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/prompt_toolkit/key_binding/bindings/emacs.pyr%   r%   $   s   € å‰9Œ9Ô#Ô1Ð1r'   c                 ó:   — t          ¦   «         j        j        dk    S )Nú-)r   Úkey_processorÚargr&   r'   r(   Úis_argr-   )   s   € å‰9Œ9Ô"Ô&¨#Ò-Ð-r'   r   c                 ó  ‡‡— t          ¦   «         } | j        Št          } ‰d¦  «        dwd„¦   «         }  ‰d¦  «        t          d¦  «        ¦  «           ‰d	¦  «        t          d
¦  «        ¦  «           ‰d|¬¦  «        t          d¦  «        ¦  «           ‰d¦  «        t          d¦  «        ¦  «           ‰d¦  «        t          d¦  «        ¦  «           ‰d¦  «        t          d¦  «        ¦  «           ‰d¦  «        t          d¦  «        ¦  «           ‰ddd|¬¦  «        t          d¦  «        ¦  «           ‰d|¬¦  «        t          d¦  «        ¦  «           ‰dd¦  «        t          d¦  «        ¦  «           ‰dd|¬¦  «        t          d¦  «        ¦  «           ‰dd|¬¦  «        t          d¦  «        ¦  «           ‰dd¦  «        t          d¦  «        ¦  «           ‰dd |¬¦  «        t          d!¦  «        ¦  «           ‰dd"|¬¦  «        t          d#¦  «        ¦  «           ‰dd|¬¦  «        t          d$¦  «        ¦  «           ‰dd%|¬¦  «        t          d&¦  «        ¦  «           ‰dd'|¬¦  «        t          d(¦  «        ¦  «           ‰d)¦  «        t          d*¦  «        ¦  «           ‰d+¦  «        t          d,¦  «        ¦  «           ‰d-d.„ |¬/¦  «        t          d0¦  «        ¦  «           ‰dd1d2„ |¬/¦  «        t          d0¦  «        ¦  «           ‰dd3t           ¬¦  «        t          d4¦  «        ¦  «           ‰dd5t           ¬¦  «        t          d6¦  «        ¦  «           ‰dd7|¬¦  «        t          d8¦  «        ¦  «           ‰dd9|¬¦  «        t          d8¦  «        ¦  «           ‰dd|¬¦  «        t          d:¦  «        ¦  «           ‰dd;|¬¦  «        t          d<¦  «        ¦  «           ‰d=¦  «        t          d>¦  «        ¦  «           ‰d?t           ¬¦  «        t          d@¦  «        ¦  «           ‰ddA¦  «        t          dB¦  «        ¦  «           ‰ddC¦  «        t          dD¦  «        ¦  «           ‰ddE¦  «        t          dF¦  «        ¦  «          ‰dG¦  «        dwdH„¦   «         } ‰dI¦  «        dwdJ„¦   «         }dxˆfdL„}dMD ]} ||¦  «         Œ ‰ddNt
           ¬¦  «        dwdO„¦   «         } ‰dNt          ¬¦  «        dwdP„¦   «         }  ‰ddQ|t          z  ¬¦  «        t          dR¦  «        ¦  «           ‰dQ|t          z  t           z  ¬¦  «        t          dR¦  «        ¦  «         dydX„Š ‰dYt          j
        ¦  «        dwˆfdZ„¦   «         }	 ‰ddYt          j
        ¦  «        dwˆfd[„¦   «         }
 ‰dd\¦  «        dwd]„¦   «         } ‰ddE¦  «        dwd^„¦   «         } ‰dd_|¬¦  «        dwd`„¦   «         } ‰dda|¬¦  «        dwdb„¦   «         } ‰dd¦  «        dwdc„¦   «         } ‰dd¦  «        dwde„¦   «         } ‰dft           ¬¦  «        dwdg„¦   «         } ‰dft          ¬¦  «        dwdh„¦   «         } ‰dit          ¬¦  «         ‰dddjt          ¬¦  «        dwdk„¦   «         ¦   «         } ‰ddlt          ¬¦  «        dwdm„¦   «         } ‰ddn¦  «        dwdo„¦   «         } ‰ddp¦  «        dwdq„¦   «         } ‰ddr|¬¦  «        dwds„¦   «         } ‰dtd5t          ¬¦  «        dwdu„¦   «         } ‰dtd3t          ¬¦  «        dwdv„¦   «         }t          | t          ¦  «        S )zz!
    Some e-macs extensions.
    ÚescapeÚeventÚEr    ÚNonec                ó   — dS )a\  
        By default, ignore escape key.

        (If we don't put this here, and Esc is followed by a key which sequence
        is not handled, we'll insert an Escape character in the input stream.
        Something we don't want and happens to easily in emacs mode.
        Further, people can always use ControlQ to do a quoted insert.)
        Nr&   ©r0   s    r(   Ú_escz!load_emacs_bindings.<locals>._esc9   s	   € ð 	ˆr'   zc-aúbeginning-of-linezc-búbackward-charzc-delete©Úfilterz	kill-wordzc-eúend-of-linezc-fúforward-charúc-leftúbackward-wordúc-rightúforward-wordzc-xÚrÚyÚyankúc-yÚbÚczcapitalize-wordÚdÚfÚlzdowncase-wordÚuzuppercase-wordzyank-popÚ	backspacezbackward-kill-wordú\zdelete-horizontal-spaceúc-homeúbeginning-of-bufferúc-endúend-of-bufferzc-_c                ó   — dS ©NFr&   ©Úes    r(   ú<lambda>z%load_emacs_bindings.<locals>.<lambda>[   s   € ¨€ r'   )Úsave_beforer9   Úundozc-uc                ó   — dS rQ   r&   rR   s    r(   rT   z%load_emacs_bindings.<locals>.<lambda>_   s   € °€ r'   ú<zbeginning-of-historyú>zend-of-historyú.zyank-last-argÚ_zyank-nth-argú#zinsert-commentzc-ozoperate-and-get-nextzc-qzquoted-insertú(zstart-kbd-macroú)zend-kbd-macrorS   zcall-last-kbd-macrozc-nc                ó8   — | j                              ¦   «          dS )z
Next line.N)r$   Ú	auto_downr4   s    r(   Ú_nextz"load_emacs_bindings.<locals>._nextu   s   € ð 	Ô×&Ò&Ñ(Ô(Ð(Ð(Ð(r'   zc-pc                óF   — | j                              | j        ¬¦  «         dS )zPrevious line.©ÚcountN)r$   Úauto_upr,   r4   s    r(   Ú_prevz"load_emacs_bindings.<locals>._prevz   s&   € ð 	Ô×$Ò$¨5¬9Ð$Ñ5Ô5Ð5Ð5Ð5r'   Ústrc                ój   •‡ —  ‰‰ t           ¬¦  «         ‰d‰ ¦  «        d	ˆ fd„¦   «         ¦   «         }dS )
ze
        Handle input of arguments.
        The first number needs to be preceded by escape.
        r8   r/   r0   r1   r    r2   c                ó2   •— |                       ‰¦  «         d S r#   )Úappend_to_arg_count)r0   rE   s    €r(   r[   z4load_emacs_bindings.<locals>.handle_digit.<locals>._…   s   ø€ ð ×%Ò% aÑ(Ô(Ð(Ð(Ð(r'   N©r0   r1   r    r2   )r   )rE   r[   Úhandles   ` €r(   Úhandle_digitz)load_emacs_bindings.<locals>.handle_digit   s_   øø€ ð 
ˆ��'Ð	"Ñ	"Ô	"Ø	ˆ�˜!Ñ	Ô	ð	)ð 	)ð 	)ð 	)ð 	)ñ 
Ô	ñ 
#Ô	"ð	)ð 	)ð 	)r'   Ú
0123456789r*   c                óB   — | j         €|                      d¦  «         dS dS )Ú Nr*   )Ú_argrj   r4   s    r(   Ú
_meta_dashz'load_emacs_bindings.<locals>._meta_dash�   s.   € ð Œ:ÐØ×%Ò% cÑ*Ô*Ð*Ð*Ð*ð Ðr'   c                ó(   — d| j         j        _        dS )zp
        When '-' is typed again, after exactly '-' has been given as an
        argument, ignore this.
        r*   N)Úappr+   r,   r4   s    r(   Ú_dashz"load_emacs_bindings.<locals>._dash“   s   € ð '*ˆŒ	ÔÔ#Ð#Ð#r'   Úenterzaccept-lineÚbuffr   Úcharrd   Úintc                ó²   — |dk     r| j                              |d| ¬¦  «        }n| j                              |d|¬¦  «        }|�| xj        |z  c_        d S d S )Nr   T)Úin_current_linerd   )ÚdocumentÚfind_backwardsÚfindÚcursor_position)rw   rx   rd   Úmatchs       r(   Úcharacter_searchz-load_emacs_bindings.<locals>.character_search¥   sx   € Ø�1Š9ˆ9Ø”M×0Ò0Ø d°5°&ð 1ñ ô ˆEˆEð ”M×&Ò& t¸TÈÐ&ÑOÔOˆEàÐØÐ Ô  EÑ)Ð Ô Ð Ð ð Ðr'   zc-]c                ó@   •—  ‰| j         | j        | j        ¦  «         dS )z:When Ctl-] + a character is pressed. go to that character.N©r$   Údatar,   ©r0   r�   s    €r(   Ú
_goto_charz'load_emacs_bindings.<locals>._goto_char°   s'   ø€ ð 	Ð˜Ô-¨u¬z¸5¼9ÑEÔEÐEÐEÐEr'   c                óB   •—  ‰| j         | j        | j         ¦  «         dS )zLike Ctl-], but backwards.Nrƒ   r…   s    €r(   Ú_goto_char_backwardsz1load_emacs_bindings.<locals>._goto_char_backwards¶   s)   ø€ ð 	Ð˜Ô-¨u¬z¸E¼I¸:ÑFÔFÐFÐFÐFr'   Úac                ó   — dS )zPrevious sentence.Nr&   r4   s    r(   Ú_prev_sentencez+load_emacs_bindings.<locals>._prev_sentence¼   ó   € € € r'   c                ó   — dS )zMove to end of sentence.Nr&   r4   s    r(   Ú_end_of_sentencez-load_emacs_bindings.<locals>._end_of_sentenceÁ   rŒ   r'   Útc                ó   — dS )z<
        Swap the last two words before the cursor.
        Nr&   r4   s    r(   Ú_swap_charactersz-load_emacs_bindings.<locals>._swap_charactersÆ   rŒ   r'   Ú*c                óø   — | j         }t          dd¬¦  «        }t          |j                             |j        |¦  «        ¦  «        }d                     d„ |D ¦   «         ¦  «        }|                     |¦  «         dS )zR
        `meta-*`: Insert all possible completions of the preceding text.
        FT)Útext_insertedÚcompletion_requestedú c              3  ó$   K  — | ]}|j         V — Œd S r#   )Útext)Ú.0rE   s     r(   ú	<genexpr>zGload_emacs_bindings.<locals>._insert_all_completions.<locals>.<genexpr>Û   s$   è è € Ð!>Ð!>¨Q !¤&Ð!>Ð!>Ð!>Ð!>Ð!>Ð!>r'   N)r$   r   ÚlistÚ	completerÚget_completionsr|   ÚjoinÚinsert_text)r0   rw   Úcomplete_eventÚcompletionsÚtext_to_inserts        r(   Ú_insert_all_completionsz4load_emacs_bindings.<locals>._insert_all_completionsÍ   sƒ   € ð
 Ô#ˆõ '°UÐQUÐVÑVÔVˆÝØŒN×*Ò*¨4¬=¸.ÑIÔIñ
ô 
ˆð
 ŸšÐ!>Ð!>°+Ð!>Ñ!>Ô!>Ñ>Ô>ˆØ×Ò˜Ñ(Ô(Ð(Ð(Ð(r'   c                óÐ   — | j         }|j        j        r+|xj        |j                             d¬¦  «        z  c_        dS |xj        |j                             ¦   «         z  c_        dS )zc
        Move cursor back and forth between the start and end of the current
        line.
        F©Úafter_whitespaceN)r$   r|   Úis_cursor_at_the_end_of_liner   Úget_start_of_line_positionÚget_end_of_line_position©r0   Úbuffers     r(   Ú_toggle_start_endz.load_emacs_bindings.<locals>._toggle_start_endÞ   s{   € ð Ô%ˆàŒ?Ô7ð 	QØÐ"Ô" f¤o×&PÒ&PØ!&ð 'Qñ 'ô 'ñ Ð"Ô"Ð"Ð"ð Ð"Ô" f¤o×&NÒ&NÑ&PÔ&PÑPÐ"Ô"Ð"Ð"r'   zc-@c                óf   — | j         }|j        r"|                     t          j        ¬¦  «         dS dS )zN
        Start of the selection (if the current buffer is not empty).
        ©Úselection_typeN)r$   r˜   Ústart_selectionr   Ú
CHARACTERS©r0   rw   s     r(   Ú_start_selectionz-load_emacs_bindings.<locals>._start_selectioní   sC   € ð Ô#ˆØŒ9ð 	JØ× Ò µÔ0HÐ ÑIÔIÐIÐIÐIð	Jð 	Jr'   úc-gc                ó6   — d| j         _        d| j         _        dS )zK
        Control + G: Cancel completion menu and validation state.
        N)r$   Úcomplete_stateÚvalidation_errorr4   s    r(   Ú_cancelz$load_emacs_bindings.<locals>._cancel÷   s    € ð
 /3ˆÔÔ+Ø04ˆÔÔ-Ð-Ð-r'   c                ó8   — | j                              ¦   «          dS )ú#
        Cancel selection.
        N)r$   Úexit_selectionr4   s    r(   Ú_cancel_selectionz.load_emacs_bindings.<locals>._cancel_selectionÿ   s   € ð
 	Ô×+Ò+Ñ-Ô-Ð-Ð-Ð-r'   zc-wÚkc                óv   — | j                              ¦   «         }| j        j                             |¦  «         dS )z$
        Cut selected text.
        N)r$   Úcut_selectionrt   Ú	clipboardÚset_data©r0   r„   s     r(   Ú_cutz!load_emacs_bindings.<locals>._cut  s7   € ð Ô#×1Ò1Ñ3Ô3ˆØŒ	Ô×$Ò$ TÑ*Ô*Ð*Ð*Ð*r'   Úwc                óv   — | j                              ¦   «         }| j        j                             |¦  «         dS )z%
        Copy selected text.
        N)r$   Úcopy_selectionrt   rÀ   rÁ   rÂ   s     r(   Ú_copyz"load_emacs_bindings.<locals>._copy  s7   € ð
 Ô#×2Ò2Ñ4Ô4ˆØŒ	Ô×$Ò$ TÑ*Ô*Ð*Ð*Ð*r'   Úleftc                ót   — | j         }|xj        |j                             | j        ¬¦  «        pdz  c_        dS )z3
        Cursor to start of previous word.
        rc   r   N)r$   r   r|   Úfind_previous_word_beginningr,   rª   s     r(   Ú_start_of_wordz+load_emacs_bindings.<locals>._start_of_word  sC   € ð
 Ô%ˆØÐÔØŒO×8Ò8¸u¼yÐ8ÑIÔIÐNÈQñ	
ÐÔÐÐr'   Úrightc                ó¢   — | j         }|xj        |j                             | j        ¬¦  «        p|j                             ¦   «         z  c_        dS )z/
        Cursor to start of next word.
        rc   N)r$   r   r|   Úfind_next_word_beginningr,   Úget_end_of_document_positionrª   s     r(   Ú_start_next_wordz-load_emacs_bindings.<locals>._start_next_word!  sT   € ð
 Ô%ˆØÐÔØŒO×4Ò4¸5¼9Ð4ÑEÔEð >ØŒ×;Ò;Ñ=Ô=ñ	
ÐÔÐÐr'   ú/c                óz   — | j         }|j        r|                     ¦   «          dS |                     d¬¦  «         dS )z 
        M-/: Complete.
        T)Úselect_firstN)r$   r¶   Úcomplete_nextÚstart_completion)r0   rD   s     r(   Ú	_completez&load_emacs_bindings.<locals>._complete,  sJ   € ð
 Ô ˆØÔð 	2Ø�OŠOÑÔÐÐÐà×Ò¨DÐÑ1Ô1Ð1Ð1Ð1r'   úc-cc                óH  — | j         }|xj        |j                             d¬¦  «        z  c_        |j                             ¦   «         \  }}|j                             |¦  «        \  }}|j                             |¦  «        \  }}t          |||dz   | j        ¬¦  «         dS )z'
        Indent selected text.
        Tr¥   r   rc   N)r$   r   r|   r¨   Úselection_rangeÚtranslate_index_to_positionr   r,   ©r0   r«   Úfrom_Útor[   s        r(   Ú_indentz$load_emacs_bindings.<locals>._indent7  s«   € ð
 Ô%ˆàÐÔ &¤/×"LÒ"LØ!ð #Mñ #
ô #
ñ 	
ÐÔð ”O×3Ò3Ñ5Ô5‰	ˆˆrØ”?×>Ò>¸uÑEÔE‰ˆˆqØ”×;Ò;¸BÑ?Ô?‰ˆˆAåˆv�u˜b 1™f¨E¬IÐ6Ñ6Ô6Ð6Ð6Ð6r'   c                óö   — | j         }|j                             ¦   «         \  }}|j                             |¦  «        \  }}|j                             |¦  «        \  }}t	          |||dz   | j        ¬¦  «         dS )z)
        Unindent selected text.
        r   rc   N)r$   r|   rÙ   rÚ   r   r,   rÛ   s        r(   Ú	_unindentz&load_emacs_bindings.<locals>._unindentH  sx   € ð
 Ô%ˆà”O×3Ò3Ñ5Ô5‰	ˆˆrØ”?×>Ò>¸uÑEÔE‰ˆˆqØ”×;Ò;¸BÑ?Ô?‰ˆˆAå�˜  Q¡¨e¬iÐ8Ñ8Ô8Ð8Ð8Ð8r'   rk   )rE   rg   r    r2   )rw   r   rx   rg   rd   ry   r    r2   )r   Úaddr
   r   r   r   r-   r%   r   r   ÚAnyr   r   )Úkey_bindingsÚinsert_moder5   ra   rf   rm   rE   rr   ru   r†   rˆ   r‹   rŽ   r‘   r£   r¬   r³   r¸   r¼   rÃ   rÇ   rË   rÐ   rÖ   rÞ   rà   r�   rl   s                             @@r(   r   r   .   sK
  øø€ õ ‘=”=€LØÔ€Få#€Kà€VˆHÑÔð	ð 	ð 	ñ Ôð	ð €F€Fˆ5�M„M•+Ð1Ñ2Ô2Ñ3Ô3Ð3Ø€F€Fˆ5�M„M•+˜oÑ.Ô.Ñ/Ô/Ð/Ø*€F€Fˆ:˜kÐ*Ñ*Ô*­;°{Ñ+CÔ+CÑDÔDÐDØ€F€Fˆ5�M„M•+˜mÑ,Ô,Ñ-Ô-Ð-Ø€F€Fˆ5�M„M•+˜nÑ-Ô-Ñ.Ô.Ð.Ø€F€Fˆ8ÑÔ•[ Ñ1Ô1Ñ2Ô2Ð2Ø€F€Fˆ9ÑÔ•k .Ñ1Ô1Ñ2Ô2Ð2Ø/€F€Fˆ5�#�s ;Ð/Ñ/Ô/µ¸FÑ0CÔ0CÑDÔDÐDØ%€F€Fˆ5˜Ð%Ñ%Ô%¥k°&Ñ&9Ô&9Ñ:Ô:Ð:Ø€F€Fˆ8�SÑÔ�+ oÑ6Ô6Ñ7Ô7Ð7Ø-€F€Fˆ8�S Ð-Ñ-Ô-­kÐ:KÑ.LÔ.LÑMÔMÐMØ-€F€Fˆ8�S Ð-Ñ-Ô-­k¸+Ñ.FÔ.FÑGÔGÐGØ€F€Fˆ8�SÑÔ�+ nÑ5Ô5Ñ6Ô6Ð6Ø-€F€Fˆ8�S Ð-Ñ-Ô-­k¸/Ñ.JÔ.JÑKÔKÐKØ-€F€Fˆ8�S Ð-Ñ-Ô-­kÐ:JÑ.KÔ.KÑLÔLÐLØ-€F€Fˆ8�S Ð-Ñ-Ô-­k¸*Ñ.EÔ.EÑFÔFÐFØ5€F€Fˆ8�[¨Ð5Ñ5Ô5µkÐBVÑ6WÔ6WÑXÔXÐXØ.€F€Fˆ8�T +Ð.Ñ.Ô.­{Ð;TÑ/UÔ/UÑVÔVÐVà€F€Fˆ8ÑÔ•[Ð!6Ñ7Ô7Ñ8Ô8Ð8Ø€F€Fˆ7�O„O•K Ñ0Ô0Ñ1Ô1Ð1àD€F€Fˆ5˜˜¸ÐDÑDÔDÝ�FÑÔñô ð ð L€F€Fˆ5�% o o¸{ÐKÑKÔKÝ�FÑÔñô ð ð 1€F€Fˆ8�S¥- Ð0Ñ0Ô0µÐ=SÑ1TÔ1TÑUÔUÐUØ0€F€Fˆ8�S¥- Ð0Ñ0Ô0µÐ=MÑ1NÔ1NÑOÔOÐOà-€F€Fˆ8�S Ð-Ñ-Ô-­k¸/Ñ.JÔ.JÑKÔKÐKØ-€F€Fˆ8�S Ð-Ñ-Ô-­k¸/Ñ.JÔ.JÑKÔKÐKØ/€F€Fˆ8�U ;Ð/Ñ/Ô/µ¸NÑ0KÔ0KÑLÔLÐLØ-€F€Fˆ8�S Ð-Ñ-Ô-­kÐ:JÑ.KÔ.KÑLÔLÐLØ€F€Fˆ5�M„M•+Ð4Ñ5Ô5Ñ6Ô6Ð6ð
 )€F€Fˆ5�-˜Ð(Ñ(Ô(­°_Ñ)EÔ)EÑFÔFÐFà€F€Fˆ5�#ÑÔ•{Ð#4Ñ5Ô5Ñ6Ô6Ð6Ø€F€Fˆ5�#ÑÔ•{ ?Ñ3Ô3Ñ4Ô4Ð4Ø€F€Fˆ5�#ÑÔ•{Ð#8Ñ9Ô9Ñ:Ô:Ð:à€VˆE�]„]ð)ð )ð )ñ „]ð)ð €VˆE�]„]ð6ð 6ð 6ñ „]ð6ð	)ð 	)ð 	)ð 	)ð 	)ð 	)ð ð ð ˆØˆ�Q‰Œˆˆà€VˆH�c¥7 (Ð+Ñ+Ô+ð+ð +ð +ñ ,Ô+ð+ð
 €VˆC�ÐÑÔð*ð *ð *ñ  Ôð*ð B€F€Fˆ8�W [µ=Ñ%@ÐAÑAÔAÝ�MÑ"Ô"ñô ð ð
 H€F€Fˆ7˜;­Ñ6½,¸ÑFÐGÑGÔGÝ�MÑ"Ô"ñô ð ð	*ð 	*ð 	*ð 	*ð €VˆE•4”8ÑÔðFð Fð Fð Fð Fñ ÔðFð
 €VˆH�e�TœXÑ&Ô&ðGð Gð Gð Gð Gñ 'Ô&ðGð
 €VˆH�cÑÔðð ð ñ Ôðð €VˆH�cÑÔð#ð #ð #ñ Ôð#ð €VˆH�c +Ð.Ñ.Ô.ðð ð ñ /Ô.ðð €VˆH�c +Ð.Ñ.Ô.ð)ð )ð )ñ /Ô.ð)ð  €VˆE�5ÑÔðQð Qð Qñ ÔðQð €VˆE�]„]ðJð Jð Jñ „]ðJð €VˆE�=˜.Ð)Ñ)Ô)ð5ð 5ð 5ñ *Ô)ð5ð €VˆE�-Ð(Ñ(Ô(ð.ð .ð .ñ )Ô(ð.ð €VˆE�-Ð(Ñ(Ô(Ø€VˆE�3˜¥MÐ2Ñ2Ô2ð+ð +ð +ñ 3Ô2ñ )Ô(ð+ð €VˆH�c¥-Ð0Ñ0Ô0ð+ð +ð +ñ 1Ô0ð+ð €VˆH�fÑÔð
ð 
ð 
ñ Ôð
ð €VˆH�gÑÔð
ð 
ð 
ñ Ôð
ð €VˆH�c +Ð.Ñ.Ô.ð2ð 2ð 2ñ /Ô.ð2ð €VˆE�3�}Ð-Ñ-Ô-ð7ð 7ð 7ñ .Ô-ð7ð  €VˆE�3�}Ð-Ñ-Ô-ð
9ð 
9ð 
9ñ .Ô-ð
9õ " ,µ
Ñ;Ô;Ð;r'   c                 ó  — t          ¦   «         } | j        }ddlm}   |d¦  «        |j        ¦  «           |d¦  «        |j        ¦  «           |d¦  «        |j        ¦  «           |d¦  «        |j        ¦  «           |d¦  «        |j        ¦  «           |d¦  «        |j        ¦  «           |d¦  «        |j        ¦  «           |d¦  «        |j        ¦  «           |d	¦  «        |j	        ¦  «           |d
d¬¦  «        |j	        ¦  «           |dt          t           z  ¬¦  «        |j        ¦  «           |dt          t           z  ¬¦  «        |j        ¦  «           |dt          t          z  ¬¦  «        |j        ¦  «           |dt          t          z  ¬¦  «        |j        ¦  «          |dt          ¬¦  «        dd„¦   «         } |dt          ¬¦  «        dd„¦   «         }t          | t          ¦  «        S )Nr   )Úsearchzc-rzc-sr×   r´   ÚupÚdownrv   r/   T)Úeagerú?r8   rÑ   Únr0   r1   r    r2   c                ó^   — | j                              | j        j        d| j        ¬¦  «         dS )zJump to next match.F©Úinclude_current_positionrd   N©r$   Úapply_searchrt   Úcurrent_search_stater,   r4   s    r(   Ú
_jump_nextz.load_emacs_search_bindings.<locals>._jump_next…  s>   € ð 	Ô×)Ò)ØŒIÔ*Ø%*Ø”)ð 	*ñ 	
ô 	
ð 	
ð 	
ð 	
r'   ÚNc                ó`   — | j                              | j        j         d| j        ¬¦  «         dS )zJump to previous match.Frí   Nrï   r4   s    r(   Ú
_jump_prevz.load_emacs_search_bindings.<locals>._jump_prevŽ  sA   € ð 	Ô×)Ò)ØŒYÔ+Ð+Ø%*Ø”)ð 	*ñ 	
ô 	
ð 	
ð 	
ð 	
r'   rk   )r   rá   rp   ræ   Ú start_reverse_incremental_searchÚ start_forward_incremental_searchÚabort_searchÚreverse_incremental_searchÚforward_incremental_searchÚaccept_searchr   r   r   r   )rã   rl   ræ   rò   rõ   s        r(   r   r   X  s~  € Ý‘=”=€LØÔ€FØÐÐÐÐÐð €F€Fˆ5�M„M�&Ô9Ñ:Ô:Ð:Ø€F€Fˆ5�M„M�&Ô9Ñ:Ô:Ð:à€F€Fˆ5�M„M�&Ô%Ñ&Ô&Ð&Ø€F€Fˆ5�M„M�&Ô%Ñ&Ô&Ð&Ø€F€Fˆ5�M„M�&Ô3Ñ4Ô4Ð4Ø€F€Fˆ5�M„M�&Ô3Ñ4Ô4Ð4Ø€F€Fˆ4�L„L�Ô2Ñ3Ô3Ð3Ø€F€Fˆ6�N„N�6Ô4Ñ5Ô5Ð5Ø€F€Fˆ7�O„O�FÔ(Ñ)Ô)Ð)ð !€F€Fˆ8˜4Ð Ñ Ô  Ô!5Ñ6Ô6Ð6ð E€F€Fˆ3•|Õ'CÐ&CÑCÐDÑDÔDØÔ/ñô ð ð E€F€Fˆ3•|Õ'CÐ&CÑCÐDÑDÔDØÔ/ñô ð ð D€F€Fˆ3•|Õ&BÑBÐCÑCÔCØÔ/ñô ð ð D€F€Fˆ3•|Õ&BÑBÐCÑCÔCØÔ/ñô ð ð €VˆC�Ð%Ñ%Ô%ð
ð 
ð 
ñ &Ô%ð
ð €VˆC�Ð%Ñ%Ô%ð
ð 
ð 
ñ &Ô%ð
õ " ,µ
Ñ;Ô;Ð;r'   c                 ó8  ‡	— t          ¦   «         } | j        }d%d„Š	 |dt           ¬¦  «         |dt           ¬¦  «         |d	t           ¬¦  «         |d
t           ¬¦  «         |dt           ¬¦  «         |dt           ¬¦  «         |dt           ¬¦  «         |dt           ¬¦  «         |dt           ¬¦  «         |dt           ¬¦  «        d%ˆ	fd„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         } |dt          ¬¦  «         |dt          ¬¦  «         |d	t          ¬¦  «         |d
t          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «        d%ˆ	fd„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         } |t          j        t          ¬¦  «        d%d„¦   «         } |dt          t          z  ¬¦  «        d%d„¦   «         } |dt          ¬¦  «        d%d„¦   «         } |dt          ¬¦  «        d%d„¦   «         } |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |dt          ¬¦  «         |d t          ¬¦  «         |d!t          ¬¦  «         |d"t          ¬¦  «         |d#t          ¬¦  «        d%d$„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         }t          | t          ¦  «        S )&z?
    Bindings to select text with shift + cursor movements
    r0   r1   r    r2   c                ó\  — | j         d         j        }|t          j        k    r"| j                             | j        ¬¦  «         dS |t          j        k    r"| j                             | j        ¬¦  «         dS t          j	        dt          j
        dt          j        dt          j        dt          j        dt          j        d	t          j        d
t          j        di}	 t#          ||         ¦  «        }t%          |t&          ¦  «        r|                     | ¦  «         dS dS # t*          $ r Y dS w xY w)z¦
        Used for the shift selection mode. When called with
        a shift + movement key press event, moves the cursor
        as if shift is not pressed.
        r   rc   Nr7   r;   r6   r:   r=   r?   rM   rO   )Úkey_sequenceÚkeyr   ÚShiftUpr$   re   r,   Ú	ShiftDownr`   Ú	ShiftLeftÚ
ShiftRightÚ	ShiftHomeÚShiftEndÚControlShiftLeftÚControlShiftRightÚControlShiftHomeÚControlShiftEndr   Ú
isinstancer   ÚcallÚKeyError)r0   rÿ   Úkey_to_commandÚbindings       r(   Úunshift_movez9load_emacs_shift_selection_bindings.<locals>.unshift_move¢  s(  € ð Ô  Ô#Ô'ˆà•$”,ÒÐØÔ ×(Ò(¨u¬yÐ(Ñ9Ô9Ð9ØˆFØ•$”.Ò Ð ØÔ ×*Ò*°´Ð*Ñ;Ô;Ð;ØˆFõ ŒN˜OÝŒO˜^ÝŒNÐ/ÝŒM˜=ÝÔ! ?ÝÔ" NÝÔ!Ð#8ÝÔ  /ð	1
ˆð	$å! .°Ô"5Ñ6Ô6ˆGõ ˜'¥7Ñ+Ô+ð $à—’˜UÑ#Ô#Ð#Ð#Ð#ð$ð $øõ ð 	ð 	ð 	ØˆDˆDð	øøøs   ÃD Ä
D+Ä*D+zs-leftr8   zs-rightzs-upzs-downzs-homezs-endzc-s-leftz	c-s-rightzc-s-homezc-s-endc                ó  •— | j         }|j        rs|                     t          j        ¬¦  «         |j        �|j                             ¦   «          |j        } ‰| ¦  «         |j        |k    r|                     ¦   «          dS dS dS )z8
        Start selection with shift + movement.
        r®   N)	r$   r˜   r°   r   r±   Úselection_stateÚenter_shift_moder   r»   )r0   rw   Úoriginal_positionr  s      €r(   r³   z=load_emacs_shift_selection_bindings.<locals>._start_selectionÇ  s§   ø€ ð Ô#ˆØŒ9ð 	&Ø× Ò µÔ0HÐ ÑIÔIÐIàÔ#Ð/ð Ô$×5Ò5Ñ7Ô7Ð7ð !%Ô 4ÐØˆL˜ÑÔÐØÔ#Ð'8Ò8Ð8ð ×#Ò#Ñ%Ô%Ð%Ð%Ð%ð	&ð 	&ð 9Ð8r'   c                ó”   •—  ‰| ¦  «         | j         }|j        �+|j        |j        j        k    r|                     ¦   «          dS dS dS )z&
        Extend the selection
        N)r$   r  r   Úoriginal_cursor_positionr»   )r0   rw   r  s     €r(   Ú_extend_selectionz>load_emacs_shift_selection_bindings.<locals>._extend_selectionç  s`   ø€ ð 	ˆ�UÑÔÐØÔ#ˆàÔÐ+ØÔ# tÔ';Ô'TÒTÐTà×#Ò#Ñ%Ô%Ð%Ð%Ð%ð ,Ð+ØTÐTr'   c                ó|   — | j                              ¦   «          t          d¦  «                             | ¦  «         dS )z4
        Replace selection by what is typed
        zself-insertN)r$   r¿   r   r  r4   s    r(   Ú_replace_selectionz?load_emacs_shift_selection_bindings.<locals>._replace_selectionþ  s;   € ð
 	Ô×*Ò*Ñ,Ô,Ð,Ý�MÑ"Ô"×'Ò'¨Ñ.Ô.Ð.Ð.Ð.r'   rv   c                óˆ   — | j                              ¦   «          | j                              t          ¦   «          ¬¦  «         dS )z2
        A newline replaces the selection
        )Úcopy_marginN)r$   r¿   Únewliner   r4   s    r(   Ú_newlinez5load_emacs_shift_selection_bindings.<locals>._newline  s@   € ð
 	Ô×*Ò*Ñ,Ô,Ð,ØÔ×$Ò$µ]±_´_Ð1DÐ$ÑEÔEÐEÐEÐEr'   rJ   c                ó8   — | j                              ¦   «          dS )z#
        Delete selection.
        N)r$   r¿   r4   s    r(   Ú_deletez4load_emacs_shift_selection_bindings.<locals>._delete  s   € ð
 	Ô×*Ò*Ñ,Ô,Ð,Ð,Ð,r'   rC   c                óŽ   — | j         }|j        r|                     ¦   «          t          d¦  «                             | ¦  «         dS )zS
        In shift selection mode, yanking (pasting) replace the selection.
        rB   N)r$   r  r¿   r   r  r²   s     r(   Ú_yankz2load_emacs_shift_selection_bindings.<locals>._yank  sK   € ð
 Ô#ˆØÔð 	!Ø×ÒÑ Ô Ð Ý�FÑÔ× Ò  Ñ'Ô'Ð'Ð'Ð'r'   rÈ   rÌ   rç   rè   ÚhomeÚendr<   r>   rL   rN   c                óŠ   — | j                              ¦   «          | j        d         }| j                             |d¬¦  «         dS )rº   r   T)ÚfirstN)r$   r»   rþ   r+   Úfeed)r0   Ú	key_presss     r(   r¸   z4load_emacs_shift_selection_bindings.<locals>._cancel   sH   € ð 	Ô×+Ò+Ñ-Ô-Ð-àÔ& qÔ)ˆ	ØÔ× Ò  °$Ð Ñ7Ô7Ð7Ð7Ð7r'   rk   )	r   rá   r   r   r   râ   r   r   r   )
rã   rl   r³   r  r  r  r  r   r¸   r  s
            @r(   r   r   š  s—  ø€ õ
 ‘=”=€LØÔ€Fð#$ð #$ð #$ð #$ðJ €VˆH�m˜^Ð,Ñ,Ô,Ø€VˆI�}˜nÐ-Ñ-Ô-Ø€VˆF�M˜>Ð*Ñ*Ô*Ø€VˆH�m˜^Ð,Ñ,Ô,Ø€VˆH�m˜^Ð,Ñ,Ô,Ø€VˆG�]˜NÐ+Ñ+Ô+Ø€VˆJ¥˜~Ð.Ñ.Ô.Ø€VˆK¥ Ð/Ñ/Ô/Ø€VˆJ¥˜~Ð.Ñ.Ô.Ø€VˆI�}˜nÐ-Ñ-Ô-ð&ð &ð &ð &ð &ñ .Ô-ñ /Ô.ñ 0Ô/ñ /Ô.ñ ,Ô+ñ -Ô,ñ -Ô,ñ +Ô*ñ .Ô-ñ -Ô,ð&ð, €VˆHÕ1Ð2Ñ2Ô2Ø€VˆIÕ2Ð3Ñ3Ô3Ø€VˆFÕ/Ð0Ñ0Ô0Ø€VˆHÕ1Ð2Ñ2Ô2Ø€VˆHÕ1Ð2Ñ2Ô2Ø€VˆGÕ0Ð1Ñ1Ô1Ø€VˆJÕ3Ð4Ñ4Ô4Ø€VˆKÕ 4Ð5Ñ5Ô5Ø€VˆJÕ3Ð4Ñ4Ô4Ø€VˆIÕ2Ð3Ñ3Ô3ð&ð &ð &ð &ð &ñ 4Ô3ñ 5Ô4ñ 6Ô5ñ 5Ô4ñ 2Ô1ñ 3Ô2ñ 3Ô2ñ 1Ô0ñ 4Ô3ñ 3Ô2ð&ð €V�DŒHÕ1Ð2Ñ2Ô2ð/ð /ð /ñ 3Ô2ð/ð €VˆGÕ0µ<Ñ?Ð@Ñ@Ô@ðFð Fð Fñ AÔ@ðFð €VˆKÕ 4Ð5Ñ5Ô5ð-ð -ð -ñ 6Ô5ð-ð €VˆEÕ.Ð/Ñ/Ô/ð(ð (ð (ñ 0Ô/ð(ð €VˆFÕ/Ð0Ñ0Ô0Ø€VˆGÕ0Ð1Ñ1Ô1Ø€VˆDÕ-Ð.Ñ.Ô.Ø€VˆFÕ/Ð0Ñ0Ô0Ø€VˆFÕ/Ð0Ñ0Ô0Ø€VˆEÕ.Ð/Ñ/Ô/Ø€VˆHÕ1Ð2Ñ2Ô2Ø€VˆIÕ2Ð3Ñ3Ô3Ø€VˆHÕ1Ð2Ñ2Ô2Ø€VˆGÕ0Ð1Ñ1Ô1ð8ð 8ð 8ñ 2Ô1ñ 3Ô2ñ 4Ô3ñ 3Ô2ñ 0Ô/ñ 1Ô0ñ 1Ô0ñ /Ô.ñ 2Ô1ñ 1Ô0ð8õ " ,µ
Ñ;Ô;Ð;r'   N)r    r!   )r    r   )*Ú
__future__r   Ú"prompt_toolkit.application.currentr   Úprompt_toolkit.bufferr   r   r   Úprompt_toolkit.completionr   Úprompt_toolkit.filtersr	   r
   r   r   r   r   r   r   r   r   Ú'prompt_toolkit.key_binding.key_bindingsr   Ú(prompt_toolkit.key_binding.key_processorr   Úprompt_toolkit.keysr   Úprompt_toolkit.selectionr   rã   r   r   r   Únamed_commandsr   Ú__all__r1   r%   r-   r   r   r   r&   r'   r(   ú<module>r2     sõ  ðà "Ð "Ð "Ð "Ð "Ð "à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;Ø BÐ BÐ BÐ BÐ BÐ BØ $Ð $Ð $Ð $Ð $Ð $Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2à OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð €ð €ð ð2ð 2ð 2ñ „ð2ð ð.ð .ð .ñ „ð.ðg<ð g<ð g<ð g<ðT	?<ð ?<ð ?<ð ?<ðDY<ð Y<ð Y<ð Y<ð Y<ð Y<r'   