+
    öÙ†jJ  ã                   óŽ   € R t ^ RIt^ RItR t ! R R4      t]R8X  d'   R t]P                  ! ]4      t]	! R]
! ]4      4       R# R# )z:Simple textbox editing widget with Emacs-like keybindings.Nc                ó²  € V P                  V^,           V\        P                  W1,
          ^,
          4       V P                  W^,           \        P                  WB,
          ^,
          4       V P                  W2^,           \        P                  WB,
          ^,
          4       V P                  V^,           V\        P                  W1,
          ^,
          4       V P                  W\        P                  4       V P                  W\        P                  4       V P                  W4\        P                  4       V P                  W2\        P                  4       R# )zVDraw a rectangle with corners at the provided upper-left
and lower-right coordinates.
N)
ÚvlineÚcursesÚ	ACS_VLINEÚhlineÚ	ACS_HLINEÚaddchÚACS_ULCORNERÚACS_URCORNERÚACS_LRCORNERÚACS_LLCORNER)ÚwinÚulyÚulxÚlryÚlrxs   &&&&&Ú%/usr/lib/python3.14/curses/textpad.pyÚ	rectangler      sØ   € ð ‡I�Iˆc�!�e�Sœ&×*Ñ*¨C­I¸­MÔ:Ø‡I�Iˆc�q•5œ&×*Ñ*¨C­I¸­MÔ:Ø‡I�Iˆc�q•5œ&×*Ñ*¨C­I¸­MÔ:Ø‡I�Iˆc�!�e�Sœ&×*Ñ*¨C­I¸­MÔ:Ø‡I�Iˆcœ×+Ñ+Ô,Ø‡I�Iˆcœ×+Ñ+Ô,Ø‡I�Iˆcœ×+Ñ+Ô,Ø‡I�Iˆcœ×+Ñ+Ö,ó    c                   óV   a € ] tR t^t o RtRR ltR tR tR tR t	R t
RR	 ltR
tV tR# )ÚTextboxa  Editing widget using the interior of a window object.
 Supports the following Emacs-like key bindings:

Ctrl-A      Go to left edge of window.
Ctrl-B      Cursor left, wrapping to previous line if appropriate.
Ctrl-D      Delete character under cursor.
Ctrl-E      Go to right edge (stripspaces off) or end of line (stripspaces on).
Ctrl-F      Cursor right, wrapping to next line when appropriate.
Ctrl-G      Terminate, returning the window contents.
Ctrl-H      Delete character backward.
Ctrl-J      Terminate if the window is 1 line, otherwise insert newline.
Ctrl-K      If line is blank, delete it, otherwise clear to end of line.
Ctrl-L      Refresh screen.
Ctrl-N      Cursor down; move down one line.
Ctrl-O      Insert a blank line at cursor location.
Ctrl-P      Cursor up; move up one line.

Move operations do nothing if the cursor is at an edge where the movement
is not possible.  The following synonyms are supported where possible:

KEY_LEFT = Ctrl-B, KEY_RIGHT = Ctrl-F, KEY_UP = Ctrl-P, KEY_DOWN = Ctrl-N
KEY_BACKSPACE = Ctrl-h
c                ó|   € Wn         W n        V P                  4        ^V n        RV n        VP                  ^4       R# ©é   N)r   Úinsert_modeÚ_update_max_yxÚstripspacesÚlastcmdÚkeypad)Úselfr   r   s   &&&r   Ú__init__ÚTextbox.__init__+   s3   € ØŒØ&ÔØ×ÑÔØˆÔØˆŒØ�
‰
�1Žr   c                óv   € V P                   P                  4       w  rV^,
          V n        V^,
          V n        R# r   )r   ÚgetmaxyxÚmaxyÚmaxx)r   r$   r%   s   &  r   r   ÚTextbox._update_max_yx3   s,   € Ø—X‘X×&Ñ&Ó(‰
ˆØ˜1•HˆŒ	Ø˜1•HˆŽ	r   c                óP  € V P                  4        V P                  p \        P                  P                  V P                  P                  W4      4      \        P                  P                  8w  d!   \        V P                  V^,           4      p V# V^ 8X  d    V# V^,
          pK‹  )zmGo to the location of the first blank on the given line,
