
    ]hL                    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j                         Z G d dej                         Z G d dej                         Zd4dZd4d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/ d0                    Z  ed1      e G d2 d3                    Z!y)5    )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    {/home/totalfocus.sw7ft.com/public_html/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v117/preload.pyto_jsonzRuleSetId.to_json   s        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backendNodeIdr0   	requestId	errorTypeerrorMessage)
dictr*   r   r,   r-   r.   r0   r1   r2   r3   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 )
Nr5   r6   r7   r8   r0   r9   r:   r;   )r*   r,   r-   r.   r0   r1   r2   r3   )	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__r.   r0   r1   r2   r3   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)rB   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   rB   rB   i   s'     71  r   rB   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   rH   r   s    r   r   zSpeculationAction.to_json~   rJ   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   rO   rO   u   s,    
 HI  r   rO   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   rH   r   s    r   r   zSpeculationTargetHint.to_json   rJ   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   rW   rW      s,     ED  r   rW   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.
    r+   r,   rO   actionr!   r0   Nz&typing.Optional[SpeculationTargetHint]target_hintc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  |d<   | j
                  | j
                  j                         |d<   |S )Nr6   r`   r0   
targetHint)r<   r,   r   r`   r0   ra   r=   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 )Nr6   r`   r0   rc   )r,   r`   r0   ra   )r	   r?   r   rO   r!   rW   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%   rC   ra   r   r&   r   r   r   r   r_   r_      s>      	H:>K7> 
 
r   r_   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 mulitple rule sets and links to trigger a single attempt.
    r_   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 )Nrg   
ruleSetIdsnodeIds)r<   rg   r   rh   ri   )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 )Nrg   rk   rl   )rg   rh   ri   )r_   r   r   r   r@   r   r   rm   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%   rC   r   r&   r   r   r   r   rf   rf      s4     
((,, 
 
r   rf   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"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@ZBdA ZCeDdB        ZEyC)DPrerenderFinalStatusz5
    List of FinalStatus reasons for Prerender2.
    	Activated	DestroyedLowEndDeviceInvalidSchemeRedirectInvalidSchemeNavigationInProgressNavigationNavigationRequestBlockedByCspMainFrameNavigationMojoBinderPolicyRendererProcessCrashedRendererProcessKilledDownloadTriggerDestroyedNavigationNotCommittedNavigationBadHttpStatusClientCertRequestedNavigationRequestNetworkError!MaxNumOfRunningPrerendersExceededCancelAllHostsForTestingDidFailLoadStopSslCertificateErrorLoginAuthRequestedUaChangeRequiresReloadBlockedByClientAudioOutputDeviceRequestedMixedContentTriggerBackgroundedMemoryLimitExceededFailToGetMemoryUsageDataSaverEnabledHasEffectiveUrl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ResourceLoadBlockedByClientSpeculationRuleRemoved&ActivatedWithAuxiliaryBrowsingContextsc                    | j                   S r   rH   r   s    r   r   zPrerenderFinalStatus.to_json  rJ   r   c                     | |      S r   r   r   s     r   r   zPrerenderFinalStatus.from_json!  r   r   N)Fr"   r#   r$   r%   	ACTIVATED	DESTROYEDLOW_END_DEVICEINVALID_SCHEME_REDIRECTINVALID_SCHEME_NAVIGATIONIN_PROGRESS_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&MAX_NUM_OF_RUNNING_PRERENDERS_EXCEEDED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FAIL_TO_GET_MEMORY_USAGEDATA_SAVER_ENABLED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RESOURCE_LOAD_BLOCKED_BY_CLIENTSPECULATION_RULE_REMOVED*ACTIVATED_WITH_AUXILIARY_BROWSING_CONTEXTSr   r&   r   r   r   r   rq   rq      s    II#N5 93(G%1+75H*7!:1'F$-P*#= !MD1/ 8)$@!"M015+)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&&C#71Y.  r   rq   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   rH   r   s    r   r   zPreloadingStatus.to_json2  rJ   r   c                     | |      S r   r   r   s     r   r   zPreloadingStatus.from_json5  r   r   N)r"   r#   r$   r%   PENDINGRUNNINGREADYSUCCESSFAILURENOT_SUPPORTEDr   r&   r   r   r   r   r   r   &  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"PrefetchFailedPerPageLimitExceededPrefetchEvicted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   rH   r   s    r   r   zPrefetchStatus.to_json^  rJ   r   c                     | |      S r   r   r   s     r   r   zPrefetchStatus.from_jsona  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_FAILED_PER_PAGE_LIMIT_EXCEEDEDPREFETCH_EVICTED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  :  s     )*L''F$)I& 84.R+(*&D# 8);j8/T,+M(/S,:i7 LIH0U--P*4]12Z/0W-$?!/(G%#> 3'E$%A"  r   r  c               #     K   ddi} | }y w)NmethodzPreload.enabler   cmd_dictr   s     r   enablerF  f  s      	"H >D   
