+
    i c                   s   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI t!^ RI"H#t#H$t$H%t% ^ RIH&t& ^ RI'H(t(  ! R R])4      t*. RXOt+R
 t,R t-R t. ! R R]/4      t0 ! R R4      t1 ! R R]14      t2 ! R R]14      t3 ! R R]14      t4 ! R R]Pj                  4      t6Rt7Rs8R t9R t: ! R R]Pv                  ]Px                  4      t=]>e   . R	NRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NRNR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=Nt?]? F9  t@]>]A! ]=R>]@,           4      P|                  P                  4       R?,           ,          t>K;  	  ]>]=P                  P|                  ,          t>A?A@RYR@ ltDRYRA ltERB tFRC tGRDRR(R/RE ltHRDRR(R/RF ltI ! RG RH]=4      tJ ! RI RJ4      tKRK tLRZRL ltMR[RM ltNRN tORO tPRPtQRQ tRRR tSRStTRT tURU tVRV tW]XRW8X  d   ^ RIYtY]YP                  ! 4        R# R# )\    N)	ExitStackclosingcontextmanager)CodeType)
deprecatedc                   s    ] tR t^ktRtR# )Restart N)__name__
__module____qualname____firstlineno____static_attributes__r       /usr/lib64/python3.14/pdb.pyr   r   k   s    r   r   runPdbhelpc                 s   R p\         P                  ! V 4       FX  pVeP   VP                  R8X  d?   VP                  P                  e   VP                  P                  u # V P
                  u # TpKZ  	  V P
                  # )NZRESUME)disZget_instructionsZopnameZ	positionslinenoZco_firstlineno)codeZprevZinstr   &  r   find_first_executable_liner   s   sn     D%%d+x 7%%1---&&& , r   c                 s  a  \         P                  ! R \         P                  ! S 4      ,          4      p \        P                  ! V4      pRp^ pT;_uu_ 4        \        V^R7       F  w  rxVP                  V4      '       d   YxrVMV'       d	   WX,          pV'       g   K9   \        WQR4      p	\        T 3R lT	P                   4       4      p
\!        T
4      pS YT,           ^,
          3u uuRRR4       # 	  RRR4       R#   \
         dK    \        P                  ! T4      pT'       g    R# \        P                  ! RP                  T4      4      p EL
i ; i  \         d     EK  i ; i  + '       g   i     R# ; i)zdef\s+%s(\s*\[.+\])?\s*[(]N )startexecc              3   s~   <"   T F2  p\        V\        4      '       g   K  VP                  S8X  g   K.  Vx  K4  	  R # 5iN)
isinstancer   co_name).0cfuncname   & r   	<genexpr>Z find_function.<locals>.<genexpr>   s4       S>a *1h 7 !"<=II<Q !">s   ==
=)recompileescapetokenizeopenOSError	linecachegetlinesioStringIOjoin	enumeratematchSyntaxErrornext	co_constsr   )r   filenameZcrefplinesZfuncdefZ	funcstartr   liner   ZfunccodeZlineno_offsets   f&          r   find_functionr6      s3   
**2RYYx5HH
IC)]]8$ GI	%b2LFyy%+7w"7f=D    S4>>  S S :8 D}+Dq+HHH! 
2 
" 3  )""8,[[(	)$ #  
" sS   D  4E+E+ E,=E+4E+ (E,%EEE(	#E+'E(	(E++E<	c                 s    \        \        P                  ! V 4      4      pVP                  4        V F  w  r4W8  g   K  Vu # 	  ^ # )r    )listr   ZfindlinestartsZreverse)r   ZlastiZ
linestartsir      &&   r   lasti2linenor:      s>    c((./J	:M   r   c                   s&   a  ] tR t^t o R tRtV tR# )_rstrc                s    V # r   r   self   &r   __repr__Z_rstr.__repr__   s    r   r   N)r   r	   r
   r   r?   r   __classdictcell____classdict__   @r   r;   r;      s      r   r;   c                   s,   a  ] tR t^t o V 3R ltRtV tR# )_ExecutableTargetc                sN   < V ^8  d   Qh/ S[ ;R&   S[S[ ,          ;R&   S[;R&   # )   r2   r   	namespace)strr   dictZformatrB      "r   __annotate__Z_ExecutableTarget.__annotate__   s*     M 
S.  O r   r   N)r   r	   r
   r   Z__annotate_func__r   r@   rA   rC   r   rD   rD      s      r   rD   c                   s|   a  ] tR t^t o R t]R 4       t]R 4       tR t]	R 4       t
]	R 4       t]	R 4       tRtV tR	# )
_ScriptTargetc                s   V P                  V4       V P                  V4      V n        \        P                  P
                  '       g=   \        P                  P                  V P                  4      \        P                  ^ &   R# R# r    N)	_check_safe_realpath_targetsysflagsZ	safe_pathospathdirname)r=   target   &&r   __init__Z_ScriptTarget.__init__   sU    F**62 yy"""''//$,,7CHHQK #r   c                s2   \         P                  P                  V 4      '       g&   \        R V  R24       \        P
                  ! ^4       \         P                  P                  V 4      '       d(   \        R V  R24       \        P
                  ! ^4       R# R# )zError: z does not existz is a directoryN)rS   rT   existsprintrQ   exitisdir)rV   r>   r   rN   Z_ScriptTarget._check   sg    
 ww~~f%%GF8?34HHQK77==  GF8?34HHQK !r   c                s    \         P                  P                  V 4      p\         P                  P                  V4      '       d   V# T # r   )rS   rT   realpathrY   )rT   r]      & r   rO   Z_ScriptTarget._safe_realpath   s5     77##D)77>>(33x==r   c                    V P                   # r   rP   r<   r>   r   r?   Z_ScriptTarget.__repr__       ||r   c                r_   r   r`   r<   r>   r   r2   Z_ScriptTarget.filename   s    ||r   c                s    \         P                  ! V P                  4      ;_uu_ 4       pR VP                  4       : RV P                  : R2uuRRR4       #   + '       g   i     R# ; i)zexec(compile(z, z
, 'exec'))N)r*   Z	open_coderP   Zread)r=   r3   r^   r   r   Z_ScriptTarget.code   sE     \\$,,''2"2779-r$,,1AL ('''s   #AA(	c                s<    \        R V P                  \        RR7      # )__main__N)r   __file____builtins____spec__)rH   rP   rd   r<   r>   r   rF   Z_ScriptTarget.namespace   s    \\%	
 	
r   r`   N)r   r	   r
   r   rX   staticmethodrN   rO   r?   propertyr2   r   rF   r   r@   rA   rC   r   rL   rL      su     8 	 	 	> 	>   M M
 
 
r   rL   c                   s\   a  ] tR t^t o R tR t]R 4       t]R 4       t]R 4       t	Rt
V tR# )_ModuleTargetc                sV   Wn         ^ RIp VP                  V P                   4      w  q0n        V n        R#   \
         d0   p\        RT 24       \        P                  ! ^4        Rp?R# Rp?i\         d0    \        P                  ! 4        \        P                  ! ^4        R# i ; ir    NzImportError: )rP   runpyZ_get_module_details_spec_codeImportErrorrZ   rQ   r[   	Exception	traceback	print_excr=   rV   rj   _er9   r   rX   Z_ModuleTarget.__init__   sw    	(-(A(A$,,(O%Az4: 	M!%&HHQKK 	!HHQK	s!   (6 B($A++B(8,B('B(c                r_   r   r`   r<   r>   r   r?   Z_ModuleTarget.__repr__   ra   r   c                .    V P                   P                  # r   rl   co_filenamer<   r>   r   r2   Z_ModuleTarget.filename      zz%%%r   c                r_   r   rl   r<   r>   r   r   Z_ModuleTarget.code      zzr   c           	        \        R \        P                  P                  \        P                  P	                  V P
                  4      4      V P                  P                  V P                  P                  V P                  \        R7      # rb   )r   rc   Z__package__Z
__loader__re   rd   
rH   rS   rT   ZnormcaseZabspathr2   rk   ZparentZloaderrd   r<   r>   r   rF   Z_ModuleTarget.namespace
  Y    WW%%bggoodmm&DE

))zz((ZZ%
 	
r   rl   rk   rP   Nr   r	   r
   r   rX   r?   rg   r2   r   rF   r   r@   rA   rC   r   rh   rh      sK      & &   
 
r   rh   c                   s\   a  ] tR tRt o R tR t]R 4       t]R 4       t]R 4       t	Rt
V tR# )	
_ZipTargeti  c                s   ^ RI p\        P                  P                  V4      V n        \
        P                  P                  ^ V P                  4        VP                  4       w  q0n        V n	        R#   \         d0   p\        RT 24       \
        P                  ! ^4        Rp?R# Rp?i\         d0    \        P                  ! 4        \
        P                  ! ^4        R# i ; iri   )rj   rS   rT   r]   rP   rQ   insertZ_get_main_module_detailsrk   rl   rm   rZ   r[   rn   ro   rp   rq   r9   r   rX   Z_ZipTarget.__init__  s    ww''/4<<(	(-(F(F(H%Az4: 	M!%&HHQKK 	!HHQK	s$   A3 3C%>$B((C%5,C%$C%c                r_   r   r`   r<   r>   r   r?   Z_ZipTarget.__repr__%  ra   r   c                rt   r   ru   r<   r>   r   r2   Z_ZipTarget.filename(  rw   r   c                r_   r   rx   r<   r>   r   r   Z_ZipTarget.code,  ry   r   c           	     rz   r{   r|   r<   r>   r   rF   Z_ZipTarget.namespace0  r}   r   r~   Nr   rA   rC   r   r   r     sK      & &   
 
r   r   c                   s8   a a ] tR tRt oV 3R ltR tRtVtV ;t# )_PdbInteractiveConsolei<  c                s6   < W n         \        SV `	  VR R7       R# )T)localsZ
local_exitN)_messagesuperrX   )r=   nsmessage	__class__s   &&&r   rX   Z_PdbInteractiveConsole.__init__=  s    t4r   c                s,    V P                  VR R7       R# )r   endNr   )r=   datarW   r   writeZ_PdbInteractiveConsole.writeA  s    d#r   r   )	r   r	   r
   r   rX   r   r   r@   __classcell__r   rB      @@r   r   r   <  s     5$ $r   r   z
-> settracec                 s<    V R9  d   \        RV ,          4      hV sR# )r   zInvalid backend: %sN)r   
monitoring)
ValueError_default_backend)backendr>   r   set_default_backendr   R  s$     00.899r   c                  s    \         # r   )r   r   r   r   get_default_backendr   Z  s    r   c                   sF  a a ] tR tRt oRtRt/ tRtRwR ltRxRR/V 3R lllt	RxRR/R llt
R tR	 tR
 tR t]]! R4      R 4       4       t]P$                  ]! R4      R 4       4       tR tR t]tR tR tR tR tR tR tR tR t]R 4       tR t R t!R t"]R 4       t#R t$R  t%R! t&R" t'R# t(R$ t)R% t*R& t+R' t,RyR( lt-R) t.R* t/]R+ 4       t0V 3R, lt1R- t2R. t3R/ t4R0 t5R1 t6R2 t7]R3 4       t8R4 t9R5 t:R6 t;R7 t<]3t=RzR8 lt>R9 t?]>t@]2tA]2tBR: tC]2tDR; tERxR< ltFR= tG]3tHR> tI]3tJR? tK]3tLR@ tM]3tNRA tORB tP]PtQ]2tR]2tSRC tT]TtU]TtVRD tWRE tXRF tY]YtZRG t[][t\RH t]]]t^RI t_]_t`RJ ta]atbRK tc]ctdRL te]etfRM tg]g;thtiRN tj]jtkRO tlRP tm]4tnRQ to]otp]otqRR trRS ts]sttRT tu]utvRU twRxRV ltxRW tyRX tzRY t{RZ t|R[ t}]4t~]4t]4tR\ t]tR] t]tR^ t]4tR{R_ ltR` t]4tRa t]4tRb tRc tRd tRe tRf tRg t. R|OtRxRh lt]3Ri ltRj t]tRk tRl tRm tV3Rn lRo ltV3Rp lRq ltRr tRs tRzRt ltRu tRvtVtV ;t# )}r   i_  Ni  c
                s   \         P                  P                  YV'       d   TM	\        4       R 7       \        P
                  P                  WW#4       \        P                  ! R4       V'       d   ^ V n        RV n	        / V n
        / V n        RV n        RV n        / V n        Wpn        T	;'       d0    \         P"                  ! T;'       g    \        P$                  R7      V n         ^ RIp
V
P+                  R4       RV n        WPn        \        P
                  P2                  R,           V n        . V n        V'       d    \7        \8        P:                  P=                  R	4      R
