
     fhS                      d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ dd	l	mZ dd
l	mZ ddl	mZ  G d dej                  Z G d de          Z G d de          Z G d de          Z G d dej                  Z G d de          Z G d de          Z G d de          Z G d dej                  Z G d dej                  Z G d  d!ej                  Ze G d" d#                      Z G d$ d%ej                  Z e G d& d'                      Z!e G d( d)                      Z"e G d* d+                      Z# G d, d-ej                  Z$ G d. d/ej                  Z% G d0 d1ej                  Z&e G d2 d3                      Z'e G d4 d5                      Z(e G d6 d7                      Z)e G d8 d9                      Z*e G d: d;                      Z+e G d< d=                      Z,e G d> d?                      Z- G d@ dAej                  Z. G dB dCej                  Z/e G dD dE                      Z0e G dF dG                      Z1e G dH dI                      Z2e G dJ dK                      Z3e G dL dM                      Z4 G dN dOej                  Z5e G dP dQ                      Z6e G dR dS                      Z7e G dT dU                      Z8 G dV dWej                  Z9e G dX dY                      Z:e G dZ d[                      Z;dd^Z<dd_Z=dd`Z>ddbZ?ddcZ@	 	 	 	 	 	 	 dddpZA	 	 	 ddduZBddvZC	 dddZD	 	 	 dddZEddZFd dZG	 dddZHddZIddZJddZKddZLddZM	 	 dddZNd	dZOd
dZPddZQ	 	 	 	 	 	 	 	 dddZRddZSddZTddZUddZV	 	 	 dddZW ed          e G d d                                  ZX ed          e G d d¦                                  ZY edæ          e G dĄ dŦ                                  ZZ edƦ          e G dǄ dȦ                                  Z[ edɦ          e G dʄ d˦                                  Z\ ed̦          e G d̈́ dΦ                                  Z] edϦ          e G dЄ dѦ                                  Z^ edҦ          e G dӄ dԦ                                  Z_ edզ          e G dք dצ                                  Z` edئ          e G dل dڦ                                  Za edۦ          e G d܄ dݦ                                  Zb edަ          e G d߄ d                                  Zc ed          e G d d                                  Zd ed          e G d d                                  Ze ed          e G d d                                  Zf ed          e G d d                                  Zg ed          e G d d                                  Zh ed          e G d d                                  Zi ed          e G d d                                  ZjdS (      )annotations   )event_classT_JSON_DICT)	dataclassN)debugger)	emulation)io)page)runtime)securityc                  n    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZd Zed             ZdS )ResourceTypezD
    Resource type as it was perceived by the rendering engine.
    Document
StylesheetImageMediaFontScript	TextTrackXHRFetchEventSource	WebSocketManifestSignedExchangePingCSPViolationReportOtherc                    | j         S Nvalueselfs    q/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/network.pyto_jsonzResourceType.to_json)   
    z    c                     | |          S r!    clsjsons     r&   	from_jsonzResourceType.from_json,       s4yyr)   N)__name__
__module____qualname____doc__DOCUMENT
STYLESHEETIMAGEMEDIAFONTSCRIPT
TEXT_TRACKr   FETCHEVENT_SOURCE
WEB_SOCKETMANIFESTSIGNED_EXCHANGEPINGCSP_VIOLATION_REPORTOTHERr'   classmethodr/   r+   r)   r&   r   r      s          HJEEDFJ
CE LJH&OD/E     [  r)   r   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
LoaderIdz#
    Unique loader identifier.
    returnstrc                    | S r!   r+   r$   s    r&   r'   zLoaderId.to_json5       r)   r.   c                     | |          S r!   r+   r,   s     r&   r/   zLoaderId.from_json8   r0   r)   c                j    d                     t                                                                S )NzLoaderId({})formatsuper__repr__r%   	__class__s    r&   rP   zLoaderId.__repr__<   s'    $$UWW%5%5%7%7888r)   rG   rH   )r.   rH   rG   rF   	r1   r2   r3   r4   r'   rD   r/   rP   __classcell__rR   s   @r&   rF   rF   1   sv                [9 9 9 9 9 9 9 9 9r)   rF   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
	RequestIdz$
    Unique request identifier.
    rG   rH   c                    | S r!   r+   r$   s    r&   r'   zRequestId.to_jsonD   rJ   r)   r.   c                     | |          S r!   r+   r,   s     r&   r/   zRequestId.from_jsonG   r0   r)   c                j    d                     t                                                                S )NzRequestId({})rM   rQ   s    r&   rP   zRequestId.__repr__K   s'    %%egg&6&6&8&8999r)   rS   )r.   rH   rG   rX   rT   rV   s   @r&   rX   rX   @   sv                [: : : : : : : : :r)   rX   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
InterceptionIdz0
    Unique intercepted request identifier.
    rG   rH   c                    | S r!   r+   r$   s    r&   r'   zInterceptionId.to_jsonS   rJ   r)   r.   c                     | |          S r!   r+   r,   s     r&   r/   zInterceptionId.from_jsonV   r0   r)   c                j    d                     t                                                                S )NzInterceptionId({})rM   rQ   s    r&   rP   zInterceptionId.__repr__Z   '    #**577+;+;+=+=>>>r)   rS   )r.   rH   rG   r]   rT   rV   s   @r&   r]   r]   O   v                [? ? ? ? ? ? ? ? ?r)   r]   c                  f    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZd Zed             ZdS )ErrorReasonz-
    Network level fetch failure reason.
    FailedAbortedTimedOutAccessDeniedConnectionClosedConnectionResetConnectionRefusedConnectionAbortedConnectionFailedNameNotResolvedInternetDisconnectedAddressUnreachableBlockedByClientBlockedByResponsec                    | j         S r!   r"   r$   s    r&   r'   zErrorReason.to_jsonq   r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zErrorReason.from_jsont   r0   r)   N)r1   r2   r3   r4   FAILEDABORTED	TIMED_OUTACCESS_DENIEDCONNECTION_CLOSEDCONNECTION_RESETCONNECTION_REFUSEDCONNECTION_ABORTEDCONNECTION_FAILEDNAME_NOT_RESOLVEDINTERNET_DISCONNECTEDADDRESS_UNREACHABLEBLOCKED_BY_CLIENTBLOCKED_BY_RESPONSEr'   rD   r/   r+   r)   r&   rd   rd   ^   s          FGI"M*(,,*)2.)-     [  r)   rd   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
TimeSinceEpochz<
    UTC time in seconds, counted from January 1, 1970.
    rG   floatc                    | S r!   r+   r$   s    r&   r'   zTimeSinceEpoch.to_json}   rJ   r)   r.   c                     | |          S r!   r+   r,   s     r&   r/   zTimeSinceEpoch.from_json   r0   r)   c                j    d                     t                                                                S )NzTimeSinceEpoch({})rM   rQ   s    r&   rP   zTimeSinceEpoch.__repr__   ra   r)   rG   r   )r.   r   rG   r   rT   rV   s   @r&   r   r   y   rb   r)   r   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
MonotonicTimezX
    Monotonically increasing time in seconds since an arbitrary point in the past.
    rG   r   c                    | S r!   r+   r$   s    r&   r'   zMonotonicTime.to_json   rJ   r)   r.   c                     | |          S r!   r+   r,   s     r&   r/   zMonotonicTime.from_json   r0   r)   c                j    d                     t                                                                S )NzMonotonicTime({})rM   rQ   s    r&   rP   zMonotonicTime.__repr__   s'    "))%''*:*:*<*<===r)   r   )r.   r   rG   r   rT   rV   s   @r&   r   r      sv                [> > > > > > > > >r)   r   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
HeaderszE
    Request / response headers as keys / values of JSON object.
    rG   dictc                    | S r!   r+   r$   s    r&   r'   zHeaders.to_json   rJ   r)   r.   c                     | |          S r!   r+   r,   s     r&   r/   zHeaders.from_json   r0   r)   c                j    d                     t                                                                S )NzHeaders({})rM   rQ   s    r&   rP   zHeaders.__repr__   s'    ##EGG$4$4$6$6777r)   )rG   r   )r.   r   rG   r   rT   rV   s   @r&   r   r      sv                [8 8 8 8 8 8 8 8 8r)   r   c                  R    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zd Zed             ZdS )ConnectionTypezT
    The underlying connection technology that the browser is supposedly using.
    none
cellular2g
cellular3g
cellular4g	bluetoothethernetwifiwimaxotherc                    | j         S r!   r"   r$   s    r&   r'   zConnectionType.to_json   r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zConnectionType.from_json   r0   r)   N)r1   r2   r3   r4   NONE
CELLULAR2G
CELLULAR3G
CELLULAR4G	BLUETOOTHETHERNETWIFIWIMAXrC   r'   rD   r/   r+   r)   r&   r   r      sw          DJJJIHDEE     [  r)   r   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )CookieSameSitezs
    Represents the cookie's 'SameSite' status:
    https://tools.ietf.org/html/draft-west-first-party-cookies
    StrictLaxNonec                    | j         S r!   r"   r$   s    r&   r'   zCookieSameSite.to_json   r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zCookieSameSite.from_json   r0   r)   N)
r1   r2   r3   r4   STRICTLAXr   r'   rD   r/   r+   r)   r&   r   r      sY          F
CD     [  r)   r   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )CookiePriorityzr
    Represents the cookie's 'Priority' status:
    https://tools.ietf.org/html/draft-west-cookie-priority-00
    LowMediumHighc                    | j         S r!   r"   r$   s    r&   r'   zCookiePriority.to_json   r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zCookiePriority.from_json   r0   r)   N)
r1   r2   r3   r4   LOWMEDIUMHIGHr'   rD   r/   r+   r)   r&   r   r      sY          CFD     [  r)   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   d Zed             ZdS )ResourceTimingz-
    Timing information for the request.
    r   request_timeproxy_start	proxy_end	dns_startdns_endconnect_startconnect_end	ssl_startssl_endworker_startworker_readyworker_fetch_startworker_respond_with_settled
send_startsend_end
push_startpush_endreceive_headers_endc                   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j	        |d	<   | j
        |d
<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )NrequestTime
proxyStartproxyEnddnsStartdnsEndconnectStart
connectEndsslStartsslEndworkerStartworkerReadyworkerFetchStartworkerRespondWithSettled	sendStartsendEnd	pushStartpushEndreceiveHeadersEnd)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r%   r.   s     r&   r'   zResourceTiming.to_json  s    vv"/]!-\>Z>ZX#1^!-\>ZX"/]"/]#'#: +/+K'( O[-Y O[-Y$($< !r)   c           	     &    | d%i dt          |d                   dt          |d                   dt          |d                   dt          |d                   d	t          |d
                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                   dt          |d                    d!t          |d"                   d#t          |d$                   S )&Nr   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   r   r   r   r   r   r   r   r+   )r   r,   s     r&   r/   zResourceTiming.from_json0  s   s 
 
 
tM2333
d<0111
 D,---
 D,---	

 $x.)))
  ^ 4555
 d<0111
 D,---
 $x.)))
 tM2333
 tM2333
  %T*<%=>>>
 ).d3M.N(O(O(O
 T+.///
 4	?+++
  T+.///!
" 4	?+++#
$ !&d+>&? @ @ @%
 	
r)   Nr1   r2   r3   r4   __annotations__r'   rD   r/   r+   r)   r&   r   r      s:         
     NNN    NNN    '&&&  OOO  OOO   , 
 
 [
 
 
r)   r   c                  B    e Zd ZdZdZdZdZdZdZd Z	e
d             Zd	S )
ResourcePriorityz1
    Loading priority of a resource request.
    VeryLowr   r   r   VeryHighc                    | j         S r!   r"   r$   s    r&   r'   zResourcePriority.to_jsonR  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zResourcePriority.from_jsonU  r0   r)   N)r1   r2   r3   r4   VERY_LOWr   r   r   	VERY_HIGHr'   rD   r/   r+   r)   r&   r   r   H  sc          H
CFDI     [  r)   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
Zded<   d
Zded<   d
Zded<   d
Zded<   d
Z	ded<   d Z
ed             Zd
S )Requestz
    HTTP request data.
    rH   urlmethodr   headersr   initial_priorityreferrer_policyNtyping.Optional[str]url_fragment	post_datatyping.Optional[bool]has_post_dataz*typing.Optional[security.MixedContentType]mixed_content_typeis_link_preloadc                   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        
| j	        |d<   | j
        | j
                                        |d	<   | j        
| j        |d
<   |S )Nr   r   r   initialPriorityreferrerPolicyurlFragmentpostDatahasPostDatamixedContentTypeisLinkPreload)r   r   r   r   r'   r   r   r   r   r   r   r   r   s     r&   r'   zRequest.to_json}  s    vvhUX,..00Y"&"7"?"?"A"A!%!5("&"3D>%#~D)"&"4D".'+'>'F'F'H'HD#$+$($8D!r)   c                0    | t          |d                   t          |d                   t                              |d                   t                              |d                   t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d|v rt	          |d                   nd d	|v r%t
          j                            |d	                   nd d
|v rt	          |d
                   nd 
  
        S )Nr   r   r   r   r   r  r  r  r  r  )
r   r   r   r   r   r   r   r   r   r   )rH   r   r/   r   boolr   MixedContentTyper,   s     r&   r/   zRequest.from_json  s$   sDK  tH~&&%%d9o66-77=N8OPP%5 6775Bd5J5JT-0111PT/9T/A/Ac$z*+++t7D7L7L$tM2333RV`rvz`z`zx8BB4HZC[\\\  AE;Jd;R;RDo!6777X\
 
 
 	
r)   )r1   r2   r3   r4   r   r   r   r   r   r   r'   rD   r/   r+   r)   r&   r   r   Z  s           HHH KKK  '&&&  *.L---- '+I**** ,0M//// FJIIII .2O1111  & 
 
 [
 
 
r)   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   d Zed             ZdS )SignedCertificateTimestampz:
    Details of a signed certificate timestamp (SCT).
    rH   statusoriginlog_descriptionlog_idr   	timestamphash_algorithmsignature_algorithmsignature_datac                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j	        |d<   |S )	Nr  r  logDescriptionlogIdr  hashAlgorithmsignatureAlgorithmsignatureData)
