
     h`D                       % S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
Jr  SSKJr  SSKJrJrJrJrJr  SSKJr  SSKJrJrJr  SS	KJrJr  SS
KJr  SSKJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)  \" \5      r\*" \+" \RX                  " SS5      5      5      r-\*" \+" \RX                  " SS5      5      5      r.\/" \SS5      r0\" S\15      r2\\2   r3\" \3\/" \0SS5      5      r4\-(       aG   " S S5      r5\5" \0S5      r0\0c   e\Rl                  " \SSSS9r\7" 5       r8S\9S'   S"S jr:S#S jr;S$S jr<O
S"S jr:S$S jr<\ " S S5      5       r=S%S jr> " S  S!\$5      r?g)&zBCallback functions and support for sys.monitoring data collection.    )annotationsN)	dataclass)CodeType)AnyCallableNewTypeOptionalcast)env)TBranchTrailsalways_jumpsbranch_trails)short_filenameshort_stack)isolate_module)
AnyCallableTFileDispositionTLineNoTOffsetTracerTShouldStartContextFnTShouldTraceFn
TTraceDataTTraceFileDataTWarnFnCOVERAGE_SYSMON_LOGCOVERAGE_SYSMON_STATS
monitoringDISABLE_TYPEDISABLEc                  ,    \ rS rSrSrSS jrSS jrSrg)	LoggingWrapper9   z*Wrap a namespace to log all its functions.c                    Xl         X l        g N)wrapped	namespace)selfr&   r'   s      m/root/racknerd_01/codex-conversation/amazon-q-terraform/.venv/lib/python3.13/site-packages/coverage/sysmon.py__init__LoggingWrapper.__init__<   s    "L&N    c                   ^ ^ SUU 4S jjnU$ )Nc                 x   > [        TR                   ST U  U 35        [        TR                  T5      " U 0 UD6$ )N.)logr'   getattrr&   )argskwargsnamer(   s     r)   _wrapped,LoggingWrapper.__getattr__.<locals>._wrappedA   s>    t~~&avdVF8<=t||T2DCFCCr,   )r2   r   r3   r   returnr    )r(   r4   r5   s   `` r)   __getattr__LoggingWrapper.__getattr__@   s    D D Or,   )r'   r&   N)r&   r   r'   strr7   None)r4   r;   r7   zCallable[..., Any])__name__
__module____qualname____firstlineno____doc__r*   r9   __static_attributes__r8   r,   r)   r"   r"   9   s    8	'	r,   r"   zsys.monitoringT)fullshort_filenames	frame_idszset[int]seen_threadsc                   [         R                  " 5       n[        [        [        R
                  " 5       R                  5      nX-  S-  S nU[        ;  a1  [        R                  U5        [        SU SU S[        5        35        S H+  n[        USSS	9 n [        U S
U SU  3USS9  SSS5        M-     g! [         a    [        U S
U S[        U 5       3USS9   N5f = f! , (       d  f       Mk  = f)z1Write a message to our detailed debugging log(s).iw 07dzNew thread  z:
)z/tmp/foo.outazutf-8)encoding:: T)fileflushN)osgetpidr
   int	threadingcurrent_threadidentrF   addr0   r   openprintUnicodeErrorascii)msgpidtidtslugfilenamefs         r)   r0   r0   R   s     iik3	002889I*3/l"S!+cU!E7#km_=>
H hg6!NSE5'C51F 76
 $ NSE5'E#J<8qMN 76s*   C%B99&C"C%!C""C%%
C4	c                    [        U [        5      (       aH  S[        U 5      S 3SU R                   S3-   S[	        U R
                  5      < SU R                   S3-   $ [        U 5      $ )z)Make a customized repr for logged values.z<code @#xz name=,z file=#>)
isinstancer   idco_namer   co_filenameco_firstlinenorepr)args    r)   arg_reprrm   j   so    c8$$"S'"&3;;-q)*>#//:=Qs?Q?Q>RRSTU
 Cyr,   c                    ^  SU 4S jjnU$ )z%Decorate a function to log its calls.c                N   >^  [         R                  " T 5      SU U4S jj5       nU$ )Nc           	     t  >  / n[        TU5       H)  u  p4Uc  M
  UR                  U S[        U5       35        M+     [        [	        U 5      S STR
                   SSR                  U5       S35        T" U /UQ76 nU$ ! [         a  n[        SUR                  R
                   SU 35         [        S	R                  [        R                  " U5      5      5         [        c   e[        R                  [        R                  R                  S
5        e ! [          a    [        S5         e f = fS nAff = f)N=rb   rL   (z, )z!!rM    r   z/oops, shutting off events with disabled tool id)zipappendrm   r0   rg   r=   join	Exception	__class__	tracebackformat_exceptionsys_monitoring
set_eventssysr   COVERAGE_ID
ValueError)	r(   r2   
args_reprsr4   rl   retexcmethodnamess	          r)   r5   0panopticon.<locals>._decorator.<locals>._wrappedx   s*   !#J%(%5	<$"))TF!HSM?*CD &6 2d8B-q(9499Z;P:QQRST --CJ  
"S]]334Bse<=BGGI$>$>s$CDEO-999&11#..2L2LaP  & OMNO
s=   A<B   
D7
AD27DD2D/,D2.D//D22D7)r(   r   r2   r   r7   r   )	functoolswraps)r   r5   r   s   ` r)   
_decoratorpanopticon.<locals>._decoratorw   s%    __V$ %0 Or,   )r   r   r7   r   r8   r   r   s   ` r)   
panopticonr   t   s    	8 r,   c                    g)zAWrite a message to our detailed debugging log(s), but not really.Nr8   )r[   s    r)   r0   r0      s    r,   c                     SS jnU$ )z5Decorate a function to log its calls, but not really.c                    U $ r%   r8   )meths    r)   r   r      s    Kr,   )r   r   r7   r   r8   r   s     r)   r   r      s    	 r,   c                  L    \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   Srg)CodeInfo   z/The information we want about each code object.booltracingzTTraceFileData | None	file_datazdict[TOffset, TLineNo] | Nonebyte_to_liner   r   zdict[TOffset, TOffset]r   r8   N)r=   r>   r?   r@   rA   __annotations__rB   r8   r,   r)   r   r      s&    9M$$// !  )(r,   r   c                v    0 nU R                  5        H"  u  p#nUc  M  [        X#S5       H  nXAU'   M	     M$     U$ )z6Make a dict mapping byte code offsets to line numbers.   )co_linesrange)codeb2lbstartbendlinenoboffsets         r)   bytes_to_linesr      sA    
C $f q1%G 2 !0 Jr,   c                  r   \ rS rSrSrSS jrSS jr\" 5       SS j5       r\" 5       SS j5       r	\" 5       SS j5       r
SS jrSS	 jrSS
 jr\" SS5      SS j5       r\" SSS5              SS j5       r\" SS5      SS j5       r\" SS5      SS j5       r\" SSS5              SS j5       rSrg)
SysMonitor   zHPython implementation of the raw data tracer for PEP669 implementations.c                4   U   SU l         U   U   S U l        S U l        U   U   U   Xl        0 U l        / U l        SU l        [        R                  " 5       U l	        S U l
        [        (       a)  [        R                  SR                  5       S5      U l
        SU l        g )NFzHstarts start_tracing returns line_lines line_arcs branches branch_trailsr   )
trace_arcsshould_start_contextswitch_contextmyid
code_infoscode_objects	sysmon_onrS   LocklockstatsCOLLECT_STATSdictfromkeyssplit	_activity)r(   tool_ids     r)   r*   SysMonitor.__init__   s     CG!CG	 02 -/NN$	,0
=Z``bDJ
 r,   c                    [        S U R                  R                  5        5       5      n[        U R                  5      nS[	        U 5      S SU SU S3$ )Nc              3  8   #    U  H  n[        U5      v   M     g 7fr%   )len).0vs     r)   	<genexpr>&SysMonitor.__repr__.<locals>.<genexpr>   s     8%7SVV%7s   z<SysMonitor at rb   rM   z data points in z files>)sumdatavaluesr   rg   )r(   pointsfiless      r)   __repr__SysMonitor.__repr__   sN    8TYY%5%5%788DII D"Rx7GwgVVr,   c                |   U R                      [        c   e[        R                  U R                  S5        [        R
                  " [        R                  U R                  5      n[        R                  R                  n[        R                  U R                  UR                  5        U" UR                  U R                  5        U R                  (       a  U" UR                  U R                  5        U" UR                   U R"                  5        [$        R&                  R(                  (       a:  U" UR*                  U R,                  5        U" UR.                  U R,                  5        OU" UR                   U R0                  5        [        R3                  5         SU l        SSS5        g! , (       d  f       g= f)zStart this Tracer.Nzcoverage.pyT)r   r|   use_tool_idr   r   partialregister_callbackr~   r   eventsr}   PY_STARTsysmon_py_startr   	PY_RETURNsysmon_py_returnLINEsysmon_line_arcsr   
PYBEHAVIORbranch_right_leftBRANCH_RIGHTsysmon_branch_eitherBRANCH_LEFTsysmon_line_linesrestart_eventsr   )r(   registerr   s      r)   startSysMonitor.start   s*    YY!---&&tyy-@ (()I)I499UH^^**F%%diiAV__d&:&:;))4+@+@Ad&;&;<>>33++11 **11
 d&<&<=))+!DN/ YYs   FF--
F;c                $   U R                      U R                  (       d
   SSS5        g[        c   e[        R                  U R                  S5        SU l        [        R                  U R                  5        SSS5        g! , (       d  f       g= f)zStop this Tracer.Nr   F)r   r   r|   r}   r   free_tool_idr(   s    r)   stopSysMonitor.stop
  sc     YY>> 	 Y
 "---%%dii3"DN''		2 YYs   BAB
Bc                $    U R                  5         g)z+The process has forked, clean up as needed.N)r   r   s    r)   	post_forkSysMonitor.post_fork  s     			r,   c                    U R                   $ )zHas there been any activity?r   r   s    r)   activitySysMonitor.activity  s    ~~r,   c                    SU l         g)zReset the activity() flag.FNr   r   s    r)   reset_activitySysMonitor.reset_activity   s	    r,   c                    U R                   $ )z+Return a dictionary of statistics, or None.)r   r   s    r)   	get_statsSysMonitor.get_stats$  s    zzr,   r   @c                &   SU l         U R                  b  U R                  S==   S-  ss'   U R                  R                  [	        U5      5      nSnSnUb  UR
                  nUR                  nUGco  UR                  nU R                  R                  U5      nUcm  [        R                  " 5       nUb6  [        R                  " 5       R                  n[        (       a  UR                  nU R                  Xh5      nXpR                  U'   UR                  nU(       as  UR                  n	U	c   eU R!                  5          XR"                  ;  a  [%        5       U R"                  U	'   U R'                  5         U R"                  U	   n[)        U5      n
OSnSn
[+        UUU
0 0 S9nX0R                  [	        U5      '   U R,                  R/                  U5        U(       Ga  U R                  b  U R                  S==   S-  ss'   [0        R2                  R4                  nU R6                     U R8                  (       a  [:        c   eUR<                  UR>                  -  UR@                  -  nU RB                  (       a=  [D        RF                  RH                  (       d   eUURJ                  URL                  -  -  n[:        RO                  U RP                  X5        SSS5        [R        $ [R        $ ! U R'                  5         f = f! , (       d  f       [R        $ = f)z-Handle sys.monitoring.events.PY_START events.TNstarts   )r   r   r   r   r   start_tracing)*r   r   r   getrg   r   r   ri   should_trace_cacheinspectcurrentframef_backLOGshould_tracetracesource_filename	lock_datar   setunlock_datar   r   r   rv   r~   r   r   r   r   r|   r   	PY_RESUMEr   r   r   r   r   r   r   set_local_eventsr   r    )r(   r   instruction_offset	code_infotracing_coder   r_   dispframe	tracenamer   r   local_eventss                r)   r   SysMonitor.sysmon_py_start(  s    ::!JJx A% OO''41	$(+/	 $,,L!++I''H**..x8D|,,.$#00299Es %((948''1::L 00	 ,,, ' 		1/2u		),$$& IIi0	$T* 	 $#  I )2OOBtH%$$T*::)JJ/14/..YY~~-999'-'7'7&:J:J'JV[['X??#&>>#C#CC#C( & 3 3"("4"4!5L '77		4V  wC $$&* Y s   ?&K( %B/K=(K:=
LNc                   U R                   b  U R                   S==   S-  ss'   U R                  R                  [        U5      5      nUR                  U   nUb)  XQR
                  * 4nUR                  R                  U5        [        $ )zBHandle sys.monitoring.events.PY_RETURN events for branch coverage.returnsr   )	r   r   r   rg   r   rj   r   rV   r    )r(   r   r  retvalr  	last_linearcs          r)   r   SysMonitor.sysmon_py_returnp  s}     ::!JJy!Q&!OO''41	 **+=>	 2223C##C(r,   linec                    U R                   b  U R                   S==   S-  ss'   U R                  R                  [        U5      5      nUb(  UR                  b  UR                  R                  U5        [        $ )z;Handle sys.monitoring.events.LINE events for line coverage.
line_linesr   )r   r   r   rg   r   rV   r    )r(   r   line_numberr  s       r)   r   SysMonitor.sysmon_line_lines  sf     ::!JJ|$)$OO''41	  Y%8%8%D##K0r,   c                    U R                   b  U R                   S==   S-  ss'   U R                  [        U5         nX"4nUR                  R	                  U5        [
        $ )z=Handle sys.monitoring.events.LINE events for branch coverage.	line_arcsr   )r   r   rg   r   rV   r    )r(   r   r  r  r  s        r)   r   SysMonitor.sysmon_line_arcs  sW     ::!JJ{#q(#OOBtH-	 ($r,   c                p   U R                   b  U R                   S==   S-  ss'   U R                  [        U5         nUR                  (       dD  U R                   b  U R                   S==   S-  ss'   [        U5      Ul        [	        U5      Ul        SnUR                  R                  U5      nU1nUR                  R                  U5      =nb3  UnUR                  U5        UR                  R                  U5      =nb  M3  UbF  UR                  5        H2  u  pU	c  M
  Xz-  (       d  M  UR                  R                  U	5        Sn  O   U(       d_  UR                  c   eUR                  U   nUR                  R                  U5      nUb#  X:w  a  X4n	UR                  R                  U	5        [        $ )z+Handle BRANCH_RIGHT and BRANCH_LEFT events.branchesr   r   FT)r   r   rg   r   r   r   rV   itemsr   r   r    )r(   r   r  destination_offsetr  	added_arc	dest_infodestsdestr  offsetsl1l2s                r)   r   SysMonitor.sysmon_branch_either  s   
 ::!JJz"a'"OOBtH-	 &&zz%

?+q0+&3D&9I#%1$%7I"	++//0BC	 $$ --112DEEtR!%II() !--112DEEtR
   ) 1;??''++C0 $I !2 ))555''(:;B''++,>?B~"(h##'', r,   )
r   r   r   r   r   r   r   r   r   r   )r   rR   r7   r<   )r7   r;   )r7   r<   )r7   r   )r7   zdict[str, int] | None)r   r   r  r   r7   MonitorReturn)r   r   r  r   r  objectr7   r#  )r   r   r  r   r7   r#  )r   r   r  r   r  r   r7   r#  )r=   r>   r?   r@   rA   r*   r   r   r   r   r   r   r   r   r   r   r   r   r   rB   r8   r,   r)   r   r      s6   R DW
 \" "6 \
3 
3 \  E EN T" $ 	
 
 #&    
  
 S!--29-OV-	- "-r,   r   )r[   r;   r7   r<   )rl   r   r7   r;   )r   z
str | Noner7   r   )r   r   r7   zdict[TOffset, TLineNo])@rA   
__future__r   r   r   rP   os.pathr~   rS   rz   dataclassesr   typesr   typingr   r   r   r	   r
   coverager   coverage.bytecoder   r   r   coverage.debugr   r   coverage.miscr   coverage.typesr   r   r   r   r   r   r   r   r   r   r   rR   getenvr   r   r1   r|   r$  r   r#  r    r"   r   r   rF   r   r0   rm   r   r   r   r   r8   r,   r)   <module>r0     sj   I "   	  
   !  9 9  H H 6 (   B
 3ryy.234 S#:A>?@ lD1~v.&
}gniF
G   $N4DEN%%%##	K !UL("N0FP ) ) )(K Kr,   