
    :Lj&                         S SK r S SKJrJrJrJrJrJrJr  S SK	J
r
  S SKJr  S SKJrJrJr  S SKJr  S SKJrJr   " S S	\5      rg)
    N)AnyDictLiteralOptionalPatternUnioncast)TracingGroupLocation)Artifact)ChannelOwnerfrom_channelfrom_nullable_channel)DisposableStub)Errorlocals_to_paramsc                   n  ^  \ rS rSrS\S\S\S\SS4
U 4S jjr      S.S	\S
\S\S\S\S\SS4S jjr	S/S
\S	\SS4S jjr
S\SS4S jrS0S\\R                  \4   SS4S jjrS0S\\R                  \4   SS4S jjrS0S\\R                  \4   SS4S jjrS1S jr S0S	\S\S\4S jjrS1S jr   S2S\\R                  \4   S\S   S\S   S \\\\   4   S\4
S! jjr    S3S"\\R                  \4   S#\\   S$\\\\   4   S%\S   S&\S   S'\\   S\4S( jjrS1S) jrS1S* jrS+\SS4S, jrS-rU =r $ )4Tracing   parenttypeguidinitializerreturnNc                    > [         TU ]  XX45        SU l        SU l        S U l        SU l        S U l        S U l        0 U l        g NF)	super__init___include_sources_is_live
_stacks_id_is_tracing_traces_dir_har_id_har_recorders)selfr   r   r   r   	__class__s        N/home/rurouni/.local/lib/python3.13/site-packages/playwright/_impl/_tracing.pyr   Tracing.__init__   sI     	t9&+#)-!&*.&*9;    nametitle	snapshotsscreenshotssourceslivec           	      R  #    [        [        5       5      n[        U5      U l        [        U5      U l        U R
                  R                  SS UUUUS.5      I S h  vN   U R
                  R                  SS X!S.5      I S h  vN nU R                  U5      I S h  vN   g  NE N  N	7f)NtracingStart)r*   r,   r-   r/   tracingStartChunk)r+   r*   )r   localsboolr   r   _channelsend_start_collecting_stacks)	r%   r*   r+   r,   r-   r.   r/   params
trace_names	            r'   startTracing.start*   s      "&(+ $WT
mm  &*		
 		
 		
  ==--'E
 

 ++J777		

 	8s6   AB'B!&B'B#B'B%B'#B'%B'c                    #    [        [        5       5      nU R                  R                  SS U5      I S h  vN nU R	                  U5      I S h  vN   g  N N7f)Nr2   )r   r3   r5   r6   r7   )r%   r+   r*   r8   r9   s        r'   start_chunkTracing.start_chunkF   sJ     !&(+==--.A4PP
++J777 Q7s!   4AAAAAAr9   c                   #    U R                   (       d"  SU l         U R                  R                  S5        U R                  R                  R	                  U R
                  XR                  5      I S h  vN U l        g  N