r   r  r  r  r  r  r'   r  r  r  r   s     r&   r'   z"SignedCertificateTimestamp.to_json  s    vvXX!%!5W N2244[ $ 3_%)%=!" $ 3_r)   c                n    | t          |d                   t          |d                   t          |d                   t          |d                   t                              |d                   t          |d                   t          |d                   t          |d                   	          S )
Nr  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r  )rH   r   r/   r,   s     r&   r/   z$SignedCertificateTimestamp.from_json  s    stH~&&tH~&&%5 677tG}%%$..tK/@AAtO455 #D)=$> ? ?tO455	
 	
 	
 		
r)   Nr   r+   r)   r&   r
  r
    s           KKK KKK  KKK    
 
 
 

 

 [

 

 

r)   r
  c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   dZded<   dZded<   d Zed             Z	dS )SecurityDetailsz+
    Security details about a request.
    rH   protocolkey_exchangecipherzsecurity.CertificateIdcertificate_idsubject_nametyping.List[str]san_listissuerr   
valid_fromvalid_toz'typing.List[SignedCertificateTimestamp]!signed_certificate_timestamp_list!CertificateTransparencyCompliance#certificate_transparency_complianceNr   key_exchange_groupmacc                   t                      }| j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   d | j        D             |d<   | j        |d<   | j	                                        |d	<   | j
                                        |d
<   d | j        D             |d<   | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr  keyExchanger  certificateIdsubjectNamec                    g | ]}|S r+   r+   .0is     r&   
<listcomp>z+SecurityDetails.to_json.<locals>.<listcomp>
  s    4441444r)   sanListr#  	validFromvalidToc                6    g | ]}|                                 S r+   r'   r0  s     r&   r3  z+SecurityDetails.to_json.<locals>.<listcomp>  s     1n1n1n!!))++1n1n1nr)   signedCertificateTimestampList!certificateTransparencyCompliancekeyExchangeGroupr*  )r   r  r  r  r  r'   r   r"  r#  r$  r%  r&  r(  r)  r*  r   s     r&   r'   zSecurityDetails.to_json  s   vv=Z"/]X $ 3 ; ; = =_"/]44dm444YX O3355[-//11Y1n1ntGm1n1n1n-.484\4d4d4f4f01".'+'>D#$8(DKr)   c                    | t          |d                   t          |d                   t          |d                   t          j                            |d                   t          |d                   d |d         D             t          |d                   t                              |d	                   t                              |d
                   d |d         D             t
                              |d                   d|v rt          |d                   nd d|v rt          |d                   nd           S )Nr  r,  r  r-  r.  c                ,    g | ]}t          |          S r+   rH   r0  s     r&   r3  z-SecurityDetails.from_json.<locals>.<listcomp>  s    666c!ff666r)   r4  r#  r5  r6  c                B    g | ]}t                               |          S r+   )r
  r/   r0  s     r&   r3  z-SecurityDetails.from_json.<locals>.<listcomp>"  s;      /H  /H  /H[\/I/S/STU/V/V  /H  /H  /Hr)   r9  r:  r;  r*  )r  r  r  r  r   r"  r#  r$  r%  r&  r(  r)  r*  )rH   r   CertificateIdr/   r   r'  r,   s     r&   r/   zSecurityDetails.from_json  sU   sj)**T-011tH~&&#1;;D<QRRT-01166d9o666tH~&&%//[0ABB#--d9o>> /H  /H`d  fF  aG  /H  /H  /H0Q0[0[\`  bE  ]F  1G  1G@RVZ@Z@Zs4(:#;<<<`d$)TMMDK   t
 
 
 	
r)   )
r1   r2   r3   r4   r   r)  r*  r'   rD   r/   r+   r)   r&   r  r    s          MMM  KKK +***   KKK   ONNN KJJJ 043333 !%C$$$$  & 
 
 [
 
 
r)   r  c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )r'  zL
    Whether the request complied with Certificate Transparency policy.
    unknownznot-compliant	compliantc                    | j         S r!   r"   r$   s    r&   r'   z)CertificateTransparencyCompliance.to_json1  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   z+CertificateTransparencyCompliance.from_json4  r0   r)   N)
r1   r2   r3   r4   UNKNOWNNOT_COMPLIANT	COMPLIANTr'   rD   r/   r+   r)   r&   r'  r'  )  sY          G#MI     [  r)   r'  c                  b    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZd Zed             ZdS )BlockedReasonz-
    The reason why request was blocked.
    r   cspzmixed-contentr  	inspectorzsubresource-filterzcontent-typezcollapsed-by-clientz%coep-frame-resource-needs-coep-headerz2coop-sandboxed-iframe-cannot-navigate-to-coop-pagezcorp-not-same-originz;corp-not-same-origin-after-defaulted-to-same-origin-by-coepzcorp-not-same-sitec                    | j         S r!   r"   r$   s    r&   r'   zBlockedReason.to_jsonK  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zBlockedReason.from_jsonN  r0   r)   N)r1   r2   r3   r4   rC   CSPMIXED_CONTENTORIGIN	INSPECTORSUBRESOURCE_FILTERCONTENT_TYPECOLLAPSED_BY_CLIENT%COEP_FRAME_RESOURCE_NEEDS_COEP_HEADER2COOP_SANDBOXED_IFRAME_CANNOT_NAVIGATE_TO_COOP_PAGECORP_NOT_SAME_ORIGIN;CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEPCORP_NOT_SAME_SITEr'   rD   r/   r+   r)   r&   rJ  rJ  9  s          E
C#MFI-!L/,S)9m61B?-     [  r)   rJ  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	ServiceWorkerResponseSourcez+
    Source of serviceworker response.
    zcache-storagez
http-cachezfallback-codenetworkc                    | j         S r!   r"   r$   s    r&   r'   z#ServiceWorkerResponseSource.to_json\  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   z%ServiceWorkerResponseSource.from_json_  r0   r)   N)r1   r2   r3   r4   CACHE_STORAGE
HTTP_CACHEFALLBACK_CODENETWORKr'   rD   r/   r+   r)   r&   r\  r\  S  s^          $MJ#MG     [  r)   r\  c                  N   e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   dZded<   dZded<   dZded<   dZded<   dZ	ded<   dZ
ded<   dZded<   dZded<   dZded<   dZd ed!<   dZd"ed#<   dZded$<   dZded%<   dZd&ed'<   d( Zed)             ZdS )*Responsez
    HTTP response data.
    rH   r   intr  status_textr   r   	mime_typer  connection_reusedr   connection_idencoded_data_lengthzsecurity.SecurityStatesecurity_stateNr   headers_texttyping.Optional[Headers]request_headersrequest_headers_textremote_ip_addresstyping.Optional[int]remote_portr   from_disk_cachefrom_service_workerfrom_prefetch_cacheztyping.Optional[ResourceTiming]timingz,typing.Optional[ServiceWorkerResponseSource]service_worker_response_sourcetyping.Optional[TimeSinceEpoch]response_timecache_storage_cache_namer   typing.Optional[SecurityDetails]security_detailsc                   t                      }| j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j	        |d<   | j
                                        |d	<   | j        
