
    hg]                       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 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 d dej                  Ze G d d                      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 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  G d. d/ej                  Z!e G d0 d1                      Z" G d2 d3ej                  Z#e G d4 d5                      Z$e G d6 d7                      Z%e G d8 d9                      Z& G d: d;ej                  Z'e G d< d=                      Z(e G d> d?                      Z)e G d@ dA                      Z*e G dB dC                      Z+ G dD dEej                  Z,e G dF dG                      Z- G dH dIe.          Z/e G dJ dK                      Z0	 	 d_d`dVZ1dadXZ2dadYZ3	 dbdcd[Z4 ed\          e G d] d^                                  Z5dS )d    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)page)runtimec                  N    e Zd ZU dZded<   ded<   ded<   d Zed             ZdS )	AffectedCookiezL
    Information about a cookie that is affected by an inspector issue.
    strnamepathdomainc                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )Nr   r   r   )dictr   r   r   selfjsons     f/var/www/fb-scrape/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v94/audits.pyto_jsonzAffectedCookie.to_json   s1    vvyVyVX    c                     | t          |d                   t          |d                   t          |d                             S )Nr   r   r   )r   r   r   )r   clsr   s     r   	from_jsonzAffectedCookie.from_json%   sH    sT&\""T&\""tH~&&
 
 
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr    r   r   r   r      sg           IIIIIIKKK   
 
 [
 
 
r   r   c                  H    e Zd ZU dZded<   dZded<   d Zed             ZdS )	AffectedRequestzM
    Information about a request that is affected by an inspector issue.
    network.RequestId
request_idNtyping.Optional[str]urlc                |    t                      }| j                                        |d<   | j        
| j        |d<   |S )N	requestIdr+   )r   r)   r   r+   r   s     r   r   zAffectedRequest.to_json8   s;    vv O3355[8(DKr   c                     | t           j                            |d                   d|v rt          |d                   nd           S )Nr-   r+   )r)   r+   )r	   	RequestIdr   r   r   s     r   r   zAffectedRequest.from_json?   sP    s(2243DEE$)TMMDK   t
 
 
 	
r   )	r   r    r!   r"   r#   r+   r   r$   r   r%   r   r   r'   r'   .   si           "!!! $C$$$$   
 
 [
 
 
r   r'   c                  :    e Zd ZU dZded<   d Zed             ZdS )AffectedFramezE
    Information about the frame affected by an inspector issue.
    page.FrameIdframe_idc                Z    t                      }| j                                        |d<   |S )NframeId)r   r3   r   r   s     r   r   zAffectedFrame.to_jsonN   s'    vv-//11Yr   c                `     | t           j                            |d                             S )Nr5   )r3   )r
   FrameIdr   r   s     r   r   zAffectedFrame.from_jsonS   s2    s\++DO<<
 
 
 	
r   Nr   r%   r   r   r1   r1   G   sX             
 
 
 [
 
 
r   r1   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 )
SameSiteCookieExclusionReason&ExcludeSameSiteUnspecifiedTreatedAsLaxExcludeSameSiteNoneInsecureExcludeSameSiteLaxExcludeSameSiteStrictExcludeInvalidSameParty!ExcludeSamePartyCrossPartyContextc                    | j         S Nvaluer   s    r   r   z%SameSiteCookieExclusionReason.to_jsonb   
    zr   c                     | |          S rA   r%   r   s     r   r   z'SameSiteCookieExclusionReason.from_jsone       s4yyr   N)r   r    r!   ,EXCLUDE_SAME_SITE_UNSPECIFIED_TREATED_AS_LAXEXCLUDE_SAME_SITE_NONE_INSECUREEXCLUDE_SAME_SITE_LAXEXCLUDE_SAME_SITE_STRICTEXCLUDE_INVALID_SAME_PARTY&EXCLUDE_SAME_PARTY_CROSS_PARTY_CONTEXTr   r$   r   r%   r   r   r9   r9   Z   sb        3[0&C#06!:-P*     [  r   r9   c                  J    e 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 )SameSiteCookieWarningReason'WarnSameSiteUnspecifiedCrossSiteContextWarnSameSiteNoneInsecure%WarnSameSiteUnspecifiedLaxAllowUnsafe$WarnSameSiteStrictLaxDowngradeStrict&WarnSameSiteStrictCrossDowngradeStrict#WarnSameSiteStrictCrossDowngradeLax#WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLaxc                    | j         S rA   rB   rD   s    r   r   z#SameSiteCookieWarningReason.to_jsont   rE   r   c                     | |          S rA   r%   r   s     r   r   z%SameSiteCookieWarningReason.from_jsonw   rG   r   N)r   r    r!   -WARN_SAME_SITE_UNSPECIFIED_CROSS_SITE_CONTEXTWARN_SAME_SITE_NONE_INSECURE+WARN_SAME_SITE_UNSPECIFIED_LAX_ALLOW_UNSAFE*WARN_SAME_SITE_STRICT_LAX_DOWNGRADE_STRICT,WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_STRICT)WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_LAX)WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_STRICT&WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_LAXr   r$   r   r%   r   r   rO   rO   j   sn        4]1#= 2Y/1W.3[00U-0U--O*     [  r   rO   c                  2    e Zd ZdZdZd Zed             ZdS )SameSiteCookieOperation	SetCookie