R7      ;_uu_ 4       pV P4                  P?                  V4       RRR4        \7        RR
R7      ;_uu_ 4       pT P4                  P?                  T4       RRR4       / V n!        RV n"        RV n#        RV n$        RV n%        \M        4       V n'        ^ V n(        RV n)        R#   \,         d     EL#i ; i  + '       g   i     L; i  \@         d     Li ; i  + '       g   i     L; i  \@         d     Li ; i))skipr   zpdb.Pdbz(Pdb) r   FfileNz 	
`@#%^&*()=+[{]}\|;:'",<>?z=.[](),"'+-*/%@&|<>~^z~/.pdbrczutf-8)Zencodingz.pdbrc)*bdbBdbrX   r   cmdCmdrQ   Zaudituse_rawinputpromptaliases
displaying
mainpyfile_wait_for_mainpyfile	tb_linenomode	_colorizecan_colorizestdoutcolorizereadlineZset_completer_delimsrm   allow_kbdintnosigint
identcharsrcLinesr&   rS   rT   Z
expanduserextendr'   commandscommands_definingcommands_bnumasync_shim_frameasync_awaitabletuple_chained_exceptions_chained_exception_index_current_task)r=   completekeystdinr   r   r   Zreadrcr   r   r   r   ZrcFiles   &&&&&&&&&&  r   rX   ZPdb.__init__j  s   W'J]J_`E:		) !D$)!	 VVY%;%;AUAU3::%V	))*LM "  '',,/GG "'',,Z87KKvLL''/ L(W55LL''/ 6
 !&! !%##(7 ()%!G  		 LK  65 sr   (H  2H7 2H$H7 I ,II H! H!$H4	/H7 4H7 7III	I I I)(I)r   c               s   < V \         n        Vf    \        P                  ! 4       P                  pVe   V P
                  P                  V4       \        SV `!  V4       R # r   )	r   _last_pdb_instancerQ   	_getframef_backr   r   r   	set_trace)r=   framer   r   s   &&$r   r   ZPdb.set_trace  sF    !%=MMO**ELL)% r   c               s4  "   V P                   e   R # Vf    \        P                  ! 4       P                  pV P	                  WR7       Wn        V P                  4        \        P                  ! 4       V n        R V n          R V n         V P                  VRR 4       V P                   el    V P                  '       dC   V P                  V4      ;_uu_ 4        V P                  4        R R R 4       V P                  4        V P                   G R j  xL
  K   R T n        T P                  f&   T P                   R8X  d   T P                  '       g   R # T P                  4        R #   + '       g   i     L; i Lf  \         d    T P                  4         EK  i ; i5i)Nr   Zopcode)r   rQ   r   r   r   	stopframe
stop_tracer   Ztrace_dispatchbreaksZset_enterframeset_continuestart_tracern   
_error_excZreturnframeZ
stoplineno)r=   r   r   s   &&$r   set_trace_asyncZPdb.set_trace_async  sA    +=MMO**E
 	u0 	 ###'D  x6##/&{{{!0077 --/ 8 ((*....  $ #2(=dkkk % 87 /  &OO%%&sZ   B&F)E5 ;E5 E %'E5 E3E5 :FF E0	+	E5 5FFFFc                s    V P                   '       d   \        hV P                  R 4       V P                  4        V P	                  V4       R# )z-
Program interrupted. (Use 'cont' to resume).N)r   KeyboardInterruptr   set_stepr   )r=   signumr      &&&r   sigint_handlerZPdb.sigint_handler  s6    ##EFur   c                sd    \         P                  P                  V 4       V P                  4        R # r   )r   r   resetforgetr<   r>   r   r   Z	Pdb.reset  s    dr   c                s   R V n         . V n        ^ V n        \        V R4      '       d9   V P                  '       d'   V P                  P
                  P                  RR 4       R V n        V P                  P                  4        R # )Ncurframe__pdb_convenience_variables)	r   stackcurindexhasattrr   	f_globalspopr   clearr<   r>   r   r   Z
Pdb.forget  s^    
4$$MM##''(EtLr   c                s   V P                  4        V P                  W4      w  V n        V n        V'       dQ   \	        VP
                  P                  VP                  4      pW0P                  VP
                  &   VP                  pKX  V P                  V P                  ,          ^ ,          V n
        V P                  V P                  RV P                  4       V P                  '       d(   V P                  V P                  RV P                  4       V P                  V P                  4       V P                  '       d9   V P                  V P                  RV P                  V P                  ,          4       V P                   '       dj   V P                    Uu. uFD  pVP#                  4       '       g   K  VP#                  4       P%                  R4      '       d   KB  VNKF  	  upV n        . V n        R# R# u upi )r    _frameZ
_asynctask
_exception#N)r   Z	get_stackr   r   r:   Ztb_framef_codeZtb_lastir   Ztb_nextr   set_convenience_variabler   _save_initial_file_mtimer   r   r   strip
startswithcmdqueue)r=   ftbr   r5      &&&  r   setupZ	Pdb.setup  sc   $(NN1$9!
DM ""++"4"4bkkBF*0NN2;;'B

4==1!4%%dmmXt}}M))$--tGYGYZ%%dmm4###))(()F)FG <<<!%!-::< (,

(?(?(D DM DL s   G22"G2G2zPThe frame locals reference is no longer cached. Use 'curframe.f_locals' instead.c                rt   r   )r   f_localsr<   r>   r   curframe_localsPdb.curframe_locals  s     }}%%%r   zgSetting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.c                s    R # r   r   )r=   valuerW   r   r   r     s     	r   c                s    V P                   '       d   R # V P                  V4      '       d&   V P                  R4       V P                  VR 4       R # R # )Nz--Call--)r   Z	stop_herer   interaction)r=   r   Zargument_listr   r   	user_callZPdb.user_call  sC     $$$>>%  LL$UD) !r   c                sN   V P                   '       d>   V P                  V P                  VP                  P                  4      8w  d   R # RV n         V P
                  '       d!   VP                  f   V P                  4        R # V P                  V4       V P                  VR 4       R # )NF)
r   r   canonicr   rv   Ztrace_opcodesf_linenoZset_stepinstrbp_commandsr   )r=   r   rW   r   	user_lineZPdb.user_line'  s}    $$$4<<0H0H#II(-D% ~~%""$%r   c                sJ   \        V R R4      '       d   V P                  V P                  9   ds   V P                  p^ V n        V P                  V,           F  pV P                  P	                  V4       K   	  V P                  P	                  RV P
                   24       R# R# R# )	currentbpFz_pdbcmd_restore_lastcmd N)getattrr   r   r   appendlastcmd)r=   r   r   r5      &&  r   r   ZPdb.bp_commands9  s     4e,,~~.IDNi00$$T* 1MM  #;DLL>!JK / -r   c                s    V P                   '       d   R # W!P                  R&   V P                  VRV4       V P                  R4       V P	                  VR 4       R # )N
__return__Z_retvalz
--Return--)r   r   r   r   r   )r=   r   Zreturn_valuer   r   user_returnZPdb.user_returnH  sK    $$$'3|$%%eYE\"%r   c                s   V P                   '       d   R # Vw  r4pW43VP                  R&   V P                  VRV4       V'       g   V\        J d   RMRpV P	                  V: V P                  V4      : 24       V P                  W4       R # )NZ__exception__r   z	Internal r   )r   r   r   ZStopIterationr   _format_excr   )r=   r   Zexc_infoZexc_typeZ	exc_valueZexc_tracebackprefixs   &&&    r   user_exceptionZPdb.user_exceptionQ  s     $$$-5*]*2*='%%e\9E &3(0M(A HJ 	vt'7'7	'BCD.r   c                s      R V n         V P                  4        RV n         R#   \         d    T P                  R4        KA  i ; i)TFz--KeyboardInterrupt--N)r   cmdloopr   r   r<   r>   r   _cmdloopZPdb._cmdloope  sD    6 %)!$)!$ 6456s   # AAc                s    V'       db   VP                   P                  pW P                  9  d.    \        P                  P                  V4      V P                  V&   VP                  pKi  R #   \         d     Li ; ir   )r   rv   _file_mtime_tablerS   rT   getmtimern   r   )r=   r   r2      && r   r   ZPdb._save_initial_file_mtimeq  sj     ||//H55579ww7G7G7QD**84 LLE 
 ! s   ,A, ,A:9A:c                sF    V P                   P                  P                  p\        P                  P                  V4      pYP                  9   d?   Y P                  T,          8w  d&   T P                  RT R24       Y P                  T&   R # R # R #   \         d     R # i ; i)Nz*** WARNING: file 'z;' was edited, running stale code until the program is rerun)	r   r   rv   rS   rT   r   rn   r   r   )r=   r2   Zmtimer   r   _validate_file_mtimeZPdb._validate_file_mtime}  s    	}}++77HGG$$X.E ...++H55LL.xj 9I I J/4""8, 6 /  		s   ?B B B c                sV   V P                   P                  V P                  4      pV'       d|   VP                  4        Fe  w  r#V P	                  V4      pWCJg   K  WC8w  g   K%  WAV&   V P                  R V: RV P                  WB4      : RV P                  W24      : R24       Kg  	  R# R# )display : z  [old: Z]N)r   getr   items_getval_exceptr   
_safe_repr)r=   r   exprZoldvalueZnewvalues   &    r   _show_displayZPdb._show_display  s    __((7
","2"2"4..t4 +0D'/t$LL"&(G"&//("A"C D #5 r   c                s   . p\        V\        4      '       d   VP                  TrCVe   WB9   d   MVP                  V4       VP                  e   VP                  pM,VP
                  e   VP                  '       g   VP
                  p\        V4      V P                  8  g   K  V P                  RV P                   R24       MMTp\        \        V4      4      V3# )Nz
More than zQ chained exceptions found, not all exceptionswill be browsable with `exceptions`.)r   BaseException__traceback__r   Z	__cause__Z__context__Z__suppress_context__lenMAX_CHAINED_EXCEPTION_DEPTHr   r   Zreversed)r=   	tb_or_excZ_exceptionsro   Zcurrentr9   r   _get_tb_and_exceptionsZPdb._get_tb_and_exceptions  s     i//!*!8!8)w%)""7+$$0%//G''3G<X<X<X%11G{#t'G'GGLL$T%E%E$F??
 # && "IXk*+Y66r   c              #  s   "    Wn         \        V4      ^,
          V n        Rx  \        4       V n         ^ V n        R#   \        4       T n         ^ T n        i ; i5i)   N)r   r
  r   r   )r=   Z
exceptionsrW   r   _hold_exceptionsZPdb._hold_exceptions  sM     	.'1$,/
Oa,?D) (-wD$,-D) (-wD$,-D)s   A!= AAAc                sZ     \         P                  ! 4       pV#   \         d    R p T# i ; ir   )asyncioZcurrent_taskRuntimeError)r=   Ztaskr^   r   _get_asyncio_taskZPdb._get_asyncio_task  s7    	'')D   	D	s    **c                s   \         P                  '       d@    \        P                  ! \        P                  \         P                  4       R \         n        V P                  4       V n        V P                  V4      w  r4\        V\        4      '       d   V P                  V4      ;_uu_ 4        V P                  W4       V P                  P                  R4       V P                  4        V P                  '       d3   V P                  R,          R8X  d   V P                  P                  4        V P!                  4        R R R 4       R #   \         d     Li ; i  + '       g   i     R # ; i)N_pdbcmd_print_frame_statusr   )r   _previous_sigint_handlersignalSIGINTr   r  r   r  r   r  r  r   r   r   r   r   r   )r=   r   r  r   r   r   r   r   ZPdb.interaction  s    '''4fmmS-I-IJ 04,!335"&"="=i"Hi//""#677JJu! MM  !=>MMO}}}r!26R!R!!#KKM 87   877s   3E -BEEEE*	c                sF    Ve   V P                  \        V4      4       R # R # r   )r   reprr=   objrW   r   displayhookZPdb.displayhook  s    
 ?LLc# r   c              #  s  a"    ^ RI oT3R lpT P                  p T P                  T n        SP	                  T4       Rx  SP	                  4        Y n        R#   \         d	    Rx   R# i ; i  SP	                  4        Y n        i ; i5i)r    Nc                  sr  < SP                  4       p SP                  V 4      pV'       d   VP                  4       '       d   R # VP                  R4      p\	        V4      \	        VP                  4       4      ,
          pVP                  R4      '       d
   V^,          pSP                  RV,          4       R # R # )N
: )Zget_current_history_lengthZget_history_itemisspacerstripr
  lstripendswithZinsert_text)Z
last_indexZ	last_lineindentr   s      r   input_auto_indentZ6Pdb._enable_multiline_input.<locals>.input_auto_indent  s    !<<>J 11*=I$$&&%,,V4	Y#i.>.>.@*AA%%c**aKF$$S6\2 r   )r   rm   completenamescomplete_multiline_namesZset_startup_hook)r=   r#  r$  r   s   &  @r   _enable_multiline_inputZPdb._enable_multiline_input   s     	
	3 **	/!%!>!>D%%&78%%'!.5  		0 %%'!.s>   BA B&A0 BA-)B,A--B0BBc                s  a
 \        VR R4      p\        ;QJ d&    R VP                   4       F  '       g   K   RM	  RM! R VP                   4       4      '       g   R# \        V4      o
RRR/ /S
R&    \        VR R	4       R
V,           pR\
        P                  ! VR4      ,           R,           R,           R,           pRRP                  R S
 4       4      ,           R,           R,           RP                  R S
 4       4      ,           R,           \
        P                  ! VR4      ,           R,           R,           p/ p \        V/ V4       TR,          ! 4       p\        ;QJ d!    . T
3R lTP                   4       F  NK  	  5M! T
3R lTP                   4       4      p \        YBS
TR7       S
R,          pTR,          P                  R4       TP                  TR,          4       TR,          p	T	e   T P                  \        T	4      4       R#   \         d     ELi ; i  \         d     R# i ; i  \         d     R# i ; i)<string>r   c              3   B   "   T F  p\        V\        4      x  K  	  R # 5ir   )r   r   )r   Zconstr^   r   r!   'Pdb._exec_in_closure.<locals>.<genexpr>,  s     KN5:eX..N   TFZresultNZ
write_backZ__pdb_eval__evalz__pdb_eval__['result'] = ztry:
  
z	finally:
z'  __pdb_eval__['write_back'] = locals()zdef __pdb_outer():
c              3   s.   "   T F  pR V R2x  K  	  R# 5i)r,  z = NoneNr   r   varr^   r   r!   r)  N  s     (Rks2cU'):ks   z  def __pdb_scope():
c              3   s,   "   T F
  pR V 2x  K  	  R# 5i)z    nonlocal Nr   r.  r^   r   r!   r)  P  s     (V+3=)>+s       z  return __pdb_scope.__code__Z__pdb_outerc              3   sn   <"   T F*  p\         P                  ! SP                  V4      4      x  K,  	  R # 5ir   )typesZCellTyper  )r   r/  locals_copyr    r   r!   r)  _  s(     WFVsenn[__S%9::FVs   25)Zclosure)r#   Zanyr1   rH   r/   textwrapr"  r,   r   rn   r   Zco_freevarsr   updater   r  )r=   sourceglobalsr   r   Zsource_with_closurer   ZcellsZpdb_evalZeval_resultr2  s   &&&&      @r   _exec_in_closureZPdb._exec_in_closure   s.    vz62sKDNNKsssKDNNKKK 6l d"'
N#	:FJ/ 169F //&$/0267 <<  6#yy(Rk(RR SUY Z7 8  $yy(V+(VV W Z^ ^  (vv>	 ? BF	 F
  ? ? 	$b"- - "WdFVFVWWdFVFVWW	U;
 ~. 	"">2 	h|,-x("LLk*+o  		@  		  		s6   4H ;H H1 HHH.-H.1I ?I c                s    R \         P                  ! VR4      ,           R,           R,           pW#,          pW5R&   \        WE4       VR,          ! 4       V n        R# )zasync def __pdb_await():
r0  r-  z!    __pdb_locals.update(locals())Z__pdb_localsZ__pdb_awaitN)r3  r"  r   r   )r=   r5  r6  r   Zsource_asyncr      &&&&  r   _exec_awaitZPdb._exec_awaitt  sY     )OOFF+,.23/0 	
 #>\!-02r   c                s   TpR pRp \         P                  ! VR,           RR4      ;pEfW   V P                  4       ;_uu_ 4        TpRp\         P                  ! VRR4      ;pEf   V P                  '       d    \	        V4      pMV P                  P                  V4       V P                  P                  4        V P                  P                  4       p\        V4      '       gI   RV n        V P                  P                  R4       V P                  P                  4        R
uuRRR4       # VP                  R4      pVP!                  4       '       d   VR,          pEK  VRV,           ,          pEK*  W n        RRR4       M WBV3#   \
        \        3 d"    RT n        \        R4       R
u uuRRR4       # i ; i  + '       g   i     LI; i  \"         d-   pT P$                  e   TP&                  R8X  d   R	p Rp?L}h Rp?ii ; i)FNr-  <stdin>singlez...   r   r  z'await' outside functionT)NNF)codeopcompile_commandr&  r   inputEOFErrorr   r   rZ   r   r   flushr   r   r
  r  r  r/   r   msg)r=   r5   bufferis_await_coder   Zcontinue_promptrs      &&     r   
_read_codeZPdb._read_code  s   '	..td{IxPPY1133!F&.O#)#9#9&)X#VV4_,,,9',_'= !KK--o> KK--/#'::#6#6#8D#&t99/1 $ 1 1$ 7 $ 1 1 3'8' 43* (,{{6':<<>>"dNF"dTk1F#)L7 43 ZP ]**? %-.?#@ 9/1 %d'8 8 439 438  	 %%1EE77 $	sx   <G 3F<9FBF<"
G -&F<%F<9G %F9,F<-
G 8F99F<<G	G G H!H HHc                s@   VR ,          R8X  d   VR,          P                  4       pV P                  P                  pV P                  P                  p V P	                  V4      w  rEpVf   R# \
        P                  p\
        P                  p\
        P                  p	 V P                  \
        n        V P                  \
        n        V P                  \
        n        V'       d7   V P                  WSV4        V\
        n        V\
        n        V	\
        n        R# V P                  WSV4      '       g   \        WCV4       V\
        n        V\
        n        V	\
        n        R#   T\
        n        T\
        n        T	\
        n        i ; i   T P                  4         R# ; i):Nr  N!r  NNNT)r   r   r   r   rE  rQ   r   r   r  r9  r7  r   r   )
r=   r5   r   r6  r   rB  rC  Zsave_stdoutZ
save_stdinsave_displayhook
   &&        r   defaultZPdb.default  s(   8s?48>>#3D''--))	*.//$*?'D-~**KJ"3 JJ	![[
"&"2"2 $$Vf=
 )
&	"2  00&IITF3(
&	"2 )
&	"2	OOs=   F -0F AE" %E" 8!F $E" ?!F "#FF Fc                sZ   R V9  d   V# R;r#. p \         P                  ! \        P                  ! V4      P                  4       Fj  pVw  rgrp
V\
        P                  8X  d   VR 8X  d   Yr2K)  W8X  g   K1  V\
        P                  8X  g   KH  VP                  V^,          V	^,          V34       Kl  	  T'       g   T# ^ p. pT F&  w  rpTP                  YT RT R2,           4       T	pK(  	  TP                  YR 4       RP                  T4      #   \         P                   d    Tu # i ; i)$z__pdb_convenience_variables["z"]Nr   )r   r   )r%   Zgenerate_tokensr*   r+   r   tokenZOPZNAMEr   Z
TokenErrorr,   )r=   r5   Zdollar_startZ
dollar_endZreplace_variablestZ
token_typeZtoken_stringr   r   rr   Zlast_endZline_piecesnames   &&            r   _replace_convenience_variablesZ"Pdb._replace_convenience_variables  s&   
 d?K$,,		--bkk$.?.H.HI:;7
%a)lc.A/4*(Z5::-E%,,l1os1v|-TU J !K 1EtU38UVZU[[]6^^_H !2 	4	?+ww{## "" 	K	s   A D 5D &D D*)D*c                sp   VP                  4       '       g   V# VP                  4       pV^ ,          V P                  9   d   V P                  V^ ,          ,          p\        ^^
4       F  pRV 2V9   dM   V\	        V4      8  d    V P                  RV^ ,           R24        R# VP                  RV 2W#,          4      pKY  RV9  g   Kb  V\	        V4      8  d    V P                  RV^ ,           R24        R#  M	  VP                  RRP                  VR,          4      4      pVP                  4       pEK  V^ ,          R	8w  da   VP                  R
4      pV^ 8  dI   W^,           R P                  4       pV P                  P                  ^ V4       VRV P                  4       pV P                  V4      pV# )r    %z Not enough arguments for alias ''rF  %*zToo many arguments for alias 'r  rG  aliasz;;N)r   splitr   ranger
  errorreplacer,   findr   r   r   r  rO  )r=   r5   argsidxZmarkerr0      &&    r   precmdZ
Pdb.precmd  sr   zz||Kzz|1g%<<Q(DQ|se9$c$i'

%Ed1gYa#PQ"<<!C5	49=D%SY

%CDG9A#NO" $ <<chhtBx&89D::<D 7gYYt_F{1HI--/$$Q-GV}++- 2248r   c                s    V P                   '       gm   VP                  R 4      '       d7   V P                  V4      w  r#p\        W4      '       d   \	        W4      ! V4      # \
        P                  P                  W4      # V P                  V4      # )Z_pdbcmd)	r   r   	parseliner   r   r   r   onecmdhandle_command_def)r=   r5   commandargr   r   r^  Z
Pdb.onecmd  sq     %%%y))%)^^D%9"d4))"41#6677>>$--**400r   c                s   V P                  V4      w  r#pV'       g   R # VR8X  d   R# VR8X  d   V P                  R4       R# V P                  V P                  ,          pVR8X  d   VP	                  R4       R # V'       d!   VP	                  VR,           V,           4       MVP	                  V4        \        V RV,           4      pVP                  V P                  9   d   R# R #   \         d    T P                  p L8i ; i)	Fr   TEOFr   Zsilent_pdbcmd_silence_frame_statusr  do_)
r]  r   r   r   r   r   AttributeErrorrJ  r   commands_resuming)r=   r5   r   ra  Zcmdlistfuncr[  r   r_  ZPdb.handle_command_def$  s    -$%<E\LL-- 2 23(?NN9:NN3s73;'NN3	 4-D ==D222  	 <<D	 s   3C% %C?>C?c                s    V P                   '       d]   \        \        P                  P	                  V4      4      p\        P                  P                  WR R7      w  r4RP                  V4      pV# )T)colorsZforce_colorr   )r   r7   _pyreplZutilsZ
gen_colorsZdisp_strr,   )r=   r   rh  Zcharsrr   r9   r   _colorize_codeZPdb._colorize_code@  sQ    ==='--22489F}}--dt-THE775>Dr   c                s4    \        WV P                  R 7       R# ))r   r   NrZ   r   r=   rA  r   r   r   r   ZPdb.messageI  s    c-r   c                s4    \        R WP                  R7       R# )***r   Nrk  r=   rA  rW   r   rV  Z	Pdb.errorL  s    eS{{+r   c                sp    R VP                   9  d   / VP                   R &   W1P                   R ,          V&   R# )r   N)r   )r=   r   rN  r      &&&&r   r   ZPdb.set_convenience_variableQ  s/    (?=?EOO9:?D56t<r   c                s
   \        V R 4      '       g?    ^ RIpVP                  4       p^ RIHp W0n        VP                  V4       V P
                  # V P
                  #   \         d    ^ RIHp Y0n         T P
                  # i ; i)_rlcompleterN)	Completer)r   r   get_completerrlcompleterrq  rp  set_completerrm   )r=   r   Zprev_completerrq  s   &   r   rs  ZPdb.rlcompleterY  s     t^,,7 "*!7!7!91$-!&&~6   t     .1$-!    .s   A BBc                s  < \         SV `  WW44      pV P                   F-  pVP                  V4      '       g   K  VP	                  V4       K/  	  V'       d   V# V P                  WW44      pV'       d   V# V P                  WW44      # r   )r   r$  r   r   r   _complete_expressioncompletedefault)	r=   textr5   begidxendidxr   rS  Zexpressionsr   s	   &&&&&   r   r$  ZPdb.completenamesr  sy     7(VD\\E%%& " O33DOK""''FCCr   c                s^   VP                  4       P                  R4      '       d   . #  V P                  WW44      p\        P                  ! \        P
                  ! V4      R,           4      pV F  p\        P                  P                  V4      '       d   VP                  VR,           4       KB  \        P                  P                  V4      '       g   Ki  VP                  4       P                  R4      '       g   K  VP                  VR ,           4       K  	  V#   \         d    . p Li ; i)r  Z*Z/)r  ,).pyz.pyw)r   r!  ru  rn   globr$   rS   rT   r\   r   Zisfilelower)r=   rw  r5   rx  ry  retZglobsZfns   &&&&&   r   _complete_locationZPdb._complete_location  s    ::<  ,,I	++DGC 		$++d+c12Bww}}R  

28$##
(;(;O(L(L

28$	 
 
  	C	s   D D,+D,c                s    \        \        P                  P                  4       UUu. uF8  w  rVVf   K  \	        V4      P                  V4      '       g   K-  \	        V4      NK:  	  upp# u uppi r   )r-   r   
Breakpoint
bpbynumberrG   r   )r=   rw  r5   rx  ry  r8   bp   &&&&&  r   _complete_bpnumberZPdb._complete_bpnumber  sZ     %.cnn.G.G$H ?$H51 &)!f&7&7&= A$H ? 	? ?s   A)A)A)c                s   V P                   '       g   . # / V P                   P                  CV P                   P                  CpR V9   d   VP                  R 4      p V^ ,          P	                  R4      '       d4   V P                   P                  R,          V^ ,          R,          ,          pMWV^ ,          ,          pV^R  F  p\        Wx4      pK  	  R P                  TRR 4      R ,           p	\        T4       U
u. uF*  qP	                  TR,          4      '       g   K"  Y,           NK,  	  up
# VP	                  R4      '       d[   V P                   P                  P                  R/ 4      pV Uu. uF'  qP	                  VR,          4      '       g   K"  RV 2NK)  	  up# VP                  4        U
u. uF  qP	                  V4      '       g   K  V
NK  	  up
#   \        \        3 d    . u # i ; iu up
i u upi u up
i ).rK  r   rG  Nr   )r   r   r   rT  r   r   KeyErrorre  r,   Zdirr  keys)r=   rw  r5   rx  ry  r   Zdottedr  Zpartr   n	conv_varsrN  s   &&&&&        r   ru  ZPdb._complete_expression  s   }}}I C''B4==+A+AB$; ZZ_F!9'',,--112OPQWXYQZ[]Q^_CAY-C"1RLD!#,C ) XXfSbk*S0F(+CM1LL4LJFJJMMs## MM33778UWYZ	/8VytOODQSH<U
!D6
yVV!wwy?y!LL,>AAy?? n- 	 N
 W?s=   G :AG ;G0G0/G5	G51G:G:G-,G-c                s~     ^ RI pR^TP                  4       ^,          ,
          ,          .#   \         d    . u # i ; i)r    Nr  )r   rm   