| j        |d
<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   |S )Nr   r  
statusTextr   mimeTypeconnectionReusedconnectionIdencodedDataLengthsecurityStateheadersTextrequestHeadersrequestHeadersTextremoteIPAddress
remotePortfromDiskCachefromServiceWorkerfromPrefetchCacherw  serviceWorkerResponseSourceresponseTimecacheStorageCacheNamer  securityDetails)r   r   r  rg  r   r'   rh  ri  rj  rk  rl  rm  ro  rp  rq  rs  rt  ru  rv  rw  rx  rz  r{  r  r}  r   s     r&   r'   zResponse.to_json  s   vvhUX!-\,..00Y>Z#'#9 #1^$($< ! $ 3 ; ; = =_("&"3D+%)%9%A%A%C%CD!"$0)-)BD%&!-&*&<D"#'!%!1D+$($8D!#/(,(@D$%#/(,(@D$%;"![0022DN.:262U2]2]2_2_D./)#'#5#=#=#?#?D (4,0,ID()=$#}D ,&*&;&C&C&E&ED"#r)   c           	     N    | d*i dt          |d                   dt          |d                   dt          |d                   dt                              |d                   dt          |d                   dt	          |d	                   d
t          |d                   dt          |d                   dt          j                            |d                   dd|v rt          |d                   nd dd|v r t                              |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt	          |d                   nd dd|v rt	          |d                   nd dd|v rt	          |d                   nd d d |v r t                              |d                    nd d!d"|v r t                              |d"                   nd d#d$|v r t                              |d$                   nd d%d&|v rt          |d&                   nd d'd'|v rt          |d'                   nd d(d)|v r t                              |d)                   nd S )+Nr   r  rg  r  r   rh  r  ri  r  rj  r  rk  r  rl  r  rm  r  ro  r  rp  r  rq  r  rs  r  rt  r  ru  r  rv  r  rw  rx  r  rz  r  r{  r  r  r}  r  r+   )rH   rf  r   r/   r  r   r   SecurityStater   r\  r   r  r,   s     r&   r/   zResponse.from_json  s   s 
 
 
DK   
tH~&&&
 D.///
 %%d9o666	

 $z*+++
 #4(:#;<<<
  ^ 4555
 !&d+>&? @ @ @
 $1;;D<QRRR
 6Cd5J5JT-0111PT
 JZ]aIaIaG--d3C.DEEEgk
 EY\`D`D`T*>%?!@!@!@fj
 ?PSW>W>Wc$'8"9:::]a
 4@43G3GD.///T
 <Kd;R;RDo!6777X\
  DWZ^C^C^T*=%> ? ? ?dh!
" DWZ^C^C^T*=%> ? ? ?dh#
$ @H4?O?O>++DN;;;UY%
& zW  [_  z_  z_+F+P+PQUVsQt+u+u+u  ei'
( M[^bLbLb.2243GHHHhl)
* LcfjKjKjS.E)F%G%G%Gpt+
, /9D.@.@Sj)***d-
. TehlSlSl_66t<M7NOOOrv/
 	
r)   )r1   r2   r3   r4   r   rm  ro  rp  rq  rs  rt  ru  rv  rw  rx  rz  r{  r  r}  r'   rD   r/   r+   r)   r&   re  re  d  s          HHH KKK   NNN    +*** *.L---- 15O4444 265555 /32222 )-K,,,, .2O1111 265555 265555 /3F2222 TX"WWWW 6:M9999 6:9999 &*H)))) :>====' ' 'R 
 
 [
 
 
r)   re  c                  :    e Zd ZU dZded<   d Zed             ZdS )WebSocketRequestz!
    WebSocket request data.
    r   r   c                Z    t                      }| j                                        |d<   |S )Nr   )r   r   r'   r   s     r&   r'   zWebSocketRequest.to_json  s'    vv,..00Yr)   c                V     | t                               |d                             S )Nr   )r   )r   r/   r,   s     r&   r/   zWebSocketRequest.from_json  s0    s%%d9o66
 
 
 	
r)   Nr   r+   r)   r&   r  r    sX             
 
 
 [
 
 
r)   r  c                  x    e Zd ZU dZded<   ded<   ded<   dZd	ed
<   dZded<   dZd	ed<   d Ze	d             Z
dS )WebSocketResponsez"
    WebSocket response data.
    rf  r  rH   rg  r   r   Nr   rm  rn  ro  rp  c                   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        
| j        |d<   |S )Nr  r  r   r  r  r  )r   r  rg  r   r'   rm  ro  rp  r   s     r&   r'   zWebSocketResponse.to_json  s    vvX!-\,..00Y("&"3D+%)%9%A%A%C%CD!"$0)-)BD%&r)   c                X    | t          |d                   t          |d                   t                              |d                   d|v rt          |d                   nd d|v r t                              |d                   nd d|v rt          |d                   nd           S )Nr  r  r   r  r  r  )r  rg  r   rm  ro  rp  )rf  rH   r   r/   r,   s     r&   r/   zWebSocketResponse.from_json,  s    stH~&&D.//%%d9o665Bd5J5JT-0111PTIY]aIaIaG--d3C.DEEEgkDX\`D`D`T*>%?!@!@!@fj
 
 
 	
r)   )r1   r2   r3   r4   r   rm  ro  rp  r'   rD   r/   r+   r)   r&   r  r    s           KKK   *.L---- 15O4444 265555   
 
 [
 
 
r)   r  c                  N    e Zd ZU dZded<   ded<   ded<   d Zed	             Zd
S )WebSocketFramez
    WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.
    r   opcoder  maskrH   payload_datac                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )Nr  r  payloadData)r   r  r  r  r   s     r&   r'   zWebSocketFrame.to_jsonH  s3    vvXyV"/]r)   c                     | t          |d                   t          |d                   t          |d                             S )Nr  r  r  )r  r  r  )r   r  rH   r,   s     r&   r/   zWebSocketFrame.from_jsonO  sI    sh((d6l##T-011
 
 
 	
r)   Nr   r+   r)   r&   r  r  8  sn           MMM JJJ
    
 
 [
 
 
r)   r  c                  \    e Zd ZU dZded<   ded<   ded<   dZd	ed
<   d Zed             ZdS )CachedResourcez0
    Information about the cached resource.
    rH   r   r   type_r   	body_sizeNtyping.Optional[Response]responsec                    t                      }| j        |d<   | j                                        |d<   | j        |d<   | j        | j                                        |d<   |S )Nr   typebodySizer  )r   r   r  r'   r  r  r   s     r&   r'   zCachedResource.to_jsoni  s^    vvhUz))++V>Z=$#}4466Dr)   c           	          | t          |d                   t                              |d                   t          |d                   d|v r t                              |d                   nd           S )Nr   r  r  r  )r   r  r  r  )rH   r   r/   r   re  r,   s     r&   r/   zCachedResource.from_jsonr  su    sDK  ((f66D,--=G4=O=OX''Z(8999UY	
 
 
 	
r)   )	r1   r2   r3   r4   r   r  r'   rD   r/   r+   r)   r&   r  r  X  s           HHH   +/H....   
 
 [
 
 
r)   r  c                  d    e Zd ZU dZded<   dZded<   dZded<   dZd	ed
<   d Ze	d             Z
dS )	Initiatorz2
    Information about the request initiator.
    rH   r  Nz#typing.Optional[runtime.StackTrace]stackr   r   ztyping.Optional[float]line_numberc                    t                      }| j        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr  r  r   
lineNumber)r   r  r  r'   r   r  r   s     r&   r'   zInitiator.to_json  sc    vvzV:! J..00DM8(DK'!%!1Dr)   c           	          | t          |d                   d|v r%t          j                            |d                   nd d|v rt          |d                   nd d|v rt	          |d                   nd           S )Nr  r  r   r  )r  r  r   r  )rH   r   
StackTracer/   r   r,   s     r&   r/   zInitiator.from_json  s    sd6l##AHD'$..tG}===VZ$)TMMDK   t5AT5I5Id<0111t	
 
 
 	
r)   )r1   r2   r3   r4   r   r  r   r  r'   rD   r/   r+   r)   r&   r  r  |  s           JJJ 26E5555 !%C$$$$ +/K....	 	 	 
 
 [
 
 
r)   r  c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   dZded<   d Zed             ZdS )Cookiez
    Cookie object
    rH   namer#   domainpathr   expiresrf  sizer  	http_onlysecuresessionr   priorityNtyping.Optional[CookieSameSite]	same_sitec                T   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j	        |d	<   | j
                                        |d
<   | j        | j                                        |d<   |S )Nr  r#   r  r  r  r  httpOnlyr  r  r  sameSite)r   r  r#   r  r  r  r  r  r  r  r  r'   r  r   s     r&   r'   zCookie.to_json  s    vvyV
WXyV,YyV>ZX,Y=0022Z>%#~5577Dr)   c                    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d	                   t                              |d
                   d|v r t                              |d                   nd           S )Nr  r#   r  r  r  r  r  r  r  r  r  )r  r#   r  r  r  r  r  r  r  r  r  )rH   r   rf  r  r   r/   r   r,   s     r&   r/   zCookie.from_json  s    sT&\""d7m$$tH~&&T&\""$y/**T&\""4
+,,X''i))#--d:.>??DNRVDVDVn..tJ/?@@@\`
 
 
 	
r)   )	r1   r2   r3   r4   r   r  r'   rD   r/   r+   r)   r&   r  r    s           III JJJ KKK III NNN III OOO LLL MMM  26I5555    
 
 [
 
 
r)   r  c                  ^    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZd Zed             ZdS )SetCookieBlockedReasonzJ
    Types of reasons why a cookie may not be stored from a response.
    
SecureOnlySameSiteStrictSameSiteLaxSameSiteUnspecifiedTreatedAsLaxSameSiteNoneInsecureUserPreferencesSyntaxErrorSchemeNotSupportedOverwriteSecureInvalidDomainInvalidPrefixUnknownErrorc                    | j         S r!   r"   r$   s    r&   r'   zSetCookieBlockedReason.to_json  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   z SetCookieBlockedReason.from_json  r0   r)   N)r1   r2   r3   r4   SECURE_ONLYSAME_SITE_STRICTSAME_SITE_LAX$SAME_SITE_UNSPECIFIED_TREATED_AS_LAXSAME_SITE_NONE_INSECUREUSER_PREFERENCESSYNTAX_ERRORSCHEME_NOT_SUPPORTEDOVERWRITE_SECUREINVALID_DOMAININVALID_PREFIXUNKNOWN_ERRORr'   rD   r/   r+   r)   r&   r  r    s          K'!M+L(4( L/($N$N"M     [  r)   r  c                  R    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zd Zed             ZdS )CookieBlockedReasonzG
    Types of reasons why a cookie may not be sent with a request.
    r  	NotOnPathDomainMismatchr  r  r  r  r  r  c                    | j         S r!   r"   r$   s    r&   r'   zCookieBlockedReason.to_json  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zCookieBlockedReason.from_json  r0   r)   N)r1   r2   r3   r4   r  NOT_ON_PATHDOMAIN_MISMATCHr  r  r  r  r  r  r'   rD   r/   r+   r)   r&   r  r    s{          KK&O'!M+L(4("M     [  r)   r  c                  R    e Zd ZU dZded<   ded<   dZded<   d	 Zed
             ZdS )BlockedSetCookieWithReasonzV
    A cookie which was not stored from a response with the corresponding reason.
    z#typing.List[SetCookieBlockedReason]blocked_reasonsrH   cookie_lineNztyping.Optional[Cookie]cookiec                    t                      }d | j        D             |d<   | j        |d<   | j        | j                                        |d<   |S )Nc                6    g | ]}|                                 S r+   r8  r0  s     r&   r3  z6BlockedSetCookieWithReason.to_json.<locals>.<listcomp>,       !L!L!L!!))++!L!L!Lr)   blockedReasons
cookieLiner  )r   r  r  r  r'   r   s     r&   r'   z"BlockedSetCookieWithReason.to_json*  sX    vv!L!Lt7K!L!L!L!-\;"![0022DNr)   c                     | d |d         D             t          |d                   d|v r t                              |d                   nd           S )Nc                B    g | ]}t                               |          S r+   )r  r/   r0  s     r&   r3  z8BlockedSetCookieWithReason.from_json.<locals>.<listcomp>5  s'    aaaQ3==a@@aaar)   r  r  r  )r  r  r  )rH   r  r/   r,   s     r&   r/   z$BlockedSetCookieWithReason.from_json2  sf    saa$O_J`aaaD.//7?47G7G6##DN333T
 
 
 	
