
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a8}  ã                   @   s²   d dl Z d dlZd dlZd dlmZmZmZ dddgZeeB eB ZG dd„ de	ƒZ
G dd„ dƒZdd	„ ZG d
d„ dƒZdd„ Zdd„ ZG dd„ deƒZdd„ Zdd„ Zdd„ ZdS )é    N)ÚCO_GENERATORÚCO_COROUTINEÚCO_ASYNC_GENERATORÚBdbQuitÚBdbÚ
Breakpointc                   @   s   e Zd ZdS )r   N)Ú__name__Ú
__module__Ú__qualname__© r   r   ú(/opt/alt/python38/lib64/python3.8/bdb.pyr      s   c                   @   sr  e Zd ZdZdd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd[d%d&„Zd\d'd(„Zd)d*„ Zd+d,„ Zd-d.„ Zd]d/d0„Zd1d2„ Zd3d4„ Zd^d6d7„Zd8d9„ Zd:d;„ Zd<d=„ Zd>d?„ Z d@dA„ Z!dBdC„ Z"dDdE„ Z#dFdG„ Z$dHdI„ Z%dJdK„ Z&dLdM„ Z'd_dOdP„Z(d`dQdR„Z)dadSdT„Z*dUdV„ Z+dWdX„ Z,dYe,_-dS )br   Nc                 C   s(   |rt |ƒnd | _i | _i | _d | _d S ©N)ÚsetÚskipÚbreaksÚfncacheÚframe_returning)Úselfr   r   r   r   Ú__init__   s    zBdb.__init__c                 C   sR   |d|dd…  d kr|S | j  |¡}|sNtj |¡}tj |¡}|| j |< |S )Nú<é   éÿÿÿÿú>)r   ÚgetÚosÚpathÚabspathÚnormcase)r   ÚfilenameÚcanonicr   r   r   r   %   s    
zBdb.canonicc                 C   s&   dd l }| ¡  d | _|  d d ¡ d S )Nr   )Ú	linecacheÚ
checkcacheÚbotframeÚ_set_stopinfo)r   r    r   r   r   Úreset6   s    z	Bdb.resetc                 C   s–   | j r
d S |dkr|  |¡S |dkr0|  ||¡S |dkrD|  ||¡S |dkrX|  ||¡S |dkrf| jS |dkrt| jS |dkr‚| jS tdt|ƒƒ | jS )	NÚlineZcallÚreturnZ	exceptionZc_callZc_exceptionZc_returnz*bdb.Bdb.dispatch: unknown debugging event:)ÚquittingÚdispatch_lineÚdispatch_callÚdispatch_returnÚdispatch_exceptionÚtrace_dispatchÚprintÚrepr)r   ÚframeZeventÚargr   r   r   r,   =   s$    
zBdb.trace_dispatchc                 C   s.   |   |¡s|  |¡r(|  |¡ | jr(t‚| jS r   )Ú	stop_hereÚ
break_hereÚ	user_liner'   r   r,   ©r   r/   r   r   r   r(   h   s
    
 zBdb.dispatch_linec                 C   sd   | j d kr|j| _ | jS |  |¡s0|  |¡s0d S | jrH|jjt@ rH| jS |  	||¡ | j
r^t‚| jS r   )r"   Úf_backr,   r1   Úbreak_anywhereÚ	stopframeÚf_codeÚco_flagsÚGENERATOR_AND_COROUTINE_FLAGSÚ	user_callr'   r   ©r   r/   r0   r   r   r   r)   t   s    
 zBdb.dispatch_callc                 C   s|   |   |¡s|| jkrv| jr,|jjt@ r,| jS z|| _|  ||¡ W 5 d | _X | j	rVt
‚| j|krv| jdkrv|  d d ¡ | jS ©Nr   )r1   Úreturnframer7   r8   r9   r:   r,   r   Úuser_returnr'   r   Ú
stoplinenor#   r<   r   r   r   r*   Š   s     zBdb.dispatch_returnc                 C   s�   |   |¡rF|jjt@ r.|d tkr.|d d ksŠ|  ||¡ | jrŠt‚nD| jrŠ|| jk	rŠ| jjjt@ rŠ|d tt	fkrŠ|  ||¡ | jrŠt‚| j
S )Nr   é   )r1   r8   r9   r:   ÚStopIterationÚuser_exceptionr'   r   r7   ÚGeneratorExitr,   r<   r   r   r   r+       s$    

ÿ
ÿ ÿþ zBdb.dispatch_exceptionc                 C   s.   |d krdS | j D ]}t ||¡r dS qdS ©NFT)r   Úfnmatch)r   Zmodule_nameÚpatternr   r   r   Úis_skipped_module¿   s    
zBdb.is_skipped_modulec                 C   sN   | j r|  |j d¡¡rdS || jkr@| jdkr4dS |j| jkS | jsJdS dS )Nr   Fr   T)r   rH   Ú	f_globalsr   r7   r@   Úf_linenor4   r   r   r   r1   È   s    ÿ

zBdb.stop_herec                 C   sŒ   |   |jj¡}|| jkrdS |j}|| j| krJ|jj}|| j| krJdS t|||ƒ\}}|r„|j| _|r€|j	r€|  
t|jƒ¡ dS dS d S rE   )r   r8   Úco_filenamer   rJ   Úco_firstlinenoÚ	effectiveÚnumberZ	currentbpÚ	temporaryÚdo_clearÚstr)r   r/   r   ÚlinenoÚbpÚflagr   r   r   r2   ×   s    

zBdb.break_herec                 C   s   t dƒ‚d S )Nz)subclass of bdb must implement do_clear())ÚNotImplementedError)r   r0   r   r   r   rP   ò   s    zBdb.do_clearc                 C   s   |   |jj¡| jkS r   )r   r8   rK   r   r4   r   r   r   r6   ù   s    zBdb.break_anywherec                 C   s   d S r   r   )r   r/   Zargument_listr   r   r   r;     s    zBdb.user_callc                 C   s   d S r   r   r4   r   r   r   r3     s    zBdb.user_linec                 C   s   d S r   r   )r   r/   Zreturn_valuer   r   r   r?   	  s    zBdb.user_returnc                 C   s   d S r   r   )r   r/   Úexc_infor   r   r   rC     s    zBdb.user_exceptionr   c                 C   s   || _ || _d| _|| _d S ©NF)r7   r>   r'   r@   )r   r7   r>   r@   r   r   r   r#     s    zBdb._set_stopinfoc                 C   s$   |d kr|j d }|  |||¡ d S )Nr   )rJ   r#   )r   r/   rR   r   r   r   Ú	set_until"  s    
zBdb.set_untilc                 C   s0   | j r | j j}|r |js | j|_|  d d ¡ d S r   )r   r5   Úf_tracer,   r#   )r   Zcaller_framer   r   r   Úset_step*  s
    
zBdb.set_stepc                 C   s   |   |d ¡ d S r   )r#   r4   r   r   r   Úset_next6  s    zBdb.set_nextc                 C   s.   |j jt@ r|  |d d¡ n|  |j|¡ d S r=   )r8   r9   r:   r#   r5   r4   r   r   r   Ú
set_return:  s    zBdb.set_returnc                 C   sL   |d krt  ¡ j}|  ¡  |r4| j|_|| _|j}q|  ¡  t  | j¡ d S r   )	ÚsysÚ	_getframer5   r$   r,   rY   r"   rZ   Úsettracer4   r   r   r   Ú	set_traceA  s    
zBdb.set_tracec                 C   sH   |   | jd d¡ | jsDt d ¡ t ¡ j}|rD|| jk	rD|`|j}q*d S r=   )r#   r"   r   r]   r_   r^   r5   rY   r4   r   r   r   Úset_continueP  s    

zBdb.set_continuec                 C   s"   | j | _d | _d| _t d ¡ d S ©NT)r"   r7   r>   r'   r]   r_   ©r   r   r   r   Úset_quit_  s    zBdb.set_quitFc           
      C   sb   |   |¡}dd l}| ||¡}|s.d||f S | j |g ¡}||krN| |¡ t|||||ƒ}	d S )Nr   zLine %s:%d does not exist)r   r    Úgetliner   Ú
