
    ,hNS                    H   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  G d	 d
e      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e G d d             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d5d!Zd5d"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 d0 d1                    Z! ed2      e G d3 d4                    Z"y)6    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)pagec                  <     e Zd ZdZddZedd       Z fdZ xZS )	RuleSetIdz
    Unique id
    c                    | S N selfs    q/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v134/preload.pyto_jsonzRuleSetId.to_json           c                     | |      S r   r   clsjsons     r   	from_jsonzRuleSetId.from_json       4yr   c                >    dj                  t        | 	               S )NzRuleSetId({})formatsuper__repr__r   	__class__s    r   r    zRuleSetId.__repr__   s    %%eg&6&899r   returnstr)r   r%   r$   r   	__name__
__module____qualname____doc__r   classmethodr   r    __classcell__r"   s   @r   r   r      s+      : :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ded<   dZded<   dZded<   dZ	ded<   d Z
ed        Zy)RuleSetz+
    Corresponds to SpeculationRuleSet
    r   id_network.LoaderId	loader_idr%   source_textNz"typing.Optional[dom.BackendNodeId]backend_node_idtyping.Optional[str]urlz"typing.Optional[network.RequestId]
request_idz!typing.Optional[RuleSetErrorType]
error_typeerror_messagec                   t               }| j                  j                         |d<   | j                  j                         |d<   | j                  |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  |d<   |S )	NidloaderId
sourceTextbackendNodeIdr6   	requestId	errorTypeerrorMessage)
dictr0   r   r2   r3   r4   r6   r7   r8   r9   r   r   s     r   r   zRuleSet.to_jsonJ   s    vXX%%'T
>>113Z!--\+$($8$8$@$@$BD!88((DK??& $ 7 7 9D??& $ 7 7 9D)#'#5#5D r   c                    | t         j                  |d         t        j                  j                  |d         t	        |d         d|v r"t
        j                  j                  |d         nd d|v rt	        |d         nd d|v r"t        j                  j                  |d         nd d|v rt        j                  |d         nd d|v rt	        |d         	      S d 	      S )
Nr;   r<   r=   r>   r6   r?   r@   rA   )r0   r2   r3   r4   r6   r7   r8   r9   )	r   r   r	   LoaderIdr%   r   BackendNodeId	RequestIdRuleSetErrorTyper   s     r   r   zRuleSet.from_json[   s    ##DJ/&&00j1ABD./RaeiRiC--77_8MNos$)TMDK tITX\I\w((2243DEbfHSW[H['11${2CDae7E7M#d>23	
 		
 TX	
 		
r   )r'   r(   r)   r*   __annotations__r4   r6   r7   r8   r9   r   r+   r   r   r   r   r/   r/       st     
N    ;?O7> $C	$59J29 59J18 +/M'." 

 

r   r/   c                  *    e Zd ZdZdZd Zed        Zy)rH   SourceIsNotJsonObjectInvalidRulesSkippedc                    | j                   S r   valuer   s    r   r   zRuleSetErrorType.to_jsonm       zzr   c                     | |      S r   r   r   s     r   r   zRuleSetErrorType.from_jsonp   r   r   N)r'   r(   r)   SOURCE_IS_NOT_JSON_OBJECTINVALID_RULES_SKIPPEDr   r+   r   r   r   r   rH   rH   i   s'     71  r   rH   c                  .    e Zd ZdZdZdZd Zed        Zy)SpeculationActionz
    The type of preloading attempted. It corresponds to
    mojom::SpeculationAction (although PrefetchWithSubresources is omitted as it
    isn't being used by clients).
    Prefetch	Prerenderc                    | j                   S r   rN   r   s    r   r   zSpeculationAction.to_json~   rP   r   c                     | |      S r   r   r   s     r   r   zSpeculationAction.from_json   r   r   N)	r'   r(   r)   r*   PREFETCH	PRERENDERr   r+   r   r   r   r   rU   rU   u   s,    
 HI  r   rU   c                  .    e Zd ZdZdZdZd Zed        Zy)SpeculationTargetHintz
    Corresponds to mojom::SpeculationTargetHint.
    See https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints
    BlankSelfc                    | j                   S r   rN   r   s    r   r   zSpeculationTargetHint.to_json   rP   r   c                     | |      S r   r   r   s     r   r   zSpeculationTargetHint.from_json   r   r   N)	r'   r(   r)   r*   BLANKSELFr   r+   r   r   r   r   r]   r]      s,     ED  r   r]   c                  T    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y)PreloadingAttemptKeyaH  
    A key that identifies a preloading attempt.

    The url used is the url specified by the trigger (i.e. the initial URL), and
    not the final url that is navigated to. For example, prerendering allows
    same-origin main frame navigations during the attempt, but the attempt is
    still keyed with the initial URL.
    r1   r2   rU   actionr%   r6   Nz&typing.Optional[SpeculationTargetHint]target_hintc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  |d<   | j
                  | j
                  j                         |d<   |S )Nr<   rf   r6   