get_begidx)r=   rw  r5   rx  ry  r      &&&&& r   _complete_indentationZPdb._complete_indentation  sC    	 q8..0144566  	I	s   , <<c                sv    VP                  4       '       g   V P                  WW44      # V P                  WW44      # r   )r   r  rv  )r=   rw  r5   rx  ry  s   &&&&&r   r%  ZPdb.complete_multiline_names  s5     zz||--d&II##D??r   c                s   VP                  R 4      '       d[   V P                  P                  P                  R/ 4      pV Uu. uF'  qfP                  VR,          4      '       g   K"  R V 2NK)  	  up# ^ p. pV P	                  V P                  P                  V P                  P
                  ,          4      p	V	P                  W4      ;p
e   VP                  V
4       V^,          pK1  V# u upi )rK  r   rG  )r   r   r   r  rs  r   completer   )r=   rw  r5   rx  ry  r  rN  stateZmatches	completerr.   s   &&&&&      r   rv  ZPdb.completedefault  s    ??3//334QSUVI+4R94R8QJavJ9RR$$T]]%<%<t}}?U?U%UV	!**477uDNN5!QJE Ss   C)&	C)c              #  s  "    ^ RI p T P                  T4      pTP                  4       pTP	                  TP
                  4       Rx  TP	                  T4       R#   \         d	    Rx   R# i ; i  TP	                  X4       i ; i5irM   )r   rm   rs  rr  rt  r  )r=   r   r   r  old_completerr9   r   _enable_rlcompleterZPdb._enable_rlcompleter  s|     	
	2((,I$224M""9#5#56""=1  		 ""=1s:   BA A A2 	BA/+B.A//B2BBc                sh    V P                  ^ 4       V P                  4        V P                  4        R# rM   )print_stack_tracer   r  r=   ra  rW   r   r  ZPdb._pdbcmd_print_frame_status  s(    q!!!#r   c                s    V P                   '       d7   V P                   R,          R8X  d   V P                   P                  4        R# R# R# )r  r  Nr   )r   r   r  rW   r   rc  Z Pdb._pdbcmd_silence_frame_status  s4    ===T]]2.2NNMM O=r   c                s    Wn         R # r   )r   r  rW   r   _pdbcmd_restore_lastcmdZPdb._pdbcmd_restore_lastcmd  s    r   c                s   V'       g,   \        \        P                  P                  4      ^,
          pM \	        V4      p V P                  V4       Y n	        Y P                  9   d   T P                  T,          pMRp. T P                  T&   T P                  pRT n        RT n         T P                  4        RT n        YPn        R#    T P                  T4        R# ; i  \         d$   pT P                  RT,          4        Rp?R# Rp?ii ; i  \         d9    T'       d   Y@P                  T&   MT P                  T T P                  R4        Li ; i  RT n        YPn        i ; i)r  Nzcannot set commands: %sz(com) Tz1command definition aborted, old commands restoredF)r
  r   r  r  int_print_invalid_argget_bpbynumberr   rV  r   r   r   r   r   r   )r=   ra  ZbnumerrZold_commandsZprompt_backr[  r   do_commandsZPdb.do_commands  s2   J s~~001A5D3x	%
 "== ==.LL dkk!%	&LLN &+D"%K?'',  	JJ0367	" ! 	L&2d#MM$'JJJK	L &+D"%KsM   C C  (D C D+D		DE$-EE EE E&c                s   V'       gp   V P                   '       d\   V P                  R 4       \        P                  P                   F,  pV'       g   K  V P                  VP                  4       4       K.  	  R# RpRpRpRpVP                  R4      pV^ 8  da   W^,           R P                  4       pV P                  V4      ;p	'       d   V P                  RV: RV	: 24       R# VRV P                  4       pVP                  R4      p
RpV
^ 8  do   VRV
 P                  4       pV P                  V4      pV'       g   V P                  RV,          4       R# TpW^,           R P                  4       p \        V4      pM \        V4      pV'       g   V P7                  4       pV P9                  V4      pV P;                  WEV4      pV'       d   V P=                  VVW&V4      p	V	'       d   V P                  V	4       R# V P?                  VV4      R,          pV P                  R
VP@                  VPB                  VPD                  3,          4       R# R#   \         d    T P                  RT,          4        R# i ; i  \         d     \        TT P                   P"                  T P                   P$                  4      pM	   Tp M; i \'        TR4      '       d   TP(                  pTP*                  pTP,                  p\/        T4      pTP0                  pTP2                  p EL   T P5                  T4      w  rpT'       g   T P                  R	T,          4         R# Tp\        T4      p  EL; ii ; i)z!Num Type         Disp Enb   WhereNrz  Invalid condition r  r  z%r not found from sys.pathzBad lineno: %s__func__zJThe specified object %r is not a function or was not found along sys.path.zBreakpoint %d at %s:%dr   )#r   r   r   r  r  ZbpformatrX  r   _compile_error_messagerV  r  rfindlookupmoduler  r   r+  r   r   r   r   r  __code__r   r   rv   Z__globals__lineinfodefaultFiler   	checklineZ	set_break
get_breaksnumberr   r5   )r=   ra  Z	temporaryr  r2   r   condmodule_globalsZcommar  Zcolonr   r   rg  r   ZokZlnr5   s   &&&               r   do_breakZPdb.do_breakG  s     {{{@A..33BrR[[]3 4  19Qwx='')D11$77s7

sCDfu+$$&C		#A:6E{))+H!!(+A

7(BCAgh-&&(CS%S6 '')H<<)~~h?..4(KC

3__Xt4R85 ii"'':; < M  

+c12  % $ 7 7 $ 6 68DD%tZ00#}}==D  $||H7=F#//H%)%5%5N%)-s);&R2

 $FHK$L M!H WF3%s[   4I I> #I;:I;>M5
5K ?M5 KM5
AL&&6M1M5 M1-M51M5c                s    V P                   P                  P                  pVR 8X  d   V P                  '       d   V P                  pV# )r'  )r   r   rv   r   )r=   r2   r^   r   r  ZPdb.defaultFile  s5    ==''33z!doooHr   c                s*    V P                  VR 4       R# )TN)r  r  rW   r   	do_tbreakZPdb.do_tbreak  s     	c4 r   c                sB   RpVP                  R4      p\        V4      ^8X  d   V^ ,          P                  4       pM*\        V4      ^8X  d   V^,          P                  4       pMV# VR8X  d   V# VP                  R4      pV^ ,          R8X  d   V^  \        V4      ^ 8X  d   V# V P                  4       p\        V4      ^8X  d   V^ ,          pM.V P	                  V^ ,          4      pV'       d   TpV^,          pMV# \        WpP                  V4      4      p	T	;'       g    T# )NrQ  r   r  r=   )NNN)rT  r
  r   r  r  r6   r   )
r=   Z
identifierZfailedZidstringZidZpartsZfnameZitemr   ZanswerrI  r   r  ZPdb.lineinfo  s   ###C(x=A!""$B]a!""$BM8F]8va5zQ  "u:?8D !!%(+AQxt\\%%89r   c                sb   \        V R R4      pVf   V'       d   VP                  MRp\        P                  ! WV4      pV'       g   V P	                  R4       ^ # VP                  4       pV'       d+   V^ ,          R8X  g   VR,          R8X  g   VR,          R8X  d   V P                  R4       ^ # V# )r   NzEnd of filer   :Ni   Nz"""z'''zBlank or comment)r   r   r(   Zgetliner   r   rV  )r=   r2   r   r  r   r5   r8  r   r  ZPdb.checkline  s     j$/!05U__4N  >BLL'zz|aC2h%DH$5JJ)*r   c                6   V'       g   V P                  V4       R # VP                  4       pV F=  p V P                  V4      pVP                  4        V P	                  RV,          4       K?  	  R #   \
         d   pT P                  T4        R p?Ke  R p?ii ; i)Nz
Enabled %s)r  rT  r  enabler   r   rV  r=   ra  rY  r8   r  r  r[  r   	do_enableZPdb.do_enable  s}     ##C(yy{A0((+ 		\B./    

3    A11B<BBc                r  )NzDisabled %s)r  rT  r  disabler   r   rV  r  r[  r   
do_disableZPdb.do_disable  s}     ##C(yy{A1((+ 

]R/0    