returning the index of the last non-blank character.)r   r%   r   Úasciir   ÚinchÚSPÚmin)r   ÚyÚlasts   && r   Ú_end_of_lineÚTextbox._end_of_line8   s‚   € ð 	×ÑÔØ�y‰yˆØÜ�|‰|×!Ñ! $§(¡(§-¡-°Ó"8Ó9¼V¿\¹\¿_¹_ÔLÜ˜4Ÿ9™9 d¨1¥fÓ-�Øð ˆð ˜”Øàˆð ˜!•8ŠDr   c                ój  € V P                  4        V P                  P                  4       w  r#R pW P                  8  g   W0P                  8  dª   V P
                  '       d   V P                  P                  4       p V P                  P                  V4       V P
                  '       d&   \        P                  P                  X4      '       g   M)TpV P                  P                  4       w  r#Ve   KÄ  W#3pKÉ  Ve   V P                  P                  ! V!   R # R #   \        P                   d     Lši ; i©N)r   r   Úgetyxr$   r%   r   r)   r   r   Úerrorr(   ÚisprintÚmove)r   Úchr,   ÚxÚbackyxÚoldchs   &&    r   Ú_insert_printable_charÚTextbox._insert_printable_charF   sá   € Ø×ÑÔØ—‘—‘Ó!‰ˆØˆØ—)‘)Œm˜q§9¡9œ}Ø××ÐØŸ™Ÿ™›�ðØ—‘—‘˜rÔ"ð ×#×#Ð#¬6¯<©<×+?Ñ+?À×+FÒ+FØØˆBØ—X‘X—^‘^Ó%‰FˆQàŒ~Ø˜’àÒØ�H‰H�MŠM˜6Ô"ñ øô —<‘<ô Ùðús   Á<D ÄD2Ä1D2c                ó6  € V P                  4        V P                  P                  4       w  r#Wn        \        P
                  P                  V4      '       d4   W P                  8  g   W0P                  8  d   V P                  V4       ^# V\        P
                  P                  8X  d   V P                  P                  V^ 4       ^# V\        P
                  P                  \        P                  \        P
                  P                  \        P                  \        P
                  P                   39   Ed   V^ 8”  d$   V P                  P                  W#^,
          4       M�V^ 8X  d   MyV P"                  '       d;   V P                  P                  V^,
          V P%                  V^,
          4      4       M-V P                  P                  V^,
          V P                  4       V\        P
                  P                  \        P                  \        P
                  P                   39   d   V P                  P'                  4        ^# V\        P
                  P(                  8X  d   V P                  P'                  4        ^# V\        P
                  P*                  8X  dg   V P"                  '       d-   V P                  P                  W P%                  V4      4       ^# V P                  P                  W P                  4        ^# V\        P
                  P,                  \        P.                  39   dn   W0P                  8  d%   V P                  P                  W#^,           4       ^# W P                  8X  d    ^# V P                  P                  V^,           ^ 4        ^# V\        P
                  P0                  8X  d   ^ # V\        P
                  P2                  8X  dI   V P                  ^ 8X  d   ^ # W P                  8  d$   V P                  P                  V^,           ^ 4       ^# V\        P
                  P4                  8X  dr   V^ 8X  d3   V P%                  V4      ^ 8X  d   V P                  P7                  4        ^# V P                  P                  W#4       V P                  P9                  4         ^# V\        P
                  P:                  8X  d   V P                  P=                  4        ^# V\        P
                  P>                  \        P@                  39   d‹   W P                  8  dy   V P                  P                  V^,           V4       W0P%                  V^,           4      8”  d:   V P                  P                  V^,           V P%                  V^,           4      4       ^# V\        P
                  PB                  8X  d   V P                  PE                  4        ^# V\        P
                  PF                  \        PH                  39   d€   V^ 8”  dy   V P                  P                  V^,
          V4       W0P%                  V^,
          4      8”  d:   V P                  P                  V^,
          V P%                  V^,
          4      4       ^# )z!Process a single editing command.)%r   r   r2   r   r   r(   r4   r$   r%   r:   ÚSOHr5   ÚSTXÚKEY_LEFTÚBSÚKEY_BACKSPACEÚDELr   r.   ÚdelchÚEOTÚENQÚACKÚ	KEY_RIGHTÚBELÚNLÚVTÚdeletelnÚclrtoeolÚFFÚrefreshÚSOÚKEY_DOWNÚSIÚinsertlnÚDLEÚKEY_UP)r   r6   r,   r7   s   &&  r   Ú
do_commandÚTextbox.do_command_   sv  € à×ÑÔØ—‘—‘Ó!‰ˆØŒÜ�<‰<×Ñ ×#Ò#Ø—9‘9Œ} §I¡I¤Ø×+Ñ+¨BÔ/ñv ðu ”6—<‘<×#Ñ#Ô#Ø�H‰H�M‰M˜!˜QÔñr ðq ”F—L‘L×$Ñ$¤V§_¡_Ü—L‘L—O‘OÜ×(Ñ(Ü—L‘L×$Ñ$ð&õ &ð �1ŒuØ—‘—‘˜a 1¥Õ%Ø�a”ØØ×!×!Ð!Ø—‘—‘˜a �c 4×#4Ñ#4°Q°qµSÓ#9Õ:à—‘—‘˜a �c 4§9¡9Ô-Ø”f—l‘l—o‘o¤v×';Ñ';¼V¿\¹\×=MÑ=MÐNÔNØ—‘—‘Ô ñV ðU ”6—<‘<×#Ñ#Ô#Ø�H‰H�N‰NÔñR ðQ ”6—<‘<×#Ñ#Ô#Ø××ÐØ—‘—‘˜a×!2Ñ!2°1Ó!5Ô6ñL ðI —‘—‘˜a§¡Õ+ñH ðG ”F—L‘L×$Ñ$¤f×&6Ñ&6Ð7Ô7Ø—9‘9Œ}Ø—‘—‘˜a 1¥Ô%ñB ðA —i‘i”Øñ> ð; —‘—‘˜a �c 1Õ%ñ: ð9 ”6—<‘<×#Ñ#Ô#ÙØ”6—<‘<—?‘?Ô"Ø�y‰y˜AŒ~ÙØ—Y‘Y”Ø—‘—‘˜a �c 1Ô%ñ, ð+ ”6—<‘<—?‘?Ô"Ø�AŒv˜$×+Ñ+¨AÓ.°!Ô3Ø—‘×!Ñ!Ô#ñ& ð! —‘—‘˜aÔ#Ø—‘×!Ñ!Õ#ñ ð ”6—<‘<—?‘?Ô"Ø�H‰H×ÑÔñ ð ”F—L‘L—O‘O¤V§_¡_Ð5Ô5Ø—9‘9Œ}Ø—‘—‘˜a �c 1Ô%Ø×(Ñ(¨¨1­Ó-Ô-Ø—H‘H—M‘M ! A¥# t×'8Ñ'8¸¸1½Ó'=Ô>ñ ð ”6—<‘<—?‘?Ô"Ø�H‰H×ÑÔñ ð ”F—L‘L×$Ñ$¤f§m¡mÐ4Ô4Ø�1ŒuØ—‘—‘˜a �c 1Ô%Ø×(Ñ(¨¨1­Ó-Ô-Ø—H‘H—M‘M ! A¥# t×'8Ñ'8¸¸1½Ó'=Ô>Ùr   c                óB  € RpV P                  4        \        V P                  ^,           4       Fì  pV P                  P	                  V^ 4       V P                  V4      pV^ 8X  d   V P                  '       d   KK  \        V P                  ^,           4       Fe  pV P                  '       d	   WC8”  d    MLV\        \        P                  P                  V P                  P                  W$4      4      4      ,           pKg  	  V P                  ^ 8”  g   Kã  VR,           pKî  	  V# )z.Collect and return the contents of the window.Ú Ú
)r   Úranger$   r   r5   r.   r   r%   Úchrr   r(   r)   )r   Úresultr,   Ústopr7   s   &    r   ÚgatherÚTextbox.gather£   sÓ   € àˆØ×ÑÔÜ�t—y‘y •{Ö#ˆAØ�H‰H�M‰M˜!˜QÔØ×$Ñ$ QÓ'ˆDØ�qŒy˜T×-×-Ð-ÙÜ˜4Ÿ9™9 Q�;Ö'�Ø×#×#Ð#¨¬ÙØ¤#¤f§l¡l×&8Ñ&8¸¿¹¿¹ÀqÓ9LÓ&MÓ"NÕN’ñ (ð �y‰y˜1Ž}Ø $�’ñ $ð ˆr   Nc                óô   €  V P                   P                  4       pV'       d	   V! V4      pV'       g   K5  V P                  V4      '       g    V P	                  4       # V P                   P                  4        Ky  )z2Edit in the widget window and collect the results.)r   ÚgetchrU   rN   r^   )r   Úvalidater6   s   && r   ÚeditÚTextbox.edit´   sW   € àØ—‘—‘Ó!ˆBßÙ˜b“\�ßÙØ—?‘? 2×&Ò&Øà�{‰{‹}Ðð �H‰H×ÑÖr   )r   r   r%   r$   r   r   )Fr1   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r    r   r.   r:   rU   r^   rc   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s4   ø‡ € ñô.òò
ò#ò2BòH÷"ò r   r   Ú__main__c                 ó  € ^	^r!^^rCV P                  V^,
          VR4       \        P                  ! W!W44      p\        W^,
          V^,
          W2,           WA,           4       V P	                  4        \        V4      P                  4       # )é	   zUse Ctrl-G to end editing.)Úaddstrr   Únewwinr   rN   r   rc   )ÚstdscrÚncolsÚnlinesr   r   r   s   &     r   Útest_editboxru   Â   sl   € Ø˜1ˆvØ�rˆSØ�‰�c˜!•e˜SÐ">Ô?Ü�mŠm˜F¨3Ó4ˆÜ�&˜a�%  Q¥¨­°cµkÔBØ�‰ÔÜ�s‹|× Ñ Ó"Ð"r   zContents of text box:)ri   r   Úcurses.asciir   r   re   ru   ÚwrapperÚstrÚprintÚrepr© r   r   Ú<module>r|      sS   ðÙ @ã Û ò-÷lñ lð\ ˆzÔò#ð �.Š.˜Ó
&€CÙ	Ð
!¡4¨£9Ö-ñ r   