r)   )	r1   r2   r3   r4   r   r  r'   rD   r/   r+   r)   r&   r  r    sy           9888 
 '+F****   
 
 [
 
 
r)   r  c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	BlockedCookieWithReasonzR
    A cookie with was not sent with a request with the corresponding reason.
    z typing.List[CookieBlockedReason]r  r  r  c                    t                      }d | j        D             |d<   | j                                        |d<   |S )Nc                6    g | ]}|                                 S r+   r8  r0  s     r&   r3  z3BlockedCookieWithReason.to_json.<locals>.<listcomp>H  r  r)   r  r  )r   r  r  r'   r   s     r&   r'   zBlockedCookieWithReason.to_jsonF  sC    vv!L!Lt7K!L!L!L,,..Xr)   c                x     | d |d         D             t                               |d                             S )Nc                B    g | ]}t                               |          S r+   )r  r/   r0  s     r&   r3  z5BlockedCookieWithReason.from_json.<locals>.<listcomp>O  s'    ^^^!0::1==^^^r)   r  r  )r  r  r  r/   r,   s     r&   r/   z!BlockedCookieWithReason.from_jsonL  sG    s^^tL\G]^^^##DN33
 
 
 	
r)   Nr   r+   r)   r&   r  r  ;  sc           6555 NNN   
 
 [
 
 
r)   r  c                      e Zd ZU dZded<   ded<   dZded<   dZded<   dZded	<   dZd
ed<   dZ	d
ed<   dZ
ded<   dZded<   dZded<   d Zed             ZdS )CookieParamz!
    Cookie parameter object
    rH   r  r#   Nr   r   r  r  r   r  r  r  r  ry  r  typing.Optional[CookiePriority]r  c                   t                      }| j        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j        	                                |d<   | j
        | j
        	                                |d	<   | j        | j        	                                |d
<   |S )Nr  r#   r   r  r  r  r  r  r  r  )r   r  r#   r   r  r  r  r  r  r'   r  r  r   s     r&   r'   zCookieParam.to_jsonx  s    vvyV
W8(DK;"![DN9 9DL;"![DN>%#~D>%#~5577D<#"l2244DO=$#}4466Dr)   c                J    | t          |d                   t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v r t                              |d                   nd d	|v r t                              |d	                   nd d
|v r t
                              |d
                   nd 
  
        S )Nr  r#   r   r  r  r  r  r  r  r  )
r  r#   r   r  r  r  r  r  r  r  )rH   r  r   r/   r   r   r,   s     r&   r/   zCookieParam.from_json  s?   sT&\""d7m$$$)TMMDK   t*2d*:*:3tH~&&&&,nnT&\"""$+3t+;+;4X'''0:d0B0Bd4
+,,,DNRVDVDVn..tJ/?@@@\`AJdARARN,,T)_===X\CMQUCUCU^--d:.>???[_
 
 
 	
r)   )r1   r2   r3   r4   r   r   r  r  r  r  r  r  r  r'   rD   r/   r+   r)   r&   r  r  T  s           III JJJ !%C$$$$ $(F'''' "&D%%%% %)F(((( (,I++++ 26I5555 04G3333 15H4444  , 
 
 [
 
 
r)   r  c                  \    e Zd ZU dZded<   ded<   ded<   dZded<   d	 Zed
             ZdS )AuthChallengezB
    Authorization challenge for HTTP status code 401 or 407.
    rH   r  schemerealmNr   sourcec                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   |S )Nr  r  r  r  )r   r  r  r  r  r   s     r&   r'   zAuthChallenge.to_json  sD    vvXX
W;"![DNr)   c           	          | t          |d                   t          |d                   t          |d                   d|v rt          |d                   nd           S )Nr  r  r  r  )r  r  r  r  r>  r,   s     r&   r/   zAuthChallenge.from_json  sf    stH~&&tH~&&d7m$$*2d*:*:3tH~&&&	
 
 
 	
r)   )	r1   r2   r3   r4   r   r  r'   rD   r/   r+   r)   r&   r  r    s~           KKK KKK JJJ $(F''''   
 
 [
 
 
r)   r  c                  V    e Zd ZU dZded<   dZded<   dZded<   d Zed	             Z	dS )
AuthChallengeResponsez'
    Response to an AuthChallenge.
    rH   r  Nr   usernamepasswordc                z    t                      }| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr  r  r  )r   r  r  r  r   s     r&   r'   zAuthChallengeResponse.to_json  sD    vv=Z=$#}D=$#}Dr)   c                     | t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd           S )Nr  r  r  )r  r  r  r>  r,   s     r&   r/   zAuthChallengeResponse.from_json  si    sj)**.8D.@.@Sj)***d.8D.@.@Sj)***d
 
 
 	
r)   )
r1   r2   r3   r4   r   r  r  r'   rD   r/   r+   r)   r&   r
  r
    s{           MMM &*H)))) &*H))))   
 
 [
 
 
r)   r
  c                  6    e Zd ZdZdZdZd Zed             ZdS )InterceptionStagez
    Stages of the interception to begin intercepting. Request will intercept before the request is
    sent. Response will intercept after the response is received.
    r   HeadersReceivedc                    | j         S r!   r"   r$   s    r&   r'   zInterceptionStage.to_json  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   zInterceptionStage.from_json  r0   r)   N)	r1   r2   r3   r4   REQUESTHEADERS_RECEIVEDr'   rD   r/   r+   r)   r&   r  r    sU          G(     [  r)   r  c                  Z    e Zd ZU dZdZded<   dZded<   dZded<   d	 Ze	d
             Z
dS )RequestPatternz+
    Request pattern for interception.
    Nr   url_patterntyping.Optional[ResourceType]resource_typez"typing.Optional[InterceptionStage]interception_stagec                    t                      }| j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )N
urlPatternresourceTypeinterceptionStage)r   r  r  r'   r  r   s     r&   r'   zRequestPattern.to_json  sk    vv'!%!1D)#'#5#=#=#?#?D ".(,(?(G(G(I(ID$%r)   c                     | d|v rt          |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd           S )Nr  r  r  )r  r  r  )rH   r   r/   r  r,   s     r&   r/   zRequestPattern.from_json  s    s3?43G3GD.///TJX\`J`J`,00n1EFFFfjYlptYtYt0::4@S;TUUUz~
 
 
 	
r)   )r1   r2   r3   r4   r  r   r  r  r'   rD   r/   r+   r)   r&   r  r    s          
 )-K,,,, 48M7777 >BAAAA   
 
 [
 
 
r)   r  c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   d
Zded<   d
Zded<   d Ze	d             Z
d
S )SignedExchangeSignaturez
    Information about a signed exchange signature.
    https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1
    rH   label	signature	integrityvalidity_urlrf  dater  Nr   cert_urlcert_sha256!typing.Optional[typing.List[str]]certificatesc                   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        d	 | j	        D             |d
<   |S )Nr#  r$  r%  validityUrlr'  r  certUrl
certSha256c                    g | ]}|S r+   r+   r0  s     r&   r3  z3SignedExchangeSignature.to_json.<locals>.<listcomp>F  s    #A#A#A!A#A#A#Ar)   r+  )
r   r#  r$  r%  r&  r'  r  r(  r)  r+  r   s     r&   r'   zSignedExchangeSignature.to_json9  s    vv
W N[ N["/]yV,Y=$"mDO'!%!1D(#A#At/@#A#A#AD r)   c                    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d	|v rd
 |d	         D             nd 	  	        S )Nr#  r$  r%  r-  r'  r  r.  r/  r+  c                ,    g | ]}t          |          S r+   r>  r0  s     r&   r3  z5SignedExchangeSignature.from_json.<locals>.<listcomp>T  s    ???Q#a&&???r)   )	r#  r$  r%  r&  r'  r  r(  r)  r+  )rH   rf  r,   s     r&   r/   z!SignedExchangeSignature.from_jsonI  s    sd7m$$${+,,${+,,T-011T&\""Y((-6$->->Si)))D3?43G3GD.///TCQUYCYCY??$~*>????_c

 

 

 
	
r)   )r1   r2   r3   r4   r   r(  r)  r+  r'   rD   r/   r+   r)   r&   r"  r"    s          
 JJJ NNN NNN  III LLL &*H)))) )-K,,,, 7;L::::    
 
 [
 
 
r)   r"  c                  b    e Zd ZU dZded<   ded<   ded<   ded	<   ded
<   d Zed             ZdS )SignedExchangeHeaderz
    Information about a signed exchange header.
    https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation
    rH   request_urlrf  response_coder   response_headersz$typing.List[SignedExchangeSignature]
signaturesheader_integrityc                    t                      }| j        |d<   | j        |d<   | j                                        |d<   d | j        D             |d<   | j        |d<   |S )N
requestUrlresponseCoderesponseHeadersc                6    g | ]}|                                 S r+   r8  r0  s     r&   r3  z0SignedExchangeHeader.to_json.<locals>.<listcomp>r  s     CCCaaiikkCCCr)   r8  headerIntegrity)r   r5  r6  r7  r'   r8  r9  r   s     r&   r'   zSignedExchangeHeader.to_jsonm  sl    vv!-\#1^"&"7"?"?"A"ACC4?CCC\"&"7r)   c           
          | t          |d                   t          |d                   t                              |d                   d |d         D             t          |d                             S )Nr;  r<  r=  c                B    g | ]}t                               |          S r+   )r"  r/   r0  s     r&   r3  z2SignedExchangeHeader.from_json.<locals>.<listcomp>|  s'    YYY/99!<<YYYr)   r8  r?  )r5  r6  r7  r8  r9  )rH   rf  r   r/   r,   s     r&   r/   zSignedExchangeHeader.from_jsonv  sy    sD.//d>233$..t4E/FGGYYd<FXYYY &7!899
 
 
 	
r)   Nr   r+   r)   r&   r4  r4  X  s          
    5444    
 
 [
 
 
r)   r4  c                  F    e Zd ZdZdZdZdZdZdZdZ	d Z
ed	             Zd
S )SignedExchangeErrorFieldz9
    Field type for a signed exchange related error.
    signatureSigsignatureIntegritysignatureCertUrlsignatureCertSha256signatureValidityUrlsignatureTimestampsc                    | j         S r!   r"   r$   s    r&   r'   z SignedExchangeErrorField.to_json  r(   r)   c                     | |          S r!   r+   r,   s     r&   r/   z"SignedExchangeErrorField.from_json  r0   r)   N)r1   r2   r3   r4   SIGNATURE_SIGSIGNATURE_INTEGRITYSIGNATURE_CERT_URLSIGNATURE_CERT_SHA256SIGNATURE_VALIDITY_URLSIGNATURE_TIMESTAMPSr'   rD   r/   r+   r)   r&   rC  rC    sm          #M.+130     [  r)   rC  c                  V    e Zd ZU dZded<   dZded<   dZded<   d	 Zed
             Z	dS )SignedExchangeError7
    Information about a signed exchange response.
    rH   messageNrr  signature_indexz)typing.Optional[SignedExchangeErrorField]error_fieldc                    t                      }| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   |S )NrU  signatureIndex
errorField)r   rU  rV  rW  r'   r   s     r&   r'   zSignedExchangeError.to_json  sT    vv,Y+%)%9D!"'!%!1!9!9!;!;Dr)   c                     | t          |d                   d|v rt          |d                   nd d|v r t                              |d                   nd           S )NrU  rY  rZ  )rU  rV  rW  )rH   rf  rC  r/   r,   s     r&   r/   zSignedExchangeError.from_json  ss    sY((;Kt;S;SC%5 6777Y]R^bfRfRf0::4;MNNNlp
 
 
 	
r)   )
r1   r2   r3   r4   r   rV  rW  r'   rD   r/   r+   r)   r&   rS  rS    s|           LLL -1O0000 >BKAAAA   
 
 [
 
 
r)   rS  c                  d    e Zd ZU dZded<   dZded<   dZded<   dZd	ed
<   d Ze	d             Z
dS )SignedExchangeInforT  re  outer_responseNz%typing.Optional[SignedExchangeHeader]headerr|  r}  z1typing.Optional[typing.List[SignedExchangeError]]errorsc                   t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        d | j        D             |d<   |S )NouterResponser_  r  c                6    g | ]}|                                 S r+   r8  r0  s     r&   r3  z.SignedExchangeInfo.to_json.<locals>.<listcomp>  s     ???aaiikk???r)   r`  )r   r^  r'   r_  r}  r`  r   s     r&   r'   zSignedExchangeInfo.to_json  s    vv $ 3 ; ; = =_;"![0022DN ,&*&;&C&C&E&ED"#;"??4;???DNr)   c                    | t                               |d                   d|v r t                              |d                   nd d|v r t                              |d                   nd d|v rd |d         D             nd           S )Nrb  r_  r  r`  c                B    g | ]}t                               |          S r+   )rS  r/   r0  s     r&   r3  z0SignedExchangeInfo.from_json.<locals>.<listcomp>  s'    MMM'11!44MMMr)   )r^  r_  r}  r`  )re  r/   r4  r  r,   s     r&   r/   zSignedExchangeInfo.from_json  s    s#--d?.CDDEMQUEUEU'11$x.AAA[_SdhlSlSl_66t<M7NOOOrvQY]aQaQaMMd8nMMMMgk	
 
 
 	