3 r  c                s   V'       g   V P                  V4       R # VP                  R^4      p V^,          pV P                  V4      ;p'       d   V P                  RV: RV: 24       R #   V P                  V^ ,          P                  4       4      pW5n        V'       g%   V P                  RVP                  ,          4       R # V P                  RVP                  ,          4       R #   \         d    R p Li ; i  \         d    T P                  R4        R # \         d   pT P                  T4        R p?R # R p?ii ; i)Nr  r  r  z#Breakpoint %d is now unconditional.z$New condition set for breakpoint %d.Breakpoint number expected)r  rT  r  rV  
IndexErrorr  r   r  r   r  r   )r=   ra  rY  r  r  r  r[  r   do_conditionZPdb.do_condition(  s    ##C(yya 	7D11$77s7

sCD 8
	Q$$T!W]]_5B GBRYYNOCbiiOP  	D	  	5JJ34 	JJsOO	s;   !C* C* .&C= *C:9C:=EE%E&D==Ec                s   V'       g   V P                  V4       R # VP                  4       pV'       g   V P                  R4       R # \        V4      ^8X  d   ^ pM7\        V4      ^8X  d    \	        V^,          4      pMV P                  V4       R #  V P                  V^ ,          P                  4       4      pW4n        V^ 8  d9   V^8  d   RV,          pMRpV P                  RWTP                  3,          4       R # V P                  RVP                  ,          4       R #   \
         d    T P                  T4        R # i ; i  \
         d   pT P                  T4        R p?R # R p?ii ; i)Nr  z%d crossingsz
1 crossingz%Will ignore next %s of breakpoint %d.z-Will stop next time breakpoint %d is reached.)r  rT  rV  r
  r  r   r  r   ignorer   r  )r=   ra  rY  countr  Zcountstrr  rD  r   	do_ignoreZPdb.do_ignoreJ  s4    ##C(yy{JJ34t9>EY!^DG
 ##C(	*$$T!W]]_5B Iqy19-5H+HD&		23 4 L!yy) *)  '',  	JJsOO	s*   +D! &E !E EE+E&&E+c                s|     \        V4      pVP                  4       P                  4       #   \         d    Tp L-i ; ir   )r>  r?  r   r}  )r=   r   rJ  reply   &&& r   _prompt_for_confirmationZPdb._prompt_for_confirmationy  s=    	&ME {{}""$$  	E	s   + ;;c                s   V'       g   V P                  R RR7      pVR9   dd   \        P                  P                   Uu. uF  q3'       g   K  VNK  	  ppV P	                  4        V F  pV P                  RV,          4       K  	  R# RV9   d   VP                  R4      pVRV pW^,           R p \        V4      pV P                  Wg4      R,          pV P                  Wg4      pV'       d   V P                  V4       R# X F  pV P                  RV,          4       K  	  R# VP                  4       p	V	 F>  p V P                  V4      pV P                  V4       V P                  RV,          4       K@  	  R# u upi   \         d    RT,          p Li ; i  \         d   pT P                  T4        Rp?K  Rp?ii ; i)	zClear all breaks? Zno)rJ  z
Deleted %sNr  NNNzInvalid line number (%s))yZyes)r  r   r  r  Zclear_all_breaksr   r  r  r  Zclear_breakr   rV  rT  r  Zclear_bpbynumber)
r=   ra  r  r  Zbplistr8   r2   r   r  Z
numberlistrI  r   do_clearZPdb.do_clear  s    11$ 2 E $'*~~'@'@G'@B""'@G%%' BLL!23 !#:		#A2AwHcd)C9S :1=&&x8