ReadCookiec                    | j         S rA   rB   rD   s    r   r   zSameSiteCookieOperation.to_json   rE   r   c                     | |          S rA   r%   r   s     r   r   z!SameSiteCookieOperation.from_json   rG   r   N)r   r    r!   
SET_COOKIEREAD_COOKIEr   r$   r   r%   r   r   rc   rc   |   sH        JK     [  r   rc   c                      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ded<   dZ	ded<   d Z
ed             ZdS )SameSiteCookieIssueDetailsz
    This information is currently necessary, as the front-end has a difficult
    time finding a specific cookie. With this, we can convey specific error
    information without the cookie.
    z(typing.List[SameSiteCookieWarningReason]cookie_warning_reasonsz*typing.List[SameSiteCookieExclusionReason]cookie_exclusion_reasonsrc   	operationNztyping.Optional[AffectedCookie]cookier*   raw_cookie_linesite_for_cookies
cookie_url typing.Optional[AffectedRequest]requestc                   t                      }d | j        D             |d<   d | j        D             |d<   | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d	<   | j	        | j	                                        |d
<   |S )Nc                6    g | ]}|                                 S r%   r   .0is     r   
<listcomp>z6SameSiteCookieIssueDetails.to_json.<locals>.<listcomp>   s     'Y'Y'Y		'Y'Y'Yr   cookieWarningReasonsc                6    g | ]}|                                 S r%   rw   rx   s     r   r{   z6SameSiteCookieIssueDetails.to_json.<locals>.<listcomp>   s     )])])]!!))++)])])]r   cookieExclusionReasonsrn   ro   rawCookieLinesiteForCookies	cookieUrlrt   )
r   rl   rm   rn   r   ro   rp   rq   rr   rt   r   s     r   r   z"SameSiteCookieIssueDetails.to_json   s    vv'Y'YT=X'Y'Y'Y#$)])]t?\)])])]%& N2244[;"![0022DN+$($8D! ,%)%:D!"?& $D<#"l2244DOr   c                    | d |d         D             d |d         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           S )Nc                B    g | ]}t                               |          S r%   )rO   r   rx   s     r   r{   z8SameSiteCookieIssueDetails.from_json.<locals>.<listcomp>   s(    #s#s#sQR$?$I$I!$L$L#s#s#sr   r|   c                B    g | ]}t                               |          S r%   )r9   r   rx   s     r   r{   z8SameSiteCookieIssueDetails.from_json.<locals>.<listcomp>   s(    %y%y%yUV&C&M&Ma&P&P%y%y%yr   r~   rn   ro   r   r   r   rt   )rl   rm   rn   ro   rp   rq   rr   rt   )rc   r   r   r   r'   r   s     r   r   z$SameSiteCookieIssueDetails.from_json   s   s#s#sVZ[qVr#s#s#s%y%yZ^_wZx%y%y%y-77[8IJJ?G4?O?O>++DN;;;UY:IT:Q:QC_ 5666W[<LPT<T<TS&6!7888Z^1<1D1Ds4,---$BKtBSBSO--d9o>>>Y]	
 	
 	
 		
r   )r   r    r!   r"   r#   ro   rp   rq   rr   rt   r   r$   r   r%   r   r   rk   rk      s          
 EDDDHHHH '&&& /3F2222,0O0000-11111'+J++++04G4444  " 

 

 [

 

 

r   rk   c                  6    e Zd ZdZdZdZd Zed             ZdS )MixedContentResolutionStatusMixedContentBlocked!MixedContentAutomaticallyUpgradedMixedContentWarningc                    | j         S rA   rB   rD   s    r   r   z$MixedContentResolutionStatus.to_json   rE   r   c                     | |          S rA   r%   r   s     r   r   z&MixedContentResolutionStatus.from_json   rG   r   N)	r   r    r!   MIXED_CONTENT_BLOCKED$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDMIXED_CONTENT_WARNINGr   r$   r   r%   r   r   r   r      sP        1+N(1     [  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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 )MixedContentResourceTypeAudioBeacon	CSPReportDownloadEventSourceFaviconFontFormFrameImageImportManifestPing
PluginDataPluginResourcePrefetchResourceScriptServiceWorkerSharedWorker
StylesheetTrackVideoWorkerXMLHttpRequestXSLTc                    | j         S rA   rB   rD   s    r   r   z MixedContentResourceType.to_json   rE   r   c                     | |          S rA   r%   r   s     r   r   z"MixedContentResourceType.from_json   rG   r   N) r   r    r!   AUDIOBEACON
CSP_REPORTDOWNLOADEVENT_SOURCEFAVICONFONTFORMFRAMEIMAGEIMPORTMANIFESTPINGPLUGIN_DATAPLUGIN_RESOURCEPREFETCHRESOURCESCRIPTSERVICE_WORKERSHARED_WORKER
STYLESHEETTRACKVIDEOWORKERXML_HTTP_REQUESTr   r   r$   r   r%   r   r   r   r      s        EFJH LGDDEEFHDK&OHHF$N"MJEEF'D     [  r   r   c                  t    e Zd ZU 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 )MixedContentIssueDetailsr   resolution_statusr   insecure_urlmain_resource_urlNz)typing.Optional[MixedContentResourceType]resource_typers   rt   typing.Optional[AffectedFrame]framec                T   t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NresolutionStatusinsecureURLmainResourceURLresourceTypert   r   )r   r   r   r   r   r   rt   r   r   s     r   r   z MixedContentIssueDetails.to_json  s    vv#'#9#A#A#C#C "/]"&"8)#'#5#=#=#?#?D <#"l2244DO:! J..00DMr   c                    | 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   rt   r   )r   r   r   r   rt   r   )r   r   r   r   r'   r1   r   s     r   r   z"MixedContentIssueDetails.from_json  s    s:DDTJ\E]^^T-011!$'8"9::VdhlVlVl2<<T.=QRRRrvBKtBSBSO--d9o>>>Y]<CtOO-))$w-888QU
 
 
 	