targetHint)rB   r2   r   rf   r6   rg   rC   s     r   r   zPreloadingAttemptKey.to_json   sm    v>>113Z,,.XhhU'!%!1!1!9!9!;Dr   c           	          | t         j                  j                  |d         t        j                  |d         t	        |d         d|v rt
        j                  |d               S d       S )Nr<   rf   r6   ri   )r2   rf   r6   rg   )r	   rE   r   rU   r%   r]   r   s     r   r   zPreloadingAttemptKey.from_json   ss    &&00j1AB$..tH~>DK O[_cOc-77\8JK	
 	
 jn	
 	
r   )	r'   r(   r)   r*   rI   rg   r   r+   r   r   r   r   re   re      s>      	H:>K7> 
 
r   re   c                  F    e Zd ZU dZded<   ded<   ded<   d Zed	        Zy
)PreloadingAttemptSourceav  
    Lists sources for a preloading attempt, specifically the ids of rule sets
    that had a speculation rule that triggered the attempt, and the
    BackendNodeIds of <a href> or <area href> elements that triggered the
    attempt (in the case of attempts triggered by a document rule). It is
    possible for multiple rule sets and links to trigger a single attempt.
    re   keyztyping.List[RuleSetId]rule_set_idsztyping.List[dom.BackendNodeId]node_idsc                   t               }| j                  j                         |d<   | j                  D cg c]  }|j                          c}|d<   | j                  D cg c]  }|j                          c}|d<   |S c c}w c c}w )Nrm   
ruleSetIdsnodeIds)rB   rm   r   rn   ro   )r   r   is      r   r   zPreloadingAttemptSource.to_json   sl    vhh&&(U373D3DEaaiikE\04>1199;>Y F>s   B !Bc           
          | t         j                  |d         |d   D cg c]  }t        j                  |       c}|d   D cg c]!  }t        j                  j                  |      # c}      S c c}w c c}w )Nrm   rq   rr   )rm   rn   ro   )re   r   r   r   rF   r   r   rs   s      r   r   z!PreloadingAttemptSource.from_json   sh    $..tE{;:>|:LMQ)--a0M>B9oNc''11!4N
 	