3  !BLL!23 !YY[
A0((+ %%a(\B./ 1 H  70367   

3 s5   	E9E91E> 9F>FFF?#F::F?c                s    V'       g   R pM \        V4      pV P                  V4       R #   \         d    T P                  RT,          4        R # i ; i)NzInvalid count (%s))r  r   rV  r  )r=   ra  r  r   r   do_whereZPdb.do_where  sP     EC 	u%  

/#56s   + #AAc                s   Wn         V P                  V P                   ,          ^ ,          V n        V P                  V P                  RV P                  4       V P	                  V P                  V P                   ,          4       RV n        R# )r    r   N)r   r   r   r   print_stack_entryr   )r=   r  rW   r   _select_frameZPdb._select_frame  s\    

4==1!4%%dmmXt}}Mtzz$--89r   c                s   V P                   '       g   V P                  R 4       R# V'       g   \        V P                   4       F  w  r#W P                  8X  d   RMRp\	        V4      p\        V4      ^P8  d   VR,          R,           pV P                   V,          P                  f   RMVR pV P                  V RV RV 24       K  	  R#  \        V4      p^ Tu;8:  d   \        T P                   4      8  d   M MT P                   T,          P                  f   T P                  R	4       R# Ypn        T P                  RT P                   T,          P                  4       T P                  T P                  T P                  ,          4       R# T P                  R
4       R#   \         d    T P                  R4        R# i ; i)zDid not find chained exceptions. To move between exceptions, pdb/post_mortem must be given an exception object rather than a traceback.NZ>r  :NiM   N...z  -z>3zArgument must be an integerz;This exception does not have a traceback, cannot jump to itzNo exception with that number)r   r   r-   r   r  r
  r	  r  r   rV  r   r  r   r   )r=   ra  Zixexcr   ZrepZ	indicatorr     &&      r   do_exceptionsZPdb.do_exceptions  sz    '''LL3
 $T%=%=> "&C&C C3is8b=c(U*C //3AAI r7 
 xq1SE:; ?S F:S!9!9::++F3AAIJJ\]06-

4!9!9&!A!O!OP&&tzz$--'@A

:;  

89s   F" "GGc                s>   V P                   ^ 8X  d   V P                  R4       R#  \        T;'       g    ^4      pT^ 8  d   ^ pM\	        ^ T P                   T,
          4      pT P                  T4       R#   \         d    T P                  RT,          4        R# i ; i)r    zOldest frameNInvalid frame count (%s))r   rV  r  r   maxr  r=   ra  r  Znewframer   r   do_upZ	Pdb.do_up   s     ==AJJ~&	qME 19H1dmme34H8$  	JJ1C78	s   A5 A5 5#BBc                s   V P                   ^,           \        V P                  4      8X  d   V P                  R4       R#  \	        T;'       g    ^4      pT^ 8  d   \        T P                  4      ^,
          pM7\        \        T P                  4      ^,
          T P                   T,           4      pT P                  T4       R#   \
         d    T P                  RT,          4        R# i ; i)r  zNewest frameNr  )r   r
  r   rV  r  r   minr  r  r   r   do_downZPdb.do_down  s     ==1DJJ/JJ~&	qME 194::*H3tzz?Q.0EFH8$  	JJ1C78	s    C C #C*)C*c                s   V'       d;    \        V4      pY P                  P                  8:  d   T P                  R4       R# MRpV P                  V P                  V4       ^#   \         d    T P                  R T,          4        R# i ; i)Error in argument: %rNz7"until" line number is smaller than current line number)r  r   rV  r   r   Z	set_until)r=   ra  r   r   r   do_untilZPdb.do_until*  s     S ///

 ) * 0
 Ft}}f-  

2S89s   A# ##B
	B
c                s\    V'       d   V P                  V4       R # V P                  4        ^# r   )r  r   r  rW   r   do_stepZPdb.do_stepC  s$     ##C(r   c                r    V'       d   V P                  V4       R # V P                  V P                  4       ^# r   )r  Zset_nextr   r  rW   r   do_nextZPdb.do_nextQ  s+     ##C(dmm$r   c                s\   V P                   R 8X  d   V P                  R4       R# V'       dJ   ^ RIp\        P                  R,          p VP                  V4      \        n        T\        P                  R&   \        h  \         d%   pT P                  RT: RT: 24        Rp?R# Rp?ii ; i)inlinezrun/restart command is disabled when pdb is running in inline mode.
Use the command line interface to enable restarting your program
e.g. "python -m pdb myscript.py"N:r    r  NzCannot run r  :Nr    N)r   rV  shlexrQ   argvrT  r   r   )r=   ra  r  Zargv0rs   r9   r   do_runZ
Pdb.do_run^  s     99 JJ : ; HHSME ;;s+ !CHHRL  

#q9:s   	A< <B+B&&B+c                r  r   )r  Z
set_returnr   r  rW   r   	do_returnZPdb.do_returny  s+    
 ##C(&r   c                s   V'       d   V P                  V4       R # V P                  '       g:    \        P                  ! \        P                  V P                  4      \
        n        V P                  4        ^#   \         d     Li ; ir   )	r  r   r  r  r   r   r  r   r   r  rW   r   do_continueZPdb.do_continue  sm    
 ##C(}}}MM&--1D1DE , 	  
 s   8A9 9BBc                sl   V'       g   V P                  V4       R # V P                  ^,           \        V P                  4      8w  d   V P	                  R4       R #  \        V4      p WP                  n        V P                  V P                  ,          ^ ,          V3V P                  V P                  &   V P                  V P                  V P                  ,          4       R #   \         d$   pT P	                  RT,          4        R p?R # R p?ii ; i  \         d    T P	                  R4        R # i ; i)Nz)You can only jump within the bottom framezJump failed: %sz)The 'jump' command requires a line number)
r  r   r
  r   rV  r  r   r   r  r   )r=   ra  rs   r   r   do_jumpZPdb.do_jump  s     ##C(==1DJJ/JJBC	2c(C2 *-&,0JJt}},Ea,H#,M

4==)&&tzz$--'@A 2

,q0112  	DJJBC	Ds+   D 'A9C" "D-DDD32D3c                sX    \        V P                  V P                  V P                  4      # r   )r   r   r   r   r<   r>   r   _create_recursive_debuggerZPdb._create_recursive_debugger  s    4##TZZ==r   c                s0   V'       g   V P                  V4       R # V P                  4        V P                  P                  pV P                  P                  pV P                  4       pRV P                  P                  4       ,          Vn        V P                  R4        \        P                  ! VP                  WV34       V P                  R4       V P                  4        VP                  V n        R #   \         d    T P                  4         LQi ; i)Nz(%s) zENTERING RECURSIVE DEBUGGERzLEAVING RECURSIVE DEBUGGER)r  r   r   r   r   r  r   r   r   rQ   Zcall_tracingr   rn   r   r   r   )r=   ra  r6  r   pr9   r   do_debugZPdb.do_debug  s     ##C(--))''++-T[[..0023	QUUS6$:; 	12yy	  	OO	s    #C7 7DDc                s   V P                   R 8X  d   \        \        R4      '       gk     \        R4      pVP	                  4       P                  4       pVR8X  g   VR8X  d   \        P                  ! ^4       KQ  VP	                  4       R8X  g   Kh  R# RV n	        V P                  4        ^#   \         d    RpT P                  R4        Lxi ; i)r  Zps1Tz7Quitting pdb will kill the process. Quit anyway? [y/n] r  r   r  N)r   r   rQ   r>  r}  r   r?  r   r[   _user_requested_quitZset_quit)r=   ra  r  r   r   do_quitZPdb.do_quit  s     99 e)<)<%!"[\E!KKM//1E C<5B;HHQK[[]c)$(!   %ELL$%s   )B+ +CCc                sF    V P                  R 4       V P                  V4      # )r   )r   r  r  rW   r   do_EOFZ
Pdb.do_EOF  s    
 	R||C  r   c           	     sn   V'       d   V P                  V4       R # V P                  P                  pV P                  P                  pVP                  VP
                  ,           pVP                  \        P                  ,          '       d
   V^,           pVP                  \        P                  ,          '       d
   V^,           p\        V4       Fa  pVP                  V,          pWc9   d1   V P                  V: RV P                  W6,          V4      : 24       KL  V P                  V: R24       Kc  	  R # )N = z = *** undefined ***)r  r   r   r   Zco_argcountZco_kwonlyargcountZco_flagsinspectZ
CO_VARARGSZCO_VARKEYWORDSrU  Zco_varnamesr   r  )r=   ra  ZcorH   r  r8   rN  rD  r   do_argsZPdb.do_args  s    
 ##C(]]!!}}%%NNR111;;++++1Q;;////QqSqA>>!$D|$
D0QRS?@ r   c                s   V'       d   V P                  V4       R # RV P                  P                  9   d?   V P                  V P	                  V P                  P                  R,          R4      4       R # V P                  R4       R # )Nr   retvalzNot yet returned!)r  r   r   r   r  rV  r  rW   r   	do_retvalZPdb.do_retval  s]    
 ##C(4==111LL)?)?)MxXYJJ*+r   c                s     \        WP                  P                  V P                  P                  4      #    T P	                  4        h ; ir   )r+  r   r   r   r   r  rW   r   _getvalZPdb._getval   s<    	]]44dmm6L6LMM	OOs	   36 A	c                s&    Vf5   \        WP                  P                  V P                  P                  4      # \        WP                  VP                  4      #   \         d,   p\        RT P                  T4      ,          4      u R p?# R p?ii ; i)Nz** raised %s **)r+  r   r   r   r  r;   r   )r=   ra  r   r  r  r   r  ZPdb._getval_except'  sq    	D}C!8!8$--:P:PQQC%..AA 	D*T-=-=c-BBCC	Ds"   7A A B% BBBc                sp    \         P                  ! 4       pV P                  V P                  V4      4       R # r   )rQ   	exceptionrV  r   r=   r  r^   r   r   ZPdb._error_exc0  s$    mmo

4##C()r   c                s     V P                  V4      p T P                  T! T4      4       R #     R # ; i   T P                  4         R # ; ir   )r  r   r   )r=   ra  rg  valr  r   _msg_val_funcZPdb._msg_val_func4  sD    	,,s#C	LLc#		OOs   - 5 2A
c           	     s     \        V4      #   \         d,   p\        R T RT P                  T4       R24      u Rp?# Rp?ii ; i)z	*** repr(z
) failed: z ***N)r  rn   r;   r   )r=   r  r  rs   r  r   r  ZPdb._safe_repr>  sJ    	P9 	P9TF*T5E5Ea5H4INOO	Ps   
 A >AAc                sh    V'       g   V P                  V4       R # V P                  V\        4       R # r   )r  r  r  r  rW   r   do_pZPdb.do_pD  s(    
 ##C(3%r   c                s|    V'       g   V P                  V4       R # V P                  V\        P                  4       R # r   )r  r  pprintZpformatr  rW   r   do_ppZ	Pdb.do_ppN  s,    
 ##C(3/r   c                s   R V n         RpV'       d   VR8w  d    RV9   dU   VP                  R4      w  r2\        VP                  4       4      p\        VP                  4       4      pW#8  d	   W2,           pM}\        VP                  4       4      p\	        ^V^,
          4      pMPV P                  e   VR8X  d)   \	        ^V P                  P                  ^,
          4      pMV P                  ^,           pVf
   V^
,           pV P                  P                  P                  pV P                  V4      p \        P                  ! W@P                  P                  4      pV P!                  Wc^,
          V W5V P                  4       \#        V\%        V4      4      V n        \%        V4      V8  d   V P'                  R4       T P+                  4        R#   \
         d    T P                  RT,          4        R# i ; i  \(         d     LIi ; i)r7   Nr  rz  r  z[EOF])r   rT  r  r   r  r   rV  r   r   r   r   rv   get_file_breaksr(   r)   r   _print_linesr  r
  r   r   r   )r=   ra  ZlastZfirstr2   	breaklistr4   rD  r   do_listZPdb.do_list\  s    3#:#:"%))C.KE.Etzz|,D|$|		,E519-E [[ C3J4==11A56EKK!OE<2:D==''33((2		&&x1H1HIEe!GD15"mm-dCJ/DK5zD W% 	!!#)  

2S89$ ! 		s+   AG 5,G 1BG8 #G54G58HHc                s   V'       d   V P                  V4       R # V P                  P                  P                  pV P	                  V4      p V P                  V P                  4      w  rET P                  YEY0P                  4       T P                  4        R #   \         d   pT P                  T4        R p?R # R p?ii ; ir   )
r  r   r   rv   r  _getsourcelinesr'   rV  r  r   )r=   ra  r2   r  r4   r   r  rD  r   do_longlistZPdb.do_longlist  s    
 ##C(==''33((2		 00?ME 	%MMB!!#	  	JJsO	s   B C $B;;C c                s   V'       g   V P                  V4       R #  V P                  V4      p T P                  T4      w  r4T P                  Y44       R #     R # ; i  \        \        3 d   pT P                  T4        R p?R # R p?ii ; ir   )r  r  r  r'   Z	TypeErrorrV  r  )r=   ra  r  r4   r   r  r[  r   	do_sourceZPdb.do_source  s    
 ##C(	,,s#C	 005ME 	%(	 # 	JJsO	s"   A A AB
.BB
c                s   V'       d*   VP                   pV P                  P                  VR4      pMR;rV\        W4       F  w  rx\	        V4      P                  ^4      p	\        V	4      ^8  d
   V	R,          p	Ws9   d   V	R,          p	M	V	R,          p	Wu8X  d   V	R,          p	MWv8X  d
   V	R,          p	V P                  '       d   V P                  V4      pV P                  V	R,           VP                  4       ,           4       K  	  R# )r  r  ZBz->z>>	Nr   )r   r   r  r-   rG   Zrjustr
  r   rj  r   r  )
r=   r4   r   r   r   Zcurrent_linenoZ
exc_linenor   r5   Zss
   &&&&&     r   r  ZPdb._print_lines  s    "^^N++E26J*,,N%e3LFF!!!$A1vzSSS'T	%T	}}}**40LLTDKKM12 4r   c                sj   V'       g   V P                  V4       R #  V P                  V4      pR p TP                  P                  pT'       d%   T P                  RTP                  ,          4       R #  TP                  pT'       d%   T P                  RTP                  ,          4       R # TP                  \        J d0   T P                  RTP                  : RTP                  : 24       R # T P                  \        T4      4       R #     R # ; i  \         d     Li ; i  \         d     Li ; i)Nz	Method %szFunction %szClass r  )r  r  r  r  rn   r   r   r   typer	   r
   )r=   ra  r   r   r   r   	do_whatisZPdb.do_whatis  s    
 ##C(	LL%E 	>>**D LLt||34	>>D LL56??d"LL%*:*:E<N<NOPT%[!3	
  		  		s.   D D 4D$ DD! D!$D21D2c           	     sx   V'       g   V P                   '       dx   V P                  R 4       V P                   P                  V P                  / 4      P	                  4        F,  w  r#V P                  V: RV P                  W24      : 24       K.  	  R# V P                  R4       R# V P                  V4      ;p'       d   V P                  RV: RV: 24       R# V P                  V4      pW0P                   P                  V P                  / 4      V&   V P                  RV: RV P                  W14      : 24       R# )zCurrently displaying:r  z No expression is being displayedzUnable to display r   N)
r   r   r  r   r  r  r  rV  r  Z
setdefault)r=   ra  keyr  r  r9   r   
do_displayZPdb.do_display  s     45 $ 3 3DMM2 F L L NHCLLS$//#2K!LM !O ?@11#66s6

cBC))#.EH**4=="=cBdooc6OPQr   c                s
   V'       d+    V P                   P                  V P                  / 4      V R# V P                   P                  V P                  R4       R#   \         d    T P	                  R T,          4        R# i ; i)znot displaying %sN)r   r  r   r  rV  r   r  rW   r   do_undisplayZPdb.do_undisplay	  sf     6OO''r:3? OOt4  6

.456s   'A #BBc                s    V P                   P                  V P                  / 4       Uu. uF  pVP                  V4      '       g   K  VNK   	  up# u upi r   )r   r  r   r   )r=   rw  r5   rx  ry  rs   r  r   complete_undisplayZPdb.complete_undisplay	  sJ    ??..t}}bA 'Aa<<% A ' 	' 's   AAc                s    / V P                   P                  CV P                   P                  CpV P                  V4      ;_uu_ 4        \	        W P
                  R 7      pVP                  RRR7       RRR4       R#   + '       g   i     R# ; i))r   *pdb interact start* *exit from pdb interact command*)ZbannerZexitmsgN)r   r   r   r  r   r   interact)r=   ra  r   Zconsoler   r   do_interactZPdb.do_interact"	  sp     C''B4==+A+AB%%b)),RFG$:%G  I *)))s   *A<<B	c                s   VP                  4       p\        V4      ^ 8X  dX   \        V P                  P	                  4       4      pV F,  pV P                  V: RV P                  V,          : 24       K.  	  R# \        V4      ^8X  dp   V^ ,          V P                  9   d:   V P                  V^ ,          : RV P                  V^ ,          ,          : 24       R# V P                  RV^ ,           R24       R# RP                  VR,          4      pRV9  dJ   Rp\        ^^
4       F7  pR	V 2V9  d   R
pR	V 2V9   g   K  V'       d   K%  V P                  R4        R# 	  W@P                  V^ ,          &   R# )r    r  NzUnknown alias 'rQ  r  rG  rR  TrP  Fz*Replaceable parameters must be consecutive)	rT  r
  Zsortedr   r  r   rV  r,   rU  )r=   ra  rY  r  rS  ZconsecutiverZ  rD  r   do_aliasZPdb.do_alias.	  s(   2 yy{t9>$,,++-.D%e1DEF t9>Aw$,,&$q''4<<Q3HIJ

_T!WIQ78 HHT"X&E5 " B<C3%y-&+3%yE)++

#OP ( %*LLa!r   c                s    VP                  4       p\        V4      ^ 8X  d   V P                  V4       R# V^ ,          V P                  9   d   V P                  V^ ,           R# R# rM   )rT  r
  r  r   )r=   ra  rY  r   r   
do_unaliasZPdb.do_unalias`	  sP    
 yy{t9>##C(7dll"T!W% #r   c                st    V P                    Uu. uF  qUP                  V4      '       g   K  VNK  	  up# u upi r   )r   r   )r=   rw  r5   rx  ry  ar  r   complete_unaliasZPdb.complete_unaliasl	  s)    <<><a<<+=<>>>s   55c                s   Vf   V P                   pMNV^ 8X  d    V P                   V P                  ,          .pM(V^ 8  d   V P                   R V)  pMV P                   V) R  p V F  pV P                  V4       K  	  R #   \         d     R # i ; ir   )r   r   r  r   )r=   r  Zstack_to_printframe_linenor   r   r  ZPdb.print_stack_trace	  s    =!ZZNaZ"jj78NQY!ZZ%0N!ZZ0N	 .&&|4 !/  		s   !A= =BBc                sF   Vw  r4W0P                   J d   R pMRpV P                  W4      pV P                  '       dO   VP                  V^4      p\	        V4      ^8  d-   V P                  V^,          4      V^&   VP                  V4      pV P                  WV,           4       R# )z> r,  N)r   Zformat_stack_entryr   rT  r
  rj  r,   r   )r=   r  Zprompt_prefixr   r   r   Zstack_entryr4   s   &&&     r   r  ZPdb.print_stack_entry	  s    $MM!FF--lJ===%%mQ7E5zA~..uQx8a+007V)*r   c                s@   V'       g    \         P                  P                  W4      #   \        V R V,           4      pV! 4       #   \         d    \        T RT,           4      p Mi ; i \
        P                  P                  ^8  d   T P                  RT,          4       R# TP                  f   T P                  RT,          4       R# T P                  T P                  TP                  4      4       R#   \         d    T P                  RT,          4        R# i ; i)Zhelp_rd  zJNo help for %r; please do not run Python with -OO if you need command helpNz&No help for %r; __doc__ string missingzNo help for %r)r   r   do_helpr   re  rQ   rR   ZoptimizerV  __doc__r   _help_message_from_doc)r=   ra  Ztopicr`  r   r   r  ZPdb.do_help	  s     77??4--	G5gm4w! 5!$45 yy!!Q&

 68;< =&

CcIJLL44W__EF  	/JJ'#-.	/s)   A A%"C6 $A%%C6 6#DDc                s    T P                  V P                  P                  ;'       g    R P                  4       4       R# )r   N)r   	help_execr   r   r<   r>   r   r  ZPdb.help_exec	  s+     	dnn,,2299;<r   c                s    \        4        R # r   r   r<   r>   r   help_pdbZPdb.help_pdb	  s    r   c                sV   VP                  R 4      '       g(   VP                  R\        P                  4      R ,           p\        P                  P                  V4      '       d*   \        P                  P                  V4      '       d   V# R# \        P                   F  p\        P                  P                  V4      '       d   \        P                  ! V4      pK=  \        P                  P                  W!4      p\        P                  P                  V4      '       g   K  Vu # 	  R# )r{  r  N)r!  rW  rS   seprT   ZisabsrY   rQ   ZislinkZreadlinkr,   )r=   r2   rU   Zfullnamer   r   r  ZPdb.lookupmodule	  s       ''''RVV4u<H77==""ww~~h''xxG''..))++g.ww||G6Hww~~h''   r   c                    < V ^8  d   QhRS[ /# )rE   rV   )rD   rI   rJ   r   rK   Pdb.__annotate__	  s      , r   c                sR   R V n         RV n        V P                  VP                  4      V n        ^ RIpVP                  P                  4        VP                  P                  VP                  4       V P                  P                  4        V P                  VP                  4       R# TFN)r   r  r   r2   r   rb   Z__dict__r   r4  rF   r   r   r   )r=   rV   rb   r   r   _runZPdb._run	  s}     %)!$)!,,v7
 	!  !1!12 	$$&r   c                r  )rE   r  )r  rI   rJ   r   rK   r  
  s     @ @} @r   c                sX    \         P                  ! V4      R,          P                  4       # )r  r   )ro   format_exception_onlyr   r  rW   r   r   ZPdb._format_exc
  s!    ..s3B7==??r   c                s     \        VR R4       R#   \         d%   p\        T P                  T4      4      u Rp?# Rp?ii ; i)r:  r+  Nr   )r#   r/   r;   r   )r=   r  r  r   r   r  ZPdb._compile_error_message
  s@    	0D)V,   	0))#.//	0s    A ;A A c                sP    \         P                  ! V4      w  r#\        ^V4      pW#3# )r  )r  Zgetsourcelinesr  )r=   r  r4   r   r   r   r  ZPdb._getsourcelines
  s)      ..s3Q}r   c                s   VP                  4       P                  4        Uu. uF  q3P                  4       NK  	  ppV'       g   R # RV9   d   VP                  R4      pM^p. pR\	        V P
                  4      ,          p\        V4       FB  w  rV^ 8X  d   Rp	MW8  d   Rp	MV'       d    M$Rp	VP                  Wy,           V,           4       KD  	  RP                  V4      # u upi )zNo help message found.r   r  zUsage: z       r-  )	r  