r   )
r   r    r!   r#   r   rt   r   r   r$   r   r%   r   r   r   r      s          4333   @DMCCCC 15G4444 -1E0000   
 
 [
 
 
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 )
BlockedByResponseReasonz
    Enum indicating the reason a response has been blocked. These reasons are
    refinements of the net error BLOCKED_BY_RESPONSE.
     CoepFrameResourceNeedsCoepHeader+CoopSandboxedIFrameCannotNavigateToCoopPageCorpNotSameOrigin1CorpNotSameOriginAfterDefaultedToSameOriginByCoepCorpNotSameSitec                    | j         S rA   rB   rD   s    r   r   zBlockedByResponseReason.to_json1  rE   r   c                     | |          S rA   r%   r   s     r   r   z!BlockedByResponseReason.from_json4  rG   r   N)r   r    r!   r"   %COEP_FRAME_RESOURCE_NEEDS_COEP_HEADER3COOP_SANDBOXED_I_FRAME_CANNOT_NAVIGATE_TO_COOP_PAGECORP_NOT_SAME_ORIGIN;CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEPCORP_NOT_SAME_SITEr   r$   r   r%   r   r   r   r   &  si          -O):g7.Bu?*     [  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ed             Z	dS )BlockedByResponseIssueDetailsz
    Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
    code. Currently only used for COEP/COOP, but may be extended to include
    some CSP errors in the future.
    r'   rt   r   reasonNr   parent_frameblocked_framec                   t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )Nrt   r   parentFrameblockedFrame)r   rt   r   r   r   r   r   s     r   r   z%BlockedByResponseIssueDetails.to_jsonH  s    vv,..00Y,,..X("&"3";";"="=D)#'#5#=#=#?#?D r   c           	     (    | t                               |d                   t                              |d                   d|v r t                              |d                   nd d|v r t                              |d                   nd           S )Nrt   r   r   r   )rt   r   r   r   )r'   r   r   r1   r   s     r   r   z'BlockedByResponseIssueDetails.from_jsonR  s    s#--d9o>>*44T(^DDIVZ^I^I^00m1DEEEdhKY]aKaKa-11$~2FGGGgk	
 
 
 	