MNs   A4
&A9N)r'   r(   r)   r*   rI   r   r+   r   r   r   r   rl   rl      s4     
((,, 
 
r   rl   c                  <     e Zd ZdZddZedd       Z fdZ xZS )PreloadPipelineIdaK  
    Chrome manages different types of preloads together using a
    concept of preloading pipeline. For example, if a site uses a
    SpeculationRules for prerender, Chrome first starts a prefetch and
    then upgrades it to prerender.

    CDP events for them are emitted separately but they share
    ``PreloadPipelineId``.
    c                    | S r   r   r   s    r   r   zPreloadPipelineId.to_json   r   r   c                     | |      S r   r   r   s     r   r   zPreloadPipelineId.from_json   r   r   c                >    dj                  t        | 	               S )NzPreloadPipelineId({})r   r!   s    r   r    zPreloadPipelineId.__repr__   s    &--eg.>.@AAr   r#   )r   r%   r$   rw   r&   r-   s   @r   rw   rw      s-      B Br   rw   c                  J   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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.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdK ZMeNdL        ZOyM)NPrerenderFinalStatusz5
    List of FinalStatus reasons for Prerender2.
    	Activated	DestroyedLowEndDeviceInvalidSchemeRedirectInvalidSchemeNavigationNavigationRequestBlockedByCspMainFrameNavigationMojoBinderPolicyRendererProcessCrashedRendererProcessKilledDownloadTriggerDestroyedNavigationNotCommittedNavigationBadHttpStatusClientCertRequestedNavigationRequestNetworkErrorCancelAllHostsForTestingDidFailLoadStopSslCertificateErrorLoginAuthRequestedUaChangeRequiresReloadBlockedByClientAudioOutputDeviceRequestedMixedContentTriggerBackgroundedMemoryLimitExceededDataSaverEnabledTriggerUrlHasEffectiveUrlActivatedBeforeStartedInactivePageRestrictionStartFailedTimeoutBackgrounded$CrossSiteRedirectInInitialNavigation&CrossSiteNavigationInInitialNavigation6SameSiteCrossOriginRedirectNotOptInInInitialNavigation8SameSiteCrossOriginNavigationNotOptInInInitialNavigation%ActivationNavigationParameterMismatchActivatedInBackgroundEmbedderHostDisallowed*ActivationNavigationDestroyedBeforeSuccessTabClosedByUserGestureTabClosedWithoutUserGesture&PrimaryMainFrameRendererProcessCrashed%PrimaryMainFrameRendererProcessKilled"ActivationFramePolicyNotCompatiblePreloadingDisabledBatterySaverEnabled"ActivatedDuringMainFrameNavigation"PreloadingUnsupportedByWebContents&CrossSiteRedirectInMainFrameNavigation(CrossSiteNavigationInMainFrameNavigation8SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation:SameSiteCrossOriginNavigationNotOptInInMainFrameNavigationMemoryPressureOnTriggerMemoryPressureAfterTriggeredPrerenderingDisabledByDevToolsSpeculationRuleRemoved&ActivatedWithAuxiliaryBrowsingContexts&MaxNumOfRunningEagerPrerendersExceeded)MaxNumOfRunningNonEagerPrerendersExceeded)MaxNumOfRunningEmbedderPrerendersExceededPrerenderingUrlHasEffectiveUrl(RedirectedPrerenderingUrlHasEffectiveUrlActivationUrlHasEffectiveUrlJavaScriptInterfaceAddedJavaScriptInterfaceRemovedAllPrerenderingCanceledWindowClosedSlowNetworkOtherPrerenderedPageActivatedV8OptimizerDisabledPrerenderFailedDuringPrefetchc                    | j                   S r   rN   r   s    r   r   zPrerenderFinalStatus.to_json=  rP   r   c                     | |      S r   r   r   s     r   r   zPrerenderFinalStatus.from_json@  r   r   N)Pr'   r(   r)   r*   	ACTIVATED	DESTROYEDLOW_END_DEVICEINVALID_SCHEME_REDIRECTINVALID_SCHEME_NAVIGATION!NAVIGATION_REQUEST_BLOCKED_BY_CSPMAIN_FRAME_NAVIGATIONMOJO_BINDER_POLICYRENDERER_PROCESS_CRASHEDRENDERER_PROCESS_KILLEDDOWNLOADTRIGGER_DESTROYEDNAVIGATION_NOT_COMMITTEDNAVIGATION_BAD_HTTP_STATUSCLIENT_CERT_REQUESTED NAVIGATION_REQUEST_NETWORK_ERRORCANCEL_ALL_HOSTS_FOR_TESTINGDID_FAIL_LOADSTOPSSL_CERTIFICATE_ERRORLOGIN_AUTH_REQUESTEDUA_CHANGE_REQUIRES_RELOADBLOCKED_BY_CLIENTAUDIO_OUTPUT_DEVICE_REQUESTEDMIXED_CONTENTTRIGGER_BACKGROUNDEDMEMORY_LIMIT_EXCEEDEDDATA_SAVER_ENABLEDTRIGGER_URL_HAS_EFFECTIVE_URLACTIVATED_BEFORE_STARTEDINACTIVE_PAGE_RESTRICTIONSTART_FAILEDTIMEOUT_BACKGROUNDED)CROSS_SITE_REDIRECT_IN_INITIAL_NAVIGATION+CROSS_SITE_NAVIGATION_IN_INITIAL_NAVIGATION@SAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_INITIAL_NAVIGATIONBSAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_INITIAL_NAVIGATION(ACTIVATION_NAVIGATION_PARAMETER_MISMATCHACTIVATED_IN_BACKGROUNDEMBEDDER_HOST_DISALLOWED.ACTIVATION_NAVIGATION_DESTROYED_BEFORE_SUCCESSTAB_CLOSED_BY_USER_GESTURETAB_CLOSED_WITHOUT_USER_GESTURE+PRIMARY_MAIN_FRAME_RENDERER_PROCESS_CRASHED*PRIMARY_MAIN_FRAME_RENDERER_PROCESS_KILLED&ACTIVATION_FRAME_POLICY_NOT_COMPATIBLEPRELOADING_DISABLEDBATTERY_SAVER_ENABLED&ACTIVATED_DURING_MAIN_FRAME_NAVIGATION&PRELOADING_UNSUPPORTED_BY_WEB_CONTENTS,CROSS_SITE_REDIRECT_IN_MAIN_FRAME_NAVIGATION.CROSS_SITE_NAVIGATION_IN_MAIN_FRAME_NAVIGATIONCSAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONESAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONMEMORY_PRESSURE_ON_TRIGGERMEMORY_PRESSURE_AFTER_TRIGGERED"PRERENDERING_DISABLED_BY_DEV_TOOLSSPECULATION_RULE_REMOVED*ACTIVATED_WITH_AUXILIARY_BROWSING_CONTEXTS,MAX_NUM_OF_RUNNING_EAGER_PRERENDERS_EXCEEDED0MAX_NUM_OF_RUNNING_NON_EAGER_PRERENDERS_EXCEEDED/MAX_NUM_OF_RUNNING_EMBEDDER_PRERENDERS_EXCEEDED"PRERENDERING_URL_HAS_EFFECTIVE_URL-REDIRECTED_PRERENDERING_URL_HAS_EFFECTIVE_URL ACTIVATION_URL_HAS_EFFECTIVE_URLJAVA_SCRIPT_INTERFACE_ADDEDJAVA_SCRIPT_INTERFACE_REMOVEDALL_PRERENDERING_CANCELEDWINDOW_CLOSEDSLOW_NETWORK OTHER_PRERENDERED_PAGE_ACTIVATEDV8_OPTIMIZER_DISABLED PRERENDER_FAILED_DURING_PREFETCHr   r+   r   r   r   r   r|   r|      s    II#N5 9(G%1+75H*7!:1'F$#= !MD1/ 8)$@!"M01+$?!7 9 L00V-2Z/GD JDF/V,575a2!9&C#2Z/1X.-Q*.1-Q*-Q*3[05_2 KEG MII!:&D#)I&71Y.3[07b46a3)I&4^1'E$"<$@! 9"M L'F$1'F$  r   r|   c                  >    e Zd ZdZdZdZdZdZdZdZ	d Z
