U
    ouf^5                     @  s  U d Z ddlmZ ddlmZ ddgZejejejej	ej
ejejejejejejejejejejejejejejejejejejejejejej ej!ej"ej#ej$ej%ej&ejej'ej(ej)ej*ej+ej,ej'ej*ej-ej-ej-ej.ej/ej0ej1ej.ej/ej0ej1ej2ej.ej/ej0ej1ej2ej3ej4ej5ej6ej7ej8ej9ej:ej;ej<ej=ej>ej?ej@ejAej:ej;ej=ej>ej?ej@ejAejBejCejDejEejejejejFejGejHejIejJejKejLejMejNejOejPejQejRejSejTejUejVejWejXejYejZej[ej\ej]ej^ej_ej_ej`ejaejbej!ej(fej!ej)fej!ej+fej!ej,fej!ejcfej!ej`fej!ejafej!ejbfejdejeejfejgejhejiej!ejjfej!ejffej!ejffej!ejkfej!ejifej!ejifejlejmejnejoej'ej*ejlejmejnejoej*ej'ejpejqejrejsejtejuej!ejlfej!ejmfej!ejnfej!ejofej!ej*fej!ej'fej!ejqfej!ejpfej!ejrfej!ejsfej!ejtfej!ejufejvejwejxejyejzej{ejvejwejxejyejxejyej|ej}ej~ejejejej!ejwfej!ejvfej!ejxfej!ejyfej!ejzfej!ej{fej!ej|fej!ej}fej!ej~fej!ejfej!ejfej!ejfej!ejlfej!ejmfej!ejnfej!ejofejejejejejejejejejejejejejejejejejejejejej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfej!ejfdZded< d	d
ddZe ZdS )a  
Mappings from VT100 (ANSI) escape sequences to the corresponding prompt_toolkit
keys.

We are not using the terminfo/termcap databases to detect the ANSI escape
sequences for the input. Instead, we recognize 99% of the most common
sequences. This works well, because in practice, every modern terminal is
mostly Xterm compatible.