c               #     K   ddi} | }y w)NrC  zPreload.disabler   rD  s     r   disablerI  n  s      	#H >DrG  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)rL  )r)   r   r   s     r   r   zRuleSetUpdated.from_json~  s!    &&tI7
 	
r   N)r   r   r    rK  r"   r#   r$   r%   rC   r&   r   r   r   r   rK  rK  v  s!     
 
r   rK  zPreload.ruleSetRemovedc                  *    e Zd ZU ded<   edd       Zy)RuleSetRemovedr   r*   c                @     | t         j                  |d               S )Nr5   )r*   )r   r   r   s     r   r   zRuleSetRemoved.from_json  s!    ##DJ/
 	
r   N)r   r   r    rQ  )r"   r#   r$   rC   r&   r   r   r   r   rQ  rQ    s     
N
 
r   rQ  z!Preload.prerenderAttemptCompletedc                  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)PrerenderAttemptCompletedz6
    Fired when a prerender attempt is completed.
    r_   rg   page.FrameIdinitiating_frame_idr!   prerendering_urlrq   final_statusr/   disallowed_api_methodc           
          | t         j                  |d         t        j                  j                  |d         t	        |d         t
        j                  |d         d|v rt	        |d               S d       S )Nrg   initiatingFrameIdprerenderingUrlfinalStatusdisallowedApiMethod)rg   rV  rW  rX  rY  )r_   r   r
   FrameIdr!   rq   r   s     r   r   z#PrerenderAttemptCompleted.from_json  s    $..tE{; $ 6 6t<O7P Q &7!89-77]8KLF[_cFc#d+@&A"B
 	

 jn
 	
r   N)r   r   r    rT  rO  r   r   r   rT  rT    s;     
%%&& 0/
 
r   rT  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)rc  rd  re  rf  rg  )rb  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    ra  rO  r   r   r   ra  ra    s9     !   ##5996::
 
r   ra  zPreload.prefetchStatusUpdatedc                  `    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)PrefetchStatusUpdatedz3
    Fired when a prefetch attempt is updated.
    r_   rg   rU  rV  r!   prefetch_urlr   statusr  prefetch_statusznetwork.RequestIdr1   c                :    | t         j                  |d         t        j                  j                  |d         t	        |d         t
        j                  |d         t        j                  |d         t        j                  j                  |d               S )Nrg   r[  prefetchUrlrq  prefetchStatusr9   )rg   rV  rp  rq  rr  r1   )	r_   r   r
   r_  r!   r   r  r	   rA   r   s     r   r   zPrefetchStatusUpdated.from_json  s    $..tE{; $ 6 6t<O7P QT-01#--d8n=*44T:J5KL((2243DE
 	
r   N)r   r   r    ro  rO  r   r   r   ro  ro    s?     
%%##!!
 
r   ro  zPreload.prerenderStatusUpdatedc                  L    e Zd ZU dZ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.
    r_   rg   r   rq  z%typing.Optional[PrerenderFinalStatus]prerender_statusr/   disallowed_mojo_interfacec           	          | t         j                  |d         t        j                  |d         d|v rt        j                  |d         nd d|v rt	        |d               S d       S )Nrg   rq  prerenderStatusdisallowedMojoInterface)rg   rq  rx  ry  )r_   r   r   rq   r!   r   s     r   r   z PrerenderStatusUpdated.from_json  sz    $..tE{;#--d8n=XimqXq1;;DAR<STw{NgkoNoc$/H*I&J	
 	
 vz	
 	
r   N)r   r   r    rw  rO  r   r   r   rw  rw    s5     
;;  43
 
r   rw  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.
    r+   r,   z$typing.List[PreloadingAttemptSource]preloading_attempt_sourcesc           	          | t         j                  j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )Nr6   preloadingAttemptSources)r,   r  )r	   r?   r   rf   ro   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~  rO  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)   EnumrB   rO   rW   r_   rf   rq   r   r  rF  rI  rK  rQ  rT  ra  ro  rw  r~  r   r   r   <module>r     s   # * !     : : E
 E
 E
P	tyy 			 "DII   !
 !
 !
H 
 
 
<I499 IXtyy ()TYY )X %&


 

  '

 %&

 
  '
 01

 
  2
0 12

 
  3
* ,-

 
  .
0 -.

 
  /
* 67

 
  8
r   