ed	        Zy
)PreloadingStatusz
    Preloading status values, see also PreloadingTriggeringOutcome. This
    status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
    PendingRunningReadySuccessFailureNotSupportedc                    | j                   S r   rN   r   s    r   r   zPreloadingStatus.to_jsonQ  rP   r   c                     | |      S r   r   r   s     r   r   zPreloadingStatus.from_jsonT  r   r   N)r'   r(   r)   r*   PENDINGRUNNINGREADYSUCCESSFAILURENOT_SUPPORTEDr   r+   r   r   r   r   r  r  E  s@     GGEGG"M  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dZdZdZ dZ!d  Z"e#d!        Z$y")#PrefetchStatusz
    TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and
    filter out the ones that aren't necessary to the developers.
    PrefetchAllowed PrefetchFailedIneligibleRedirectPrefetchFailedInvalidRedirectPrefetchFailedMIMENotSupportedPrefetchFailedNetErrorPrefetchFailedNon2XX$PrefetchEvictedAfterCandidateRemovedPrefetchEvictedForNewerPrefetchPrefetchHeldbackPrefetchIneligibleRetryAfterPrefetchIsPrivacyDecoyPrefetchIsStale-PrefetchNotEligibleBrowserContextOffTheRecord#PrefetchNotEligibleDataSaverEnabled PrefetchNotEligibleExistingProxy"PrefetchNotEligibleHostIsNonUnique-PrefetchNotEligibleNonDefaultStoragePartition;PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy#PrefetchNotEligibleSchemeIsNotHttps!PrefetchNotEligibleUserHasCookies'PrefetchNotEligibleUserHasServiceWorker&PrefetchNotEligibleBatterySaverEnabled%PrefetchNotEligiblePreloadingDisabledPrefetchNotFinishedInTimePrefetchNotStartedPrefetchNotUsedCookiesChangedPrefetchProxyNotAvailablePrefetchResponseUsedPrefetchSuccessfulButNotUsedPrefetchNotUsedProbeFailedc                    | j                   S r   rN   r   s    r   r   zPrefetchStatus.to_json}  rP   r   c                     | |      S r   r   r   s     r   r   zPrefetchStatus.from_json  r   r   N)%r'   r(   r)   r*   PREFETCH_ALLOWED#PREFETCH_FAILED_INELIGIBLE_REDIRECT PREFETCH_FAILED_INVALID_REDIRECT"PREFETCH_FAILED_MIME_NOT_SUPPORTEDPREFETCH_FAILED_NET_ERRORPREFETCH_FAILED_NON2_XX(PREFETCH_EVICTED_AFTER_CANDIDATE_REMOVED#PREFETCH_EVICTED_FOR_NEWER_PREFETCHPREFETCH_HELDBACKPREFETCH_INELIGIBLE_RETRY_AFTERPREFETCH_IS_PRIVACY_DECOYPREFETCH_IS_STALE4PREFETCH_NOT_ELIGIBLE_BROWSER_CONTEXT_OFF_THE_RECORD(PREFETCH_NOT_ELIGIBLE_DATA_SAVER_ENABLED$PREFETCH_NOT_ELIGIBLE_EXISTING_PROXY(PREFETCH_NOT_ELIGIBLE_HOST_IS_NON_UNIQUE3PREFETCH_NOT_ELIGIBLE_NON_DEFAULT_STORAGE_PARTITIONDPREFETCH_NOT_ELIGIBLE_SAME_SITE_CROSS_ORIGIN_PREFETCH_REQUIRED_PROXY)PREFETCH_NOT_ELIGIBLE_SCHEME_IS_NOT_HTTPS&PREFETCH_NOT_ELIGIBLE_USER_HAS_COOKIES-PREFETCH_NOT_ELIGIBLE_USER_HAS_SERVICE_WORKER+PREFETCH_NOT_ELIGIBLE_BATTERY_SAVER_ENABLED)PREFETCH_NOT_ELIGIBLE_PRELOADING_DISABLEDPREFETCH_NOT_FINISHED_IN_TIMEPREFETCH_NOT_STARTED!PREFETCH_NOT_USED_COOKIES_CHANGEDPREFETCH_PROXY_NOT_AVAILABLEPREFETCH_RESPONSE_USED PREFETCH_SUCCESSFUL_BUT_NOT_USEDPREFETCH_NOT_USED_PROBE_FAILEDr   r+   r   r   r   r   r"  r"  Y  s     )*L''F$)I& 84/U,*K'*&D# 8);j8/T,+M(/S,:i7 LIH0U--P*4]12Z/0W-$?!/(G%#> 3'E$%A"  r   r"  c                  N    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	y)