setdefaultÚappendr   )
r   r   rR   rO   ÚcondÚfuncnamer    r%   ÚlistrS   r   r   r   Ú	set_breakp  s    

zBdb.set_breakc                 C   s4   ||ft jkr| j|  |¡ | j| s0| j|= d S r   )r   Úbplistr   Úremove©r   r   rR   r   r   r   Ú_prune_breaks‚  s    
zBdb._prune_breaksc                 C   sj   |   |¡}|| jkrd| S || j| kr6d||f S tj||f d d … D ]}| ¡  qL|  ||¡ d S )NúThere are no breakpoints in %szThere is no breakpoint at %s:%d)r   r   r   rl   ÚdeleteMero   )r   r   rR   rS   r   r   r   Úclear_break�  s    


zBdb.clear_breakc              
   C   sZ   z|   |¡}W n. tk
r< } zt|ƒ W Y ¢S d }~X Y nX | ¡  |  |j|j¡ d S r   )Úget_bpbynumberÚ
ValueErrorrQ   rq   ro   Úfiler%   )r   r0   rS   Úerrr   r   r   Úclear_bpbynumber   s    zBdb.clear_bpbynumberc                 C   sX   |   |¡}|| jkrd| S | j| D ]$}tj||f }|D ]}| ¡  q<q&| j|= d S )Nrp   )r   r   r   rl   rq   )r   r   r%   ZblistrS   r   r   r   Úclear_all_file_breaks­  s    