r   )
r   r    r!   r"   r#   r   r   r   r$   r   r%   r   r   r   r   9  s          
 ####37L777748M8888   
 
 [
 
 
r   r   c                  2    e Zd ZdZdZd Zed             ZdS )HeavyAdResolutionStatusHeavyAdBlockedHeavyAdWarningc                    | j         S rA   rB   rD   s    r   r   zHeavyAdResolutionStatus.to_json`  rE   r   c                     | |          S rA   r%   r   s     r   r   z!HeavyAdResolutionStatus.from_jsonc  rG   r   N)r   r    r!   HEAVY_AD_BLOCKEDHEAVY_AD_WARNINGr   r$   r   r%   r   r   r   r   \  sJ        ''     [  r   r   c                  6    e Zd ZdZdZdZd Zed             ZdS )HeavyAdReasonNetworkTotalLimitCpuTotalLimitCpuPeakLimitc                    | j         S rA   rB   rD   s    r   r   zHeavyAdReason.to_jsonm  rE   r   c                     | |          S rA   r%   r   s     r   r   zHeavyAdReason.from_jsonp  rG   r   N)	r   r    r!   NETWORK_TOTAL_LIMITCPU_TOTAL_LIMITCPU_PEAK_LIMITr   r$   r   r%   r   r   r   r   h  sN        -%O#N     [  r   r   c                  J    e Zd ZU ded<   ded<   ded<   d Zed             Zd	S )
HeavyAdIssueDetailsr   
resolutionr   r   r1   r   c                    t                      }| j                                        |d<   | j                                        |d<   | j                                        |d<   |S )Nr   r   r   )r   r   r   r   r   r   s     r   r   zHeavyAdIssueDetails.to_json  sV    vv!_4466\,,..X
**,,Wr   c                     | t                               |d                   t                              |d                   t                              |d                             S )Nr   r   r   )r   r   r   )r   r   r   r1   r   s     r   r   zHeavyAdIssueDetails.from_json  s[    s.88l9KLL **4>::))$w-88
 
 
 	
r   Nr   r    r!   r#   r   r$   r   r%   r   r   r   r   u  sj          ('''     
 
 [
 
 
r   r   c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	"ContentSecurityPolicyViolationTypekInlineViolationkEvalViolationkURLViolationkTrustedTypesSinkViolationkTrustedTypesPolicyViolationc                    | j         S rA   rB   rD   s    r   r   z*ContentSecurityPolicyViolationType.to_json  rE   r   c                     | |          S rA   r%   r   s     r   r   z,ContentSecurityPolicyViolationType.from_json  rG   r   N)r   r    r!   K_INLINE_VIOLATIONK_EVAL_VIOLATIONK_URL_VIOLATIONK_TRUSTED_TYPES_SINK_VIOLATION K_TRUSTED_TYPES_POLICY_VIOLATIONr   r$   r   r%   r   r   r  r    s[        +'%O%A"'E$     [  r   r  c                  X    e Zd ZU ded<   ded<   ded<   dZded<   d	 Zed
             ZdS )SourceCodeLocationr   r+   intline_numbercolumn_numberNz!typing.Optional[runtime.ScriptId]	script_idc                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   |S )Nr+   
lineNumbercolumnNumberscriptId)r   r+   r  r  r  r   r   s     r   r   zSourceCodeLocation.to_json  sU    vvhU!-\#1^>%#~5577Dr   c           	          | t          |d                   t          |d                   t          |d                   d|v r%t          j                            |d                   nd           S )Nr+   r  r  r  )r+   r  r  r  )r   r  r   ScriptIdr   r   s     r   r   zSourceCodeLocation.from_json  st    sDK  D.//d>233FPTXFXFXg&00j1ABBB^b	
 
 
 	
r   )r   r    r!   r#   r  r   r$   r   r%   r   r   r  r    sr         HHH37I7777   
 
 [
 
 
r   r  c                      e Zd ZU 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e	d             Z
dS )!ContentSecurityPolicyIssueDetailsr   violated_directiveboolis_report_onlyr  &content_security_policy_violation_typeNr*   blocked_urlr   frame_ancestor#typing.Optional[SourceCodeLocation]source_code_location"typing.Optional[dom.BackendNodeId]violating_node_idc                v   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NviolatedDirectiveisReportOnly"contentSecurityPolicyViolationType
blockedURLframeAncestorsourceCodeLocationviolatingNodeId)	r   r  r!  r"  r   r#  r$  r&  r(  r   s     r   r   z)ContentSecurityPolicyIssueDetails.to_json  s    vv$($; !#2^595`5h5h5j5j12'!%!1D*$($7$?$?$A$AD!$0)-)B)J)J)L)LD%&!-&*&<&D&D&F&FD"#r   c                    | 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           S )	Nr*  r+  r,  r-  r.  r/  r0  )r  r!  r"  r#  r$  r&  r(  )r   r   r  r   r1   r  r   BackendNodeIdr   s     r   r   z+ContentSecurityPolicyIssueDetails.from_json  s    s"4(;#<==^ 4553U3_3_`d  fJ  aK  4L  4L3?43G3GD.///TM\`dMdMd=2243HIIIjn]quy]y]y!3!=!=dCW>X!Y!Y!Y  @DVgkoVoVoc/99$?P:QRRRuy
 
 
 	
r   )r   r    r!   r#   r#  r$  r&  r(  r   r$   r   r%   r   r   r  r    s          NNNN )-K,,,,59N9999@DDDDD<@@@@@   	
 	
 [	
 	
 	
r   r  c                  2    e Zd ZdZdZd Zed             ZdS )SharedArrayBufferIssueTypeTransferIssueCreationIssuec                    | j         S rA   rB   rD   s    r   r   z"SharedArrayBufferIssueType.to_json  rE   r   c                     | |          S rA   r%   r   s     r   r   z$SharedArrayBufferIssueType.from_json  rG   r   N)r   r    r!   TRANSFER_ISSUECREATION_ISSUEr   r$   r   r%   r   r   r4  r4    sH        $N$N     [  r   r4  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 )SharedArrayBufferIssueDetailsz
    Details for a issue arising from an SAB being instantiated in, or
    transferred to a context that is not cross-origin isolated.
    r  r&  r   
is_warningr4  type_c                    t                      }| j                                        |d<   | j        |d<   | j                                        |d<   |S )Nr/  	isWarningtype)r   r&  r   r=  r>  r   s     r   r   z%SharedArrayBufferIssueDetails.to_json  sM    vv%)%>%F%F%H%H!" O[z))++Vr   c                     | t                               |d                   t          |d                   t                              |d                             S )Nr/  r@  rA  )r&  r=  r>  )r  r   r   r4  r   s     r   r   z'SharedArrayBufferIssueDetails.from_json	  sW    s!3!=!=dCW>X!Y!YD-..,66tF|DD
 
 
 	