PrerenderMismatchedHeaderszS
    Information of headers to be displayed when the header mismatch occurred.
    r%   header_nameNr5   initial_valueactivation_valuec                    t               }| j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )N
headerNameinitialValueactivationValue)rB   rc  rd  re  rC   s     r   r   z"PrerenderMismatchedHeaders.to_json  sW    v!--\)#'#5#5D   ,&*&;&;D"#r   c                     | t        |d         d|v rt        |d         nd d|v rt        |d               S d       S )Nrg  rh  ri  )rc  rd  re  )r%   r   s     r   r   z$PrerenderMismatchedHeaders.from_json  sZ    D./7E7M#d>23SW=NRV=VS&7!89
 	
 ]a
 	
r   )
r'   r(   r)   r*   rI   rd  re  r   r+   r   r   r   r   rb  rb    s?     *.M'.-1*1 
 
r   rb  c               #     K   ddi} | }y w)NmethodzPreload.enabler   cmd_dictr   s     r   enablero    s      	"H >D   
c               #     K   ddi} | }y w)Nrl  zPreload.disabler   rm  s     r   disablerr    s      	#H >Drp  zPreload.ruleSetUpdatedc                  .    e Zd ZU dZded<   edd       Zy)RuleSetUpdatedzF
    Upsert. Currently, it is only emitted when a rule set added.
    r/   rule_setc                @     | t         j                  |d               S )NruleSet)ru  )r/   r   r   s     r   r   zRuleSetUpdated.from_json  s!    &&tI7
 	
r   N)r   r   r$   rt  r'   r(   r)   r*   rI   r+   r   r   r   r   rt  rt    s!     
 
r   rt  zPreload.ruleSetRemovedc                  *    e Zd ZU ded<   edd       Zy)RuleSetRemovedr   r0   c                @     | t         j                  |d               S )Nr;   )r0   )r   r   r   s     r   r   zRuleSetRemoved.from_json  s!    ##DJ/
 	
r   N)r   r   r$   rz  )r'   r(   r)   rI   r+   r   r   r   r   rz  rz    s     
N
 
