o
    i5                     @  s	  U d Z ddlmZ ddlmZmZmZ ddlmZ ddgZ	i dej
d	ejd
ejdejdejdejdejdejdejdejdejdejdejdejdejdejdeji dejdejdejdejdejdej dej!d ej"d!ej#d"ej$d#ej%d$ej&d%ej'd&ej(d'ej)d(ej*d)eji d*ej+d+ej,d,ej-d-ej.d.ej/d/ej0d0ej+d1ej.d2ej1d3ej1d4ej1d5ej2d6ej3d7ej4d8ej5d9ej2d:ej3i d;ej4d<ej5d=ej6d>ej2d?ej3d@ej4dAej5dBej6dCej7dDej8dEej9dFej:dGej;dHej<dIej=dJej>dKej?i dLej@dMejAdNejBdOejCdPejDdQejEdRej>dSej?dTejAdUejBdVejCdWejDdXejEdYejFdZejGd[ejHd\ejIi d]ejd^ejd_ejd`ejJdaejKdbejLdcejMddejNdeejOdfejPdgejQdhejRdiejSdjejTdkejUdlejVdmejWi dnejXdoejYdpejZdqej[drej\dsej]dtej^duej_dvej`dwejadxejbdyejcdzejcd{ejdd|ejed}ejfd~ej%ej,fi dej%ej-fdej%ej/fdej%ej0fdej%ejgfdej%ejdfdej%ejefdej%ejffdejhdejidejjdejkdejldejmdej%ejnfdej%ejjfdej%ejjfdej%ejofi dej%ejmfdej%ejmfdejpdejqdejrdejsdej+dej.dejpdejqdejrdejsdej.dej+dejtdejudejvi dejwdejxdejydej%ejpfdej%ejqfdej%ejrfdej%ejsfdej%ej.fdej%ej+fdej%ejufdej%ejtfdej%ejvfdej%ejwfdej%ejxfdej%ejyfdejzdej{i dej|dej}dej~dejdejzdej{dej|dej}dej|dej}dejdejdejdejdejdejdej%ej{fi dej%ejzfdej%ej|fdej%ej}fdej%ej~fdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejpfdej%ejqfdej%ejrfdej%ejsfdejdeji dejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdejdeji dejdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfdej%ejfej%ejfej%ejfej%ejfej%ejfdZded< dddZe ZdS )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)DictTupleUnion   )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;8u)z[1;8vz[1;8wz[1;8xz[1;8yz"dict[str, Keys | tuple[Keys, ...]]returndict[Keys, str]c                  C  s4   i } t  D ]\}}t|ts|| v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 r4   e/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/prompt_toolkit/input/ansi_escape_sequences.py_get_reverse_ansi_sequencesJ  s   
r6   N)r,   r-   )__doc__
__future__r   typingr   r   r   keysr   __all__	ControlAtControlAControlBControlCControlDControlEControlFControlGControlHControlIControlJControlKControlLControlMControlNControlOControlPControlQControlRControlSControlTControlUControlVControlWControlXControlYControlZEscapeShiftEscapeControlBackslashControlSquareCloseControlCircumflexControlUnderscoreHomeInsertDeleteEndPageUpPageDownBackTabF1F2F3F4F5F6F7F8F9F10F11F12F13F14F15F16F17F18F19F20F21F22F23F24	ControlF1	ControlF2	ControlF4	ControlF5	ControlF6	ControlF7	ControlF8	ControlF9
ControlF10
ControlF11
ControlF12
ControlF13
ControlF14
ControlF16
ControlF17
ControlF18
ControlF19
ControlF20
ControlF21
ControlF22
ControlF23
ControlF24ScrollUp
ScrollDownBracketedPasteIgnoreShiftDeleteShiftPageUpShiftPageDownShiftInsertControlDeleteControlPageUpControlPageDownControlShiftDeleteControlShiftPageUpControlShiftPageDownControlInsertControlShiftInsertUpDownRightLeftShiftUp	ShiftDown
ShiftRight	ShiftLeftShiftEnd	ShiftHome	ControlUpControlDownControlRightControlLeft
ControlEndControlHomeControlShiftDownControlShiftUpControlShiftRightControlShiftLeftControlShiftEndControlShiftHomeControl0Control1Control2Control3Control4Control5Control6Control7Control8Control9ControlShift0ControlShift1ControlShift2ControlShift3ControlShift4ControlShift5ControlShift6ControlShift7ControlShift8ControlShift9r   __annotations__r6   r	   r4   r4   r4   r5   <module>   s   	
 !"*-./01234567:;<=>?@ABCDEFGHIJKLMNOPQRSTUVXY[\]^_`abcijknoqrstuvwxyz{}~             	  
                                     !  "  #  $  %  &  '  (  )  -  .  /  0  1  2  7  8  9  :  ;  <  >  ?  @  A  B  C  M  N  O  P  Q  R  T  U  V  W  X  Y  [  \  ]  ^  _  `  d  e  f  g  h  i  k  l  m  n  o  p  r  s  t  u  v  w  y  z  {  |  }  ~                       	    
                                                                                             !    "    #    $    %    &    '    (    )    *    +    
,


    
3