r   Nr   r%   r   r   r<  r<    sp           -,,,%%%%   
 
 [
 
 
r   r<  c                  6    e Zd ZdZdZdZd Zed             ZdS )"TwaQualityEnforcementViolationType
kHttpErrorkUnavailableOfflinekDigitalAssetLinksc                    | j         S rA   rB   rD   s    r   r   z*TwaQualityEnforcementViolationType.to_json  rE   r   c                     | |          S rA   r%   r   s     r   r   z,TwaQualityEnforcementViolationType.from_json  rG   r   N)	r   r    r!   K_HTTP_ERRORK_UNAVAILABLE_OFFLINEK_DIGITAL_ASSET_LINKSr   r$   r   r%   r   r   rD  rD    sO        L10     [  r   rD  c                  j    e Zd ZU 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 )TrustedWebActivityIssueDetailsr   r+   rD  violation_typeNztyping.Optional[int]http_status_coder*   package_name	signaturec                    t                      }| j        |d<   | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr+   violationTypehttpStatusCodepackageNamerR  )r   r+   rO  r   rP  rQ  rR  r   s     r   r   z&TrustedWebActivityIssueDetails.to_json0  su    vvhU $ 3 ; ; = =_ ,%)%:D!"("&"3D>% $Dr   c           
         | 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+   rT  rU  rV  rR  )r+   rO  rP  rQ  rR  )r   rD  r   r  r   s     r   r   z(TrustedWebActivityIssueDetails.from_json<  s    sDK  =GG_H]^^<LPT<T<TS&6!7888Z^5Bd5J5JT-0111PT0;t0C0Cc${+,,,
 
 
 	
r   )
r   r    r!   r#   rP  rQ  rR  r   r$   r   r%   r   r   rN  rN    s          HHH6666-11111 *.L---- '+I****
 
 
 
 
 [
 
 
r   rN  c                  r    e Zd ZU 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 )LowTextContrastIssueDetailsdom.BackendNodeIdr(  r   violating_node_selectorfloatcontrast_ratiothreshold_aathreshold_aaa	font_sizefont_weightc                    t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )Nr0  violatingNodeSelectorcontrastRatiothresholdAAthresholdAAAfontSize
fontWeight)	r   r(  r   r[  r]  r^  r_  r`  ra  r   s     r   r   z#LowTextContrastIssueDetails.to_jsonW  sx    vv"&"8"@"@"B"B(,(D$% $ 3_"/]#1^>Z!-\r   c                P    | t           j                            |d                   t          |d                   t	          |d                   t	          |d                   t	          |d                   t          |d                   t          |d                             S )	Nr0  rc  rd  re  rf  rg  rh  )r(  r[  r]  r^  r_  r`  ra  )r   r2  r   r   r\  r   s     r   r   z%LowTextContrastIssueDetails.from_jsonb  s    s!/99$?P:QRR$'-D(E$F$F o!677tM233^ 455$z*++D.//
 
 
 	
r   Nr  r%   r   r   rY  rY  G  s         ((((    NNN	 	 	 	
 	
 [	
 	
 	
r   rY  c                      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ded<   d Z	e
d             ZdS )CorsIssueDetailszl
    Details for a CORS related issue, e.g. a warning or error related to
    CORS RFC1918 enforcement.
    znetwork.CorsErrorStatuscors_error_statusr   r=  r'   rt   Nr%  locationr*   initiator_originz'typing.Optional[network.IPAddressSpace]resource_ip_address_spacez,typing.Optional[network.ClientSecurityState]client_security_statec                   t                      }| j                                        |d<   | j        |d<   | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NcorsErrorStatusr@  rt   rm  initiatorOriginresourceIPAddressSpaceclientSecurityState)	r   rl  r   r=  rt   rm  rn  ro  rp  r   s     r   r   zCorsIssueDetails.to_json  s    vv"&"8"@"@"B"B O[,..00Y=$#}4466D ,&*&;D"#)5-1-K-S-S-U-UD)*%1*.*D*L*L*N*ND&'r   c                    | 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           j                            |d                   nd d|v r%t           j                            |d                   nd           S )	Nrr  r@  rt   rm  rs  rt  ru  )rl  r=  rt   rm  rn  ro  rp  )	r	   CorsErrorStatusr   r   r'   r  r   IPAddressSpaceClientSecurityStater   s     r   r   zCorsIssueDetails.from_json  s   s%5??EV@WXXD-..#--d9o>>GQUYGYGY'11$z2BCCC_c=NRV=V=VS&7!8999\` kC  GK  kK  kKg&<&F&FtLdGe&f&f&f  QUh}  BF  iF  iF'"="G"GMbHc"d"d"d  LP
 
 
 	
r   )r   r    r!   r"   r#   rm  rn  ro  rp  r   r$   r   r%   r   r   rk  rk  o  s           /...48H8888-11111IMMMMMJNNNNN   	
 	
 [	
 	
 	
r   rk  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	AttributionReportingIssueTypePermissionPolicyDisabledInvalidAttributionSourceEventIdInvalidAttributionData$AttributionSourceUntrustworthyOriginAttributionUntrustworthyOriginc                    | j         S rA   rB   rD   s    r   r   z%AttributionReportingIssueType.to_json  rE   r   c                     | |          S rA   r%   r   s     r   r   z'AttributionReportingIssueType.from_json  rG   r   N)r   r    r!   PERMISSION_POLICY_DISABLED#INVALID_ATTRIBUTION_SOURCE_EVENT_IDINVALID_ATTRIBUTION_DATA'ATTRIBUTION_SOURCE_UNTRUSTWORTHY_ORIGIN ATTRIBUTION_UNTRUSTWORTHY_ORIGINr   r$   r   r%   r   r   r{  r{    s\        !;*K'7.T+'G$     [  r   r{  c                  r    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ded<   d Z	e
d             ZdS ) AttributionReportingIssueDetailsz
    Details for issues around "Attribution Reporting API" usage.
    Explainer: https://github.com/WICG/conversion-measurement-api
    r{  rO  Nr   r   rs   rt   r'  r(  r*   invalid_parameterc                N   t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   |S )NrT  r   rt   r0  invalidParameter)r   rO  r   r   rt   r(  r  r   s     r   r   z(AttributionReportingIssueDetails.to_json  s    vv $ 3 ; ; = =_:! J..00DM<#"l2244DO!-&*&<&D&D&F&FD"#!-'+'=D#$r   c           
     r    | 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 )NrT  r   rt   r0  r  )rO  r   rt   r(  r  )r{  r   r1   r'   r   r2  r   r   s     r   r   z*AttributionReportingIssueDetails.from_json  s    s8BB4CXYY<CtOO-))$w-888QUBKtBSBSO--d9o>>>Y]VgkoVoVoc/99$?P:QRRRuy?QUY?Y?Yc$'9":;;;_c
 
 
 	
r   )r   r    r!   r"   r#   r   rt   r(  r  r   r$   r   r%   r   r   r  r    s           2111,0E000004G4444<@@@@@.22222   
 
 [
 
 
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 )QuirksModeIssueDetailszs
    Details for issues about documents in Quirks Mode
    or Limited Quirks Mode that affects page layouting.
    r   is_limited_quirks_moderZ  document_node_idr   r+   r2   r3   znetwork.LoaderId	loader_idc                    t                      }| j        |d<   | j                                        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   |S )NisLimitedQuirksModedocumentNodeIdr+   r5   loaderId)r   r  r  r   r+   r3   r  r   s     r   r   zQuirksModeIssueDetails.to_json  sr    vv&*&A"#!%!6!>!>!@!@hU-//11Y>1133Zr   c           
     @    | t          |d                   t          j                            |d                   t	          |d                   t
          j                            |d                   t          j                            |d                             S )Nr  r  r+   r5   r  )r  r  r+   r3   r  )	r   r   r2  r   r   r
   r7   r	   LoaderIdr   s     r   r   z QuirksModeIssueDetails.from_json  s    s#'-B(C#D#D .88>N9OPPDK  \++DO<<&00j1ABB
 
 
 	
