python (3.11.7)

(root)/
lib/
python3.11/
curses/
__pycache__/
textpad.cpython-311.pyc

edZddlZddlZdZGddZedkr*dZejeZe	de
edSdS)	z:Simple textbox editing widget with Emacs-like keybindings.Ncf||dz|tj||z
dz
|||dztj||z
dz
|||dztj||z
dz
||dz|tj||z
dz
|||tj|||tj|||tj|||tj	dS)z^Draw a rectangle with corners at the provided upper-left
    and lower-right coordinates.
    N)
vlinecurses	ACS_VLINEhline	ACS_HLINEaddchACS_ULCORNERACS_URCORNERACS_LRCORNERACS_LLCORNER)winulyulxlrylrxs     B/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/curses/textpad.py	rectanglers
IIc!eS&*C#IM:::IIc3q5&*C#IM:::IIc3q5&*C#IM:::IIc!eS&*C#IM:::IIc3+,,,IIc3+,,,IIc3+,,,IIc3+,,,,,c@eZdZdZddZdZdZdZdZdZ	dd
Z
d	S)
TextboxadEditing 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
    Fc||_||_|d|_d|_|ddSNr)rinsert_mode_update_max_yxstripspaceslastcmdkeypad)selfrrs   r__init__zTextbox.__init__+sE&

1




rcf|j\}}|dz
|_|dz
|_dSr)rgetmaxyxmaxymaxx)r r$r%s   rrzTextbox._update_max_yx3s3X&&((
d1H	1H			rc ||j}	tj|j||tjjkrt|j|dz}n
|dkrn|dz
}q|S)zuGo to the location of the first blank on the given line,
        returning the index of the last non-blank character.Trr)rr%rasciirinchSPmin)r ylasts   r_end_of_linezTextbox._end_of_line8s	
y	|!!$(--4"8"899V\_LL49d1f--!8D
	rc ||j\}}d}||jks||jkr|jr|j}	|j|n#tj	$rYnwxYw|jrtj
|sn:|}|j\}}|||f}||jk||jk||jj|dSdSN)
rrgetyxr$r%rr(r
rerrorr'isprintmove)r chr+xbackyxoldchs      r_insert_printable_charzTextbox._insert_printable_charFs&!!A$)mmq49}}
(


r""""<



#
6<+?+?+F+F
BX^^%%FQ~A!$)mmq49}}$DHM6""""s*BBBc
||j\}}||_tj|r-||jks||jkr|	|n|tjj
kr|j|dn|tjjtj
tjjtjfvr|dkr|j||dz
nf|dkrn_|jr5|j|dz
||dz
n#|j|dz
|j|tjjtjfvr|jn|tjjkr|jnY|tjjkrY|jr0|j|||n
|j||jn|tjjtjfvrX||jkr |j||dzn||jkrn|j|dzdnt|tjjkrdS|tjjkr8|jdkrdS||jkr|j|dzdn|tjjkrp|dkr4||dkr|jn|j|||jn|tjjkr|jn[|tjjtjfvrz||jkrn|j|dz||||dzkr4|j|dz||dzn|tjj kr|j!n|tjj"tj#fvrt|dkrn|j|dz
||||dz
kr4|j|dz
||dz
dS)z!Process a single editing command.rr)$rrr0rrr'r2r$r%r8SOHr3STXKEY_LEFTBS
KEY_BACKSPACErr-delchEOTENQACK	KEY_RIGHTBELNLVTdeletelnclrtoeolFFrefreshSOKEY_DOWNSIinsertlnDLEKEY_UP)r r4r+r5s    r
do_commandzTextbox.do_command_s!!A<##9	?49}}DI

++B///
6<#
#
#HMM!Q
FL$V_flofFZ[
[
[1uu

a1%%%%a!
.

ac4#4#4QqS#9#9::::

ac49---flov';<<<   
6<#
#
#HNN
6<#
#
#
,

a!2!21!5!56666

a++++
FL$f&67
7
749}}

a1%%%%di

ac1%%%%
6<#
#
#1
6<?
"
"yA~~qTY

ac1%%%
6<?
"
"Avv$++A..!33!!####

a###!!####
6<?
"
"H
FLOV_5
5
549}}

ac1%%%t((1----HMM!A#t'8'81'='=>>>
6<?
"
"H
FL$fm4
4
41uu

ac1%%%t((1----HMM!A#t'8'81'='=>>>qrcd}|t|jdzD]}|j|d||}|dkr|jr@t|jdzD]Y}|jr||krnI|ttj

|j||z}Z|jdkr|dz}|S)z.Collect and return the contents of the window.rr
)rranger$rr3r-rr%chrrr'r()r resultr+stopr5s     rgatherzTextbox.gathersty{##
	'
	'AHMM!Q$$Q''DqyyT-y49Q;''
O
O#DE#fl&8&8q!9L9L&M&M"N"NNy1}}$
rNc	|j}|r||}|s*||sn|jY|S)z2Edit in the widget window and collect the results.)rgetchrQrJrY)r validater4s   reditzTextbox.editsx	!!B
"Xb\\
??2&&
H	{{}}r)Fr/)__name__
__module____qualname____doc__r!rr-r8rQrYr]rrrrs.
###2???B"rr__main__c d\}}d\}}||dz
|dtj||||}t||dz
|dz
||z||z|t|S)N)	)zUse Ctrl-G to end editing.r)addstrrnewwinrrJrr])stdscrncolsnlinesrrrs      rtest_editboxros
vS

c!eS">???mFE344&#a%QfcEkBBBs||  """rzContents of text box:)rarcurses.asciirrr^rowrapperstrprintreprrbrr<module>rus@@



---iiiiiiiiVz###&.
&
&C	E
!4499-----r