splitlinesr   Zindexr
  r   r-   r   r,   )
r=   doc
usage_onlyr5   r4   Z	usage_endZ	formattedr"  r8   r   s
   &&&       r   r  ZPdb._help_message_from_doc
  s    *-**,*A*A*CD*C$*CD+;BII	s4;;'' 'GAAv""V_t34 ( yy##' Es   C c                sB   V'       g   V P                  R 4       MV P                  RV 24       \        P                  ! \        V \        P
                  ! ^4      P                  P                  4      4      pVe%   V P                  V P                  VRR7      4       R# R# )z%Argument is required for this commandzInvalid argument: NT)r  )
rV  r  Zgetdocr   rQ   r   r   r   r   r  )r=   ra  r  r   r   r  ZPdb._print_invalid_arg3
  sz     JJ>?JJ+C512
 nnWT3==+;+B+B+J+JKL?LL44ST4JK r   ) r   r   r   rp  r  r   r   r   r   r   r   r   r   r   r   r$  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )	ZtabNNNFTNNFr   r-  )F)r   N)r  r  r  r  r  r  r  )r   r	   r
   r   r  r  r   r   rX   r   r   r   r   r   r   rg   r   r   Zsetterr   r   Zuser_opcoder   r   r   r   r   r   r  r  r   r  r  r   r  r&  r7  r9  rE  rJ  rO  r\  r^  r_  rj  r   rV  r   rs  r$  r  r  ru  r  r%  rv  r  r  rc  r  r  Zcomplete_commandsr  r  Zdo_bZcomplete_breakZ
complete_br  Zcomplete_tbreakr  r  r  Zcomplete_enabler  Zcomplete_disabler  Zcomplete_conditionr  Zcomplete_ignorer  r  Zdo_clZcomplete_clearZcomplete_clr  Zdo_wZdo_btr  r  r  Zdo_ur  Zdo_dr  Zdo_untr  Zdo_sr  Zdo_nr  
do_restartr  Zdo_rr  Zdo_cZdo_contr  Zdo_jr  r  Zcomplete_debugr  Zdo_qZdo_exitr  r  Zdo_ar  Zdo_rvr  r  r   r  r  r  r  Zcomplete_printZ
complete_pZcomplete_ppr  Zdo_lr  Zdo_llr  Zcomplete_sourcer  r  Zcomplete_whatisr  Zcomplete_displayr  r  r  r  r  r  rf  r  line_prefixr  r  do_hr  r  r  r	  r   r  r  r  r  r   r@   r   r   r   r   r   r   _  s    # #&7"r! ! !1D 1f< bc& d & yz { 
*&  KL&/(
6
!5 D"7H . .(:$  >Rh3-+^8$B$L1 8.,
E ! !0D&?@@7@ 2 2"
 I&V +a<H D'N#J! )O! F.0& )O1, *Q@ ,+*Z )O%-0\ E'N$K&& DE-<^%& D%& D. F D
 D2 J	 D( ! D72> D>!0 *N2 DG!A& D, ED*P&0 *N%J&K1$d D$" E)& +O3.#"J +OR. ,5'
I0*d
&?; =H +"G8 D= 
< 0@ @$,L Lr   ZwhereZdownZupZbreakZtbreakr   r  r  r  Z	conditionr   Zstepr0   ZuntilZjumpreturnr  Zcontinuer7   ZlonglistrY  r  ZppZwhatisr5  ZdisplayZ	undisplayr  rS  ZunaliasZdebugZquitrd  z

c                 s:    \        4       P                  WV4       R # r   )r   r   Z	statementr6  r   r   r   r   r   W
  s     EIIi&)r   c                 s6    \        4       P                  WV4      # r   )r   runeval)Z
expressionr6  r   r   r   r  r  f
  s     5==f55r   c                 s    \        WV4       R # r   )r   r  r   r   runctxr  o
  s    	F#r   c                  s6    \        4       P                  ! V / VB # r   )r   runcall)rY  Zkwdss   *,r   r  r  s
  s     5==$'$''r   headerc                 s    \         P                  e   \         P                  pM\        RRRR7      pV e   VP                  ! V 4       VP                  ! \        P
                  ! 4       P                  VR7       R # Nr  r   Tr   r   r   r   )r   r   r   r   rQ   r   r   r  r   pdb   $$ r   r   r   }
  sU     )$$xEFMM#--/((8<r   c                 s  "   \         P                  e   \         P                  pM\        RRRR7      pV e   VP                  ! V 4       VP                  ! \        P
                  ! 4       P                  VR7      G R j  xL
  R #  L5ir  )r   r   r   r   rQ   r   r   r  r  r   r   r   
  s`      )$$xEF


cmmo44x
HHHs   A<B>B?Bc                   s  a a ] tR tRt oRV 3R llt]R 4       tR t]R 4       t	R t
]P                  RR l4       t]P                  R 4       tV3R	 lR
 ltR tR tRR ltV 3R ltR tV 3R ltV 3R ltV 3R ltR t]tR tR tR t]P                  R 4       t]P                  R 4       tR t]t V 3R lt!V 3R lt"Rt#Vt$V ;t%# ) 
_PdbServeri
  c                s   < W0n         R V n        Wn        . V n        RV n        V'       d   V P                  V4       \        SV `  ! RRR/VB  W@n        R # )NFr   r   )	_owns_sockfile_interact_state	_sockfile_command_name_cache_write_failed_start_signal_listenerr   rX   r   )r=   sockfilesignal_serverowns_sockfiler   kwargsr   s   &&&&&,r   rX   Z_PdbServer.__init__
  sU     ,#!#% "''6 	2%262 r   c                 sz    \         P                  p ^ p\        V P                  R V P                  R VR R2^4      # )r    Z02XZF0)rQ   Zversion_infor  ZmajorZminor)ZvZrevisions     r   protocol_versionZ_PdbServer.protocol_version
  s>     aggc]1773-~R@"EEr   c                s   T; d2    ^8  d+   R ;e#   w  \         Rc ;e   w   \         Rc ;e	   w      R#     ; d$    ^8  d   R	 ;e   w  \         Rc ;e   w      R#    ; d2    ^8  d+   R
 ;e#   w  \         Rc ;e   w   \         Rc ;e	   w      R#     ; d_    ^8  dX   R ;eP   w  \        Rc;eC   w  p  \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d    R#     d^    ^8  dW   R ;eO   w  \        Rc;eB   w  p  \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   R#     \        RV 24      h)rE   Nr   c              3   r(  r   r   rG   r   r   r^   r   r!   3_PdbServer._ensure_valid_message.<locals>.<genexpr>
  s     =AZ3''r*  FTc              3   r(  r   r)  r*  r^   r   r!   r+  
       >AZ3''r*  'PDB message doesn't follow the schema! r   r  r  r   r  completionscommand_list)rG   r7   allAssertionError)r=   rA  r1  r3  r   r   _ensure_valid_messageZ _PdbServer._ensure_valid_message
  s     222SUCE2
  3 !#% ! 322CECE2  3  #0======	
   $ 2>>>>>>  $=cUC r   c                s   aa V3R  lpVV3R lp\         P                  ! 4       o\         P                  ! V\        P                  ! V^R7      .RR7      o\
        P                  ! V4       SP                  4        R# )c                 s  < \        V 4      ;_uu_ 4        V P                  R 4       V P                  \        P                  4       SP                  4       '       gK    V P                  R4      pTR8X  d    RRR4       R# \        P                  ! \        P                  4       K`   RRR4       R#   \        P                   d     K  i ; i  + '       g   i     R# ; i)g      ?   r   N)r   Z
settimeoutZshutdownsocketZSHUT_WRZis_setrecvtimeoutr  Zraise_signalr  )Zsockr   	shut_downr    r   listenerZ3_PdbServer._start_signal_listener.<locals>.listener
  s     %fnn-#**,,!#yy s{  ''6 -  ">> ! ! s6   ACB1.C &C1C
C	C

CC	c                  sH   < S P                  4        SP                  4        R # r   )setr,   )r;  threads   r   stop_threadZ6_PdbServer._start_signal_listener.<locals>.stop_thread
  s    MMOKKMr   )r:  T)rV   rY  ZdaemonN)	threadingZEventZThreadr8  create_connectionatexitregisterr   )ZclsZaddressr<  r?  r;  r>  s   &&  @@r   r#  Z!_PdbServer._start_signal_listener
  s[    	7	 OO%	!!**7A>?

 	$r   c                s(   V P                  V4       \        P                  ! V4      p V P                  P	                  VP                  4       R ,           4       V P                  P                  4        R#   \        \        3 d    RT n	         R# i ; i   
TN)
r6  jsondumpsr   r   encoder@  r'   r   r"  r=   r'  Zjson_payload   &, r   _sendZ_PdbServer._send  sq    ""6*zz&)
	&NN  !4!4!6!>?NN  "$ 	& "&D	&s   A
A5 5BBc                sL    V P                  \        V4      V,           R R7       R# )Zinfor.  NrK  rG   rl  r   r   r   Z_PdbServer.message  s    

3s8c>
7r   c                s>    V P                  \        V4      R R7       R# )rV  r.  NrL  rn  rW   r   rV  Z_PdbServer.error  s    

3s8'
2r   c                r  )rE   r  )rG   rI   rJ   r   rK   Z_PdbServer.__annotate__"  s     " "3 "r   c                s    VR 8X  dH   V P                   '       g6   V P                  RR^ ^ 4      V n         V P                  V P                   R7       V P                  WR7       V P                  4       # )r  r   r2  r/  )r!  r$  rK  _read_reply)r=   r   r  r   r   
_get_inputZ_PdbServer._get_input"  s`     E>$":":":'+'9'9"b!Q'GD$JJD$<$<J=