zBdb.clear_all_file_breaksc                 C   s,   | j s
dS tjD ]}|r| ¡  qi | _ d S )NzThere are no breakpoints)r   r   Ú
bpbynumberrq   )r   rS   r   r   r   Úclear_all_breaks¼  s    

zBdb.clear_all_breaksc                 C   s†   |st dƒ‚zt|ƒ}W n" t k
r:   t d| ƒd ‚Y nX ztj| }W n" tk
rl   t d| ƒd ‚Y nX |d kr‚t d| ƒ‚|S )NzBreakpoint number expectedz Non-numeric breakpoint number %sz!Breakpoint number %d out of rangezBreakpoint %d already deleted)rt   Úintr   ry   Ú
IndexError)r   r0   rN   rS   r   r   r   rs   É  s    zBdb.get_bpbynumberc                 C   s"   |   |¡}|| jko || j| kS r   ©r   r   rn   r   r   r   Ú	get_breakÝ  s    

ÿzBdb.get_breakc                 C   s4   |   |¡}|| jkr0|| j| kr0tj||f p2g S r   )r   r   r   rl   rn   r   r   r   Ú
get_breaksã  s    

ÿþþzBdb.get_breaksc                 C   s&   |   |¡}|| jkr| j| S g S d S r   r}   )r   r   r   r   r   Úget_file_breaksí  s    


zBdb.get_file_breaksc                 C   s   | j S r   )r   rc   r   r   r   Úget_all_breaksø  s    zBdb.get_all_breaksc                 C   s¢   g }|r|j |kr|j}|d k	rD| ||jf¡ || jkr<qD|j}q| ¡  tdt|ƒd ƒ}|d k	r€| |j |j	f¡ |j}q^|d krštdt|ƒd ƒ}||fS )Nr   r   )
Útb_frameÚtb_nextrg   rJ   r"   r5   ÚreverseÚmaxÚlenÚ	tb_lineno)r   ÚfÚtÚstackÚir   r   r   Ú	get_stackÿ  s     
zBdb.get_stackú: c                 C   sª   dd l }dd l}|\}}|  |jj¡}d||f }|jjrH||jj7 }n|d7 }|d7 }d|jkr‚|jd }	|d7 }|| |	¡7 }| |||j	¡}
|
r¦|||
 