Some useful docs:
- Mintty: https://github.com/mintty/mintty/blob/master/wiki/Keycodes.md
    )annotations   )KeysANSI_SEQUENCESREVERSE_ANSI_SEQUENCES) 	
   z[1~z[2~z[3~z[4~z[5~z[6~z[7~z[8~z[Zz	z[~zOPzOQzORzOSz[[Az[[Bz[[Cz[[Dz[[Ez[11~z[12~z[13~z[14~z[15~z[17~z[18~z[19~z[20~z[21~z[23~z[24~z[25~z[26~z[28~z[29~z[31~z[32~z[33~z[34~z[1;2Pz[1;2Qz[1;2Sz[15;2~z[17;2~z[18;2~z[19;2~z[20;2~z[21;2~z[23;2~z[24;2~z
[27;2;13~z
[27;5;13~z
[27;6;13~z[1;5Pz[1;5Qz[1;5Sz[15;5~z[17;5~z[18;5~z[19;5~z[20;5~z[21;5~z[23;5~z[24;5~z[1;6Pz[1;6Qz[1;6Sz[15;6~z[17;6~z[18;6~z[19;6~z[20;6~z[21;6~z[23;6~z[24;6~z[62~z[63~z[200~z[Ez[Gz[3;2~z[5;2~z[6;2~z[2;3~z[3;3~z[5;3~z[6;3~z[2;4~z[3;4~z[5;4~z[6;4~z[3;5~z[5;5~z[6;5~z[3;6~z[5;6~z[6;6~z[2;7~z[5;7~z[6;7~z[2;8~z[5;8~z[6;8~z[Az[Bz[Cz[Dz[Hz[FzOAzOBzOCzODzOFzOHz[1;2Az[1;2Bz[1;2Cz[1;2Dz[1;2Fz[1;2Hz[1;3Az[1;3Bz[1;3Cz[1;3Dz[1;3Fz[1;3Hz[1;4Az[1;4Bz[1;4Cz[1;4Dz[1;4Fz[1;4Hz[1;5Az[1;5Bz[1;5Cz[1;5Dz[1;5Fz[1;5Hz[5Az[5Bz[5Cz[5DzOczOdz[1;6Az[1;6Bz[1;6Cz[1;6Dz[1;6Fz[1;6Hz[1;7Az[1;7Bz[1;7Cz[1;7Dz[1;7Fz[1;7Hz[1;8Az[1;8Bz[1;8Cz[1;8Dz[1;8Fz[1;8Hz[1;9Az[1;9Bz[1;9Cz[1;9Dz[1;5pz[1;5qz[1;5rz[1;5sz[1;5tz[1;5uz[1;5vz[1;5wz[1;5xz[1;5yz[1;6pz[1;6qz[1;6rz[1;6sz[1;6tz[1;6uz[1;6vz[1;6wz[1;6xz[1;6yz[1;7pz[1;7qz[1;7rz[1;7sz[1;7tz[1;7uz[1;7vz[1;7wz[1;7xz[1;7yz[1;8pz[1;8qz[1;8rz[1;8sz[1;8tz[1;8uz[1;8vz[1;8wz[1;8xz[1;8yz"dict[str, Keys | tuple[Keys, ...]]zdict[Keys, str])returnc                  C  s4   i } t  D ]"\}}t|ts|| kr|| |< q| S )zc
    Create a dictionary that maps prompt_toolkit keys back to the VT100 escape
    sequences.
    )r   items
isinstancetuple)resultsequencekey r0   N/tmp/pip-unpacked-wheel-8milen2s/prompt_toolkit/input/ansi_escape_sequences.py_get_reverse_ansi_sequencesH  s    

r2   N)__doc__
__future__r   keysr   __all__Z	ControlAtZControlAZControlBZControlCZControlDZControlEZControlFZControlGZControlHZControlIZControlJZControlKZControlLZControlMZControlNZControlOZControlPZControlQZControlRZControlSZControlTZControlUZControlVZControlWZControlXZControlYZControlZZEscapeZShiftEscapeZControlBackslashZControlSquareCloseZControlCircumflexZControlUnderscoreZHomeZInsertZDeleteZEndZPageUpZPageDownZBackTabZF1ZF2ZF3ZF4ZF5ZF6ZF7ZF8ZF9ZF10ZF11ZF12ZF13ZF14ZF15ZF16ZF17ZF18ZF19ZF20ZF21ZF22ZF23ZF24Z	ControlF1Z	ControlF2Z	ControlF4Z	ControlF5Z	ControlF6Z	ControlF7Z	ControlF8Z	ControlF9Z
ControlF10Z
ControlF11Z
ControlF12Z
ControlF13Z
ControlF14Z
ControlF16Z
ControlF17Z
ControlF18Z
ControlF19Z
ControlF20Z
ControlF21Z
ControlF22Z
ControlF23Z
ControlF24ZScrollUpZ
ScrollDownZBracketedPasteIgnoreZShiftDeleteZShiftPageUpZShiftPageDownZShiftInsertZControlDeleteZControlPageUpZControlPageDownZControlShiftDeleteZControlShiftPageUpZControlShiftPageDownZControlInsertZControlShiftInsertZUpZDownZRightZLeftZShiftUpZ	ShiftDownZ
ShiftRightZ	ShiftLeftZShiftEndZ	ShiftHomeZ	ControlUpZControlDownZControlRightZControlLeftZ
ControlEndZControlHomeZControlShiftDownZControlShiftUpZControlShiftRightZControlShiftLeftZControlShiftEndZControlShiftHomeZControl0ZControl1ZControl2ZControl3ZControl4ZControl5ZControl6ZControl7ZControl8ZControl9ZControlShift0ZControlShift1ZControlShift2ZControlShift3ZControlShift4ZControlShift5ZControlShift6ZControlShift7ZControlShift8ZControlShift9r   __annotations__r2   r   r0   r0   r0   r1   <module>   s  






























































    3