&
.!!r   c           
     s    V P                   '       d   \        hV P                  P                  4       pV'       g   \        h \        P
                  ! V4      pT; d%    ^8  d   R ;e   w  \        Rc;e	   w  p   T#    ; dW    ^8  dP   R	 ;eH   w  \        Rc;e;   w  p   TR8X  d   \        hTR8X  d   \        hT P                  RT 24       \        h    d    ^8  d   R
 ;e   w   d    ^8  d   R ;e   w  \        Rc;er   w  uuuuuuu\        Rc;e^   w  uuuuuuu\        Rc;eJ   w  uuuuuuu\        Rc;e6   w  uuuuuu    rVrxT P                  YVYx4      p	T P                  T	R7       EK          T P                  RT 24       EK    \        P                   d    T P                  RT: 24       \        hi ; i)Tz(Disconnecting: client sent invalid JSON r   INTrb  zReceived unrecognized signal: r0  z&Ignoring invalid message from client: r  r  r  rw  r5   rx  ry  )r"  r?  r   r   rF  loadsJSONDecodeErrorrV  rG   r   r  _complete_anyrK  )
r=   rA  payloadr  r  rw  r5   rx  ry  r  s
   &         r   rM  Z_PdbServer._read_reply+  sb    !!!..))+C**S/
 ***sz* L +,,,,//5&

<VHE
 ' -  ! ! ! #	D #	D"%+f"%+f	! !..t6JEJJ5J1 JJ?uEF? '' 

EcWMNs   F! !1Gc                s   V P                   '       d   V P                  pMdV^ 8X  d   V P                  WW44      # V P                  V4      ^ ,          pV'       d    \	        V RV,           V P                  4      pMV P                  pV! WW44      # )r    Z	complete_)r  rv  r$  r]  r   )r=   rw  r5   rx  ry  Zcompfuncr   r  r   rV  Z_PdbServer._complete_anyY  sz    ++H{))$fEE..&q)C"4s):D<P<PQ//F33r   c                sZ   V P                  4        Ve   Wn        V P                  '       d%   V P                  \        V P                  4      4       R pV'       g   V P                  e(    V P                  RRR7      pV P                  V4       K=  V P                  '       gP    V P                  '       d   RMRpV P                  V P                  VR7      pV P                  P                  V4       V P                  P                  ^ 4      pV P                  V4      pV P                  V4      pV P!                  W%4      pK  V P#                  4        R #   \         d    T P                  R4        L\         d    T P                  R4       R T n         ELi ; i  \         d    Rp Li ; i)	Nz>>> r  r/  z
KeyboardInterruptz!
*exit from pdb interact command*r   r  rb  )Zpreloopintror   rG   r  rN  _run_in_python_replr   r?  r   r   r   r   r   r\  r^  Zpostcmdpostloop)r=   rX  Zstopr  r  r5   r[  r   r   Z_PdbServer.cmdlooph  sR   J:::LLTZZ)##/	4 OO6OLE ,,U3==="*.*@*@*@JeE OO4;;eOLE $$U+==$$Q'D;;t$D;;t$D<<+D/ ) 8LL!67 0LL!EF+/D(0   "!E"s6   *E #F 5!F F1F:FFF*)F*c                sl   < \         SV `  4        V P                  '       d   V P                  4        R # R # r   )r   rZ  quittingdetach)r=   r   s   &r   rZ  Z_PdbServer.postloop  s%    ===KKM r   c                s    R V n         V P                  '       d)   R\        n         V P                  P                  4        R# R#   \         d     R# i ; i)FN)r[  r  r   r   r   closer'   r<   r>   r   r\  Z_PdbServer.detach  sK    %)C"$$&	 
  s   A AAc                0   < . V n         \        SV `	  V4      # r   )r!  r   r  r=   ra  r      &&r   r  Z_PdbServer.do_debug  s     $& w$$r   c                r^  r   )r!  r   r  r_  r`  r   r  Z_PdbServer.do_alias  s    #% w$$r   c                r^  r   )r!  r   r  r_  r`  r   r  Z_PdbServer.do_unalias  s    #% w!#&&r   c                s*    V P                  VR 7       R# )r  N)rK  r  rW   r   r  Z_PdbServer.do_help  s    


r   c                s\    Ve(   V P                  \        V4      4       V\        n        R # R # r   )r   r  builtinsrr   r  rW   r   _interact_displayhookZ _PdbServer._interact_displayhook  s#    ?LLc#HJ r   c                sL   \         P                  p V P                  \         n        V P                  R ,          ! VR,           4      pVf   \	        R4      h\        W0P                  R,          4       T\         n        R#    T P                  4         L!; i  T\         n        i ; i)compilerr-  NIncomplete commandr   )rQ   r  rb  r  r/   r   r   )r=   r4   rH  Zcode_objr   r   rY  Z_PdbServer._run_in_python_repl  s     ??		/"88CO++J7EH!"677//56 /CO	OO.COs   A A? ?BB B#c                s    V P                  R 4       \        \        P                  ! 4       / V P                  P
                  CV P                  P                  CR7      V n        R# )r  )rc  r   N)r   rH   r<  ZCommandCompilerr   r   r   r  r  rW   r   r  Z_PdbServer.do_interact  sK     	+,#++-D$--))DT]]-C-CD 
r   c                sF    \        V P                  R V P                  R7      # )F)r&  r   )r  r   r   r<   r>   r   r  Z%_PdbServer._create_recursive_debugger  s     NN]]
 	
r   c                s\     V P                  VR R7      #   \        \        3 d    Tu # i ; i)Zconfirmr/  )rN  r?  r   )r=   r   rJ  r   r   r  Z#_PdbServer._prompt_for_confirmation  s4    	??&	?BB+, 	N	s    ++c                s(    V P                  R 4       R# )z%remote PDB cannot restart the programN)rV  r  rW   r   r  Z_PdbServer.do_run  s    

:;r   c                s   < V P                   '       dR   \        \        P                  ! 4       \        4      '       d)   R V n         \
        SV `  4       pV P                  R4       V# \
        SV `  4       # )Nr  )r  r   rQ   r  
SystemExitr   r   r   )r=   r~  r   r    r   r   Z_PdbServer._error_exc  sV    Js}}
$K$K#'D '$&CLL;<J7%''r   c                s   <  VP                  R 4      R,           p\        P                  ! VRR4      f   \        R4      h\        SV `  V4      #    T P                  4         R# ; i)rF  r-  r:  r;  Nrd  )removeprefixr<  r=  r/   r   rJ  r   )r=   r5   Z	candidater   s   && r   rJ  Z_PdbServer.default  s^    	))#.5I%%iHEM!"6777?9--	OOs   AA A$)r!  r  r  r   r"  r   rX  r[  )NTFr  r   )&r   r	   r
   r   rX   rf   r(  r6  Zclassmethodr#  rK  typingZoverrider   rV  rN  rM  rV  r   rZ  r\  r  r  r  r  r  rb  rY  r  r  r  r  r  r   rJ  r   r@   r   r   r   r   r  r  
  s    !* 
F 
F&P  @& __8 8 __3 3" ",G\4"H

%%
'
 D/
 __
 
 __ < J(	 	r   r  c                   s   a  ] tR tRt o R tR tR tR tR tR t	]
R 4       t]
R	 4       t]
R
 4       tR tR tR tR tR tRtV tR# )
_PdbClienti  c                s    Wn         R V n        RV n        RV n        RV n        RV n        W n        W0n        \        4       V n	        \        4       V n        . V n        RV n        RV n        RV n        R# )r   NFdumb)pidread_bufsignal_readsignal_writesigint_receivedraise_on_sigintserver_socketinterrupt_sockr   pdb_instancer=  pdb_commandscompletion_matchesr  write_failedmultiline_block)r=   rj  rp  rq  ro  r   rX   Z_PdbClient.__init__  sm     $$*,EE"$
!$r   c           
     s   T; d$    ^8  d   R ;e   w  \         Rc ;e   w      R#    ; d    ^8  d   R ;e   w  R8X  d      R#    ; d    ^8  d   R ;e   w  R8X  d      R#     dd    ^8  d]   R ;eU   w   dO    ^8  dH   R	 ;e@   w  \         Rc ;e0   w   \         Rc ;e$   w   \        Rc ;e   w   \        Rc ;e   w       R#          \        RV 24      h)
r  Nr   rb  rO  r-  rP  rQ  rR  rS  )rG   r  r5  rn  rW   r   r6  Z _PdbClient._ensure_valid_message  s     !!!35! " #""E" # #""E" #    EE!e!e	  $=cUC r   c                s    V P                  V4       \        P                  ! V4      p V P                  P	                  VP                  4       R ,           4       R#   \         d    RT n         R# i ; irD  )r6  rF  rG  rp  sendallrH  r'   ru  rI  rJ  r   rK  Z_PdbClient._send*  s^    ""6*zz&)	%&&|':':'<u'DE 	% !%D	%s   0A A10A1c                sZ   V P                   '       d   R V n         \        h\        P                  ! 4       pVP	                  V P
                  \        P                  4       VP	                  V P                  \        P                  4       RV P                  9  d   VP                  4        F  w  r#VP                  V P
                  8X  d=   V P
                  P                  R4       V P                   '       d   R V n         \        hK\  VP                  V P                  8X  g   Ky  V P                  P                  R4      pV ;P                  V,          un        V'       d   K  RV P                  9  g   K  RV n         R# 	  K  V P                  P                  R4      w  rVV n        WV,           # )FrE  r7  r   i @  )rn  r   	selectorsZDefaultSelectorrC  rl  Z
EVENT_READrp  rk  ZselectZfileobjr9  Z	partition)r=   Zselectorr  rr   r   r~  r  s   &      r   	_readlineZ_PdbClient._readline7  sA   #(D ## ,,.$**I,@,@A$,,i.B.BC4==("//+;;$"2"22$$))$/+++ 05,//	 ,
 [[D$6$66--229=DMMT)M4E$>(+" ,  #'--"9"9%"@$-yr   c                s    W n         V P                  4       ;_uu_ 4        \        V4      uuR R R 4       #   + '       g   i     R # ; ir   )rv  !_sigint_raises_keyboard_interruptr>  )r=   r   rv  r   r   
read_inputZ_PdbClient.read_inputV  s-    .3355= 6555s	   5A	c                s   V P                  VR R7      pV P                  R8X  d   V# RpV P                  R8X  d   V P                  P                  V4      ^ ,          pW@P                  9   g   VP                  4       R8X  d   V# VP                  R4      '       d"   RpVP                  V4      P                  4       p\        P                  ! VR,           RR4      e	   W2,           # R	P                  \        V4      4      p\        P                  ! VRR4      f$   VRV P                  VR
R7      ,           ,          pK=  W2,           # )F)rv  ri  r   r  rF  r-  r:  r;  r  T)r{  r  rr  r]  rs  r   r   rf  r   r<  r=  Zljustr
  )r=   r   r  r   r   Zmore_promptr[  r   read_commandZ_PdbClient.read_command[  s   >::L::##--e4Q7C'''5;;=B+> $$**6299;!!%$,	8DP>! kk#f+.$$UIx@HTDOOKONNNE~r   c              #  s,  "    ^ RI pTP                  4       p TP                  T4       TP                  R8X  d   RpMRpTP                  T4       Rx  TP                  T4       R#   \         d	    Rx   R# i ; i  TP                  T4       i ; i5i)r    NZeditlinezbind ^I rl_completeztab: complete)r   rm   rr  rt  r   Zparse_and_bind)r=   r  r   r  Zcommand_stringr9   r   readline_completionZ_PdbClient.readline_completiony  s     	
 !..0
	2""9-:-!6!0##N3""=1  		 ""=1s>   BA( B<A> B(A;7B:A;;B>BBc           
   #  s  a "   V 3R  lp\        4       pTpTp\        P                  ! 4       w  S n        S n        \        S P                  4      ;_uu_ 4        \        S P                  4      ;_uu_ 4        S P                  P                  R4       S P                  P                  R4        \        P                  ! \        P                  V4      p \        P                  ! S P                  P                  4       RR7      pRx  WBJd   \        P                  ! V4       R;S n        S n        Y2Jd&   \        P                  ! \        P                  T4       RRR4       RRR4       R#   YBJd   \        P                  ! T4       i i ; i  R;S n        S n        Y2Jd'   \        P                  ! \        P                  T4       i i ; i  + '       g   i     Ly; i  + '       g   i     R# ; i5i)c                 sb   < R Sn         SP                  '       d   RSn        RSn         \        hR# r  )rn  ro  r   )r   r   r=   r`  r   handlerZ+_PdbClient._sigint_handler.<locals>.handler  s2    #'D ###',$',$''	 $r   F)Zwarn_on_full_bufferN)Zobjectr8  Z
socketpairrl  rm  r   setblockingr  r  Zset_wakeup_fdZfileno)r=   r~  ZsentinelZold_handlerZold_wakeup_fds   f    r   _sigint_handlerZ_PdbClient._sigint_handler  sr    	( 8 .4.?.?.A+$+d&&''1B1B)C)C((/))%0>$mmFMM7C	<$*$8$8))002,1%M  %4,,];7;; 4#4.MM&--=+ *D'' %4,,]; 5 8<; 4#4.MM&--= /' *D)C'''sf   AG2G57G	-%F4E,F"8G	G"
G2,F