r)   )r1   r2   r3   r4   r   r_  r}  r`  r'   rD   r/   r+   r)   r&   r]  r]    s            59F8888 :>==== AEFDDDD	 	 	 
 
 [
 
 
r)   r]  rG   0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool]c               #  @   K   ddi} | V }t          |d                   S )zq
    Tells whether clearing browser cache is supported.

    :returns: True if browser cache can be cleared.
    r   zNetwork.canClearBrowserCacheresultr  cmd_dictr.   s     r&   can_clear_browser_cacherl    s2       	0H >>DXr)   c               #  @   K   ddi} | V }t          |d                   S )zu
    Tells whether clearing browser cookies is supported.

    :returns: True if browser cookies can be cleared.
    r   zNetwork.canClearBrowserCookiesrh  ri  rj  s     r&   can_clear_browser_cookiesrn    s2       	2H >>DXr)   c               #  @   K   ddi} | V }t          |d                   S )z
    Tells whether emulation of network conditions is supported.

    :returns: True if emulation of network conditions is supported.
    r   z#Network.canEmulateNetworkConditionsrh  ri  rj  s     r&   can_emulate_network_conditionsrp    s2       	7H >>DXr)   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z
    Clears browser cache.
    r   zNetwork.clearBrowserCacheNr+   rj  s     r&   clear_browser_cachers    s$      
 	-H >>DDDr)   c               #     K   ddi} | V }dS )z!
    Clears browser cookies.
    r   zNetwork.clearBrowserCookiesNr+   rj  s     r&   clear_browser_cookiesru    s$      
 	/H >>DDDr)   interception_iderror_reasontyping.Optional[ErrorReason]raw_responser   r   r   r   r   rn  auth_challenge_response&typing.Optional[AuthChallengeResponse]c              #  4  K   t                      }|                                 |d<   ||                                |d<   |||d<   |||d<   |||d<   |||d<   ||                                |d<   ||                                |d	<   d
|d}	|	V }
dS )as  
    Response to Network.requestIntercepted which either modifies the request to continue with any
    modifications, or blocks it, or completes it with the provided response bytes. If a network
    fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted
    event will be sent with the same InterceptionId.
    Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.

    **EXPERIMENTAL**

    :param interception_id:
    :param error_reason: *(Optional)* If set this causes the request to fail with the given reason. Passing ```Aborted```` for requests marked with ````isNavigationRequest``` also cancels the navigation. Must not be set in response to an authChallenge.
    :param raw_response: *(Optional)* If set the requests completes using with the provided base64 encoded raw response, including HTTP status line and headers etc... Must not be set in response to an authChallenge.
    :param url: *(Optional)* If set the request url will be modified in a way that's not observable by page. Must not be set in response to an authChallenge.
    :param method: *(Optional)* If set this allows the request method to be overridden. Must not be set in response to an authChallenge.
    :param post_data: *(Optional)* If set this allows postData to be set. Must not be set in response to an authChallenge.
    :param headers: *(Optional)* If set this allows the request headers to be changed. Must not be set in response to an authChallenge.
    :param auth_challenge_response: *(Optional)* Response to a requestIntercepted with an authChallenge. Must not be set otherwise.
    interceptionIdNerrorReasonrawResponser   r   r  r   authChallengeResponsez"Network.continueInterceptedRequestr   paramsr   r'   )rv  rw  ry  r   r   r   r   rz  r  rk  r.   s              r&   continue_intercepted_requestr    s      8 &&F.6688F , 4 4 6 6} ,}
u!x&z#OO--y**A*I*I*K*K&'6 H >>DDDr)   r  rH   r  r  c              #  l   K   t                      }| |d<   |||d<   |||d<   |||d<   d|d}|V }dS )a  
    Deletes browser cookies with matching name and url or domain/path pair.

    :param name: Name of the cookies to remove.
    :param url: *(Optional)* If specified, deletes all the cookies with the given name where domain and path match provided URL.
    :param domain: *(Optional)* If specified, deletes only cookies with the exact domain.
    :param path: *(Optional)* If specified, deletes only cookies with the exact path.
    r  Nr   r  r  zNetwork.deleteCookiesr  r   )r  r   r  r  r  rk  r.   s          r&   delete_cookiesr  H  sh       &&FF6N
u!xv) H >>DDDr)   c               #     K   ddi} | V }dS )z[
    Disables network tracking, prevents network events from being sent to the client.
    r   zNetwork.disableNr+   rj  s     r&   disabler  e  s$      
 	#H >>DDDr)   offliner  latencyr   download_throughputupload_throughputconnection_typetyping.Optional[ConnectionType]c              #     K   t                      }| |d<   ||d<   ||d<   ||d<   ||                                |d<   d|d}|V }dS )	a  
    Activates emulation of network conditions.

    :param offline: True to emulate internet disconnection.
    :param latency: Minimum latency from request sent to response headers received (ms).
    :param download_throughput: Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.
    :param upload_throughput: Maximal aggregated upload throughput (bytes/sec).  -1 disables upload throttling.
    :param connection_type: *(Optional)* Connection type if known.
    r  r  downloadThroughputuploadThroughputNconnectionTypez Network.emulateNetworkConditionsr  r  )r  r  r  r  r  r  rk  r.   s           r&   emulate_network_conditionsr  o  sy        &&FF9F9#6F !2F"#2#:#:#<#< 4 H >>DDDr)   max_total_buffer_sizerr  max_resource_buffer_sizemax_post_data_sizec              #  b   K   t                      }| | |d<   |||d<   |||d<   d|d}|V }dS )a  
    Enables network tracking, network events will now be delivered to the client.

    :param max_total_buffer_size: **(EXPERIMENTAL)** *(Optional)* Buffer size in bytes to use when preserving network payloads (XHRs, etc).
    :param max_resource_buffer_size: **(EXPERIMENTAL)** *(Optional)* Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).
    :param max_post_data_size: *(Optional)* Longest post body size (in bytes) that would be included in requestWillBeSent notification
    NmaxTotalBufferSizemaxResourceBufferSizemaxPostDataSizezNetwork.enabler  r  )r  r  r  r  rk  r.   s         r&   enabler    se       &&F('<#$+*B&'%$6 !" H >>DDDr)   ?typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[Cookie]]c               #  :   K   ddi} | V }d |d         D             S )z
    Returns all browser cookies. Depending on the backend support, will return detailed cookie
    information in the ``cookies`` field.

    :returns: Array of cookie objects.
    r   zNetwork.getAllCookiesc                B    g | ]}t                               |          S r+   r  r0  s     r&   r3  z#get_all_cookies.<locals>.<listcomp>  &    999AFQ999r)   cookiesr+   rj  s     r&   get_all_cookiesr    s8       	)H >>D99i9999r)   r  <typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]]c              #  b   K   t                      }| |d<   d|d}|V }d |d         D             S )z
    Returns the DER-encoded certificate.

    **EXPERIMENTAL**

    :param origin: Origin to get certificate for.
    :returns: 
    r  zNetwork.getCertificater  c                ,    g | ]}t          |          S r+   r>  r0  s     r&   r3  z#get_certificate.<locals>.<listcomp>  s    ///qCFF///r)   
tableNamesr  )r  r  rk  r.   s       r&   get_certificater    sQ       &&FF8* H >>D//D.////r)   urlsr*  c              #  z   K   t                      }| d | D             |d<   d|d}|V }d |d         D             S )a&  
    Returns all browser cookies for the current URL. Depending on the backend support, will return
    detailed cookie information in the ``cookies`` field.

    :param urls: *(Optional)* The list of URLs for which applicable cookies will be fetched
    :returns: Array of cookie objects.
    Nc                    g | ]}|S r+   r+   r0  s     r&   r3  zget_cookies.<locals>.<listcomp>  s    ***!***r)   r  zNetwork.getCookiesr  c                B    g | ]}t                               |          S r+   r  r0  s     r&   r3  zget_cookies.<locals>.<listcomp>  r  r)   r  r  r  r  rk  r.   s       r&   get_cookiesr    sc       &&F**T***v& H >>D99i9999r)   
request_idCtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, bool]]c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   t          |d                   fS )a  
    Returns content served for the given request.

    :param request_id: Identifier of the network request to get content for.
    :returns: A tuple with the following items:

        0. **body** - Response body.
        1. **base64Encoded** - True, if content was sent as base64.
    	requestIdzNetwork.getResponseBodyr  bodybase64Encodedr   r'   rH   r  r  r  rk  r.   s       r&   get_response_bodyr    sm       &&F$,,..F;+ H >>DDLT/"## r)   /typing.Generator[T_JSON_DICT, T_JSON_DICT, str]c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   S )a  
    Returns post data sent with the request. Returns an error when no data was sent with the request.

    :param request_id: Identifier of the network request to get content for.
    :returns: Request body string, omitting files from multipart requests
    r  zNetwork.getRequestPostDatar  r  )r   r'   rH   r  s       r&   get_request_post_datar    sW       &&F$,,..F;. H >>DtJ   r)   c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   t          |d                   fS )aR  
    Returns content served for the given currently intercepted request.

    **EXPERIMENTAL**

    :param interception_id: Identifier for the intercepted request to get body for.
    :returns: A tuple with the following items:

        0. **body** - Response body.
        1. **base64Encoded** - True, if content was sent as base64.
    r}  z&Network.getResponseBodyForInterceptionr  r  r  r  rv  r  rk  r.   s       r&   "get_response_body_for_interceptionr    sn       &&F.6688F: H >>DDLT/"## r)   ;typing.Generator[T_JSON_DICT, T_JSON_DICT, io.StreamHandle]c              #     K   t                      }|                                 |d<   d|d}|V }t          j                            |d                   S )a  
    Returns a handle to the stream representing the response body. Note that after this command,
    the intercepted request can't be continued as is -- you either need to cancel it or to provide
    the response body. The stream only supports sequential read, IO.read will fail if the position
    is specified.

    **EXPERIMENTAL**

    :param interception_id:
    :returns: 
    r}  z/Network.takeResponseBodyForInterceptionAsStreamr  stream)r   r'   r
   StreamHandler/   r  s       r&   -take_response_body_for_interception_as_streamr  &  s_       &&F.6688FC H >>D?$$T(^444r)   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )a5  
    This method sends a new XMLHttpRequest which is identical to the original one. The following
    parameters should be identical: method, url, async, request body, extra headers, withCredentials
    attribute, user, password.

    **EXPERIMENTAL**

    :param request_id: Identifier of XHR to replay.
    r  zNetwork.replayXHRr  Nr  r  s       r&   
replay_xhrr  >  sH       &&F$,,..F;% H >>DDDr)   querycase_sensitiver   is_regexMtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[debugger.SearchMatch]]c              #     K   t                      }|                                 |d<   ||d<   |||d<   |||d<   d|d}|V }d |d	         D             S )
az  
    Searches for given string in response content.

    **EXPERIMENTAL**

    :param request_id: Identifier of the network response to search.
    :param query: String to search for.
    :param case_sensitive: *(Optional)* If true, search is case sensitive.
    :param is_regex: *(Optional)* If true, treats string parameter as regex.
    :returns: List of search matches.
    r  r  NcaseSensitiveisRegexzNetwork.searchInResponseBodyr  c                L    g | ]!}t           j                            |          "S r+   )r   SearchMatchr/   r0  s     r&   r3  z+search_in_response_body.<locals>.<listcomp>p  s)    FFF!H **1--FFFr)   rh  r  )r  r  r  r  r  rk  r.   s          r&   search_in_response_bodyr  S  s      " &&F$,,..F;F7O!"0$y0 H >>DFFtH~FFFFr)   r!  c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )z
    Blocks URLs from loading.

    **EXPERIMENTAL**

    :param urls: URL patterns to block. Wildcards ('*') are allowed.
    c                    g | ]}|S r+   r+   r0  s     r&   r3  z%set_blocked_ur_ls.<locals>.<listcomp>~  s    &&&Aa&&&r)   r  zNetwork.setBlockedURLsr  Nr  r  s       r&   set_blocked_ur_lsr  s  sI       &&F&&&&&F6N* H >>DDDr)   bypassc              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Toggles ignoring of service worker for each request.

    **EXPERIMENTAL**

    :param bypass: Bypass service worker and load from network.
    r  zNetwork.setBypassServiceWorkerr  Nr  )r  r  rk  r.   s       r&   set_bypass_service_workerr    s<       &&FF82 H >>DDDr)   cache_disabledc              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Toggles ignoring cache for each request. If ``true``, cache will not be used.

    :param cache_disabled: Cache disabled state.
    cacheDisabledzNetwork.setCacheDisabledr  Nr  )r  r  rk  r.   s       r&   set_cache_disabledr    s<       &&F,F?, H >>DDDr)   r#   r  r  r  r  r  ry  r  r  c
              #  N  K   t                      }
| |
d<   ||
d<   |||
d<   |||
d<   |||
d<   |||
d<   |||
d<   ||                                |
d	<   ||                                |
d
<   |	|	                                |
d<   d|
d}|V }t          |d                   S )a&  
    Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.

    :param name: Cookie name.
    :param value: Cookie value.
    :param url: *(Optional)* The request-URI to associate with the setting of the cookie. This value can affect the default domain and path values of the created cookie.
    :param domain: *(Optional)* Cookie domain.
    :param path: *(Optional)* Cookie path.
    :param secure: *(Optional)* True if cookie is secure.
    :param http_only: *(Optional)* True if cookie is http-only.
    :param same_site: *(Optional)* Cookie SameSite type.
    :param expires: *(Optional)* Cookie expiration date, session cookie if not set
    :param priority: **(EXPERIMENTAL)** *(Optional)* Cookie Priority type.
    :returns: True if successfully set cookie.
    r  r#   Nr   r  r  r  r  r  r  r  zNetwork.setCookier  success)r   r'   r  )r  r#   r   r  r  r  r  r  r  r  r  rk  r.   s                r&   
set_cookier    s      6 &&FF6NF7O
u!xv!x&z&..00z#OO--y%--//z% H >>DY   r)   r  typing.List[CookieParam]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )zE
    Sets given cookies.

    :param cookies: Cookies to be set.
    c                6    g | ]}|                                 S r+   r8  r0  s     r&   r3  zset_cookies.<locals>.<listcomp>  s     666666r)   r  zNetwork.setCookiesr  Nr  )r  r  rk  r.   s       r&   set_cookiesr    sJ       &&F66g666F9& H >>DDDr)   max_total_sizerf  max_resource_sizec              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )z
    For testing.

    **EXPERIMENTAL**

    :param max_total_size: Maximum total buffer size.
    :param max_resource_size: Maximum per-resource size.
    maxTotalSizemaxResourceSizez Network.setDataSizeLimitsForTestr  Nr  )r  r  r  rk  r.   s        r&   set_data_size_limits_for_testr    sG       &&F+F> 1F4 H >>DDDr)   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z
    Specifies whether to always send extra HTTP headers with the requests from this page.

    :param headers: Map with extra HTTP headers.
    r   zNetwork.setExtraHTTPHeadersr  Nr  )r   r  rk  r.   s       r&   set_extra_http_headersr    sF       &&F))F9/ H >>DDDr)   patternstyping.List[RequestPattern]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )a?  
    Sets the requests to intercept that match the provided patterns and optionally resource types.
    Deprecated, please use Fetch.enable instead.

    **EXPERIMENTAL**

    :param patterns: Requests matching any of these patterns will be forwarded and wait for the corresponding continueInterceptedRequest call.
    c                6    g | ]}|                                 S r+   r8  r0  s     r&   r3  z,set_request_interception.<locals>.<listcomp>$  s     888!!))++888r)   r  zNetwork.setRequestInterceptionr  Nr  )r  r  rk  r.   s       r&   set_request_interceptionr    sJ       &&F88x888F:2 H >>DDDr)   
user_agentaccept_languageplatformuser_agent_metadata,typing.Optional[emulation.UserAgentMetadata]c              #     K   t                      }| |d<   |||d<   |||d<   ||                                |d<   d|d}|V }dS )a  
    Allows overriding user agent with the given string.

    :param user_agent: User agent to use.
    :param accept_language: *(Optional)* Browser langugage to emulate.
    :param platform: *(Optional)* The platform navigator.platform should return.
    :param user_agent_metadata: **(EXPERIMENTAL)** *(Optional)* To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
    	userAgentNacceptLanguager  userAgentMetadatazNetwork.setUserAgentOverrider  r  )r  r  r  r  r  rk  r.   s          r&   set_user_agent_overrider  ,  sz       &&F$F;"#2 %z&&9&A&A&C&C"#0 H >>DDDr)   zNetwork.dataReceivedc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )DataReceivedz>
    Fired when data chunk was received over the network.
    rX   r  r   r  rf  data_lengthrk  r.   r   rG   c           	          | t                               |d                   t                              |d                   t          |d                   t          |d                             S )Nr  r  
dataLengthr  )r  r  r  rk  )rX   r/   r   rf  r,   s     r&   r/   zDataReceived.from_jsonX  sh    s **4+<==#--d;.?@@D.// #D)<$= > >	
 
 
 	
r)   N)r.   r   rG   r  r1   r2   r3   r4   r   rD   r/   r+   r)   r&   r  r  I  sp           
 
 
 [
 
 
r)   r  z"Network.eventSourceMessageReceivedc                  ^    e Zd ZU dZded<   ded<   ded<   ded<   ded	<   edd            ZdS )EventSourceMessageReceivedz5
    Fired when EventSource message is received.
    rX   r  r   r  rH   
event_nameevent_iddatar.   r   rG   c           
         | t                               |d                   t                              |d                   t          |d                   t          |d                   t          |d                             S )Nr  r  	eventNameeventIdr   )r  r  r  r  r   rX   r/   r   rH   r,   s     r&   r/   z$EventSourceMessageReceived.from_jsons  su    s **4+<==#--d;.?@@4,--i))T&\""
 
 
 	
r)   N)r.   r   rG   r  r  r+   r)   r&   r  r  b  ss           OOOMMMIII
 
 
 [
 
 
r)   r  zNetwork.loadingFailedc                  h    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   edd            ZdS )LoadingFailedz5
    Fired when HTTP request has failed to load.
    rX   r  r   r  r   r  rH   
error_textr   canceledztyping.Optional[BlockedReason]blocked_reasonr.   r   rG   c                x    | t                               |d                   t                              |d                   t                              |d                   t	          |d                   d|v rt          |d                   nd d|v r t                              |d                   nd           S )Nr  r  r  	errorTextr  blockedReason)r  r  r  r  r  r	  )rX   r/   r   r   rH   r  rJ  r,   s     r&   r/   zLoadingFailed.from_json  s    s **4+<==#--d;.?@@((f664,--/9T/A/AT$z*+++tM\`dMdMd=2243HIIIjn
 
 
 	
r)   N)r.   r   rG   r  r  r+   r)   r&   r  r  ~  s           OOO####2222
 
 
 [
 
 
r)   r  zNetwork.loadingFinishedc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )LoadingFinishedz7
    Fired when HTTP request has finished loading.
    rX   r  r   r  r   rk  r   should_report_corb_blockingr.   r   rG   c           	          | t                               |d                   t                              |d                   t          |d                   d|v rt	          |d                   nd           S )Nr  r  r  shouldReportCorbBlocking)r  r  rk  r  )rX   r/   r   r   r  r,   s     r&   r/   zLoadingFinished.from_json  sz    s **4+<==#--d;.?@@ %d+>&? @ @RlptRtRtT2L-M(N(N(Nz~	
 
 
 	
r)   N)r.   r   rG   r  r  r+   r)   r&   r  r    sr            7666
 
 
 [
 
 
r)   r  zNetwork.requestInterceptedc                      e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   edd            ZdS ) RequestInterceptedz
    **EXPERIMENTAL**

    Details of an intercepted HTTP request, which must be either allowed, blocked, modified or
    mocked.
    Deprecated, use Fetch.requestPaused instead.
    r]   rv  r   requestzpage.FrameIdframe_idr   r  r  is_navigation_requestr   is_downloadr   redirect_urlztyping.Optional[AuthChallenge]auth_challengerx  response_error_reasonrr  response_status_codern  r7  ztyping.Optional[RequestId]r  r.   r   rG   c                    | t                               |d                   t                              |d                   t          j                            |d                   t
                              |d                   t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d|v r t                              |d                   nd d	|v r t                              |d	                   nd d
|v rt          |d
                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd           S )Nr}  r  frameIdr  isNavigationRequest
isDownloadredirectUrlauthChallengeresponseErrorReasonresponseStatusCoder=  r  )rv  r  r  r  r  r  r  r  r  r  r7  r  )r]   r/   r   r   FrameIdr   r  rH   r  rd   rf  r   rX   r,   s     r&   r/   zRequestIntercepted.from_json  s   s*44T:J5KLL%%d9o66\++DO<<&00n1EFF"&t,A'B"C"C4@D4H4HT,/000d5Bd5J5JT-0111PTM\`dMdMd=2243HIIIjnXmquXuXu+"7"7=R8S"T"T"T{DX\`D`D`T*>%?!@!@!@fjK\`dKdKdW..t4E/FGGGjnALPTATATy**4+<===Z^
 
 
 	
r)   N)r.   r   rG   r  r  r+   r)   r&   r  r    s           $### '&&&&&&& 3222 8777 /... /... +***
 
 
 [
 
 
r)   r  zNetwork.requestServedFromCachec                  6    e Zd ZU dZded<   ed	d            ZdS )
RequestServedFromCachez7
    Fired if request ended up loading from cache.
    rX   r  r.   r   rG   c                V     | t                               |d                             S )Nr  )r  )rX   r/   r,   s     r&   r/   z RequestServedFromCache.from_json  s1    s **4+<==
 
 
 	
r)   N)r.   r   rG   r&  r  r+   r)   r&   r&  r&    sL           
 
 
 [
 
 
r)   r&  zNetwork.requestWillBeSentc                      e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   edd            ZdS )RequestWillBeSentz8
    Fired when page is about to send HTTP request.
    rX   r  rF   	loader_idrH   document_urlr   r  r   r  r   	wall_timer  	initiatorr  redirect_responser  r  typing.Optional[page.FrameId]r  r   has_user_gesturer.   r   rG   c                    | t                               |d                   t                              |d                   t          |d                   t                              |d                   t
                              |d                   t                              |d                   t                              |d                   d|v r t                              |d                   nd d	|v r t                              |d	                   nd d
|v r%t          j                            |d
                   nd d|v rt          |d                   nd           S )Nr  loaderIddocumentURLr  r  wallTimer-  redirectResponser  r  hasUserGesture)r  r*  r+  r  r  r,  r-  r.  r  r  r0  )rX   r/   rF   rH   r   r   r   r  re  r   r   r$  r  r,   s     r&   r/   zRequestWillBeSent.from_json 	  sA   s **4+<==((j)9::T-011%%d9o66#--d;.?@@$..tJ/?@@))${*;<<N`dhNhNhh006H1IJJJnr:@D..,((f666d@IT@Q@QT\++DO<<<W[=MQU=U=UT$'7"8999[_
 
 
 	
r)   N)r.   r   rG   r)  r  r+   r)   r&   r)  r)  	  s           0000((((++++++++
 
 
 [
 
 
r)   r)  zNetwork.resourceChangedPriorityc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )ResourceChangedPriorityzO
    **EXPERIMENTAL**

    Fired when resource loading priority is changed
    rX   r  r   new_priorityr   r  r.   r   rG   c                     | t                               |d                   t                              |d                   t                              |d                             S )Nr  newPriorityr  )r  r9  r  )rX   r/   r   r   r,   s     r&   r/   z!ResourceChangedPriority.from_json@	  s]    s **4+<==)33D4GHH#--d;.?@@
 
 
 	