¡  7 }|S )Nr   z%s(%r)z<lambda>z()Z
__return__z->)r    Úreprlibr   r8   rK   Úco_nameÚf_localsr.   re   rI   Ústrip)r   Zframe_linenoZlprefixr    rŽ   r/   rR   r   ÚsÚrvr%   r   r   r   Úformat_stack_entry  s     	

zBdb.format_stack_entryc              	   C   sŽ   |d krdd l }|j}|d kr"|}|  ¡  t|tƒr@t|ddƒ}t | j¡ z*zt
|||ƒ W n tk
rr   Y nX W 5 d| _	t d ¡ X d S )Nr   z<string>ÚexecT)Ú__main__Ú__dict__r$   Ú
isinstancerQ   Úcompiler]   r_   r,   r'   r•   r   )r   ÚcmdÚglobalsÚlocalsr–   r   r   r   Úrun5  s    

zBdb.runc              	   C   sz   |d krdd l }|j}|d kr"|}|  ¡  t | j¡ z,zt|||ƒW W ¢S  tk
r^   Y nX W 5 d| _t d ¡ X d S )Nr   T)	r–   r—   r$   r]   r_   r,   r'   Úevalr   )r   Úexprr›   rœ   r–   r   r   r   ÚrunevalK  s    
zBdb.runevalc                 C   s   |   |||¡ d S r   )r�   )r   rš   r›   rœ   r   r   r   Úrunctx_  s    z
Bdb.runctxc               	   O   sÆ   t | ƒdkr| ^}}} nV| s&tdƒ‚nHd|krZ| d¡}| ^}} dd l}|jdtdd� ntdt | ƒd  ƒ‚| ¡  t |j	¡ d }z(z|| |Ž}W n tk
rª   Y nX W 5 d	|_
t d ¡ X |S )
NrA   z6descriptor 'runcall' of 'Bdb' object needs an argumentÚfuncr   z0Passing 'func' as keyword argument is deprecated)Ú
stacklevelz7runcall expected at least 1 positional argument, got %dr   T)r†   Ú	TypeErrorÚpopÚwarningsÚwarnÚDeprecationWarningr$   r]   r_   r,   r'   r   )ÚargsÚkwdsr   r¢   r¦   Úresr   r   r   Úruncallf  s2    

 ÿ
ÿ
zBdb.runcallz($self, func, /, *args, **kwds))N)r   )N)N)FNN)r�   )NN)NN).r   r	   r
   r   r   r$   r,   r(   r)   r*   r+   rH   r1   r2   rP   r6   r;   r3   r?   rC   r#   rX   rZ   r[   r\   r`   ra   rd   rk   ro   rr   rw   rx   rz   rs   r~   r   r€   r�   rŒ   r”   r�   r    r¡   r¬   Ú__text_signature__r   r   r   r   r      sZ   
+	


  ÿ