r   rz  z"Preload.preloadEnabledStateUpdatedc                  V    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y	)PreloadEnabledStateUpdatedz8
    Fired when a preload enabled state is updated.
    booldisabled_by_preferencedisabled_by_data_saverdisabled_by_battery_saver/disabled_by_holdback_prefetch_speculation_rules0disabled_by_holdback_prerender_speculation_rulesc           
          | t        |d         t        |d         t        |d         t        |d         t        |d               S )NdisabledByPreferencedisabledByDataSaverdisabledByBatterySaver*disabledByHoldbackPrefetchSpeculationRules+disabledByHoldbackPrerenderSpeculationRules)r  r  r  r  r  )r~  r   s     r   r   z$PreloadEnabledStateUpdated.from_json  sU    #'-C(D#E#'-B(C#D&*40H+I&J<@FrAs<t=A$GtBu=v
 	
r   N)r   r   r$   r}  rx  r   r   r   r}  r}    s9     !   ##5996::
 
r   r}  zPreload.prefetchStatusUpdatedc                  j    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<   edd       Zy)PrefetchStatusUpdatedz3
    Fired when a prefetch attempt is updated.
    re   rm   rw   pipeline_idzpage.FrameIdinitiating_frame_idr%   prefetch_urlr  statusr"  prefetch_statusznetwork.RequestIdr7   c                h    | t         j                  |d         t        j                  |d         t        j                  j                  |d         t        |d         t        j                  |d         t        j                  |d         t        j                  j                  |d               S )	Nrm   
pipelineIdinitiatingFrameIdprefetchUrlr  prefetchStatusr?   )rm   r  r  r  r  r  r7   )
re   r   rw   r
   FrameIdr%   r  r"  r	   rG   r   s     r   r   zPrefetchStatusUpdated.from_json  s    $..tE{;)33D4FG $ 6 6t<O7P QT-01#--d8n=*44T:J5KL((2243DE
 	
r   N)r   r   r$   r  rx  r   r   r   r  r    sE     
""%%##!!	
 	
r   r  zPreload.prerenderStatusUpdatedc                  `    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y)PrerenderStatusUpdatedz4
    Fired when a prerender attempt is updated.
    re   rm   rw   r  r  r  z%typing.Optional[PrerenderFinalStatus]prerender_statusr5   disallowed_mojo_interfacez8typing.Optional[typing.List[PrerenderMismatchedHeaders]]mismatched_headersc                f    | t         j                  |d         t        j                  |d         t        j                  |d         d|v rt        j                  |d         nd d|v rt        |d         nd d|v r+|d   D cg c]  }t        j                  |       c}      S d       S c c}w )Nrm   r  r  prerenderStatusdisallowedMojoInterfacemismatchedHeaders)rm   r  r  r  r  r  )re   r   rw   r  r|   r%   rb  ru   s      r   r   z PrerenderStatusUpdated.from_json  s    $..tE{;)33D4FG#--d8n=XimqXq1;;DAR<STw{NgkoNoc$/H*I&Juy pC  GK  pKQUViQjkA : D DQ Gk
 	
 QU
 	
  ls   B.N)r   r   r$   r  rx  r   r   r   r  r     sA     
"";;  43PP
 
r   r  z'Preload.preloadingAttemptSourcesUpdatedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	PreloadingAttemptSourcesUpdatedzK
    Send a list of sources for all preloading attempts in a document.
    r1   r2   z$typing.List[PreloadingAttemptSource]preloading_attempt_sourcesc           	          | t         j                  j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr<   preloadingAttemptSources)r2   r  )r	   rE   r   rl   ru   s      r   r   z)PreloadingAttemptSourcesUpdated.from_json$  sL    &&00j1ABVZ[uVv'wQR(?(I(I!(L'w
 	
'ws   A
N)r   r   r$   r  rx  r   r   r   r  r    s'       DD
 
r   r  )r$   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])#
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r%   r   r/   EnumrH   rU   r]   re   rl   rw   r|   r  r"  rb  ro  rr  rt  rz  r}  r  r  r  r   r   r   <module>r     s   # * !     : : E
 E
 E
P	tyy 			 "DII   !
 !
 !
H 
 
 
<B B*S499 Sltyy ()TYY )X 
 
 
8 %&


 

  '

 %&

 
  '
 12

 
  3
* ,-

 
  .
4 -.

 
  /
2 67

 
  8
r   