r)   N)r.   r   rG   r8  r  r+   r)   r&   r8  r8  1	  sd           """"
 
 
 [
 
 
r)   r8  zNetwork.signedExchangeReceivedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )SignedExchangeReceivedzZ
    **EXPERIMENTAL**

    Fired when a signed exchange was received over the network
    rX   r  r]  infor.   r   rG   c                     | t                               |d                   t                              |d                             S )Nr  r>  )r  r>  )rX   r/   r]  r,   s     r&   r/   z SignedExchangeReceived.from_jsonV	  sF    s **4+<==#--d6l;;
 
 
 	
r)   N)r.   r   rG   r=  r  r+   r)   r&   r=  r=  I	  sX           
 
 
 [
 
 
r)   r=  zNetwork.responseReceivedc                  h    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   edd            ZdS )ResponseReceivedz0
    Fired when HTTP response is available.
    rX   r  rF   r*  r   r  r   r  re  r  r/  r  r.   r   rG   c                    | t                               |d                   t                              |d                   t                              |d                   t                              |d                   t
                              |d                   d|v r%t          j                            |d                   nd           S )Nr  r2  r  r  r  r  )r  r*  r  r  r  r  )rX   r/   rF   r   r   re  r   r$  r,   s     r&   r/   zResponseReceived.from_jsonq	  s    s **4+<==((j)9::#--d;.?@@((f66''Z(899@IT@Q@QT\++DO<<<W[
 
 
 	
r)   N)r.   r   rG   rA  r  r+   r)   r&   rA  rA  ^	  s           ++++
 
 
 [
 
 
r)   rA  zNetwork.webSocketClosedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )WebSocketClosedz)
    Fired when WebSocket is closed.
    rX   r  r   r  r.   r   rG   c                     | t                               |d                   t                              |d                             S )Nr  r  )r  r  )rX   r/   r   r,   s     r&   r/   zWebSocketClosed.from_json	  sG    s **4+<==#--d;.?@@
 
 
 	
r)   N)r.   r   rG   rD  r  r+   r)   r&   rD  rD  }	  sX           
 
 
 [
 
 
r)   rD  zNetwork.webSocketCreatedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketCreatedz(
    Fired upon WebSocket creation.
    rX   r  rH   r   ztyping.Optional[Initiator]r-  r.   r   rG   c                     | t                               |d                   t          |d                   d|v r t                              |d                   nd           S )Nr  r   r-  )r  r   r-  )rX   r/   rH   r  r,   s     r&   r/   zWebSocketCreated.from_json	  sf    s **4+<==DK  @Kt@S@Si))${*;<<<Y]
 
 
 	
r)   N)r.   r   rG   rG  r  r+   r)   r&   rG  rG  	  sa           HHH))))
 
 
 [
 
 
r)   rG  zNetwork.webSocketFrameErrorc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketFrameErrorz4
    Fired when WebSocket message error occurs.
    rX   r  r   r  rH   error_messager.   r   rG   c                     | t                               |d                   t                              |d                   t          |d                             S )Nr  r  errorMessage)r  r  rK  r  r,   s     r&   r/   zWebSocketFrameError.from_json	  sW    s **4+<==#--d;.?@@d>233
 
 
 	
r)   N)r.   r   rG   rJ  r  r+   r)   r&   rJ  rJ  	  sd           
 
 
 [
 
 
r)   rJ  zNetwork.webSocketFrameReceivedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketFrameReceivedz3
    Fired when WebSocket message is received.
    rX   r  r   r  r  r  r.   r   rG   c                     | t                               |d                   t                              |d                   t                              |d                             S Nr  r  r  )r  r  r  rX   r/   r   r  r,   s     r&   r/   z WebSocketFrameReceived.from_json	  ]    s **4+<==#--d;.?@@#--d:.>??
 
 
 	
r)   N)r.   r   rG   rO  r  r+   r)   r&   rO  rO  	  d           
 
 
 [
 
 
r)   rO  zNetwork.webSocketFrameSentc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketFrameSentz/
    Fired when WebSocket message is sent.
    rX   r  r   r  r  r  r.   r   rG   c                     | t                               |d                   t                              |d                   t                              |d                             S rQ  rR  r,   s     r&   r/   zWebSocketFrameSent.from_json	  rS  r)   N)r.   r   rG   rV  r  r+   r)   r&   rV  rV  	  rT  r)   rV  z*Network.webSocketHandshakeResponseReceivedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )"WebSocketHandshakeResponseReceivedzD
    Fired when WebSocket handshake response becomes available.
    rX   r  r   r  r  r  r.   r   rG   c                     | t                               |d                   t                              |d                   t                              |d                             S rQ  )rX   r/   r   r  r,   s     r&   r/   z,WebSocketHandshakeResponseReceived.from_json	  s]    s **4+<==#--d;.?@@&00j1ABB
 
 
 	
r)   N)r.   r   rG   rY  r  r+   r)   r&   rY  rY  	  sd           
 
 
 [
 
 
r)   rY  z)Network.webSocketWillSendHandshakeRequestc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )!WebSocketWillSendHandshakeRequestz>
    Fired when WebSocket is about to initiate handshake.
    rX   r  r   r  r   r,  r  r  r.   r   rG   c           	         | t                               |d                   t                              |d                   t                              |d                   t                              |d                             S )Nr  r  r4  r  )r  r  r,  r  )rX   r/   r   r   r  r,   s     r&   r/   z+WebSocketWillSendHandshakeRequest.from_json
  sr    s **4+<==#--d;.?@@$..tJ/?@@$..tI??	
 
 
 	
r)   N)r.   r   rG   r\  r  r+   r)   r&   r\  r\  	  sp           
 
 
 [
 
 
r)   r\  z"Network.requestWillBeSentExtraInfoc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )RequestWillBeSentExtraInfoaq  
    **EXPERIMENTAL**

    Fired when additional information about a requestWillBeSent event is available from the
    network stack. Not every requestWillBeSent event will have an additional
    requestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent
    or requestWillBeSentExtraInfo will be fired first for the same request.
    rX   r  z$typing.List[BlockedCookieWithReason]associated_cookiesr   r   r.   r   rG   c                     | t                               |d                   d |d         D             t                              |d                             S )Nr  c                B    g | ]}t                               |          S r+   )r  r/   r0  s     r&   r3  z8RequestWillBeSentExtraInfo.from_json.<locals>.<listcomp>.
  s'    hhh 7 A A! D Dhhhr)   associatedCookiesr   )r  r`  r   )rX   r/   r   r,   s     r&   r/   z$RequestWillBeSentExtraInfo.from_json*
  s]    s **4+<==hhdSfNghhh%%d9o66
 
 
 	
r)   N)r.   r   rG   r_  r  r+   r)   r&   r_  r_  
  sf            =<<<
 
 
 [
 
 
r)   r_  z!Network.responseReceivedExtraInfoc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )ResponseReceivedExtraInfoa5  
    **EXPERIMENTAL**

    Fired when additional information about a responseReceived event is available from the network
    stack. Not every responseReceived event will have an additional responseReceivedExtraInfo for
    it, and responseReceivedExtraInfo may be fired before or after responseReceived.
    rX   r  z'typing.List[BlockedSetCookieWithReason]blocked_cookiesr   r   r   rm  r.   r   rG   c           	          | t                               |d                   d |d         D             t                              |d                   d|v rt          |d                   nd           S )Nr  c                B    g | ]}t                               |          S r+   )r  r/   r0  s     r&   r3  z7ResponseReceivedExtraInfo.from_json.<locals>.<listcomp>M
  s'    eee7AA!DDeeer)   blockedCookiesr   r  )r  rf  r   rm  )rX   r/   r   rH   r,   s     r&   r/   z#ResponseReceivedExtraInfo.from_jsonI
  s}    s **4+<==eedScNdeee%%d9o665Bd5J5JT-0111PT	
 
 
 	
r)   N)r.   r   rG   re  r  r+   r)   r&   re  re  3
  st            =<<< '&&&
 
 
 [
 
 
r)   re  )rG   rf  )rG   rq  )NNNNNNN)rv  r]   rw  rx  ry  r   r   r   r   r   r   r   r   rn  rz  r{  rG   rq  )NNN)
r  rH   r   r   r  r   r  r   rG   rq  r!   )r  r  r  r   r  r   r  r   r  r  rG   rq  )r  rr  r  rr  r  rr  rG   rq  )rG   r  )r  rH   rG   r  )r  r*  rG   r  )r  rX   rG   r  )r  rX   rG   r  )rv  r]   rG   r  )rv  r]   rG   r  )r  rX   rG   rq  )NN)
r  rX   r  rH   r  r   r  r   rG   r  )r  r!  rG   rq  )r  r  rG   rq  )r  r  rG   rq  )NNNNNNNN)r  rH   r#   rH   r   r   r  r   r  r   r  r   r  r   r  r  r  ry  r  r  rG   rf  )r  r  rG   rq  )r  rf  r  rf  rG   rq  )r   r   rG   rq  )r  r  rG   rq  )
r  rH   r  r   r  r   r  r  rG   rq  )k
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r   Enumr   rH   rF   rX   r]   rd   r   r   r   r   r   r   r   r   r   r   r   r
  r  r'  rJ  r\  re  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r"  r4  rC  rS  r]  rl  rn  rp  rs  ru  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  r&  r)  r8  r=  rA  rD  rG  rJ  rO  rV  rY  r\  r_  re  r+   r)   r&   <module>rq     s   # " " " " " * * * * * * * * ! ! ! ! ! !                                          49   :9 9 9 9 9s 9 9 9: : : : : : : :? ? ? ? ?S ? ? ?    $)   6? ? ? ? ?U ? ? ?> > > > >E > > >8 8 8 8 8d 8 8 8    TY   ,    TY   "    TY   " f
 f
 f
 f
 f
 f
 f
 f
R    ty   $ B
 B
 B
 B
 B
 B
 B
 B
J 3
 3
 3
 3
 3
 3
 3
 3
l N
 N
 N
 N
 N
 N
 N
 N
b    	        DI   4    $)   " L
 L
 L
 L
 L
 L
 L
 L
^ 
 
 
 
 
 
 
 
& ,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
^ 
 
 
 
 
 
 
 
>  
  
  
  
  
  
  
  
F #
 #
 #
 #
 #
 #
 #
 #
L C
 C
 C
 C
 C
 C
 C
 C
L    TY   2    $)   , 
 
 
 
 
 
 
 
B 
 
 
 
 
 
 
 
0 F
 F
 F
 F
 F
 F
 F
 F
R  
  
  
  
  
  
  
  
F  
  
  
  
  
  
  
  
F    	     
 
 
 
 
 
 
 
B <
 <
 <
 <
 <
 <
 <
 <
~ %
 %
 %
 %
 %
 %
 %
 %
P    ty   & 
 
 
 
 
 
 
 
> "
 "
 "
 "
 "
 "
 "
 "
J
  
  
  
 
  
  
  
 
  
  
  
        6:-1$('+*.,0JN0 0 0 0 0j %)'+%)	    :    <@    > 7;9=37    4: : : :0 0 0 0, 37: : : : :*   2! ! ! !&   65 5 5 50   0 15*.	G G G G G@   &   &   ( %)'+%)(,+/5937483! 3! 3! 3! 3!l   "   ,   "   , 15)-LP	    : #$$

 
 
 
 
 
 
  %$
. 122

 
 
 
 
 
 
  32
4 $%%

 
 
 
 
 
 
  &%
: &''

 
 
 
 
 
 
  ('
0 )**
7
 7
 7
 7
 7
 7
 7
  +*7
t -..

 
 
 
 
 
 
  /.
 ())
)
 )
 )
 )
 )
 )
 )
  *))
X .//

 
 
 
 
 
 
  0/
, -..

 
 
 
 
 
 
  /.
& '((

 
 
 
 
 
 
  )(
: &''

 
 
 
 
 
 
  ('
" '((

 
 
 
 
 
 
  )(
( *++

 
 
 
 
 
 
  ,+
( -..

 
 
 
 
 
 
  /.
( )**

 
 
 
 
 
 
  +*
( 9::

 
 
 
 
 
 
  ;:
( 899

 
 
 
 
 
 
  :9
. 122

 
 
 
 
 
 
  32
4 011

 
 
 
 
 
 
  21
 
 
r)   