F;GG	GGG/	)	G2c              #  s   "   V P                   '       d   R V n         \        h RV n        Rx  R V n        R#   R T n        i ; i5i)FTN)rn  r   ro  r<   r>   r   rz  Z,_PdbClient._sigint_raises_keyboard_interrupt  s?     #(D ##	)#'D #(D 5D s    A7 	A	A  Ac           
     s:   V P                  4       ;_uu_ 4        V P                  V P                  4      ;_uu_ 4        V P                  '       gF    V P	                  4       ;p'       g   M+  \        P                  ! T4      pT P                  T4       KW  RRR4       RRR4       R#   \
         d    T P                  4         K  i ; i  \        P                   d    \        R T: 2RR7        K  i ; i  + '       g   i     Li; i  + '       g   i     R# ; i)z*** Invalid JSON from remote: Tr@  N)r  r}  r  ru  ry  r   send_interruptrF  rT  rU  rZ   process_payload)r=   Zpayload_bytesrW  r   r   r   Z_PdbClient.cmdloop  s      ""$$T]]33'''-1^^-==M= >"jj7G $$W-' 4 #" ) '') ++ 88IJ"  43 #""sj   $D	C6	B')C6	,C	C6	D	'CC6	CC6		&C3/C6	2C33C6	6DD		D	c                s    V P                   e:   V P                   P                  \        P                  P	                  4       4       R # \
        P                  ! V P                  \        P                  4       R # r   )rq  rw  r  r  Zto_bytesrS   Zkillrj  r<   r>   r   r  Z_PdbClient.send_interrupt  sI    *
 ''(>(>(@A
 GGDHHfmm,r   c                s   T; dc    ^8  d\   R ;eT   w   p  \         ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d    \        V4      V n        R#    ; d\    ^8  dU   R ;eM   w  \        Rc;e?   w  uuu\        Rc;e/   w  p  p VR8X  d   \	        RVRR7       R# \	        VR	RR
7       R#     ; d@    ^8  d9   R ;e1   w  \        Rc;e$   w  p   V P
                  P                  V4       R#     dV    ^8  dO   R ;eG   w  \        Rc;e9   w  uuu\        Rc;e)   w  p  pVR9  d   RpWpn        V P                  V4       R#      \        RV 24      h)r  Nc              3   r(  r   r)  r*  r^   r   r!   Z-_PdbClient.process_payload.<locals>.<genexpr>  r,  r*  FTr   rV  rm  r  r   )r   r@  ri  zUnrecognized payload r2  r.  r  r/  r  r  )
r4  r=  rs  rG   rZ   rr  r  r  prompt_for_replyr  )r=   rW  r3  rA  Zmsg_typera  r   r  r  r   r  Z_PdbClient.process_payload  s      ,>>>>>>$'$5! >==SXs}=w&%D1#2T2	 >
 $###(#!!))#. $===CK#*= 33"E"
%%f-	 >
 "%:7)#DEEr   c                s8     RV P                  V4      /pT P                  ! R	/ TB  R#   \         d    RR/p L%\         d    RR/p L5\         dE   p\        P
                  ! T4      R,          P                  4       p\        RTR R7        Rp?K  Rp?ii ; i)
Tr  r  rb  rO  rm  r  Nr   r   )	r|  r?  r   rn   ro   r
  r   rZ   rK  )r=   r   rW  r  rA  r9   r   r  Z_PdbClient.prompt_for_reply   s    	"D$5$5f$=> JJ!!  ,#U+$ ,#U+ 55c:2>DDFeS-s,   * BBBBB9BBc           	     s   ^ RI pV^ 8X  Ed$   . V n        V P                  R
9  d   R# VP                  4       pVP	                  4       pV P
                  '       d
   RV,           p\        V4      \        V4      ,
          pVP                  4       V,
          pVP                  4       V,
          pRRVRVRVRV//p	V P                  ! R/ V	B  V P                  '       d   R# V P                  4       p
V
'       g   R# \        P                  ! V
4      p
RV
9  d   \        R	V
 24      hV
R,          V n         V P                  V,          #   \         d     R# i ; i)r    Nz! r  rw  r5   rx  ry  r1  z&Failed to get valid completions. Got: r  r   )r   rt  r  Zget_line_bufferr   rv  r
  r  Z
get_endidxrK  ru  ry  rF  rT  r  r  )r=   rw  r  r   Zorigliner5   Zoffsetrx  ry  rA  rW  s   &&&        r   r  Z_PdbClient.complete  sH   A:&(D#zz!44//1H??$D### d{]SY.F((*V3F((*V3F DDff	C JJ   nn&Gjj)GG+"<WIF  '.m&<D#	**511 		s   1E EE)rt  rq  rv  rs  rr  rj  ro  rk  rp  rn  rl  rm  r  ru  N)r   r	   r
   r   rX   r6  rK  ry  r{  r|  r   r}  r  rz  r   r  r  r  r  r   r@   rA   rC   r   rh  rh    s     % <%>!
< 2 2( (> (>T 
) 
).0-F* - -r   rh  c                 sv   \        \        P                  ! W34      4      ;_uu_ 4       pVP                  R 4      pRRR4       V'       d   W3p	MRp	\	        XV	VR7      p
\
        P                  ! WP                  4       \        P                  e   V
P                  R4       R# WJP                  4       8w  d4   RV
P                  4       R 2pRVR 2pV
P                  RV RV 24       R# V
P                  P                  VP                  4       4       V
P                  VR7       R#   + '       g   i     L; i)	ZrwbN)r%  r   z)Another PDB instance is already attached.Z0xZ08XzThe target process is running a Python version that is incompatible with this PDB module.
Target process pdb protocol version: z&
Local pdb module's protocol version: )r   )r   r8  rA  Zmakefiler  weakrefZfinalizer]  r   r   rV  r(  r   r   r  r   )Zhostportr   r   ZversionZsignal_raising_threadr   Zconnr$  r%  Z
remote_pdbZ
target_verZ
attach_vers   $$$$$$$      r   _connectr  @  s    
))4,7	8	8D==' 
9
 #J
 Z0
)DE	//1	1*557<=
'#'
66@\5j\C	
 	!!("5"5"785)= 
9	8s   D((D8	c                 s   \        4       ;_uu_ 4       pVP                  \        \        P                  ! R4      4      4      pVP                  4       ^,          pVP                  \        P                  ! RRR7      4      p\        P                  R8H  p\        P                  ! 4       pVP                  \        P                  ! RV R\        P                   ! RP#                  V4      4       R\$        P'                  4        R	V: R
V: R24      4       VP)                  4        \*        P,                  ! VP.                  4      P0                  p\*        P2                  ! VP.                  V\,        P4                  ,          \,        P6                  ,          4       \        P8                  ! WP.                  4       VP;                  4       w  rVP                  \        V	4      4       V'       d?   VP;                  4       w  rVP                  \        V4      4       VP=                  R4       MRp\?        W	V4      PA                  4        RRR4       R#   + '       g   i     R# ; i)	localhostZwF)Zdelete_on_closeZwin32z~
                import pdb, sys
                pdb._connect(
                    host="localhost",
                    port=zK,
                    frame=sys._getframe(1),
                    commands=r-  z,
                    version=z,,
                    signal_raising_thread=z,
                    colorize=z$,
                )
                N)r  r    )!r   Zenter_contextr   r8  Zcreate_serverZgetsocknametempfileZNamedTemporaryFilerQ   Zplatformr   r   r   r3  ZdedentrF  rG  r,   r  r(  r]  rS   statrN  Zst_modeZchmodZS_IROTHZS_IRGRPZremote_execZacceptr  rh  r   )rj  r   r   Zserverr  Zconnect_scriptZuse_signal_threadr   Z	orig_modeZclient_sockrr   rq  s   &&          r   attachr  k  s   	$$F(()9:;
 !!#A&,,''UC
  LLG3))+OO   "jj8)<=> ?'88:; <++<*? @&\ *	
  	GGN//088	
$$i$,,&>&MN001  GK01 &N 78&&u-!N3^4<<>[ 
s   H4II"	c                 s*    \        V \        4       4      # r   )_post_mortemr   )rM  r>   r   post_mortemr    s     35!!r   c                 s   V f&   \         P                  ! 4       pVe   VP                  p V e%   \        V \        4      '       d   V P                  f   \        R4      hVP                  4        VP                  R V 4       R # )NzAA valid traceback must be passed if no exception is being handled)rQ   r  r	  r   r  r   r   r   )rM  rr  r  r   r   r  r    sn     	ymmo?!!AyZ=11aoo6M 6 7 	7 T1%r   c                  s8    \        \        P                  4       R # r   )r  rQ   Zlast_excr   r   r   pmr    s    r   zimport x; x.main()c                  s$    \        \        4       R # r   )r   TESTCMDr   r   r   testr    s	    Lr   c                  s8    ^ RI p V P                  \        4       R# rM   )pydocZpagerr   )r  s    r   r   r     s    	KKr   a.  Debug the Python program given by pyfile. Alternatively,
an executable module or package to debug can be specified using
the -m switch. You can also attach to a running Python process
using the -p option with its PID.

Initial commands are read from .pdbrc files in your home directory
and in the current directory, if they exist.  Commands supplied with
-c are executed after commands from .pdbrc files.

To let the script run until an exception occurs, use "-c continue".
To let the script run up to a given line X in the debugged file, use
"-c 'until X'".c                  sH    \        R 4       \        P                  ! ^4       R# )zError: The specified process cannot be attached to due to insufficient permissions.
See the Python documentation for details on required privileges and troubleshooting:
https://docs.python.org/3.14/howto/remote_debugging.html#permission-requirements
N)rZ   rQ   r[   r   r   r   exit_with_permission_help_textr    s     
	]
 HHQKr   c            
      s   ^ RI p V P                  R\        V P                  RRR7      pVP	                  RRR. R	R
RR7       VP                  4       w  r#V'       gX   VP	                  RRRR7       VP	                  RR\        RRR7       VP                  4        \        P                  ! ^4       W#3# V^ ,          R8X  g   V^ ,          R8X  d[   VP	                  RR\        RRR7       VP                  4       w  r#V'       d$   VP                  RRP                  V4       24       W#3# V^ ,          R8X  dJ   VP	                  RRRR7       VP                  VR,          4      pVP                  Vn        VR,          pW#3# V^ ,          P                  R4      '       dE   \        \         P"                  ! R V4      4      pVP                  RRP                  V4       24       W#3# )r    NzC%(prog)s [-h] [-c command] (-m module | -p pid | pyfile) [args ...]FT)ZusageZdescriptionZformatter_classZallow_abbrevZcolorz-cz	--commandr   r`  r   z4pdb commands to execute as if given in a .pdbrc file)ZactionrJ  metavardestr   z-mmodule)r  r  z-pz--pidzattach to the specified PID)r  r   rJ  zunrecognized arguments: r  :NrE   N:rE   NN-c                 s$    V P                  R 4      # )r  )r   )r  r>   r   Z<lambda>Zparse_args.<locals>.<lambda>   s    !,,s:Kr   )argparseZArgumentParser_usageZRawDescriptionHelpFormatterZadd_argumentZparse_known_argsr  Z
print_helprQ   r[   rV  r,   
parse_argsr  r   r7   	itertoolsZ	takewhile)r  ZparseroptsrY  Z
opt_moduleZinvalid_args         r   r  r    s    $$S << % F k(BPY`jS  U ((*JD 	D(BD':Waef, :+ 
aDDGw.D':Waef,,.
LL3CHHTN3CDE : 
aD 	D(B&&tBx0
 ''Bx : 
a		C	 	 I//0KTRS/0F/GHI :r   c            	      s   \        4       w  r\        V R R4      e$    \        V P                  V P                  4       R# \        V RR4      e   V P                  p\        V4      pM?VP                  ^ 4      pVP                  R4      '       d   \        V4      pM\        V4      pV.V,           \        P                  R&   \        RRRR7      pVP                   P#                  V P                  4         VP$                  ! V4       TP:                  '       d   R# \)        R4       K5    \
         d   p\        4         Rp?R# Rp?ii ; i  \&         dG    \)        R	TR
4       \)        RRP+                  \        P                  R,          4      ,           4        L\,         d#   p\)        RRR7       \)        T4        Rp?LRp?i\.         d   p\0        P2                  ! T\4        P6                  ! 4       R7       \)        R4       \)        R4        TP8                  ! RT4        Rp?EL$  \&         dM    \)        R	TR
4       \)        RRP+                  \        P                  R,          4      ,           4         Rp?EK  i ; iRp?ii ; i)rj  Nr  z.pyzr  Zclir   Tr  Z
Restartingzwith arguments:r  r  rG  z/The program exited via sys.exit(). Exit status:r   )r   z2Uncaught exception. Entering post mortem debuggingz1Running 'cont' or 'step' will restart the programz*The program finished and will be restarted)r  r   r  rj  r   ZPermissionErrorr  r  rh   r   r!  r   rL   rQ   r  r   r   r   r	  r   rZ   r,   re  r  ro   Zprint_exceptionr   r   r   r  )r  rY  rs   r   rV   r  r  r   mainr  '  s   JDtUD!-	-488T]]+ 		x	&	2{{t$xx{==  %F"4(F&4-CHHQK 5,
>CKKt}}%
	HHV$ ###:;W  	-*,,	-0  	1,(9:$#((2,//0 	CM!HH 		%%a)2H2H2JKFGEFa(( lF,=>dSXXchhrl334		sn    D( 5E (E3
EEAJ
J
$J
%GJ
J
AJH++AJ9JJJJ
rb   )r   r  r   r  r  r  r   r  r   r   r   )NN)r   r   )ZrS   r*   r"   rQ   r   r   r   r   r|  rF  r  rL  r1  rB  r<  r  r  r8  rg  r  r  r  ra  r  r3  r%   r  ro   r(   rx  r@  r   Z_pyrepl.utilsri  Z
contextlibr   r   r   r   Zwarningsr   rn   r   Z__all__r   r6   r:   rG   r;   rD   rL   rh   r   ZInteractiveConsoler   r  r   r   r   r   r   r   r   Z_help_orderZ_commandr   r   r  r   r  r  r  r   r   r  rh  r  r  r  r  r  r  r  r   r  r  r  r  r   r  r   r   r   <module>r     sp  H 
 	 	 
 
 
 
                           9 9  	i 	P">C  6
% 6
r"
% "
J#
" #
L$T44 $ 
  
a#L#''377 a#LJG !%'.08:ACL')35;=CEL 	  # %* ,6 8> @J 		 	 	 $	 &.	 09	 ;F	
 	
 
 '
 )0
 28K  73 0199??AFJJ  s}}$$$GX
*6$(= =t ="ID I4 I"Y Yx
B BJ
(*V/?h"&& 
7r1<j zHHJ r   