r   Nr   r%   r   r   r  r    s           !   ''''HHH   
 
 [
 
 
r   r  c                  D    e Zd ZU ded<   dZded<   d Zed             ZdS )NavigatorUserAgentIssueDetailsr   r+   Nr%  rm  c                |    t                      }| j        |d<   | j        | j                                        |d<   |S )Nr+   rm  )r   r+   rm  r   r   s     r   r   z&NavigatorUserAgentIssueDetails.to_json  s;    vvhU=$#}4466Dr   c                     | t          |d                   d|v r t                              |d                   nd           S )Nr+   rm  )r+   rm  )r   r  r   r   s     r   r   z(NavigatorUserAgentIssueDetails.from_json	  sR    sDK  GQUYGYGY'11$z2BCCC_c
 
 
 	
r   )r   r    r!   r#   rm  r   r$   r   r%   r   r   r  r    sZ         HHH48H8888   
 
 [
 
 
r   r  c                  T    e Zd ZU ded<   ded<   ded<   ded<   d Zed             Zd	S )
(WasmCrossOriginModuleSharingIssueDetailsr   wasm_module_urlsource_origintarget_originr   r=  c                r    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )NwasmModuleUrlsourceOrigintargetOriginr@  )r   r  r  r  r=  r   s     r   r   z0WasmCrossOriginModuleSharingIssueDetails.to_json  sC    vv $ 4_#1^#1^ O[r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr  r  r  r@  )r  r  r  r=  )r   r   r   s     r   r   z2WasmCrossOriginModuleSharingIssueDetails.from_json#  s[    s_ 566d>233d>233D-..	
 
 
 	
r   Nr  r%   r   r   r  r    sp            
 
 [
 
 
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 )InspectorIssueCodez
    A unique identifier for the type of issue. Each type may use one of the
    optional fields in InspectorIssueDetails to convey more specific
    information about the kind of issue.
    SameSiteCookieIssueMixedContentIssueBlockedByResponseIssueHeavyAdIssueContentSecurityPolicyIssueSharedArrayBufferIssueTrustedWebActivityIssueLowTextContrastIssue	CorsIssueAttributionReportingIssueQuirksModeIssueNavigatorUserAgentIssue!WasmCrossOriginModuleSharingIssuec                    | j         S rA   rB   rD   s    r   r   zInspectorIssueCode.to_jsonA  rE   r   c                     | |          S rA   r%   r   s     r   r   zInspectorIssueCode.from_jsonD  rG   r   N)r   r    r!   r"   SAME_SITE_COOKIE_ISSUEMIXED_CONTENT_ISSUEBLOCKED_BY_RESPONSE_ISSUEHEAVY_AD_ISSUECONTENT_SECURITY_POLICY_ISSUESHARED_ARRAY_BUFFER_ISSUETRUSTED_WEB_ACTIVITY_ISSUELOW_TEXT_CONTRAST_ISSUE
CORS_ISSUEATTRIBUTION_REPORTING_ISSUEQUIRKS_MODE_ISSUENAVIGATOR_USER_AGENT_ISSUE&WASM_CROSS_ORIGIN_MODULE_SHARING_ISSUEr   r$   r   r%   r   r   r  r  -  s         
 3- 8#N$@! 8!:4J"=)!:-P*     [  r   r  c                      e Zd ZU dZ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 )InspectorIssueDetailsz
    This struct holds a list of optional fields with additional information
    specific to the kind of issue. When adding a new issue code, please also
    add a new optional field to this type.
    Nz+typing.Optional[SameSiteCookieIssueDetails]same_site_cookie_issue_detailsz)typing.Optional[MixedContentIssueDetails]mixed_content_issue_detailsz.typing.Optional[BlockedByResponseIssueDetails]!blocked_by_response_issue_detailsz$typing.Optional[HeavyAdIssueDetails]heavy_ad_issue_detailsz2typing.Optional[ContentSecurityPolicyIssueDetails]%content_security_policy_issue_detailsz.typing.Optional[SharedArrayBufferIssueDetails]!shared_array_buffer_issue_detailsz/typing.Optional[TrustedWebActivityIssueDetails]twa_quality_enforcement_detailsz,typing.Optional[LowTextContrastIssueDetails]low_text_contrast_issue_detailsz!typing.Optional[CorsIssueDetails]cors_issue_detailsz1typing.Optional[AttributionReportingIssueDetails]#attribution_reporting_issue_detailsz'typing.Optional[QuirksModeIssueDetails]quirks_mode_issue_detailsz/typing.Optional[NavigatorUserAgentIssueDetails]"navigator_user_agent_issue_detailsz9typing.Optional[WasmCrossOriginModuleSharingIssueDetails]&wasm_cross_origin_module_sharing_issuec                   t                      }| 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 )NsameSiteCookieIssueDetailsmixedContentIssueDetailsblockedByResponseIssueDetailsheavyAdIssueDetails!contentSecurityPolicyIssueDetailssharedArrayBufferIssueDetailstwaQualityEnforcementDetailslowTextContrastIssueDetailscorsIssueDetails attributionReportingIssueDetailsquirksModeIssueDetailsnavigatorUserAgentIssueDetails!wasmCrossOriginModuleSharingIssue)r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r   s     r   r   zInspectorIssueDetails.to_jsonj  s   vv.:151T1\1\1^1^D-.+7/3/O/W/W/Y/YD+,1=484Z4b4b4d4dD01&2*.*E*M*M*O*OD&'5A8<8b8j8j8l8lD451=484Z4b4b4d4dD01/;373W3_3_3a3aD/0/;262V2^2^2`2`D./".'+'>'F'F'H'HD#$3?7;7_7g7g7i7iD34)5-1-K-S-S-U-UD)*2>595\5d5d5f5fD126B8<8c8k8k8m8mD45r   c                    | 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 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  r  r  r  r  r  r  )rk   r   r   r   r   r  r<  rN  rY  rk  r  r  r  r  r   s     r   r   zInspectorIssueDetails.from_json  sL   s xT  X\  x\  x\+E+O+OPTUqPr+s+s+s  bf qK  OS  qS  qS(@(J(J4PjKk(l(l(l  Y] A`  dh  Ah  Ah.K.U.UVZ[zV{.|.|.|  nravz~a~a~#6#@#@F[A\#]#]#]  EI Mp  tx  Mx  Mx2S2]2]^b  dG  _H  3I  3I  3I  ~B A`  dh  Ah  Ah.K.U.UVZ[zV{.|.|.|  nr ]  ae  e  e,J,T,TUYZxUy,z,z,z  ko {X  \`  {`  {`,G,Q,QRVWtRu,v,v,v  fjWimqWqWq/99$?Q:RSSSw{ Ik  os  Is  Is0P0Z0Z[_  aC  \D  1E  1E  1E  y} kC  GK  kK  kK&<&F&FtLdGe&f&f&f  QU Dd  hl  Dl  Dl/M/W/WX\]}X~///  rv Ux  |@  U@  U@3[3e3efj  lO  gP  4Q  4Q  4Q  FJ
 
 
 	
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  I  s8         
 SW"VVVVMQQQQQX\%\\\\CGGGGG`d)ddddX\%\\\\W[#[[[[TX#XXXX<@@@@@]a'aaaaIMMMMMZ^&^^^^hl*llll  < 
 
 [
 
 
r   r  c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
IssueIdz
    A unique id for a DevTools inspector issue. Allows other entities (e.g.
    exceptions, CDP message, console messages, etc.) to reference an issue.
    returnr   c                    | S rA   r%   rD   s    r   r   zIssueId.to_json  s    r   r   c                     | |          S rA   r%   r   s     r   r   zIssueId.from_json  rG   r   c                j    d                     t                                                                S )NzIssueId({}))formatsuper__repr__)r   	__class__s    r   r  zIssueId.__repr__  s'    ##EGG$4$4$6$6777r   )r  r   )r   r   r  r  )	r   r    r!   r"   r   r$   r   r  __classcell__)r  s   @r   r  r    sv                [8 8 8 8 8 8 8 8 8r   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 )InspectorIssuez8
    An inspector issue reported from the back-end.
    r  coder  detailsNztyping.Optional[IssueId]issue_idc                    t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   |S )Nr  r  issueId)r   r  r   r  r  r   s     r   r   zInspectorIssue.to_json  s]    vvy((**V,..00Y=$"m3355DOr   c                     | t                               |d                   t                              |d                   d|v r t                              |d                   nd           S )Nr  r  r  )r  r  r  )r  r   r  r  r   s     r   r   zInspectorIssue.from_json  sj    s#--d6l;;)33DODD;D;L;LW&&tI777RV
 
 
 	
r   )	r   r    r!   r"   r#   r  r   r$   r   r%   r   r   r  r    sw           """" *.H----   
 
 [
 
 
r   r  r)   r(   encodingr   qualitytyping.Optional[float]	size_onlytyping.Optional[bool]r  Xtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], int, int]]c              #    K   t                      }|                                 |d<   ||d<   |||d<   |||d<   d|d}|V }d|v rt          |d                   ndt          |d	                   t          |d
                   fS )a  
    Returns the response body and size if it were re-encoded with the specified settings. Only
    applies to images.

    :param request_id: Identifier of the network request to get content for.
    :param encoding: The encoding to use.
    :param quality: *(Optional)* The quality of the encoding (0-1). (defaults to 1)
    :param size_only: *(Optional)* Whether to only return the size information (defaults to false).
    :returns: A tuple with the following items:

        0. **body** - *(Optional)* The encoded body as a base64 string. Omitted if sizeOnly is true.
        1. **originalSize** - Size before re-encoding.
        2. **encodedSize** - Size after re-encoding.
    r-   r  Nr  sizeOnlyzAudits.getEncodedResponsemethodparamsbodyoriginalSizeencodedSize)r   r   r   r  )r)   r  r  r  r   cmd_dictr   s          r   get_encoded_responser    s      ( &&F$,,..F;!F:#y&z- H >>D#t^^DLD !!D   r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z\
    Disables issues domain, prevents further issues from being reported to the client.
    r  zAudits.disableNr%   r  r   s     r   disabler	    s$      
 	"H >>DDDr   c               #     K   ddi} | V }dS )zz
    Enables issues domain, sends the issues collected so far to the client by means of the
    ``issueAdded`` event.
    r  zAudits.enableNr%   r  s     r   enabler    s#       	/H >>DDDr   
report_aaac              #  F   K   t                      }| | |d<   d|d}|V }dS )z
    Runs the contrast check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :param report_aaa: *(Optional)* Whether to report WCAG AAA level issues. Default is false.
    N	reportAAAzAudits.checkContrastr  )r   )r  r   r  r   s       r   check_contrastr    sB       &&F({( H >>DDDr   zAudits.issueAddedc                  2    e Zd ZU ded<   edd            ZdS )	
IssueAddedr  issuer   r   r  c                V     | t                               |d                             S )Nr  )r  )r  r   r   s     r   r   zIssueAdded.from_json  s0    s **4=99
 
 
 	
r   N)r   r   r  r  )r   r    r!   r#   r$   r   r%   r   r   r  r    sB          
 
 
 [
 
 
r   r  )NN)
r)   r(   r  r   r  r  r  r  r  r  )r  r  rA   )r  r  r  r  )6
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r'   r1   Enumr9   rO   rc   rk   r   r   r   r   r   r   r   r   r  r  r  r4  r<  rD  rN  rY  rk  r{  r  r  r  r  r  r  r   r  r  r  r	  r  r  r  r%   r   r   <module>r     s   # " " " " " * * * * * * * * ! ! ! ! ! !                           
 
 
 
 
 
 
 
6 
 
 
 
 
 
 
 
0 
 
 
 
 
 
 
 
$    DI        $)   $	 	 	 	 	di 	 	 	 8
 8
 8
 8
 8
 8
 8
 8
v
 
 
 
 
49 
 
 
! ! ! ! !ty ! ! !H -
 -
 -
 -
 -
 -
 -
 -
`    di   & 
 
 
 
 
 
 
 
D	 	 	 	 	di 	 	 	
 
 
 
 
DI 
 
 
 
 
 
 
 
 
 
 
4        
 
 
 
 
 
 
 
8 *
 *
 *
 *
 *
 *
 *
 *
Z	 	 	 	 	 	 	 	 
 
 
 
 
 
 
 
6
 
 
 
 
 
 
 
 $
 $
 $
 $
 $
 $
 $
 $
N $
 $
 $
 $
 $
 $
 $
 $
N ,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
^    DI    $
 $
 $
 $
 $
 $
 $
 $
N "
 "
 "
 "
 "
 "
 "
 "
J 
 
 
 
 
 
 
 
( 
 
 
 
 
 
 
 
6       8 N
 N
 N
 N
 N
 N
 N
 N
b8 8 8 8 8c 8 8 8  
 
 
 
 
 
 
 
@ +/+/	$ $ $ $ $N       -1    &  !!

 
 
 
 
 
 
  "!
 
 
r   