/"\^dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZddlmZddlmZddlmZddlmZdd lmZddlZddlZeejd d s.d D]Zeeeejd ez=dejd _dZ dZee_ee _n #e!$rYnwxYwd4dZ" d5dZ#da$dZ%e%dej&Z'e'fdZ(da)da*da+d6dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZdZ3dZ4d Z5d!Z6d"Z7Gd#d$ej8Z9Gd%d&ej:Z;Gd'd(e;Z<Gd)d*e;Z=Gd+d,ej>Z?Gd-d.Z@eAd/krdd0lBm,Z,e,d1d23e%ddS)7z idlelib.run Simplified, pyshell.ModifiedInterpreter spawns a subprocess with f'''{sys.executable} -c "__import__('idlelib.run').run.main()"''' '.run' is needed because __import__ returns idlelib, not idlelib.run. N) autocomplete)calltip) debugger_r) debugobj_r)iomenu)rpc) stackviewerz idlelib.runfirstrun) simpledialog messageboxfontdialog filedialog commondialogttkztkinter.Fz 127.0.0.1zCtrl-D (end-of-file)cd}|d|d|dz }|tj||}|}|r|d|zz }||jd|dz }|S)zFormat warnings the IDLE way.z! Warning (from warnings module): z File "z", line  Nz %s : ) linecachegetlinestrip__name__)messagecategoryfilenamelinenoliness 2/opt/alt/python311/lib64/python3.11/idlelib/run.pyidle_formatwarningr 3s .A 2X 2 2 2 2 22A | 622 ::< # # # #T$CHQQQK M&%t,. eggg%$  FFFF(H +//dD/II;     #.5++fdFfd-f--"&&Sz2222 """      H    U # # #  !lnnOD% !!!"&&T{333   )$rOOOOG%sx>AA#E%CE% C$!E%#C$$E%(!D E% DE%DAE%%H:1H,/G2HHctdD]r}tj| t|t}nt#t $r8}t d|jdzdztj |}Yd}~kd}~wwxYwt dtj t||da dS| dS)NzIDLE Subprocess: OSError: r5z, retrying....r7z8IDLE Subprocess: Connection to IDLE GUI failed, exiting.T) rangetimesleep MyRPCServer MyHandlerr&rEr<r#rFshow_socket_errorrLhandle_request)addressiservererr socket_errors rrIrIs 1XX 1   )44F E    .!<"#), 9 9 9 9LLLLLL  *03 @ @ @ @,000 s> B.A;;Bc ddl}ddlm}|j}t |||dd|dd|dd|jd |jd | |dS) z(Display socket error from manage_socket.rN) showerrorzSubprocess Connection Errorz#IDLE's subprocess can't connect to :r5z. Fatal OSError #rzz. See the 'Startup failure' section of the IDLE doc, online at https://docs.python.org/3/library/idle.html#startup-failure)parent) tkintertkinter.messageboxrtTk fix_scalingwithdrawerrnostrerrordestroy)rqrnrwrtroots rrlrlsNNN,,,,,, 7:<.print_excsy C/   E$!6!6 Id5kk5%*= > > > 28= ? ? ? ? ?!*"kk%% Id7mmWg.C D D D 28= ? ? ? ?  2&r**C 6U C C C C2G c7 + + +  5 1 1 1 1!#sB// , ,D $BU + + + + + , ,r!) r checkcache flush_stdoutr#r$rW last_type last_valuelast_tracebackset)rrvalrcexcinforrrs @@@rrXrXsINNN JE \^^+LCb78?5CM3>3#5 55D,,,,,,,2Ic3r!c^|dd}|r.|D]%}|dd|rn&n|d=|.|r.|D]%}|dd|rn&n|d=|.t|dkr*|dd|dd<tdtjt jdj}tt|D]Q}||\}}}} |dkrd}| s/| d r| d d ||fi} |||| f||<RdS) zARemove excluded traces from beginning/end of tb; get cached linesNrr6z** IDLE Internal Exception: r7exec?z -toplevel-z >>>(3J 3r77^^!!a5BD 99B < k22 <((i/12h<$'K$;3;  C hod&;&;<<.setrecursionlimitWs  B@BB B =FEE = = =<),T<<<== = =qyyACC C!,,U5I-IJJJs +Az# This IDLE wrapper adds z7 to prevent possible uninterruptible loops.c<tz SN)rr)getrecursionlimitsrrz:install_recursionlimit_wrappers..getrecursionlimitls ,,..1EEEr!z( This IDLE wrapper subtracts z# to compensate for the z" IDLE adds when setting the limit.N) functoolswrapsr#rrrr)rrs@@rinstall_recursionlimit_wrappersrSs_S*++KKKK,+K  &$8&&&'''_S*++FFFF,+F P)=PP)PPPQQQ #/114HHIII-C-Cr!c@ttjddrttjddrgtjjt_tjjt_tjtjt z dSdSdS)zUninstall the recursion limit wrappers from the sys module. IDLE only uses this for tests. Users can import run and call this to remove the wrapping. rN)getattrr#rrrrrr!r!uninstall_recursionlimit_wrappersr{s C)=$ ? ?N C)=$ ? ?N!$ 5 A # 5 A c3558LLMMMMM NNNNr!ceZdZdZdS)rjc #t$rt$rdatjYd St j}ttj dddtj j d|d|d |tjd| ttj d d|datjYd SxYw) zrOverride RPCServer method for IDLE Interrupt the MainThread and exit server if link is dropped. Tz z(----------------------------------------zU Unhandled exception in user code execution server!' Thread: z" IDLE Client Address: z Request: r7i)rr'a *** Unrecoverable, server exiting! Users should never see this message; it is likely transient. If this recurs, report this with a copy of the message and an explanation of how to make it repeat. N)rVEOFErrorrLthreadinterrupt_mainr#rFrErrrGcurrent_threadr;rYrrU)selfr\client_addresserfs r handle_errorzMyRPCServer.handle_errorsM $      $ $ $H  ! # # # # # # $.C (/# ##-//4###1 ##  ###        c 4 4 4 4 (/#  ## #  $ $ $ $H  ! # # # # # #s)CB$CN)r __module__ __qualname__rrr!rrjrjs#!$!$!$!$!$r!rjc^eZdZd dZedZedZedZdZdS) StdioFileutf-8strictc>||_||_||_||_dSr)shelltags _encoding_errors)rrrencodingerrorss r__init__zStdioFile.__init__s"  ! r!c|jSr)rrs rrzStdioFile.encodings ~r!c|jSr)rrs rrzStdioFile.errorss |r!cd|jzS)Nz<%s>)rrs rr;zStdioFile.names !!r!cdSNTrrs risattyzStdioFile.isattytr!N)rr) rrrrpropertyrrr;rrr!rrrs XX""X"r!rceZdZdZdZdS) StdOutputFilecdSrrrs rwritablezStdOutputFile.writablerr!c|jrtdt||j|j|j|j}|j||j S)Nzwrite to closed file) closedrstrencoderrdecoderr%r)rrs rr%zStdOutputFile.writesb ; 5344 4 JJq$- 5 5 < )myseqwait) Executiveregisterget_remote_proxyr rrrrr#r!rr"r$r displayhookpydoc plainpagerpager _keep_stdinrr$ RPCHandler getresponse)r executiver+s rhandlezMyHandler.handles dOO  fi(((,,Y77  w!'&-AA "4<#)?FMCC "4<#)?4FHH / & 9')))++H55  ""4t$"?????r!c.tjddS)z>override SocketIO method - wait for MainThread to shut us down N)rhrirs rexithookzMyHandler.exithook!s 2r!c0datjdS)zEOverride SocketIO method - terminate wait on callback and exit threadTNrUrrrs rEOFhookzMyHandler.EOFhook%r!c0datjdS)zinterrupt awakened threadTNr7rs rdecode_interrupthookzMyHandler.decode_interrupthook+r9r!N)rrrr2r5r8r;rr!rrkrksS@@@4        r!rkc@eZdZdZdZdZdZdZdZdZ d d Z dS) r'c||_tjdurCtj|_t j|_tj |_dSi|_dS)NF) ridlelibtesting__main____dict__localsrCalltipr AutoComplete)rrs rrzExecutive.__init__4sQ$ ?e # #"+DK"?,,DL , 9 ; ;D   DKKKr!c< d|_da t||jdan#dawxYw t dS#t $rz}|jrb|jd}t|tdtfs7tdt|ztj Yd}~dSYd}~dSYd}~dSd}~wtj|_trt!tjtjurt'nB tj|jn-#tj|_t'YnxYw|jjd}|r!|jjYdSYdSxYw)NTFrz SystemExit: r7z<>) user_exc_info interruptablerrBrrVr<rrarDrEr r#r$rWrUrM excepthookrrXrr getvarr$open_remote_stack_viewer)rcodeeobjits rruncodezExecutive.runcode=s !%D  M &T4;''' %  %%%% . NNNNN- E E Ev EVAY!"tDzz3&788E.3r772DDDDDDDDDD E E E E E EEEEEEE B!$D  ~!333!!!!&ND$6777&),D&#%%%%%/)001NOOC B&??AAAAAA B B Bs@ <$<(< FA#B;;AFD)(F)(EAFc>trtjdSdSr)rGrrrs rinterrupt_the_serverzExecutive.interrupt_the_server^s)  $  ! # # # # # $ $r!c6tj|j|Sr)rstart_debuggerr)r gui_adap_oids rstart_the_debuggerzExecutive.start_the_debuggerbs(,GGGr!c:|j|dS)zDUnregister the Idb Adapter. Link objects and Idb then subject to GCN)r unregister)r idb_adap_oids rstop_the_debuggerzExecutive.stop_the_debuggeres ""<00000r!c6|j|Sr)r fetch_tip)rr;s rget_the_calltipzExecutive.get_the_calltipis|%%d+++r!c8|j||Sr)rfetch_completions)rwhatmodes rget_the_completion_listz!Executive.get_the_completion_listls 224>>>r!Nc.|jr |j\}}}ndSd}||j|}|r1|jjddvr|j}|r|jjddv||_tj||}tj |S)Nr)rrun) rFrr)tb_frame f_globalstb_nextrr StackTreeItemrremote_object_tree_item)r flist_oid_rrcflistitems rr zExecutive.stackvieweros   +JAsBB4  O44Y??E R[*:6.HHB R[*:6.HH(e441$777r!r) rrrrrOrQrUrYr\rar rr!rr'r'2sB$$$HHH111,,,??? 8 8 8 8 8 8r!r'r@)rdzidlelib.idle_test.test_run) verbosityr)NN)F)CrrrrrrQr#rrhrY_threadrrGr+r>rrrrrrr r@rwhasattrmodulesmoddelattrr rJeofrMquitrr r(r*r.Tclr2r3rLrUrGrdrIrlrrXrrrzrrrr RPCServerrj TextIOBaserrrr/rkr'runittestrr!rrzsx     ws{=):660**  K S( ) )*/CK '   CDHDHH   D      >B      ) ) )gkmm   LLLL\&" 9 9 9"""H!!!>"""    1 1 1===%.%.%.P N N N#$#$#$#$#$#-#$#$#$P 0 . . . . .I . . .,,,,,9,,,^* * * * * * * * ZI8I8I8I8I8I8I8I8X zD %3333s1CC  C