c                   C   s   t ƒ  ¡  d S r   )r   r`   r   r   r   r   r`   ˆ  s    r`   c                   @   sV   e Zd ZdZi ZdgZddd„Zdd„ Zdd	„ Zd
d„ Z	ddd„Z
dd„ Zdd„ ZdS )r   r   NFc                 C   s�   || _ d | _|| _|| _|| _|| _d| _d| _d| _t	j
| _t	 j
d7  _
| j | ¡ ||f| jkr|| j||f  | ¡ n| g| j||f< d S )NTr   r   )ri   Úfunc_first_executable_lineru   r%   rO   rh   ÚenabledÚignoreÚhitsr   ÚnextrN   ry   rg   rl   )r   ru   r%   rO   rh   ri   r   r   r   r   ¨  s    zBreakpoint.__init__c                 C   s>   | j | jf}d | j| j< | j|  | ¡ | j| s:| j|= d S r   )ru   r%   ry   rN   rl   rm   )r   Úindexr   r   r   rq   ¼  s
    
zBreakpoint.deleteMec                 C   s
   d| _ d S rb   ©r¯   rc   r   r   r   ÚenableÊ  s    zBreakpoint.enablec                 C   s
   d| _ d S rW   r´   rc   r   r   r   ÚdisableÎ  s    zBreakpoint.disablec                 C   s"   |d krt j}t|  ¡ |d� d S )N)ru   )r]   Ústdoutr-   Úbpformat)r   Úoutr   r   r   ÚbpprintÒ  s    zBreakpoint.bpprintc                 C   sš   | j rd}nd}| jr |d }n|d }d| j|| j| jf }| jrT|d| jf 7 }| jrj|d| jf 7 }| jr–| jdkr€d	}nd
}|d| j|f 7 }|S )Nzdel  zkeep zyes  zno   z%-4dbreakpoint   %s at %s:%dz
	stop only if %sz
	ignore next %d hitsr   r’   Ú z"
	breakpoint already hit %d time%s)rO   r¯   rN   ru   r%   rh   r°   r±   )r   ZdispZretZssr   r   r   r¸   Ü  s(    
 ÿ
zBreakpoint.bpformatc                 C   s   d| j | j| jf S )Nzbreakpoint %s at %s:%s)rN   ru   r%   rc   r   r   r   Ú__str__ú  s    zBreakpoint.__str__)FNN)N)r   r	   r
   r²   rl   ry   r   rq   rµ   r¶   rº   r¸   r¼   r   r   r   r   r   �  s   


c                 C   sN   | j s| j|jkrdS dS |jj| j kr,dS | js:|j| _| j|jkrJdS dS rE   )ri   r%   rJ   r8   r�   r®   )Úbr/   r   r   r   Úcheckfuncname  s    r¾   c                 C   sÊ   t j| |f }|D ]²}|jsqt||ƒs*q| jd7  _|jsh|jdkrZ| jd8  _qqÄ|df  S qzBt|j|j|j	ƒ}|r¨|jdkrš| jd8  _n|dfW   S W q   |df Y   S X qdS )Nr   r   TF)NN)
r   rl   r¯   r¾   r±   rh   r°   rž   rI   r�   )ru   r%   r/   Z	possiblesr½   Úvalr   r   r   rM   #  s*    


rM   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTdbc                 C   s    |j j}|sd}td||ƒ d S )Nú???z+++ call)r8   r�   r-   )r   r/   r©   Únamer   r   r   r;   T  s     zTdb.user_callc                 C   sT   dd l }|jj}|sd}|  |jj¡}| ||j|j¡}td||j|d| 	¡ ƒ d S )Nr   rÁ   z+++ú:)
r    r8   r�   r   rK   re   rJ   rI   r-   r‘   )r   r/   r    rÂ   Úfnr%   r   r   r   r3   X  s     zTdb.user_linec                 C   s   t d|ƒ d S )Nz
+++ return©r-   )r   r/   Zretvalr   r   r   r?   _  s    zTdb.user_returnc                 C   s   t d|ƒ |  ¡  d S )Nz+++ exception)r-   ra   )r   r/   Z	exc_stuffr   r   r   rC   a  s    
zTdb.user_exceptionN)r   r	   r
   r;   r3   r?   rC   r   r   r   r   rÀ   S  s   rÀ   c                 C   s&   t d| dƒ t| d ƒ}t d|ƒ d S )Nzfoo(ú)é
   zbar returned)r-   Úbar)ÚnÚxr   r   r   Úfooe  s    rË   c                 C   s   t d| dƒ | d S )Nzbar(rÆ   rA   rÅ   )Úar   r   r   rÈ   j  s    rÈ   c                  C   s   t ƒ } |  d¡ d S )Nzimport bdb; bdb.foo(10))rÀ   r�   )r‰   r   r   r   Útestn  s    rÍ   )rF   r]   r   Úinspectr   r   r   Ú__all__r:   Ú	Exceptionr   r   r`   r   r¾   rM   rÀ   rË   rÈ   rÍ   r   r   r   r   Ú<module>   s&   
    {t"0