7f)NT)r!   _connectionset_is_tracinglocal_utilstracing_startedr"   r   r    )r%   r9   s     r'   r7    Tracing._start_collecting_stacksK   sa     #D++D1 $ 0 0 < < L Lj--!
 
 
s   A1B 3A>4B pathc                 B   #    U R                  U5      I S h  vN   g  N7fN)_do_stop_chunkr%   rE   s     r'   
stop_chunkTracing.stop_chunkS   s     !!$'''s   c                    #    U R                  U5      I S h  vN   U R                  R                  SS 5      I S h  vN   g  N) N7f)NtracingStop)rH   r5   r6   rI   s     r'   stopTracing.stopV   sE     !!$'''mm  
 	
 	
 	(	
s   AA#AAAA	file_pathc                   #    U R                  5         U(       dp  U R                  R                  SS SS05      I S h  vN   U R                  (       a7  U R                  R
                  R                  U R                  5      I S h  vN   g U R                  R                  (       + nU(       a{  U R                  R                  SS SS05      I S h  vN nU R                  R
                  R                  [        U5      US   U R                  SU R                  S.5      I S h  vN   g U R                  R                  SS SS05      I S h  vN n[        [        [           [        UR!                  S5      5      5      nU(       dI  U R                  (       a7  U R                  R
                  R                  U R                  5      I S h  vN   g UR#                  U5      I S h  vN   UR%                  5       I S h  vN   U R                  R
                  R                  [        U5      / U R                  S	U R                  S.5      I S h  vN   g  GN GN GN GN7 GN N N~ Nh N7f)
NtracingStopChunkmodediscardentrieswrite)zipFilerU   stacksIdrS   includeSourcesarchiveartifactappend)_reset_stack_counterr5   r6   r    r@   rB   trace_discarded	is_remotesend_return_as_dictzipstrr   r	   r   r   r   getsave_asdelete)r%   rP   is_localresultr[   s        r'   rH   Tracing._do_stop_chunk]   s    !!#--$$%7	?RSSS&&22BB4??SSS''111==<<"D69*= F ""..22"9~%i0 $#&*&;&;   }}88	
 
 X!&**Z"89
 &&22BB4??SSS y)))oo**..y> OO "&"7"7
 	
 	
[ TS
  T 	*	
s   :I&IAI&IA	I&IAI&!I"'I&	I
A=I&II&!I "I&9I":AI&	I$
I&I&I&I&I&I& I&"I&$I&c                 l    U R                   (       a#  SU l         U R                  R                  S5        g g r   )r!   r@   rA   r%   s    r'   r]   Tracing._reset_stack_counter   s,    $D++E2 r)   locationc                    ^ #    T R                   R                  SS [        [        5       5      5      I S h  vN   [	        U 4S jT 5      $  N7f)NtracingGroupc                  $   > T R                  5       $ rG   )	group_endrj   s   r'   <lambda>Tracing.group.<locals>.<lambda>   s    dnn&6r)   )r5   r6   r   r3   r   )r%   r*   rl   s   `  r'   groupTracing.group   s@      mm  7G7QRRR6== 	Ss   2AA
Ac                 X   #    U R                   R                  SS 5      I S h  vN   g  N7f)NtracingGroupEnd)r5   r6   rj   s    r'   rp   Tracing.group_end   s'     mm  
 	
 	
s    *(*content)attachembedomitrS   )fullminimal	urlFilterc                   ^ #    T R                   (       a  [        S5      e[        U5      R                  S5      nU(       a  SOSnT R	                  US UU=(       d    UU=(       d    SS9I S h  vN T l         [        U 4S jT 5      $  N7f)Nz&HAR recording has already been started.zipry   rz   r|   )harpageurlupdate_contentupdate_modec                  $   > T R                  5       $ rG   )stop_harrj   s   r'   rq   #Tracing.start_har.<locals>.<lambda>   s    dmmor)   )r#   r   rb   endswith_record_into_harr   )r%   rE   rx   rS   r~   is_zipdefault_contents   `      r'   	start_harTracing.start_har   s      <<@AAT##F+HG 	 "22"5o 3 
 
 5t<<
s   A*B	-B.B	r   r   r   r   r   resourcesDirc                   ^#    [        U5      R                  S5      nS nS n	S n
[        T[         5      (       a  TnO*Tb'  TR                  n	SR	                  U4S jS 5       5      n
U=(       d    SU=(       d    SU(       a  S O
[        U5      S.nUb  XS'   U	b  XS	'   U
b  XS
'   Ub  XkS'   SU0nUb  UR
                  US'   U R
                  R                  SS U5      I S h  vN nUS   nS[        U5      0U R                  U'   U$  N%7f)Nr    c              3   X   >#    U  H  u  pTR                   U-  (       d  M  Uv   M!     g 7frG   )flags).0flagmaskr   s      r'   	<genexpr>+Tracing._record_into_har.<locals>.<genexpr>   s(      &"AJD99t# "As   *	*))i   )m   )s   ry   r}   )rx   rS   harPathurlGloburlRegexSourceurlRegexFlagsr   optionsr   harStartharIdrE   )rb   r   
isinstancepatternjoinr5   r`   r$   )r%   r   r   r   r   r   r   r   url_globurl_regex_sourceurl_regex_flagsr   r8   rg   har_ids      `           r'   r   Tracing._record_into_har   s,     S""6*"&*.)-c3H_"{{ gg &"A& O &1,9%t3s8&

 !)I'(8$%&'6O$#&2N#"+W!5!]]F6N}}88T6RR'-s3x&8F# Ss   CD
"D#&D
c                    #    [        U R                  R                  5       5       H  nU R                  U5      I S h  vN   M     S U l        g  N7frG   )listr$   keys_export_harr#   r%   r   s     r'   _export_all_harsTracing._export_all_hars   sC     4..3356F""6*** 7 +s   ;AAAc                 x   #    U R                   nU(       d  g S U l         U R                  U5      I S h  vN   g  N7frG   )r#   r   r   s     r'   r   Tracing.stop_har   s/     v&&&s   0:8:r   c                   #    U R                   R                  US 5      nU(       d  g U R                  R                  (       + nUS   R	                  S5      nU(       ai  U R
                  R                  SS USS.5      I S h  vN nU(       d  g U R                  R                  R                  US   US   SSS.5      I S h  vN   g U R
                  R                  SS US	S.5      I S h  vN n[        [        [        US
   5      5      nU(       a5  UR                  US   5      I S h  vN   UR                  5       I S h  vN   g UR                  US   S-   5      I S h  vN   UR                  5       I S h  vN   g  N N N N[ NE N' N7f)NrE   r   	harExportrU   )r   rS   rV   F)rW   rU   rS   rY   rZ   r[   z.tmp)r$   popr@   r_   r   r5   r`   rB   ra   r	   r   r   rd   re   )r%   r   r8   rf   r   rg   r[   s          r'   r   Tracing._export_har   su    $$((6''111((0==<<TVY#G F ""..22%f~%i0#&+	   }}88C
 
 ,vj/A"BC""6&>222//###vf~6777oo5

 3# 	8s~   A>F E>?F F (F)F*>F(F)F FF F!F8F
9F FFFFF
F)r#   r$   r   r   r!   r    r"   )NNNNNN)NNrG   )r   N)NNN)NNNN)!__name__
__module____qualname____firstlineno__r   rb   r   r   r4   r:   r=   r7   r   pathlibPathrJ   rN   rH   r]   r
   r   rs   rp   r   r   r   r   r   r   r   r   __static_attributes____classcell__)r&   s   @r'   r   r      s^   
<"
<*-
<58
<GK
<	
<  88 8 	8
 8 8 8 
888s 8 8 8

 
 
(U7<<+<%= ( (
uW\\3%67 
4 
:
eGLL#4E.F :
RV :
x3 ;?>>#7>	>
 7;+/.2=GLL#%&= 23= '(	=
 gcl*+= 
=4 )-=A26&*)7<<$%) |$) 3$%	)
   9:) ./) sm) 
)V
'"  "  "  " r)   r   )r   typingr   r   r   r   r   r   r	    playwright._impl._api_structuresr
   playwright._impl._artifactr   playwright._impl._connectionr   r   r   playwright._impl._disposabler   playwright._impl._helperr   r   r    r)   r'   <module>r      s9     E E E A / 
 8 <| l | r)   