
    ?OOf                      d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ dd	l	mZ dd
l	mZ ddl	mZ  G d de      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 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 e G d* d+             Z!e G d, d-             Z"e G d. d/             Z#e G d0 d1             Z$e G d2 d3             Z%e G d4 d5             Z&e G d6 d7             Z' G d8 d9e      Z( G d: d;ej$                        Z)e G d< d=             Z*e G d> d?             Z+ G d@ dAej$                        Z,e G dB dC             Z-e G dD dE             Z.e G dF dG             Z/e G dH dI             Z0e G dJ dK             Z1e G dL dM             Z2e G dN dO             Z3e G dP dQ             Z4 G dR dSej$                        Z5 G dT dUej$                        Z6e G dV dW             Z7e G dX dY             Z8 G dZ d[ej$                        Z9e G d\ d]             Z:e G d^ d_             Z;e G d` da             Z<e G db dc             Z=e G dd de             Z>e G df dg             Z?e G dh di             Z@e G dj dk             ZAe G dl dm             ZBe G dn do             ZCe G dp dq             ZDe G dr ds             ZE G dt duej$                        ZF G dv dwej$                        ZG G dx dyej$                        ZH G dz d{ej$                        ZIe G d| d}             ZJe G d~ d             ZKe G d d             ZL	 	 	 	 ddZM	 	 	 d	 	 	 	 	 	 	 	 	 ddZNddZO	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 ddZP	 d	 	 	 ddZQddZRddZSddZT	 	 d	 	 	 	 	 	 	 ddZU	 	 	 	 	 	 ddZVddZWddZX	 d	 	 	 ddZYddZZddZ[ddZ\	 	 	 	 ddZ]ddZ^ddZ_ddZ`ddZa	 	 	 	 	 	 ddZbd dZc	 d	 	 	 	 	 d!dZd	 	 	 	 d"	 	 	 	 	 	 	 	 	 	 	 d#dZe	 	 	 	 d$dZf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&dZg	 	 d	 	 	 	 	 d'dZh	 	 	 	 d(dZi	 	 	 	 d(dZj	 	 	 	 d)dZk	 	 d	 	 	 	 	 	 	 	 	 	 	 d*dZl	 	 	 	 d+dZm	 	 	 	 d+dZn	 	 	 	 d,dZo	 	 	 	 d-dZp	 	 	 	 	 	 	 	 d.	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d/dZq	 	 	 	 	 	 	 	 d0dZr	 d	 	 	 	 	 d1dZs	 	 	 	 d2dZt	 	 	 	 	 	 d3dZu	 d	 	 	 	 	 d4dZv	 	 	 d	 	 	 	 	 	 	 d5dZw	 	 	 	 d+dZx	 d	 	 	 	 	 d6dZy	 	 	 	 	 d7	 	 	 	 	 	 	 	 	 	 	 d8dZzddZ{ddZ|ddZ}	 	 	 	 d9dZ~ddZ	 	 	 	 d:dZ	 	 	 	 	 	 d;dZddZ	 	 	 	 d<dZ	 	 	 	 d<dZ	 d	 	 	 	 	 d=dZddZ	 	 	 	 d+dZ	 	 	 	 d>dZ ed      e G d d                    Z ed      e G d dë                    Z edī      e G dń dƫ                    Z edǫ      e G dȄ dɫ                    Z edʫ      e G d˄ d̫                    Z edͫ      e G d΄ dϫ                    Z edЫ      e G dф dҫ                    Z edӫ      e G dԄ dի                    Z ed֫      e G dׄ dث                    Z ed٫      e G dڄ d۫                    Z edܫ      e G d݄ dޫ                    Z ed߫      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed       e G d d                    Z ed      e G d d                    Z ed      e G d d                    Z ed	      e G d
 d                    Zy(?      )annotations   )event_classT_JSON_DICT)	dataclassN)debugger)dom)	emulation)io)network)runtimec                  <     e Zd ZdZddZedd       Z fdZ xZS )FrameIdz"
    Unique frame identifier.
    c                    | S N selfs    m/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v125/page.pyto_jsonzFrameId.to_json           c                     | |      S r   r   clsjsons     r   	from_jsonzFrameId.from_json       4yr   c                >    dj                  t        | 	               S )NzFrameId({})formatsuper__repr__r   	__class__s    r   r#   zFrameId.__repr__   s    ##EG$4$677r   returnstr)r   r(   r'   r   	__name__
__module____qualname____doc__r   classmethodr   r#   __classcell__r%   s   @r   r   r      s+      8 8r   r   c                  2    e Zd ZdZdZdZdZd Zed        Z	y)AdFrameTypezA
    Indicates whether a frame has been identified as an ad.
    nonechildrootc                    | j                   S r   valuer   s    r   r   zAdFrameType.to_json+       zzr   c                     | |      S r   r   r   s     r   r   zAdFrameType.from_json.   r   r   N)
r*   r+   r,   r-   NONECHILDROOTr   r.   r   r   r   r   r2   r2   #   s1     DED  r   r2   c                  .    e Zd ZdZdZdZd Zed        Zy)AdFrameExplanation
ParentIsAdCreatedByAdScriptMatchedBlockingRulec                    | j                   S r   r7   r   s    r   r   zAdFrameExplanation.to_json8   r9   r   c                     | |      S r   r   r   s     r   r   zAdFrameExplanation.from_json;   r   r   N)	r*   r+   r,   PARENT_IS_ADCREATED_BY_AD_SCRIPTMATCHED_BLOCKING_RULEr   r.   r   r   r   r   r?   r?   3   s,    L.1  r   r?   c                  @    e Zd ZU dZded<   dZded<   d Zed        Zy)	AdFrameStatuszI
    Indicates whether a frame has been identified as an ad and why.
    r2   ad_frame_typeNz0typing.Optional[typing.List[AdFrameExplanation]]explanationsc                    t               }| j                  j                         |d<   | j                  +| j                  D cg c]  }|j                          c}|d<   |S c c}w )NadFrameTyperK   )dictrJ   r   rK   r   r   is      r   r   zAdFrameStatus.to_jsonI   sZ    v"0088:](9=9J9J#KAAIIK#KD  $L   A!c           	          | t         j                  |d         d|v r+|d   D cg c]  }t        j                  |       c}      S d       S c c}w )NrM   rK   )rJ   rK   )r2   r   r?   r   r   rP   s      r   r   zAdFrameStatus.from_jsonP   sY    %//]0CD\jnr\r4CWXa,66q9X
 	
x|
 	
X   A
)	r*   r+   r,   r-   __annotations__rK   r   r.   r   r   r   r   rI   rI   @   s3     EILBI 
 
r   rI   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	
AdScriptIdz_
    Identifies the bottom-most script which caused the frame to be labelled
    as an ad.
    zruntime.ScriptId	script_idzruntime.UniqueDebuggerIddebugger_idc                    t               }| j                  j                         |d<   | j                  j                         |d<   |S )NscriptId
debuggerId)rN   rX   r   rY   r   r   s     r   r   zAdScriptId.to_jsone   s>    v>>113Z!--557\r   c                     | t         j                  j                  |d         t         j                  j                  |d               S )Nr[   r\   )rX   rY   )r   ScriptIdr   UniqueDebuggerIdr   s     r   r   zAdScriptId.from_jsonk   sA    &&00j1AB00::4;MN
 	
r   Nr*   r+   r,   r-   rU   r   r.   r   r   r   r   rW   rW   X   s0       *) 
 
r   rW   c                  6    e Zd ZdZdZdZdZdZd Ze	d        Z
y)	SecureContextTypezQ
    Indicates whether the frame is a secure context and why it is the case.
    SecureSecureLocalhostInsecureSchemeInsecureAncestorc                    | j                   S r   r7   r   s    r   r   zSecureContextType.to_json|   r9   r   c                     | |      S r   r   r   s     r   r   zSecureContextType.from_json   r   r   N)r*   r+   r,   r-   SECURESECURE_LOCALHOSTINSECURE_SCHEMEINSECURE_ANCESTORr   r.   r   r   r   r   rc   rc   s   s8     F(&O*  r   rc   c                  2    e Zd ZdZdZdZdZd Zed        Z	y)CrossOriginIsolatedContextTypezV
    Indicates whether the frame is cross-origin isolated and why it is the case.
    IsolatedNotIsolatedNotIsolatedFeatureDisabledc                    | j                   S r   r7   r   s    r   r   z&CrossOriginIsolatedContextType.to_json   r9   r   c                     | |      S r   r   r   s     r   r   z(CrossOriginIsolatedContextType.from_json   r   r   N)
r*   r+   r,   r-   ISOLATEDNOT_ISOLATEDNOT_ISOLATED_FEATURE_DISABLEDr   r.   r   r   r   r   ro   ro      s2     H L$@!  r   ro   c                  2    e Zd ZdZdZdZdZd Zed        Z	y)GatedAPIFeaturesSharedArrayBuffers!SharedArrayBuffersTransferAllowedPerformanceMeasureMemoryPerformanceProfilec                    | j                   S r   r7   r   s    r   r   zGatedAPIFeatures.to_json   r9   r   c                     | |      S r   r   r   s     r   r   zGatedAPIFeatures.from_json   r   r   N)
r*   r+   r,   SHARED_ARRAY_BUFFERS%SHARED_ARRAY_BUFFERS_TRANSFER_ALLOWEDPERFORMANCE_MEASURE_MEMORYPERFORMANCE_PROFILEr   r.   r   r   r   r   ry   ry      s3    /,O)!;.  r   ry   c                  z   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@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdW ZYeZdX        Z[yY)ZPermissionsPolicyFeaturez
    All Permissions Policy features. This enum should match the one defined
    in third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5.
    accelerometerzambient-light-sensorzattribution-reportingautoplay	bluetoothzbrowsing-topicscamerazcaptured-surface-controlzch-dprzch-device-memoryzch-downlinkzch-ectzch-prefers-color-schemezch-prefers-reduced-motionzch-prefers-reduced-transparencyzch-rttzch-save-datazch-uaz
ch-ua-archzch-ua-bitnesszch-ua-platformzch-ua-modelzch-ua-mobilezch-ua-form-factorszch-ua-full-versionzch-ua-full-version-listzch-ua-platform-versionzch-ua-wow64zch-viewport-heightzch-viewport-widthzch-widthzclipboard-readzclipboard-writezcompute-pressurezcross-origin-isolatedzdirect-socketszdisplay-capturezdocument-domainzencrypted-mediazexecution-while-out-of-viewportzexecution-while-not-renderedzfocus-without-user-activation
fullscreen	frobulategamepadgeolocation	gyroscopehidzidentity-credentials-getzidle-detectionzinterest-cohortzjoin-ad-interest-groupzkeyboard-mapzlocal-fontsmagnetometer
microphonemidizotp-credentialspaymentzpicture-in-picturezprivate-aggregationzprivate-state-token-issuancezprivate-state-token-redemptionzpublickey-credentials-createzpublickey-credentials-getzrun-ad-auctionzscreen-wake-lockserialzshared-autofillzshared-storagezshared-storage-select-urlz
smart-cardzspeaker-selectionzstorage-accesszsub-appszsync-xhrunloadusbzusb-unrestrictedzvertical-scrollzweb-printingz	web-sharezwindow-managementzwindow-placementzxr-spatial-trackingc                    | j                   S r   r7   r   s    r   r   z PermissionsPolicyFeature.to_json   r9   r   c                     | |      S r   r   r   s     r   r   z"PermissionsPolicyFeature.from_json   r   r   N)\r*   r+   r,   r-   ACCELEROMETERAMBIENT_LIGHT_SENSORATTRIBUTION_REPORTINGAUTOPLAY	BLUETOOTHBROWSING_TOPICSCAMERACAPTURED_SURFACE_CONTROLCH_DPRCH_DEVICE_MEMORYCH_DOWNLINKCH_ECTCH_PREFERS_COLOR_SCHEMECH_PREFERS_REDUCED_MOTIONCH_PREFERS_REDUCED_TRANSPARENCYCH_RTTCH_SAVE_DATACH_UA
CH_UA_ARCHCH_UA_BITNESSCH_UA_PLATFORMCH_UA_MODELCH_UA_MOBILECH_UA_FORM_FACTORSCH_UA_FULL_VERSIONCH_UA_FULL_VERSION_LISTCH_UA_PLATFORM_VERSIONCH_UA_WOW64CH_VIEWPORT_HEIGHTCH_VIEWPORT_WIDTHCH_WIDTHCLIPBOARD_READCLIPBOARD_WRITECOMPUTE_PRESSURECROSS_ORIGIN_ISOLATEDDIRECT_SOCKETSDISPLAY_CAPTUREDOCUMENT_DOMAINENCRYPTED_MEDIAEXECUTION_WHILE_OUT_OF_VIEWPORTEXECUTION_WHILE_NOT_RENDEREDFOCUS_WITHOUT_USER_ACTIVATION
FULLSCREEN	FROBULATEGAMEPADGEOLOCATION	GYROSCOPEHIDIDENTITY_CREDENTIALS_GETIDLE_DETECTIONINTEREST_COHORTJOIN_AD_INTEREST_GROUPKEYBOARD_MAPLOCAL_FONTSMAGNETOMETER
MICROPHONEMIDIOTP_CREDENTIALSPAYMENTPICTURE_IN_PICTUREPRIVATE_AGGREGATIONPRIVATE_STATE_TOKEN_ISSUANCEPRIVATE_STATE_TOKEN_REDEMPTIONPUBLICKEY_CREDENTIALS_CREATEPUBLICKEY_CREDENTIALS_GETRUN_AD_AUCTIONSCREEN_WAKE_LOCKSERIALSHARED_AUTOFILLSHARED_STORAGESHARED_STORAGE_SELECT_URL
SMART_CARDSPEAKER_SELECTIONSTORAGE_ACCESSSUB_APPSSYNC_XHRUNLOADUSBUSB_UNRESTRICTEDVERTICAL_SCROLLWEB_PRINTING	WEB_SHAREWINDOW_MANAGEMENTWINDOW_PLACEMENTXR_SPATIAL_TRACKINGr   r.   r   r   r   r   r   r      s    $M13HI'OF9F)KF7 ;&G#F!LEJ#M%NK!L--75K-+H%N'O)3%N'O'O'O&G##A $C!JIGKI
C9%N'O5!LK!LJD'OG-/#A %E"#A  ;%N)F'O%N ;J+%NHHF
C)'O!LI+)/  r   r   c                  6    e Zd ZdZdZdZdZdZd Ze	d        Z
y)	PermissionsPolicyBlockReasonzA
    Reason for a permissions policy feature to be disabled.
    HeaderIframeAttributeInFencedFrameTreeInIsolatedAppc                    | j                   S r   r7   r   s    r   r   z$PermissionsPolicyBlockReason.to_json  r9   r   c                     | |      S r   r   r   s     r   r   z&PermissionsPolicyBlockReason.from_json  r   r   N)r*   r+   r,   r-   HEADERIFRAME_ATTRIBUTEIN_FENCED_FRAME_TREEIN_ISOLATED_APPr   r.   r   r   r   r   r   r     s8     F(.%O  r   r   c                  8    e Zd ZU ded<   ded<   d Zed        Zy)PermissionsPolicyBlockLocatorr   frame_idr   block_reasonc                    t               }| j                  j                         |d<   | j                  j                         |d<   |S )NframeIdblockReason)rN   r   r   r   r]   s     r   r   z%PermissionsPolicyBlockLocator.to_json  s=    v--//1Y"//779]r   c                n     | t         j                  |d         t        j                  |d               S )Nr   r   )r   r   )r   r   r   r   s     r   r   z'PermissionsPolicyBlockLocator.from_json"  s4    &&tI75??]@ST
 	
r   Nr*   r+   r,   rU   r   r.   r   r   r   r   r   r     s'    .. 
 
r   r   c                  F    e Zd ZU ded<   ded<   dZded<   d Zed	        Zy)
PermissionsPolicyFeatureStater   featureboolallowedNz.typing.Optional[PermissionsPolicyBlockLocator]locatorc                    t               }| j                  j                         |d<   | j                  |d<   | j                  | j                  j                         |d<   |S )Nr  r  r  )rN   r  r   r  r  r]   s     r   r   z%PermissionsPolicyFeatureState.to_json2  sQ    v,,..0Y,,Y<<#"ll224DOr   c                     | t         j                  |d         t        |d         d|v rt        j                  |d               S d       S )Nr  r  r  )r  r  r  )r   r   r  r   r   s     r   r   z'PermissionsPolicyFeatureState.from_json:  sY    ,66tIGi)PY]aPa1;;DOL
 	
 hl
 	
r   )r*   r+   r,   rU   r  r   r.   r   r   r   r   r  r  *  s1    %%M>BG;B 
 
r   r  c                  V    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZd Zed        Zy)OriginTrialTokenStatuszs
    Origin Trial(https://www.chromium.org/blink/origin-trials) support.
    Status for an Origin Trial token.
    SuccessNotSupportedInsecureExpiredWrongOriginInvalidSignature	MalformedWrongVersionFeatureDisabledTokenDisabledFeatureDisabledForUserUnknownTrialc                    | j                   S r   r7   r   s    r   r   zOriginTrialTokenStatus.to_jsonU  r9   r   c                     | |      S r   r   r   s     r   r   z OriginTrialTokenStatus.from_jsonX  r   r   N)r*   r+   r,   r-   SUCCESSNOT_SUPPORTEDINSECUREEXPIREDWRONG_ORIGININVALID_SIGNATURE	MALFORMEDWRONG_VERSIONFEATURE_DISABLEDTOKEN_DISABLEDFEATURE_DISABLED_FOR_USERUNKNOWN_TRIALr   r.   r   r   r   r   r  r  C  sa     G"MHG L*I"M($N 8"M  r   r  c                  6    e Zd ZdZdZdZdZdZd Ze	d        Z
y)	OriginTrialStatusz%
    Status for an Origin Trial.
    EnabledValidTokenNotProvidedOSNotSupportedTrialNotAllowedc                    | j                   S r   r7   r   s    r   r   zOriginTrialStatus.to_jsonf  r9   r   c                     | |      S r   r   r   s     r   r   zOriginTrialStatus.from_jsoni  r   r   N)r*   r+   r,   r-   ENABLEDVALID_TOKEN_NOT_PROVIDEDOS_NOT_SUPPORTEDTRIAL_NOT_ALLOWEDr   r.   r   r   r   r   r(  r(  ]  s9     G6')  r   r(  c                  *    e Zd ZdZdZd Zed        Zy)OriginTrialUsageRestrictionNoneSubsetc                    | j                   S r   r7   r   s    r   r   z#OriginTrialUsageRestriction.to_jsonr  r9   r   c                     | |      S r   r   r   s     r   r   z%OriginTrialUsageRestriction.from_jsonu  r   r   N)r*   r+   r,   r;   SUBSETr   r.   r   r   r   r   r4  r4  n  s%    DF  r   r4  c                  `    e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   d Zed        Zy)OriginTrialTokenr(   originr  match_sub_domains
trial_nameznetwork.TimeSinceEpochexpiry_timeis_third_partyr4  usage_restrictionc                   t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  j                         |d<   | j                  |d<   | j                  j                         |d<   |S )Nr<  matchSubDomains	trialName
expiryTimeisThirdPartyusageRestriction)rN   r<  r=  r>  r?  r   r@  rA  r]   s     r   r   zOriginTrialToken.to_json  s}    vX"&"8"8 OO[!--557\#22^#'#9#9#A#A#C r   c                     | t        |d         t        |d         t        |d         t        j                  j	                  |d         t        |d         t
        j	                  |d               S )Nr<  rC  rD  rE  rF  rG  )r<  r=  r>  r?  r@  rA  )r(   r  r   TimeSinceEpochr   r4  r   s     r   r   zOriginTrialToken.from_json  sp    tH~&"4(9#:;4,-..88l9KL^ 459CCDI[D\]
 	
r   Nr  r   r   r   r;  r;  z  s=    KO''22 
 
r   r;  c                  F    e Zd ZU ded<   ded<   dZded<   d Zed	        Zy)
OriginTrialTokenWithStatusr(   raw_token_textr  statusNz!typing.Optional[OriginTrialToken]parsed_tokenc                    t               }| j                  |d<   | j                  j                         |d<   | j                  | j                  j                         |d<   |S )NrawTokenTextrM  parsedToken)rN   rL  rM  r   rN  r]   s     r   r   z"OriginTrialTokenWithStatus.to_json  sY    v#22^,,.X("&"3"3";";"=Dr   c                     | t        |d         t        j                  |d         d|v rt        j                  |d               S d       S )NrP  rM  rQ  )rL  rM  rN  )r(   r  r   r;  r   s     r   r   z$OriginTrialTokenWithStatus.from_json  s[    tN34)33DNCLY]aLa)33D4GH
 	
 hl
 	
r   )r*   r+   r,   rU   rN  r   r.   r   r   r   r   rK  rK    s4    "" 7;L3: 
 
r   rK  c                  B    e Zd ZU ded<   ded<   ded<   d Zed        Zy	)
OriginTrialr(   r>  r(  rM  z'typing.List[OriginTrialTokenWithStatus]tokens_with_statusc                    t               }| j                  |d<   | j                  j                         |d<   | j                  D cg c]  }|j                          c}|d<   |S c c}w )NrD  rM  tokensWithStatus)rN   r>  rM  r   rU  rO   s      r   r   zOriginTrial.to_json  sZ    v OO[,,.X9=9P9P#QAAIIK#Q  $Rs   A$c           
          | t        |d         t        j                  |d         |d   D cg c]  }t        j                  |       c}      S c c}w )NrD  rM  rW  )r>  rM  rU  )r(   r(  r   rK  rS   s      r   r   zOriginTrial.from_json  sT    4,-$..tH~>QUVhQijA : D DQ Gj
 	
  ks   ANr  r   r   r   rT  rT    s,    O?? 
 
r   rT  c                      e Zd ZU dZded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   d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)Framez2
    Information about the Frame on the page.
    r   id_network.LoaderId	loader_idr(   urldomain_and_registrysecurity_origin	mime_typerc   secure_context_typero   "cross_origin_isolated_context_typeztyping.List[GatedAPIFeatures]gated_api_featuresNtyping.Optional[FrameId]	parent_idtyping.Optional[str]nameurl_fragmentunreachable_urlztyping.Optional[AdFrameStatus]ad_frame_statusc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  |d<   | j                  j                         |d<   | j                  j                         |d<   | j                  D cg c]  }|j                          c}|d	<   | j                  | j                  j                         |d
<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   |S c c}w )NidloaderIdr^  domainAndRegistrysecurityOriginmimeTypesecureContextTypecrossOriginIsolatedContextTypegatedAPIFeaturesparentIdrh  urlFragmentunreachableUrladFrameStatus)rN   r[  r   r]  r^  r_  r`  ra  rb  rc  rd  rf  rh  ri  rj  rk  rO   s      r   r   zFrame.to_json  sj   vXX%%'T
>>113ZhhU$($<$< !!%!5!5>>Z$($<$<$D$D$F !151X1X1`1`1b-.9=9P9P#QAAIIK#Q >>%#~~557D99 99DL("&"3"3D+%)%9%9D!"+$($8$8$@$@$BD! $Rs   	Fc                    | t         j                  |d         t        j                  j                  |d         t	        |d         t	        |d         t	        |d         t	        |d         t
        j                  |d         t        j                  |d         |d	   D cg c]  }t        j                  |       c}d
|v rt         j                  |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        j                  |d               S d       S c c}w )Nrm  rn  r^  ro  rp  rq  rr  rs  rt  ru  rh  rv  rw  rx  )r[  r]  r^  r_  r`  ra  rb  rc  rd  rf  rh  ri  rj  rk  )	r   r   r   LoaderIdr(   rc   ro   ry   rI   rS   s      r   r   zFrame.from_json  sJ   !!$t*-&&00j1ABDK  #D)<$= >%5 67$z*+ 1 ; ;DAT<U V/M/W/WX\]}X~/GKL^G_`! 0 : :1 =`=G4=Og''Z(89UY&,nT&\"$5Bd5JT-01PT;Kt;SC%5 67Y]N]aeNeM33D4IJ
 	
 lp
 	
  as   $E )r*   r+   r,   r-   rU   rf  rh  ri  rj  rk  r   r.   r   r   r   r   rZ  rZ    s     
L   
H   N +* )GF 65 +/I'. "&D
% *.L&- -1O)0 7;O3:. 
 
r   rZ  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y)FrameResourcez5
    Information about the Resource on the page.
    r(   r^  znetwork.ResourceTypetype_ra  N'typing.Optional[network.TimeSinceEpoch]last_modifiedtyping.Optional[float]content_sizetyping.Optional[bool]failedcanceledc                   t               }| j                  |d<   | j                  j                         |d<   | j                  |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )Nr^  typerq  lastModifiedcontentSizer  r  )	rN   r^  r}  r   ra  r  r  r  r  r]   s     r   r   zFrameResource.to_jsonH  s    vhhUzz))+V>>Z)#'#5#5#=#=#?D ("&"3"3D;;"![[DN==$#}}Dr   c                R    | t        |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        |d         nd d|v rt        |d               S d       S )	Nr^  r  rq  r  r  r  r  )r^  r}  ra  r  r  r  r  )r(   r   ResourceTyper   rI  floatr  r   s     r   r   zFrameResource.from_jsonW  s    DK &&00f>$z*+TbfjTj'00::4;OPpt7D7LtM23RV+3t+;4X'/9T/AT$z*+
 	
 HL
 	
r   )r*   r+   r,   r-   rU   r  r  r  r  r   r.   r   r   r   r   r|  r|  .  sk     
H   N >BM:A ,0L(/ %)F!( '+H#* 	
 	
r   r|  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)FrameResourceTreezR
    Information about the Frame hierarchy along with their cached resources.
    rZ  frameztyping.List[FrameResource]	resourcesNz/typing.Optional[typing.List[FrameResourceTree]]child_framesc                ,   t               }| j                  j                         |d<   | j                  D cg c]  }|j                          c}|d<   | j                  +| j                  D cg c]  }|j                          c}|d<   |S c c}w c c}w )Nr  r  childFrames)rN   r  r   r  r  rO   s      r   r   zFrameResourceTree.to_jsonr  sy    v

**,W26..AQQYY[A[(8<8I8I"J1199;"JD B"Js   B-Bc           
          | t         j                  |d         |d   D cg c]  }t        j                  |       c}d|v r+|d   D cg c]  }t        j                  |       c}      S d       S c c}w c c}w )Nr  r  r  )r  r  r  )rZ  r   r|  r  rS   s      r   r   zFrameResourceTree.from_jsonz  s{    //$w-0;?;LMa}..q1MZgkoZo$}BUVQ+55a8V
 	
 vz
 	
MVs   A5

A:	r*   r+   r,   r-   rU   r  r   r.   r   r   r   r   r  r  d  s>     L *) EILAH 
 
r   r  c                  @    e Zd ZU dZded<   dZded<   d Zed        Zy)		FrameTreez0
    Information about the Frame hierarchy.
    rZ  r  Nz'typing.Optional[typing.List[FrameTree]]r  c                    t               }| j                  j                         |d<   | j                  +| j                  D cg c]  }|j                          c}|d<   |S c c}w )Nr  r  )rN   r  r   r  rO   s      r   r   zFrameTree.to_json  sW    v

**,W(8<8I8I"J1199;"JD #KrQ   c           	          | t         j                  |d         d|v r+|d   D cg c]  }t        j                  |       c}      S d       S c c}w )Nr  r  )r  r  )rZ  r   r  rS   s      r   r   zFrameTree.from_json  sU    //$w-0R_cgRg$}:MNQ)--a0N
 	
mq
 	
NrT   r  r   r   r   r  r    s5     L =AL9@ 
 
r   r  c                  <     e Zd ZdZddZedd       Z fdZ xZS )ScriptIdentifierz#
    Unique script identifier.
    c                    | S r   r   r   s    r   r   zScriptIdentifier.to_json  r   r   c                     | |      S r   r   r   s     r   r   zScriptIdentifier.from_json  r   r   c                >    dj                  t        | 	               S )NzScriptIdentifier({})r    r$   s    r   r#   zScriptIdentifier.__repr__  s    %,,UW-=-?@@r   r&   )r   r(   r'   r  r)   r0   s   @r   r  r    s-      A Ar   r  c                  Z    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y)TransitionTypez
    Transition type.
    linktypedaddress_barauto_bookmarkauto_subframemanual_subframe	generatedauto_toplevelform_submitreloadkeywordkeyword_generatedotherc                    | j                   S r   r7   r   s    r   r   zTransitionType.to_json  r9   r   c                     | |      S r   r   r   s     r   r   zTransitionType.from_json  r   r   N)r*   r+   r,   r-   LINKTYPEDADDRESS_BARAUTO_BOOKMARKAUTO_SUBFRAMEMANUAL_SUBFRAME	GENERATEDAUTO_TOPLEVELFORM_SUBMITRELOADKEYWORDKEYWORD_GENERATEDOTHERr   r.   r   r   r   r   r  r    sd     DEK#M#M'OI#MKFG+E  r   r  c                  Z    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y)NavigationEntryz#
    Navigation history entry.
    intr[  r(   r^  user_typed_urltitler  transition_typec                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  j                         |d<   |S )Nrm  r^  userTypedURLr  transitionType)rN   r[  r^  r  r  r  r   r]   s     r   r   zNavigationEntry.to_json  s_    vXXT
hhU#22^

W!%!5!5!=!=!?r   c           
          | t        |d         t        |d         t        |d         t        |d         t        j                  |d               S )Nrm  r^  r  r  r  )r[  r^  r  r  r  )r  r(   r  r   r   s     r   r   zNavigationEntry.from_json  sS    DJDK tN34d7m$*44T:J5KL
 	
r   Nra   r   r   r   r  r    sE     
H 
H  J $# 
 
r   r  c                  r    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   d	Zd
ed<   d Zed        Zy	)ScreencastFrameMetadataz$
    Screencast frame metadata.
    r  
offset_toppage_scale_factordevice_widthdevice_heightscroll_offset_xscroll_offset_yNr~  	timestampc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  | j                  j                         |d<   |S )N	offsetToppageScaleFactordeviceWidthdeviceHeightscrollOffsetXscrollOffsetYr  )	rN   r  r  r  r  r  r  r  r   r]   s     r   r   zScreencastFrameMetadata.to_json  s    v OO["&"8"8"//]#11^ $ 4 4_ $ 4 4_>>% $ 6 6 8Dr   c                    | t        |d         t        |d         t        |d         t        |d         t        |d         t        |d         d|v r't        j                  j                  |d               S d       S )	Nr  r  r  r  r  r  r  )r  r  r  r  r  r  r  )r  r   rI  r   r   s     r   r   z!ScreencastFrameMetadata.from_json  s    T+./#D):$;<tM23^ 45!$"78!$"78MX\`M`g,,66tK7HI
 	
 gk
 	
r   )	r*   r+   r,   r-   rU   r  r   r.   r   r   r   r   r  r    s]           :>I6=
 	
 	
r   r  c                  6    e Zd ZdZdZdZdZdZd Ze	d        Z
y)	
DialogTypez!
    Javascript dialog type.
    alertconfirmpromptbeforeunloadc                    | j                   S r   r7   r   s    r   r   zDialogType.to_json*  r9   r   c                     | |      S r   r   r   s     r   r   zDialogType.from_json-  r   r   N)r*   r+   r,   r-   ALERTCONFIRMPROMPTBEFOREUNLOADr   r.   r   r   r   r   r  r  !  s6     EGF!L  r   r  c                  P    e Zd ZU dZded<   ded<   ded<   ded<   d Zed	        Zy
)AppManifestErrorz*
    Error while paring app manifest.
    r(   messager  criticallinecolumnc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   |S )Nr  r  r  r  )rN   r  r  r  r  r]   s     r   r   zAppManifestError.to_jsonC  sC    v,,Y==ZyyVXr   c           	     z     | t        |d         t        |d         t        |d         t        |d               S )Nr  r  r  r  )r  r  r  r  )r(   r  r   s     r   r   zAppManifestError.from_jsonK  s@    Y(j)*T&\"tH~&	
 	
r   Nra   r   r   r   r  r  2  s<     L M I K 
 
r   r  c                  2    e Zd ZU dZded<   d Zed        Zy)AppManifestParsedPropertiesz)
    Parsed app manifest properties.
    r(   scopec                8    t               }| j                  |d<   |S )Nr  )rN   r  r]   s     r   r   z#AppManifestParsedProperties.to_json]  s    v

Wr   c                ,     | t        |d               S )Nr  )r  r(   r   s     r   r   z%AppManifestParsedProperties.from_jsonb  s    d7m$
 	
r   Nra   r   r   r   r  r  U  s'     J
 
 
r   r  c                  P    e Zd ZU dZded<   ded<   ded<   ded<   d Zed        Zy	)
LayoutViewportz2
    Layout viewport position and dimensions.
    r  page_xpage_yclient_widthclient_heightc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   |S )NpageXpageYclientWidthclientHeight)rN   r  r  r  r  r]   s     r   r   zLayoutViewport.to_jsonz  sH    vWW"//]#11^r   c           	     z     | t        |d         t        |d         t        |d         t        |d               S )Nr  r  r  r  )r  r  r  r  r  r   s     r   r   zLayoutViewport.from_json  sA    tG}%tG}%T-01d>23	
 	
r   Nra   r   r   r   r  r  i  s>     K K   
 
r   r  c                  |    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   d Zed        Zy
)VisualViewportz:
    Visual viewport position, dimensions, and scale.
    r  offset_xoffset_yr  r  r  r  scaleNr  zoomc                "   t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  |d<   | j                  | j                  |d<   |S )	NoffsetXoffsetYr  r  r  r  r  r  )	rN   r   r  r  r  r  r  r  r  r]   s     r   r   zVisualViewport.to_json  s    v--Y--YWW"//]#11^

W99 99DLr   c                     | t        |d         t        |d         t        |d         t        |d         t        |d         t        |d         t        |d         d|v rt        |d         	      S d 	      S )
Nr  r  r  r  r  r  r  r  )r   r  r  r  r  r  r  r  r  r   s     r   r   zVisualViewport.from_json  s    4	?+4	?+g'g'tM23^ 45W&(.$tF|$	
 		
 =A	
 		
r   )	r*   r+   r,   r-   rU   r  r   r.   r   r   r   r   r  r    s`     O O M M   L $(D
 ' 

 

r   r  c                  Z    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y
)Viewportz,
    Viewport for capturing screenshot.
    r  xywidthheightr  c                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   |S )Nr  r  r  r  r  )rN   r  r  r  r  r  r]   s     r   r   zViewport.to_json  sO    vFFS	FFS	

WX

Wr   c           
          | t        |d         t        |d         t        |d         t        |d         t        |d               S )Nr  r  r  r  r  )r  r  r  r  r  r  r   s     r   r   zViewport.from_json  sK    DIDIW&h(W&
 	
r   Nra   r   r   r   r
  r
    sC     H H L M L 
 
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ed        Zy)FontFamiliesz+
    Generic font families collection.
    Nrg  standardfixedserif
sans_serifcursivefantasymathc                   t               }| j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j
                  | j
                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )Nr  r  r  	sansSerifr  r  r  )rN   r  r  r  r  r  r  r  r]   s     r   r   zFontFamilies.to_json  s    v==$#}}D::! JJDM::! JJDM??& $D<<#"llDO<<#"llDO99 99DL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               S d       S )	Nr  r  r  r  r  r  r  )r  r  r  r  r  r  r  r  r   s     r   r   zFontFamilies.from_json  s    .8D.@Sj)*d(/4#d7m$T(/4#d7m$T1<1Ds4,-$,5,=CY(4,5,=CY(4&,nT&\"
 	
 ;?
 	
r   )r*   r+   r,   r-   r  rU   r  r  r  r  r  r  r   r.   r   r   r   r   r  r    s{     &*H") #'E& #'E& (,J$+ %)G!( %)G!( "&D
%$ 	
 	
r   r  c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	ScriptFontFamiliesz0
    Font families collection for a script.
    r(   scriptr  font_familiesc                r    t               }| j                  |d<   | j                  j                         |d<   |S )Nr  fontFamilies)rN   r  r   r   r]   s     r   r   zScriptFontFamilies.to_json0  s4    vX#1199;^r   c                Z     | t        |d         t        j                  |d               S )Nr  r"  )r  r   )r(   r  r   r   s     r   r   zScriptFontFamilies.from_json6  s.    tH~&&00n1EF
 	
r   Nra   r   r   r   r  r  %  s/     K   
 
r   r  c                  D    e Zd ZU dZdZded<   dZded<   d Zed        Z	y)	FontSizesz
    Default font sizes.
    Ntyping.Optional[int]r  r  c                    t               }| j                  | j                  |d<   | j                  | j                  |d<   |S )Nr  r  )rN   r  r  r]   s     r   r   zFontSizes.to_jsonI  s=    v==$#}}D::! JJDMr   c                h     | d|v rt        |d         nd d|v rt        |d               S d       S )Nr  r  )r  r  r  r   s     r   r   zFontSizes.from_jsonQ  sD    .8D.@Sj)*d(/4#d7m$
 	
=A
 	
r   )
r*   r+   r,   r-   r  rU   r  r   r.   r   r   r   r   r%  r%  >  s:     &*H") #'E& 
 
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ed
        Zy)ClientNavigationReasonformSubmissionGetformSubmissionPosthttpHeaderRefreshscriptInitiatedmetaTagRefreshpageBlockInterstitialr  anchorClickc                    | j                   S r   r7   r   s    r   r   zClientNavigationReason.to_jsonc  r9   r   c                     | |      S r   r   r   s     r   r   z ClientNavigationReason.from_jsonf  r   r   N)r*   r+   r,   FORM_SUBMISSION_GETFORM_SUBMISSION_POSTHTTP_HEADER_REFRESHSCRIPT_INITIATEDMETA_TAG_REFRESHPAGE_BLOCK_INTERSTITIALr  ANCHOR_CLICKr   r.   r   r   r   r   r*  r*  Y  sI    -/-('5F L  r   r*  c                  2    e Zd ZdZdZdZdZd Zed        Z	y)ClientNavigationDisposition
currentTabnewTab	newWindowdownloadc                    | j                   S r   r7   r   s    r   r   z#ClientNavigationDisposition.to_jsonq  r9   r   c                     | |      S r   r   r   s     r   r   z%ClientNavigationDisposition.from_jsont  r   r   N)
r*   r+   r,   CURRENT_TABNEW_TAB
NEW_WINDOWDOWNLOADr   r.   r   r   r   r   r<  r<  k  s/    KGJH  r   r<  c                  8    e Zd ZU ded<   ded<   d Zed        Zy)InstallabilityErrorArgumentr(   rh  r8   c                V    t               }| j                  |d<   | j                  |d<   |S )Nrh  r8   )rN   rh  r8   r]   s     r   r   z#InstallabilityErrorArgument.to_json  s(    vyyV

Wr   c                F     | t        |d         t        |d               S )Nrh  r8   )rh  r8   r  r   s     r   r   z%InstallabilityErrorArgument.from_json  s'    T&\"d7m$
 	
r   Nr  r   r   r   rH  rH  y  s)     I J 
 
r   rH  c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	InstallabilityErrorz"
    The installability error
    r(   error_idz(typing.List[InstallabilityErrorArgument]error_argumentsc                    t               }| j                  |d<   | j                  D cg c]  }|j                          c}|d<   |S c c}w )NerrorIderrorArguments)rN   rM  rN  r   rO   s      r   r   zInstallabilityError.to_json  sC    v--Y7;7K7K!L!!))+!L "Ms   Ac           	          | t        |d         |d   D cg c]  }t        j                  |       c}      S c c}w )NrP  rQ  )rM  rN  )r(   rH  r   rS   s      r   r   zInstallabilityError.from_json  s>    i)OSTdOef!8BB1Ef
 	
fs   ;
Nra   r   r   r   rL  rL    s/     M >= 
 
r   rL  c                  F    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
 Zed        Zy)ReferrerPolicyz7
    The referring-policy used for the navigation.
    
noReferrernoReferrerWhenDowngrader<  originWhenCrossOrigin
sameOriginstrictOriginstrictOriginWhenCrossOrigin	unsafeUrlc                    | j                   S r   r7   r   s    r   r   zReferrerPolicy.to_json  r9   r   c                     | |      S r   r   r   s     r   r   zReferrerPolicy.from_json  r   r   N)r*   r+   r,   r-   NO_REFERRERNO_REFERRER_WHEN_DOWNGRADEORIGINORIGIN_WHEN_CROSS_ORIGINSAME_ORIGINSTRICT_ORIGINSTRICT_ORIGIN_WHEN_CROSS_ORIGIN
UNSAFE_URLr   r.   r   r   r   r   rT  rT    sM     K!:F6K"M&C#J  r   rT  c                  @    e Zd ZU dZded<   dZded<   d Zed        Zy)	CompilationCacheParamszV
    Per-script compilation cache parameters for ``Page.produceCompilationCache``
    r(   r^  Nr  eagerc                n    t               }| j                  |d<   | j                  | j                  |d<   |S )Nr^  rh  )rN   r^  rh  r]   s     r   r   zCompilationCacheParams.to_json  s2    vhhU::! JJDMr   c                \     | t        |d         d|v rt        |d               S d       S )Nr^  rh  )r^  rh  r(   r  r   s     r   r   z CompilationCacheParams.from_json  s:    DK )0D$tG}%
 	
>B
 	
r   )	r*   r+   r,   r-   rU   rh  r   r.   r   r   r   r   rg  rg    s4     
H $(E ' 
 
r   rg  c                  @    e Zd ZU dZded<   dZded<   d Zed        Zy)
FileFilterNrg  rh  !typing.Optional[typing.List[str]]acceptsc                    t               }| j                  | j                  |d<   | j                  | j                  D cg c]  }| c}|d<   |S c c}w )Nrh  ro  )rN   rh  ro  rO   s      r   r   zFileFilter.to_json  sL    v99 99DL<<#*.,,7Qq7DO 8s    	Ac           	          | d|v rt        |d         nd d|v r!|d   D cg c]  }t        |       c}      S d       S c c}w )Nrh  ro  )rh  ro  r  rS   s      r   r   zFileFilter.from_json  sP    &,nT&\"$9Bd9JT)_5SV5
 	
PT
 	
5s   A
)	r*   r+   r,   rh  rU   ro  r   r.   r   r   r   r   rm  rm    s1    !%D
%15G.5 
 
r   rm  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ed        Zy)FileHandlerr(   actionrh  launch_typeN+typing.Optional[typing.List[ImageResource]]icons(typing.Optional[typing.List[FileFilter]]ro  c                d   t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  +| j                  D cg c]  }|j                          c}|d<   | j                  +| j                  D cg c]  }|j                          c}|d<   |S c c}w c c}w )Nrt  rh  
launchTyperw  ro  )rN   rt  rh  ru  rw  r   ro  rO   s      r   r   zFileHandler.to_json  s    vXyyV!--\::!26**=QQYY[=DM<<#48LLAqqyy{ADO >As   B(	B-c                *    | t        |d         t        |d         t        |d         d|v r&|d   D cg c]  }t        j                  |       c}nd d|v r+|d   D cg c]  }t        j                  |       c}      S d       S c c}w c c}w )Nrt  rh  rz  rw  ro  )rt  rh  ru  rw  ro  )r(   ImageResourcer   rm  rS   s      r   r   zFileHandler.from_json  s    tH~&T&\"D./IPTXtG}E!=**1-E^bJSW[J[d9oFZ))!,F
 	

 bf
 	
 FFs   B B)	r*   r+   r,   rU   rw  ro  r   r.   r   r   r   r   rs  rs    sE    K
I 9=E6= 9=G5<	 
 
r   rs  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)
r|  z@
    The image definition used in both icon and screenshot.
    r(   r^  Nrg  sizesr}  c                    t               }| j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )Nr^  r~  r  )rN   r^  r~  r}  r]   s     r   r   zImageResource.to_json   sI    vhhU::! JJDM::!::DLr   c                     | t        |d         d|v rt        |d         nd d|v rt        |d               S d       S )Nr^  r~  r  )r^  r~  r}  r  r   s     r   r   zImageResource.from_json)  sQ    DK (/4#d7m$T'-~#d6l#
 	
 <@
 	
r   )
r*   r+   r,   r-   rU   r~  r}  r   r.   r   r   r   r   r|  r|    s=    
 
H"&E&"&E& 
 
r   r|  c                  .    e Zd ZU ded<   d Zed        Zy)LaunchHandlerr(   client_modec                8    t               }| j                  |d<   |S )N
clientMode)rN   r  r]   s     r   r   zLaunchHandler.to_json6  s    v!--\r   c                ,     | t        |d               S )Nr  )r  r  r   s     r   r   zLaunchHandler.from_json;  s    D./
 	
r   Nr  r   r   r   r  r  2  s!    
 
 
r   r  c                  8    e Zd ZU ded<   ded<   d Zed        Zy)ProtocolHandlerr(   protocolr^  c                V    t               }| j                  |d<   | j                  |d<   |S )Nr  r^  )rN   r  r^  r]   s     r   r   zProtocolHandler.to_jsonH  s)    v==ZhhUr   c                F     | t        |d         t        |d               S )Nr  r^  )r  r^  r  r   s     r   r   zProtocolHandler.from_jsonN  s(    j)*DK 
 	
r   Nr  r   r   r   r  r  B  s%    M	H 
 
r   r  c                  <    e Zd ZU ded<   dZded<   d Zed        Zy)RelatedApplicationr(   r^  Nrg  r[  c                n    t               }| j                  |d<   | j                  | j                  |d<   |S )Nr^  rm  )rN   r^  r[  r]   s     r   r   zRelatedApplication.to_json\  s2    vhhU88DJr   c                \     | t        |d         d|v rt        |d               S d       S )Nr^  rm  )r^  r[  r  r   s     r   r   zRelatedApplication.from_jsonc  s9    DK #'4<DJ
 	
59
 	
r   )r*   r+   r,   rU   r[  r   r.   r   r   r   r   r  r  V  s+    	H $C	$ 
 
r   r  c                  8    e Zd ZU ded<   ded<   d Zed        Zy)ScopeExtensionr(   r<  r  has_origin_wildcardc                V    t               }| j                  |d<   | j                  |d<   |S )Nr<  hasOriginWildcard)rN   r<  r  r]   s     r   r   zScopeExtension.to_jsons  s,    vX$($<$< !r   c                F     | t        |d         t        |d               S )Nr<  r  )r<  r  rk  r   s     r   r   zScopeExtension.from_jsony  s)    tH~& $T*=%> ?
 	
r   Nr  r   r   r   r  r  k  s(     K 
 
r   r  c                  F    e Zd ZU ded<   ded<   dZded<   d Zed	        Zy)

Screenshotr|  imager(   form_factorNrg  labelc                    t               }| j                  j                         |d<   | j                  |d<   | j                  | j                  |d<   |S )Nr  
formFactorr  )rN   r  r   r  r  r]   s     r   r   zScreenshot.to_json  sK    v

**,W!--\::! JJDMr   c                     | t         j                  |d         t        |d         d|v rt        |d               S d       S )Nr  r  r  )r  r  r  )r|  r   r(   r   s     r   r   zScreenshot.from_json  sP    ))$w-8D./(/4#d7m$
 	
 >B
 	
r   )r*   r+   r,   rU   r  r   r.   r   r   r   r   r  r    s2    "&E& 
 
r   r  c                  z    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
y)ShareTargetr(   rt  methodenctypeNrg  r  textr^  rx  filesc                   t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  | j                  |d<   | j
                  | j
                  |d<   | j                  | j                  |d<   | j                  +| j                  D cg c]  }|j                          c}|d<   |S c c}w )Nrt  r  r  r  r  r^  r  )	rN   rt  r  r  r  r  r^  r  r   rO   s      r   r   zShareTarget.to_json  s    vXX,,Y::! JJDM99 99DL88((DK::!26**=QQYY[=DM >s   #C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+|d   D cg c]  }t        j                  |       c}      S d       S c c}w )	Nrt  r  r  r  r  r^  r  )rt  r  r  r  r  r^  r  )r(   rm  r   rS   s      r   r   zShareTarget.from_json  s    tH~&tH~&Y((/4#d7m$T&,nT&\"$$)TMDK tFMQUoDMBq:''*B
 	
 \`
 	
 Cs   .B)r*   r+   r,   rU   r  r  r^  r  r   r.   r   r   r   r   r  r    sX    KKL #'E&!%D
% $C	$6:E3: 	
 	
r   r  c                  8    e Zd ZU ded<   ded<   d Zed        Zy)Shortcutr(   rh  r^  c                V    t               }| j                  |d<   | j                  |d<   |S )Nrh  r^  )rN   rh  r^  r]   s     r   r   zShortcut.to_json  s(    vyyVhhUr   c                F     | t        |d         t        |d               S )Nrh  r^  )rh  r^  r  r   s     r   r   zShortcut.from_json  s'    T&\"DK 
 	
r   Nr  r   r   r   r  r    s%    
I	H 
 
r   r  c                  f   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	d	ed
<   dZ
ded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded <   dZd!ed"<   dZded#<   dZded$<   d% Zed&        Zy)'WebAppManifestNrg  background_colordescriptiondir_displayrn  display_overridesz)typing.Optional[typing.List[FileHandler]]file_handlersrv  rw  r[  langztyping.Optional[LaunchHandler]launch_handlerrh  orientationr  prefer_related_applicationsz-typing.Optional[typing.List[ProtocolHandler]]protocol_handlersz0typing.Optional[typing.List[RelatedApplication]]related_applicationsr  z,typing.Optional[typing.List[ScopeExtension]]scope_extensionsz(typing.Optional[typing.List[Screenshot]]screenshotsztyping.Optional[ShareTarget]share_target
short_namez&typing.Optional[typing.List[Shortcut]]	shortcuts	start_urltheme_colorc                    t               }| j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j
                  | j
                  D cg c]  }| c}|d<   | j                  +| j                  D cg c]  }|j                          c}|d<   | j                  +| j                  D cg c]  }|j                          c}|d<   | j                  | j                  |d<   | j                  | j                  |d	<   | j                  | j                  j                         |d
<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  +| j                  D cg c]  }|j                          c}|d<   | j                   +| j                   D cg c]  }|j                          c}|d<   | j"                  | j"                  |d<   | j$                  +| j$                  D cg c]  }|j                          c}|d<   | j&                  +| j&                  D cg c]  }|j                          c}|d<   | j(                  | j(                  j                         |d<   | j*                  | j*                  |d<   | j,                  +| j,                  D cg c]  }|j                          c}|d<   | j.                  | j.                  |d<   | j0                  | j0                  |d<   |S c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )NbackgroundColorr  dirr  displayOverridesfileHandlersrw  rm  r  launchHandlerrh  r  preferRelatedApplicationsprotocolHandlersrelatedApplicationsr  scopeExtensionsr  shareTarget	shortNamer  startUrl
themeColor)rN   r  r  r  r  r  r  r   rw  r[  r  r  rh  r  r  r  r  r  r  r  r  r  r  r  r  rO   s      r   r   zWebAppManifest.to_json  s"   v  ,&*&;&;D"#'"&"2"2D99 ))DK<<#"llDO!!-373I3I'Ja'JD#$)9=9K9K#LAAIIK#LD ::!26**=QQYY[=DM88DJ99 99DL*$($7$7$?$?$AD!99 99DL'"&"2"2D++7040P0PD,-!!-=A=S=S'T		'TD#$$$0@D@Y@Y*Z1199;*ZD&'::! JJDM  ,<@<Q<Q&Rqqyy{&RD"#'8<8H8H"I1199;"ID("&"3"3";";"=D??& $D>>%6:nn E ED>>%#~~D'!%!1!1DK (K#L= (U*Z 'S"I !Fs0   	M(:M-1M2M7M<!NNNc                    | d&i dd|v rt        |d         nd dd|v rt        |d         nd dd|v rt        |d         nd dd|v rt        |d         nd dd|v r|d   D cg c]  }t        |       c}nd d	d
|v r&|d
   D cg c]  }t        j                  |       c}nd dd|v r&|d   D cg c]  }t        j                  |       c}nd dd|v rt        |d         nd dd|v rt        |d         nd dd|v rt        j                  |d         nd dd|v rt        |d         nd dd|v rt        |d         nd dd|v rt        |d         nd dd|v r&|d   D cg c]  }t        j                  |       c}nd dd|v r&|d   D cg c]  }t        j                  |       c}nd dd|v rt        |d         nd dd|v r&|d   D cg c]  }t        j                  |       c}nd dd|v r&|d   D cg c]  }t        j                  |       c}nd dd|v rt        j                  |d         nd dd |v rt        |d          nd d!d!|v r&|d!   D cg c]  }t        j                  |       c}nd d"d#|v rt        |d#         nd d$d%|v rt        |d%         S d S c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )'Nr  r  r  r  r  r  r  r  r  r  rw  r[  rm  r  r  r  rh  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   )r(   rs  r   r|  r  r  r  r  r  r  r  r  rS   s      r   r   zWebAppManifest.from_jsonG  s    
=NRV=VS&7!89\`
4AT4ID/0t
 &+d]T%[!
 -6,=CY(4	

 M_bfLft4F/GH!s1vHlp
 WehlVlT.=QR;003Rrv
 JQTXtG}E!=**1-E^b
 $(4<DJT
 '-nT&\"$
 N]`dMd=2243HIjn
 '-nT&\"$
 5BT4ID/0t
 TorvSvT2M-N(O  }A
 cux|b|TJ\E]^88;^  CG
 lA  EI  lI4PeKf!ga"4">">q"A!g  OS
  )04#d7m$T!
" `qtx_x4HYCZ[an66q9[  C#
$ S`cgRg$}:MNQ--a0Nmq%
& HUX\G\..tM/BCbf'
( 2=1Ds4,-$)
* MX[_L_d;6GHx))!,Hei+
, 0:T/Ac$z*+t-
. 4@43GD.//
 	
. NR/
 	

 IRE _!g[N Is0   %J6J;5K *KK
KK'K)r*   r+   r,   r  rU   r  r  r  r  r  rw  r[  r  r  rh  r  r  r  r  r  r  r  r  r  r  r  r  r   r.   r   r   r   r   r  r    s5   -1*1 )-K%,!%D
%$(G!( <@8? @DM<C9=E6= $C	$!%D
%
 6:N29!%D
%(,K%,9=!6= HLDKMQJQ"&E& FJBI =AK9@15L.5'+J$+8<I5<&*I#*(,K%,0d 
 
r   r  c                  6    e Zd ZdZdZdZdZdZd Ze	d        Z
y)	AutoResponseModezI
    Enum of possible auto-response for permission / prompt dialogs.
    r3   
autoAccept
autoReject
autoOptOutc                    | j                   S r   r7   r   s    r   r   zAutoResponseMode.to_jsonm  r9   r   c                     | |      S r   r   r   s     r   r   zAutoResponseMode.from_jsonp  r   r   N)r*   r+   r,   r-   r;   AUTO_ACCEPTAUTO_REJECTAUTO_OPT_OUTr   r.   r   r   r   r   r  r  d  s6     DKKL  r   r  c                  .    e Zd ZdZdZdZd Zed        Zy)NavigationTypez-
    The type of a frameNavigated event.
    
NavigationBackForwardCacheRestorec                    | j                   S r   r7   r   s    r   r   zNavigationType.to_json|  r9   r   c                     | |      S r   r   r   s     r   r   zNavigationType.from_json  r   r   N)	r*   r+   r,   r-   
NAVIGATIONBACK_FORWARD_CACHE_RESTOREr   r.   r   r   r   r   r  r  u  s-     J!:  r   r  c                  6   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@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZudtZvduZwdvZxdwZydxZzdyZ{dzZ|d{Z}d|Z~d}Zd~ZdZdZdZdZdZdZdZd Zed        Zy)!BackForwardCacheNotRestoredReasonz>
    List of not restored reasons for back-forward cache.
    NotPrimaryMainFrameBackForwardCacheDisabledRelatedActiveContentsExistHTTPStatusNotOKSchemeNotHTTPOrHTTPSLoadingWasGrantedMediaAccessDisableForRenderFrameHostCalledDomainNotAllowedHTTPMethodNotGETSubframeIsNavigatingTimeout
CacheLimitJavaScriptExecutionRendererProcessKilledRendererProcessCrashedSchedulerTrackedFeatureUsedConflictingBrowsingInstanceCacheFlushedServiceWorkerVersionActivationSessionRestoredServiceWorkerPostMessage3EnteredBackForwardCacheBeforeServiceWorkerHostAddedRenderFrameHostReused_SameSiteRenderFrameHostReused_CrossSiteServiceWorkerClaimIgnoreEventAndEvictHaveInnerContentsTimeoutPuttingInCache#BackForwardCacheDisabledByLowMemory%BackForwardCacheDisabledByCommandLine,NetworkRequestDatapipeDrainedAsBytesConsumerNetworkRequestRedirectedNetworkRequestTimeoutNetworkExceedsBufferLimit!NavigationCancelledWhileRestoringNotMostRecentNavigationEntry$BackForwardCacheDisabledForPrerenderUserAgentOverrideDiffersForegroundCacheLimitBrowsingInstanceNotSwapped#BackForwardCacheDisabledForDelegateUnloadHandlerExistsInMainFrameUnloadHandlerExistsInSubFrameServiceWorkerUnregistrationCacheControlNoStore!CacheControlNoStoreCookieModified)CacheControlNoStoreHTTPOnlyCookieModifiedNoResponseHeadUnknown,ActivationNavigationsDisallowedForBug1234857ErrorDocumentFencedFramesEmbedderCookieDisabledHTTPAuthRequiredCookieFlushedBroadcastChannelOnMessage	WebSocketWebTransportWebRTC"MainResourceHasCacheControlNoStore"MainResourceHasCacheControlNoCache!SubresourceHasCacheControlNoStore!SubresourceHasCacheControlNoCacheContainsPluginsDocumentLoadedOutstandingNetworkRequestOthersRequestedMIDIPermissionRequestedAudioCapturePermissionRequestedVideoCapturePermission'RequestedBackForwardCacheBlockedSensors!RequestedBackgroundWorkPermissionBroadcastChannelWebXRSharedWorkerWebLocksWebHIDWebShareRequestedStorageAccessGrantWebNfcOutstandingNetworkRequestFetchOutstandingNetworkRequestXHR	AppBannerPrintingWebDatabasePictureInPicturePortalSpeechRecognizerIdleManagerPaymentManagerSpeechSynthesisKeyboardLockWebOTPService%OutstandingNetworkRequestDirectSocketInjectedJavascriptInjectedStyleSheetKeepaliveRequestIndexedDBEventDummy3JsNetworkRequestReceivedCacheControlNoStoreResourceWebRTCStickyWebTransportStickyWebSocketSticky	SmartCardLiveMediaStreamTrackUnloadHandlerParserAbortedContentSecurityHandlerContentWebAuthenticationAPIContentFileChooserContentSerialContentFileSystemAccess!ContentMediaDevicesDispatcherHostContentWebBluetoothContentWebUSBContentMediaSessionServiceContentScreenReaderEmbedderPopupBlockerTabHelper)EmbedderSafeBrowsingTriggeredPopupBlocker!EmbedderSafeBrowsingThreatDetailsEmbedderAppBannerManager EmbedderDomDistillerViewerSource/EmbedderDomDistillerSelfDeletingRequestDelegate EmbedderOomInterventionTabHelperEmbedderOfflinePage8EmbedderChromePasswordManagerClientBindCredentialManager EmbedderPermissionRequestManagerEmbedderModalDialogEmbedderExtensionsEmbedderExtensionMessaging%EmbedderExtensionMessagingForOpenPort)EmbedderExtensionSentMessageToCachedFramec                    | j                   S r   r7   r   s    r   r   z)BackForwardCacheNotRestoredReason.to_json  r9   r   c                     | |      S r   r   r   s     r   r   z+BackForwardCacheNotRestoredReason.from_json  r   r   N)r*   r+   r,   r-   NOT_PRIMARY_MAIN_FRAMEBACK_FORWARD_CACHE_DISABLEDRELATED_ACTIVE_CONTENTS_EXISTHTTP_STATUS_NOT_OKSCHEME_NOT_HTTP_OR_HTTPSLOADINGWAS_GRANTED_MEDIA_ACCESS$DISABLE_FOR_RENDER_FRAME_HOST_CALLEDDOMAIN_NOT_ALLOWEDHTTP_METHOD_NOT_GETSUBFRAME_IS_NAVIGATINGTIMEOUTCACHE_LIMITJAVA_SCRIPT_EXECUTIONRENDERER_PROCESS_KILLEDRENDERER_PROCESS_CRASHEDSCHEDULER_TRACKED_FEATURE_USEDCONFLICTING_BROWSING_INSTANCECACHE_FLUSHED!SERVICE_WORKER_VERSION_ACTIVATIONSESSION_RESTOREDSERVICE_WORKER_POST_MESSAGE;ENTERED_BACK_FORWARD_CACHE_BEFORE_SERVICE_WORKER_HOST_ADDED"RENDER_FRAME_HOST_REUSED_SAME_SITE#RENDER_FRAME_HOST_REUSED_CROSS_SITESERVICE_WORKER_CLAIMIGNORE_EVENT_AND_EVICTHAVE_INNER_CONTENTSTIMEOUT_PUTTING_IN_CACHE)BACK_FORWARD_CACHE_DISABLED_BY_LOW_MEMORY+BACK_FORWARD_CACHE_DISABLED_BY_COMMAND_LINE2NETWORK_REQUEST_DATAPIPE_DRAINED_AS_BYTES_CONSUMERNETWORK_REQUEST_REDIRECTEDNETWORK_REQUEST_TIMEOUTNETWORK_EXCEEDS_BUFFER_LIMIT$NAVIGATION_CANCELLED_WHILE_RESTORING NOT_MOST_RECENT_NAVIGATION_ENTRY)BACK_FORWARD_CACHE_DISABLED_FOR_PRERENDERUSER_AGENT_OVERRIDE_DIFFERSFOREGROUND_CACHE_LIMITBROWSING_INSTANCE_NOT_SWAPPED(BACK_FORWARD_CACHE_DISABLED_FOR_DELEGATE#UNLOAD_HANDLER_EXISTS_IN_MAIN_FRAME"UNLOAD_HANDLER_EXISTS_IN_SUB_FRAMESERVICE_WORKER_UNREGISTRATIONCACHE_CONTROL_NO_STORE&CACHE_CONTROL_NO_STORE_COOKIE_MODIFIED0CACHE_CONTROL_NO_STORE_HTTP_ONLY_COOKIE_MODIFIEDNO_RESPONSE_HEADUNKNOWN0ACTIVATION_NAVIGATIONS_DISALLOWED_FOR_BUG1234857ERROR_DOCUMENTFENCED_FRAMES_EMBEDDERCOOKIE_DISABLEDHTTP_AUTH_REQUIREDCOOKIE_FLUSHEDBROADCAST_CHANNEL_ON_MESSAGE
WEB_SOCKETWEB_TRANSPORTWEB_RTC(MAIN_RESOURCE_HAS_CACHE_CONTROL_NO_STORE(MAIN_RESOURCE_HAS_CACHE_CONTROL_NO_CACHE&SUBRESOURCE_HAS_CACHE_CONTROL_NO_STORE&SUBRESOURCE_HAS_CACHE_CONTROL_NO_CACHECONTAINS_PLUGINSDOCUMENT_LOADED"OUTSTANDING_NETWORK_REQUEST_OTHERSREQUESTED_MIDI_PERMISSION"REQUESTED_AUDIO_CAPTURE_PERMISSION"REQUESTED_VIDEO_CAPTURE_PERMISSION,REQUESTED_BACK_FORWARD_CACHE_BLOCKED_SENSORS$REQUESTED_BACKGROUND_WORK_PERMISSIONBROADCAST_CHANNELWEB_XRSHARED_WORKER	WEB_LOCKSWEB_HIDr   REQUESTED_STORAGE_ACCESS_GRANTWEB_NFC!OUTSTANDING_NETWORK_REQUEST_FETCHOUTSTANDING_NETWORK_REQUEST_XHR
APP_BANNERPRINTINGWEB_DATABASEr   PORTALSPEECH_RECOGNIZERIDLE_MANAGERPAYMENT_MANAGERSPEECH_SYNTHESISKEYBOARD_LOCKWEB_OTP_SERVICE)OUTSTANDING_NETWORK_REQUEST_DIRECT_SOCKETINJECTED_JAVASCRIPTINJECTED_STYLE_SHEETKEEPALIVE_REQUESTINDEXED_DB_EVENTDUMMY;JS_NETWORK_REQUEST_RECEIVED_CACHE_CONTROL_NO_STORE_RESOURCEWEB_RTC_STICKYWEB_TRANSPORT_STICKYWEB_SOCKET_STICKYr   LIVE_MEDIA_STREAM_TRACKUNLOAD_HANDLERPARSER_ABORTEDCONTENT_SECURITY_HANDLERCONTENT_WEB_AUTHENTICATION_APICONTENT_FILE_CHOOSERCONTENT_SERIALCONTENT_FILE_SYSTEM_ACCESS%CONTENT_MEDIA_DEVICES_DISPATCHER_HOSTCONTENT_WEB_BLUETOOTHCONTENT_WEB_USBCONTENT_MEDIA_SESSION_SERVICECONTENT_SCREEN_READER!EMBEDDER_POPUP_BLOCKER_TAB_HELPER.EMBEDDER_SAFE_BROWSING_TRIGGERED_POPUP_BLOCKER%EMBEDDER_SAFE_BROWSING_THREAT_DETAILSEMBEDDER_APP_BANNER_MANAGER$EMBEDDER_DOM_DISTILLER_VIEWER_SOURCE5EMBEDDER_DOM_DISTILLER_SELF_DELETING_REQUEST_DELEGATE$EMBEDDER_OOM_INTERVENTION_TAB_HELPEREMBEDDER_OFFLINE_PAGE?EMBEDDER_CHROME_PASSWORD_MANAGER_CLIENT_BIND_CREDENTIAL_MANAGER#EMBEDDER_PERMISSION_REQUEST_MANAGEREMBEDDER_MODAL_DIALOGEMBEDDER_EXTENSIONSEMBEDDER_EXTENSION_MESSAGING*EMBEDDER_EXTENSION_MESSAGING_FOR_OPEN_PORT/EMBEDDER_EXTENSION_SENT_MESSAGE_TO_CACHED_FRAMEr   r.   r   r   r   r   r  r    s    3"<$@!*5G6+L(+,3GK157%B"$A!"M(H%("<Bw?)I&*K'/2-60U-2Y/9g6!;5#> +N('E$0V-"<3$@!/T,*J')H&$A!2-P*7b4'G7e4$N3&O+$N#> J"MG/S,/S,-P*-P*(&O)J& 9)J&)J&3\0+N(*F"MIGI%B"G(H%&D#JH L+F* L&O("M%O0W-./*'EBw?#N/)J4$N$N7%B"/$N!:,O)1%O$@!1(G%5`2,O)"<+M(<m9+M(1 GAC*L'1.#? 1X.6a3  r   r  c                  2    e Zd ZdZdZdZdZd Zed        Z	y)%BackForwardCacheNotRestoredReasonTypez?
    Types of not restored reasons for back-forward cache.
    SupportPendingPageSupportNeededCircumstantialc                    | j                   S r   r7   r   s    r   r   z-BackForwardCacheNotRestoredReasonType.to_json  r9   r   c                     | |      S r   r   r   s     r   r   z/BackForwardCacheNotRestoredReasonType.from_json   r   r   N)
r*   r+   r,   r-   SUPPORT_PENDINGPAGE_SUPPORT_NEEDEDCIRCUMSTANTIALr   r.   r   r   r   r   r  r    s2     'O-%N  r   r  c                  T    e Zd ZU ded<   ded<   dZded<   dZded<   d Zed	        Zy)
BackForwardCacheBlockingDetailsr  line_numbercolumn_numberNrg  r^  functionc                    t               }| j                  |d<   | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )N
lineNumbercolumnNumberr^  r  )rN   r  r  r^  r  r]   s     r   r   z'BackForwardCacheBlockingDetails.to_json3  s]    v!--\#11^88((DK==$#}}Dr   c           	          | t        |d         t        |d         d|v rt        |d         nd d|v rt        |d               S d       S )Nr  r  r^  r  )r  r  r^  r  )r  r(   r   s     r   r   z)BackForwardCacheBlockingDetails.from_json=  sb    D./d>23$)TMDK t.8D.@Sj)*	
 	
 GK	
 	
r   )	r*   r+   r,   rU   r^  r  r   r.   r   r   r   r   r  r  %  sE       !%C	$ &*H") 
 
r   r  c                  T    e Zd ZU ded<   ded<   dZded<   dZded	<   d
 Zed        Zy)&BackForwardCacheNotRestoredExplanationr  r}  r  reasonNrg  contextz=typing.Optional[typing.List[BackForwardCacheBlockingDetails]]detailsc                <   t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  |d<   | j
                  +| j
                  D cg c]  }|j                          c}|d<   |S c c}w )Nr  r  r  r   )rN   r}  r   r  r  r   rO   s      r   r   z.BackForwardCacheNotRestoredExplanation.to_jsonV  s    vzz))+V,,.X<<#"llDO<<#48LLAqqyy{ADO Bs   :Bc                     | t         j                  |d         t        j                  |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 )Nr  r  r  r   )r}  r  r  r   )r  r   r  r(   r  rS   s      r   r   z0BackForwardCacheNotRestoredExplanation.from_json`  s    7AA$v,O4>>tH~N,5,=CY(4_hlp_p4PY?[a4>>qA[	
 	
 w{	
 	
 \s   A:)	r*   r+   r,   rU   r  r   r   r.   r   r   r   r   r  r  G  sC     10 .-
 %)G!(MQGJQ 
 
r   r  c                  B    e Zd ZU ded<   ded<   ded<   d Zed        Zy	)
*BackForwardCacheNotRestoredExplanationTreer(   r^  3typing.List[BackForwardCacheNotRestoredExplanation]rK   z7typing.List[BackForwardCacheNotRestoredExplanationTree]childrenc                    t               }| 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 )Nr^  rK   r  )rN   r^  rK   r   r  rO   s      r   r   z2BackForwardCacheNotRestoredExplanationTree.to_jsonu  sd    vhhU595F5FG		G^15?AAIIK?Z  H?s   A2A7c           
          | t        |d         |d   D cg c]  }t        j                  |       c}|d   D cg c]  }t        j                  |       c}      S c c}w c c}w )Nr^  rK   r  )r^  rK   r  )r(   r  r   r  rS   s      r   r   z4BackForwardCacheNotRestoredExplanationTree.from_json|  sc    DK W[\jWklRS@JJ1MlW[\fWghRS@JJ1Mh
 	
lhs
   A 
A%Nr  r   r   r   r  r  j  s4     
H FE FE 
 
r   r  c              #  j   K   t               }| |d<   d|d}|}t        j                  |d         S w)z
    Deprecated, please use addScriptToEvaluateOnNewDocument instead.

    **EXPERIMENTAL**

    :param script_source:
    :returns: Identifier of the added script.
    scriptSourcezPage.addScriptToEvaluateOnLoadr  params
identifierrN   r  r   )script_sourcer  cmd_dictr   s       r   add_script_to_evaluate_on_loadr    sE      &F*F>2H >D%%d<&899s   13c              #     K   t               }| |d<   |||d<   |||d<   |||d<   d|d}|}t        j                  |d         S w)a  
    Evaluates given script in every frame upon creation (before loading frame's scripts).

    :param source:
    :param world_name: **(EXPERIMENTAL)** *(Optional)* If specified, creates an isolated world with the given name and evaluates given script in it. This world name will be used as the ExecutionContextDescription::name when the corresponding event is emitted.
    :param include_command_line_api: **(EXPERIMENTAL)** *(Optional)* Specifies whether command line API should be available to the script, defaults to false.
    :param run_immediately: **(EXPERIMENTAL)** *(Optional)* If true, runs the script immediately on existing execution contexts or worlds. Default: false.
    :returns: Identifier of the added script.
    source	worldNameincludeCommandLineAPIrunImmediatelyz%Page.addScriptToEvaluateOnNewDocumentr  r  r  )r  
world_nameinclude_command_line_apirun_immediatelyr  r  r   s          r   &add_script_to_evaluate_on_new_documentr    sw      &FF8({+*B&'"#2 9H >D%%d<&899s   AAc               #     K   ddi} | }yw)z/
    Brings page to front (activates tab).
    r  zPage.bringToFrontNr   r  r   s     r   bring_to_frontr    s     
 	%H >D   
c              #     K   t               }| | |d<   |||d<   ||j                         |d<   |||d<   |||d<   |||d<   d|d}|}t        |d	         S w)
a  
    Capture page screenshot.

    :param format_: *(Optional)* Image compression format (defaults to png).
    :param quality: *(Optional)* Compression quality from range [0..100] (jpeg only).
    :param clip: *(Optional)* Capture the screenshot of a given region only.
    :param from_surface: **(EXPERIMENTAL)** *(Optional)* Capture the screenshot from the surface, rather than the view. Defaults to true.
    :param capture_beyond_viewport: **(EXPERIMENTAL)** *(Optional)* Capture the screenshot beyond the viewport. Defaults to false.
    :param optimize_for_speed: **(EXPERIMENTAL)** *(Optional)* Optimize image encoding for speed, not for resulting size (defaults to false)
    :returns: Base64-encoded image data.
    r!   qualityclipfromSurfacecaptureBeyondViewportoptimizeForSpeedzPage.captureScreenshotr  data)rN   r   r(   )	format_r   r!  from_surfacecapture_beyond_viewportoptimize_for_speedr  r  r   s	            r   capture_screenshotr*    s     & &F"x#yv ,}**A&'%%7!"*H >DtF|s   AAc              #  Z   K   t               }| | |d<   d|d}|}t        |d         S w)a"  
    Returns a snapshot of the page as a string. For MHTML format, the serialization includes
    iframes, shadow DOM, external resources, and element-inline styles.

    **EXPERIMENTAL**

    :param format_: *(Optional)* Format (defaults to mhtml).
    :returns: Serialized page data.
    r!   zPage.captureSnapshotr  r%  )rN   r(   )r&  r  r  r   s       r   capture_snapshotr,    sD      &F"x(H >DtF|s   )+c               #     K   ddi} | }yw)zE
    Clears the overridden device metrics.

    **EXPERIMENTAL**
    r  zPage.clearDeviceMetricsOverrideNr   r  s     r   clear_device_metrics_overrider.    s      	3H >Dr  c               #     K   ddi} | }yw)zI
    Clears the overridden Device Orientation.

    **EXPERIMENTAL**
    r  z#Page.clearDeviceOrientationOverrideNr   r  s     r   !clear_device_orientation_overrider0    s      	7H >Dr  c               #     K   ddi} | }yw)z?
    Clears the overridden Geolocation Position and Error.
    r  zPage.clearGeolocationOverrideNr   r  s     r   clear_geolocation_overrider2    s     
 	1H >Dr  c              #     K   t               }| j                         |d<   |||d<   |||d<   d|d}|}t        j                  j	                  |d         S w)a  
    Creates an isolated world for the given frame.

    :param frame_id: Id of the frame in which the isolated world should be created.
    :param world_name: *(Optional)* An optional name which is reported in the Execution Context.
    :param grant_univeral_access: *(Optional)* Whether or not universal access should be granted to the isolated world. This is a powerful option, use with caution.
    :returns: Execution context of the isolated world.
    r   r  grantUniveralAccesszPage.createIsolatedWorldr  executionContextId)rN   r   r   ExecutionContextIdr   )r   r  grant_univeral_accessr  r  r   s         r   create_isolated_worldr8  $  sv      &F ((*F9({((=$%,H >D%%//5I0JKKs   AAc              #  F   K   t               }| |d<   ||d<   d|d}|}yw)z
    Deletes browser cookie with given name, domain and path.

    **EXPERIMENTAL**

    :param cookie_name: Name of the cookie to remove.
    :param url: URL to match cooke domain and path.
    
cookieNamer^  zPage.deleteCookier  NrN   )cookie_namer^  r  r  r   s        r   delete_cookier=  ?  s8      &F&F<F5M%H >D   !c               #     K   ddi} | }yw)z-
    Disables page domain notifications.
    r  zPage.disableNr   r  s     r   disabler@  U  s     
 	.H >Dr  c               #     K   ddi} | }yw)z,
    Enables page domain notifications.
    r  zPage.enableNr   r  s     r   enablerB  _  s     
 	-H >Dr  c              #  >  K   t               }| | |d<   d|d}|}t        |d         |d   D cg c]  }t        j                  |       c}d|v rt        |d         ndd|v rt        j                  |d         ndt
        j                  |d	         fS c c}w w)
u  
    Gets the processed manifest for this current document.
      This API always waits for the manifest to be loaded.
      If manifestId is provided, and it does not match the manifest of the
        current document, this API errors out.
      If there isn’t a loaded page, this API errors out immediately.

    :param manifest_id: *(Optional)*
    :returns: A tuple with the following items:

        0. **url** - Manifest location.
        1. **errors** - 
        2. **data** - *(Optional)* Manifest content.
        3. **parsed** - *(Optional)* Parsed manifest properties. Deprecated, use manifest instead.
        4. **manifest** - 
    N
manifestIdzPage.getAppManifestr  r^  errorsr%  parsedmanifest)rN   r(   r  r   r  r  )manifest_idr  r  r   rP   s        r   get_app_manifestrI  i  s     & &F*|'H >DDK04X?1		#	#A	&?#t^DLAITAQ#--d8n=W[  j!12 ?s   /BBABc               #  p   K   ddi} | }|d   D cg c]  }t         j                  |       c}S c c}w w)z,


    **EXPERIMENTAL**

    :returns: 
    r  zPage.getInstallabilityErrorsinstallabilityErrors)rL  r   r  r   rP   s      r   get_installability_errorsrM    sD      	0H >D6:;Q6RS))!,SSSs   616c               #  B   K   ddi} | }d|v rt        |d         S dS w)z
    Deprecated because it's not guaranteed that the returned icon is in fact the one used for PWA installation.

    **EXPERIMENTAL**

    :returns: 
    r  zPage.getManifestIconsprimaryIconNr  r  s     r   get_manifest_iconsrP    s:      	)H >D'4'<3tM"#F$Fs   c               #  l   K   ddi} | }d|v rt        |d         ndd|v rt        |d         fS dfS w)a  
    Returns the unique (PWA) app id.
    Only returns values if the feature flag 'WebAppEnableManifestId' is enabled

    **EXPERIMENTAL**

    :returns: A tuple with the following items:

        0. **appId** - *(Optional)* App id, either from manifest's id attribute or computed from start_url
        1. **recommendedId** - *(Optional)* Recommendation for manifest's id attribute to match current id computed from start_url
    r  zPage.getAppIdappIdNrecommendedIdr  r  s     r   
get_app_idrT    s\      	/H >D%oDM4&5&=D!" CG s   24c              #     K   t               }| j                         |d<   d|d}|}d|v rt        j                  |d         S dS w)z


    **EXPERIMENTAL**

    :param frame_id:
    :returns: *(Optional)* Identifies the bottom-most script which caused the frame to be labelled as an ad. Only sent if frame is labelled as an ad and id is available.
    r   zPage.getAdScriptIdr  
adScriptIdN)rN   r   rW   r   )r   r  r  r   s       r   get_ad_script_idrW    s[      &F ((*F9&H >D7Ct7K:\ 23UQUUs   AAc               #  J   K   ddi} | }t         j                  |d         S w)z\
    Returns present frame tree structure.

    :returns: Present frame tree structure.
    r  zPage.getFrameTree	frameTree)r  r   r  s     r   get_frame_treerZ    s4      	%H >DtK011   !#c            	   #  Z  K   ddi} | }t         j                  |d         t        j                  |d         t        j                  j                  |d         t         j                  |d         t        j                  |d         t        j                  j                  |d         fS w)	a  
    Returns metrics relating to the layouting of the page, such as viewport bounds/scale.

    :returns: A tuple with the following items:

        0. **layoutViewport** - Deprecated metrics relating to the layout viewport. Is in device pixels. Use ``cssLayoutViewport`` instead.
        1. **visualViewport** - Deprecated metrics relating to the visual viewport. Is in device pixels. Use ``cssVisualViewport`` instead.
        2. **contentSize** - Deprecated size of scrollable area. Is in DP. Use ``cssContentSize`` instead.
        3. **cssLayoutViewport** - Metrics relating to the layout viewport in CSS pixels.
        4. **cssVisualViewport** - Metrics relating to the visual viewport in CSS pixels.
        5. **cssContentSize** - Size of scrollable area in CSS pixels.
    r  zPage.getLayoutMetricslayoutViewportvisualViewportr  cssLayoutViewportcssVisualViewportcssContentSize)r  r   r  r	   Rectr  s     r   get_layout_metricsrc    s      	)H >D  &6!78  &6!784./  &9!:;  &9!:;4 012 s   B)B+c               #     K   ddi} | }t        |d         |d   D cg c]  }t        j                  |       c}fS c c}w w)z
    Returns navigation history for the current page.

    :returns: A tuple with the following items:

        0. **currentIndex** - Index of the current navigation history entry.
        1. **entries** - Array of navigation history entries.
    r  zPage.getNavigationHistorycurrentIndexentries)r  r  r   rL  s      r   get_navigation_historyrg    sU      	-H >DD !/3I?!	"	"1	%? ?s   A?	Ac               #     K   ddi} | }yw)z9
    Resets navigation history for the current page.
    r  zPage.resetNavigationHistoryNr   r  s     r   reset_navigation_historyri  	  s     
 	/H >Dr  c              #     K   t               }| j                         |d<   ||d<   d|d}|}t        |d         t        |d         fS w)aT  
    Returns content of the given resource.

    **EXPERIMENTAL**

    :param frame_id: Frame id to get resource for.
    :param url: URL of the resource to get content for.
    :returns: A tuple with the following items:

        0. **content** - Resource content.
        1. **base64Encoded** - True, if content was served as base64.
    r   r^  zPage.getResourceContentr  contentbase64Encoded)rN   r   r(   r  )r   r^  r  r  r   s        r   get_resource_contentrm  	  sd       &F ((*F9F5M+H >DDOT/"# s   AA
c               #  J   K   ddi} | }t         j                  |d         S w)z
    Returns present frame / resource tree structure.

    **EXPERIMENTAL**

    :returns: Present frame / resource tree structure.
    r  zPage.getResourceTreerY  )r  r   r  s     r   get_resource_treero  9	  s4      	(H >D&&tK'899r[  c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)a,  
    Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).

    :param accept: Whether to accept or dismiss the dialog.
    :param prompt_text: *(Optional)* The text to enter into the dialog prompt before accepting. Used only if this is a prompt dialog.
    acceptN
promptTextzPage.handleJavaScriptDialogr  r;  )rq  prompt_textr  r  r   s        r   handle_java_script_dialogrt  H	  s?      &FF8*|/H >Dr[  c              #  n  K   t               }| |d<   |||d<   ||j                         |d<   ||j                         |d<   ||j                         |d<   d|d}|}t        j                  |d         d	|v r"t        j
                  j                  |d	         ndd
|v rt        |d
         fS dfS w)a1  
    Navigates current page to the given URL.

    :param url: URL to navigate the page to.
    :param referrer: *(Optional)* Referrer URL.
    :param transition_type: *(Optional)* Intended transition type.
    :param frame_id: *(Optional)* Frame id to navigate, if not specified navigates the top frame.
    :param referrer_policy: **(EXPERIMENTAL)** *(Optional)* Referrer-policy used for the navigation.
    :returns: A tuple with the following items:

        0. **frameId** - Frame id that has navigated (or failed to navigate)
        1. **loaderId** - *(Optional)* Loader identifier. This is omitted in case of same-document navigation, as the previously committed loaderId would not change.
        2. **errorText** - *(Optional)* User friendly error message, present if and only if navigation has failed.
    r^  Nreferrerr  r   referrerPolicyzPage.navigater  rn  	errorText)rN   r   r   r   r   rz  r(   )r^  rv  r  r   referrer_policyr  r  r   s           r   navigaterz  ]	  s     * &FF5M%z"#2#:#:#< $,,.y"#2#:#:#< !H >D$y/*8Bd8J""4
#34PT"-"5D  <@ s   B3B5c              #  <   K   t               }| |d<   d|d}|}yw)zy
    Navigates current page to the given history entry.

    :param entry_id: Unique id of the entry to navigate to.
    entryIdzPage.navigateToHistoryEntryr  Nr;  )entry_idr  r  r   s       r   navigate_to_history_entryr~  	  s/      &F F9/H >D   c              #    K   t               }| | |d<   |||d<   |||d<   |||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
|d<   |||d<   |||d<   |||d<   |||d<   |||d<   |||d<   d|d}|}t        |d         d|v r#t        j                  j	                  |d         fS dfS w)a
  
    Print page as PDF.

    :param landscape: *(Optional)* Paper orientation. Defaults to false.
    :param display_header_footer: *(Optional)* Display header and footer. Defaults to false.
    :param print_background: *(Optional)* Print background graphics. Defaults to false.
    :param scale: *(Optional)* Scale of the webpage rendering. Defaults to 1.
    :param paper_width: *(Optional)* Paper width in inches. Defaults to 8.5 inches.
    :param paper_height: *(Optional)* Paper height in inches. Defaults to 11 inches.
    :param margin_top: *(Optional)* Top margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_bottom: *(Optional)* Bottom margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_left: *(Optional)* Left margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_right: *(Optional)* Right margin in inches. Defaults to 1cm (~0.4 inches).
    :param page_ranges: *(Optional)* Paper ranges to print, one based, e.g., '1-5, 8, 11-13'. Pages are printed in the document order, not in the order specified, and no more than once. Defaults to empty string, which implies the entire document is printed. The page numbers are quietly capped to actual page count of the document, and ranges beyond the end of the document are ignored. If this results in no pages to print, an error is reported. It is an error to specify a range with start greater than end.
    :param header_template: *(Optional)* HTML template for the print header. Should be valid HTML markup with following classes used to inject printing values into them: - ```date````: formatted print date - ````title````: document title - ````url````: document location - ````pageNumber````: current page number - ````totalPages````: total pages in the document  For example, ````<span class=title></span>```` would generate span containing the title.
    :param footer_template: *(Optional)* HTML template for the print footer. Should use the same format as the ````headerTemplate````.
    :param prefer_css_page_size: *(Optional)* Whether or not to prefer page size as defined by css. Defaults to false, in which case the content will be scaled to fit the paper size.
    :param transfer_mode: **(EXPERIMENTAL)** *(Optional)* return as stream
    :param generate_tagged_pdf: **(EXPERIMENTAL)** *(Optional)* Whether or not to generate tagged (accessible) PDF. Defaults to embedder choice.
    :param generate_document_outline: **(EXPERIMENTAL)** *(Optional)* Whether or not to embed the document outline into the PDF.
    :returns: A tuple with the following items:

        0. **data** - Base64-encoded pdf data. Empty if `` returnAsStream` is specified.
        1. **stream** - *(Optional)* A handle of the stream that holds resulting PDF data.
    N	landscapedisplayHeaderFooterprintBackgroundr  
paperWidthpaperHeight	marginTopmarginBottom
marginLeftmarginRight
pageRangesheaderTemplatefooterTemplatepreferCSSPageSizetransferModegenerateTaggedPDFgenerateDocumentOutlinezPage.printToPDFr  r%  stream)rN   r(   r   StreamHandler   )r  display_header_footerprint_backgroundr  paper_widthpaper_height
margin_topmargin_bottommargin_leftmargin_rightpage_rangesheader_templatefooter_templateprefer_css_page_sizetransfer_modegenerate_tagged_pdfgenerate_document_outliner  r  r   s                       r   print_to_pdfr  	  s|    X &F'{((=$%#$4 !w*| ,}({ !.~*| ,}*|"#2 "#2 '&:"# !.~&&9"# ,,E()#H >DDL5=5E!!$x.1 KO s   CCc              #  N   K   t               }| | |d<   |||d<   d|d}|}yw)an  
    Reloads given page optionally ignoring the cache.

    :param ignore_cache: *(Optional)* If true, browser cache is ignored (as if the user pressed Shift+refresh).
    :param script_to_evaluate_on_load: *(Optional)* If set, the script will be injected into all frames of the inspected page after reload. Argument will be ignored if reloading dataURL origin.
    NignoreCachescriptToEvaluateOnLoadzPage.reloadr  r;  )ignore_cachescript_to_evaluate_on_loadr  r  r   s        r   r  r  	  sF      &F ,}!-+E'(H >Ds   #%c              #  X   K   t               }| j                         |d<   d|d}|}yw)z{
    Deprecated, please use removeScriptToEvaluateOnNewDocument instead.

    **EXPERIMENTAL**

    :param identifier:
    r  z!Page.removeScriptToEvaluateOnLoadr  NrN   r   r  r  r  r   s       r   !remove_script_to_evaluate_on_loadr  	
  s8      &F%--/F<5H >D   (*c              #  X   K   t               }| j                         |d<   d|d}|}yw)zE
    Removes given script from the list.

    :param identifier:
    r  z(Page.removeScriptToEvaluateOnNewDocumentr  Nr  r  s       r   )remove_script_to_evaluate_on_new_documentr  
  s8      &F%--/F<<H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)z
    Acknowledges that a screencast frame has been received by the frontend.

    **EXPERIMENTAL**

    :param session_id: Frame number.
    	sessionIdzPage.screencastFrameAckr  Nr;  )
session_idr  r  r   s       r   screencast_frame_ackr  -
  s/      &F$F;+H >Dr  c              #     K   t               }| j                         |d<   ||d<   ||d<   |||d<   |||d<   d|d}|}|d   D cg c]!  }t        j                  j	                  |      # c}S c c}w w)	a  
    Searches for given string in resource content.

    **EXPERIMENTAL**

    :param frame_id: Frame id for resource to search in.
    :param url: URL of the resource to search in.
    :param query: String to search for.
    :param case_sensitive: *(Optional)* If true, search is case sensitive.
    :param is_regex: *(Optional)* If true, treats string parameter as regex.
    :returns: List of search matches.
    r   r^  querycaseSensitiveisRegexzPage.searchInResourcer  result)rN   r   r   SearchMatchr   )	r   r^  r  case_sensitiveis_regexr  r  r   rP   s	            r   search_in_resourcer  @
  s     & &F ((*F9F5MF7O!"0$y)H >D7;H~F!H  **1-FFFs   AA6&A1.A6c              #  <   K   t               }| |d<   d|d}|}yw)z
    Enable Chrome's experimental ad filter on all sites.

    **EXPERIMENTAL**

    :param enabled: Whether to block ads.
    enabledzPage.setAdBlockingEnabledr  Nr;  r  r  r  r   s       r   set_ad_blocking_enabledr  c
  s/      &FF9-H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)zj
    Enable page Content Security Policy by-passing.

    :param enabled: Whether to bypass page CSP.
    r  zPage.setBypassCSPr  Nr;  r  s       r   set_bypass_cspr  v
  s/      &FF9%H >Dr  c              #     K   t               }| j                         |d<   d|d}|}|d   D cg c]  }t        j                  |       c}S c c}w w)zq
    Get Permissions Policy state on given frame.

    **EXPERIMENTAL**

    :param frame_id:
    :returns: 
    r   zPage.getPermissionsPolicyStater  states)rN   r   r  r   r   r  r  r   rP   s        r   get_permissions_policy_stater  
  s\      &F ((*F92H >D@DXO1)33A6OOO   .AAAc              #     K   t               }| j                         |d<   d|d}|}|d   D cg c]  }t        j                  |       c}S c c}w w)zf
    Get Origin Trials on given frame.

    **EXPERIMENTAL**

    :param frame_id:
    :returns: 
    r   zPage.getOriginTrialsr  originTrials)rN   r   rT  r   r  s        r   get_origin_trialsr  
  s\      &F ((*F9(H >D.2>.BCK!!!$CCCr  c              #    K   t               }| |d<   ||d<   ||d<   ||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
j                         |d<   ||j                         |d<   d|d}|}yw)a  
    Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
    window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
    query results).

    **EXPERIMENTAL**

    :param width: Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param height: Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param device_scale_factor: Overriding device scale factor value. 0 disables the override.
    :param mobile: Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.
    :param scale: *(Optional)* Scale to apply to resulting view image.
    :param screen_width: *(Optional)* Overriding screen width value in pixels (minimum 0, maximum 10000000).
    :param screen_height: *(Optional)* Overriding screen height value in pixels (minimum 0, maximum 10000000).
    :param position_x: *(Optional)* Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
    :param position_y: *(Optional)* Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
    :param dont_set_visible_size: *(Optional)* Do not set visible view size, rely upon explicit setVisibleSize call.
    :param screen_orientation: *(Optional)* Screen orientation override.
    :param viewport: *(Optional)* The viewport dimensions and scale. If not set, the override is cleared.
    r  r  deviceScaleFactormobileNr  screenWidthscreenHeight	positionX	positionYdontSetVisibleSizescreenOrientationviewportzPage.setDeviceMetricsOverrider  r  )r  r  device_scale_factorr  r  screen_widthscreen_height
position_x
position_ydont_set_visible_sizescreen_orientationr  r  r  r   s                  r   set_device_metrics_overrider  
  s     D &FF7OF8"5FF8w ,} !.~({({('<#$%&8&@&@&B"#%--/z1H >Ds   A=A?c              #  P   K   t               }| |d<   ||d<   ||d<   d|d}|}yw)z
    Overrides the Device Orientation.

    **EXPERIMENTAL**

    :param alpha: Mock alpha
    :param beta: Mock beta
    :param gamma: Mock gamma
    alphabetagammaz!Page.setDeviceOrientationOverrider  Nr;  )r  r  r  r  r  r   s         r   set_device_orientation_overrider  
  s@      &FF7OF6NF7O5H >Ds   $&c              #     K   t               }| j                         |d<   |!|D cg c]  }|j                          c}|d<   d|d}|}yc c}w w)a	  
    Set generic font families.

    **EXPERIMENTAL**

    :param font_families: Specifies font families to set. If a font family is not specified, it won't be changed.
    :param for_scripts: *(Optional)* Specifies font families to set for individual scripts.
    r"  N
forScriptszPage.setFontFamiliesr  r  )r   for_scriptsr  rP   r  r   s         r   set_font_familiesr    s_      &F*224F>5@A		A|(H >D  Bs   $AAAc              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Set default font sizes.

    **EXPERIMENTAL**

    :param font_sizes: Specifies font sizes to set. If a font size is not specified, it won't be changed.
    	fontSizeszPage.setFontSizesr  Nr  )
font_sizesr  r  r   s       r   set_font_sizesr    s8      &F$,,.F;%H >Dr  c              #  b   K   t               }| j                         |d<   ||d<   d|d}|}yw)z
    Sets given markup as the document's HTML.

    :param frame_id: Frame id to set HTML for.
    :param html: HTML content to set.
    r   htmlzPage.setDocumentContentr  Nr  )r   r  r  r  r   s        r   set_document_contentr  2  sA      &F ((*F9F6N+H >Ds   -/c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)aU  
    Set the behavior when downloading a file.

    **EXPERIMENTAL**

    :param behavior: Whether to allow all or deny all download requests, or use default Chrome behavior if available (otherwise deny).
    :param download_path: *(Optional)* The default path to save downloaded files to. This is required if behavior is set to 'allow'
    behaviorNdownloadPathzPage.setDownloadBehaviorr  r;  )r  download_pathr  r  r   s        r   set_download_behaviorr  F  s?      &F!F: !.~,H >Dr[  c              #  \   K   t               }| | |d<   |||d<   |||d<   d|d}|}yw)a  
    Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position
    unavailable.

    :param latitude: *(Optional)* Mock latitude
    :param longitude: *(Optional)* Mock longitude
    :param accuracy: *(Optional)* Mock accuracy
    Nlatitude	longitudeaccuracyzPage.setGeolocationOverrider  r;  )r  r  r  r  r  r   s         r   set_geolocation_overrider  ]  sU      &F%z'{%z/H >Ds   *,c              #  <   K   t               }| |d<   d|d}|}yw)z{
    Controls whether page will emit lifecycle events.

    :param enabled: If true, starts emitting lifecycle events.
    r  zPage.setLifecycleEventsEnabledr  Nr;  r  s       r   set_lifecycle_events_enabledr  x  s/      &FF92H >Dr  c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)a   
    Toggles mouse event-based touch event emulation.

    **EXPERIMENTAL**

    :param enabled: Whether the touch event emulation should be enabled.
    :param configuration: *(Optional)* Touch/gesture events configuration. Default: current platform.
    r  NconfigurationzPage.setTouchEmulationEnabledr  r;  )r  r  r  r  r   s        r   set_touch_emulation_enabledr    s?      &FF9 "/1H >Dr[  c              #  x   K   t               }| | |d<   |||d<   |||d<   |||d<   |||d<   d|d}|}yw)	a  
    Starts sending each frame using the ``screencastFrame`` event.

    **EXPERIMENTAL**

    :param format_: *(Optional)* Image compression format.
    :param quality: *(Optional)* Compression quality from range [0..100].
    :param max_width: *(Optional)* Maximum screenshot width.
    :param max_height: *(Optional)* Maximum screenshot height.
    :param every_nth_frame: *(Optional)* Send every n-th frame.
    Nr!   r   maxWidth	maxHeighteveryNthFramezPage.startScreencastr  r;  )r&  r   	max_width
max_heightevery_nth_framer  r  r   s           r   start_screencastr    su     $ &F"x#y&z({""1(H >Ds   8:c               #     K   ddi} | }yw)zK
    Force the page stop all navigations and pending resource fetches.
    r  zPage.stopLoadingNr   r  s     r   stop_loadingr    s     
 	$H >Dr  c               #     K   ddi} | }yw)zW
    Crashes renderer on the IO thread, generates minidumps.

    **EXPERIMENTAL**
    r  z
Page.crashNr   r  s     r   crashr    s      	,H >Dr  c               #     K   ddi} | }yw)zF
    Tries to close page, running its beforeunload hooks, if any.
    r  z
Page.closeNr   r  s     r   closer    s     
 	,H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)z
    Tries to update the web lifecycle state of the page.
    It will transition the page to the given state according to:
    https://github.com/WICG/web-lifecycle/

    **EXPERIMENTAL**

    :param state: Target lifecycle state
    statezPage.setWebLifecycleStater  Nr;  )r
  r  r  r   s       r   set_web_lifecycle_stater    s.      &FF7O-H >Dr  c               #     K   ddi} | }yw)zT
    Stops sending each frame in the ``screencastFrame``.

    **EXPERIMENTAL**
    r  zPage.stopScreencastNr   r  s     r   stop_screencastr    s      	'H >Dr  c              #  ~   K   t               }| D cg c]  }|j                          c}|d<   d|d}|}yc c}w w)a  
    Requests backend to produce compilation cache for the specified scripts.
    ``scripts`` are appended to the list of scripts for which the cache
    would be produced. The list may be reset during page navigation.
    When script with a matching URL is encountered, the cache is optionally
    produced upon backend discretion, based on internal heuristics.
    See also: ``Page.compilationCacheProduced``.

    **EXPERIMENTAL**

    :param scripts:
    scriptszPage.produceCompilationCacher  Nr  )r  r  rP   r  r   s        r   produce_compilation_cacher    sE      &F.566F90H >D 7s   =8=c              #  F   K   t               }| |d<   ||d<   d|d}|}yw)z
    Seeds compilation cache for given url. Compilation cache does not survive
    cross-process navigation.

    **EXPERIMENTAL**

    :param url:
    :param data: Base64-encoded data
    r^  r%  zPage.addCompilationCacher  Nr;  )r^  r%  r  r  r   s        r   add_compilation_cacher    s7      &FF5MF6N,H >Dr>  c               #     K   ddi} | }yw)z@
    Clears seeded compilation cache.

    **EXPERIMENTAL**
    r  zPage.clearCompilationCacheNr   r  s     r   clear_compilation_cacher  4  s      	.H >Dr  c              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Sets the Secure Payment Confirmation transaction mode.
    https://w3c.github.io/secure-payment-confirmation/#sctn-automation-set-spc-transaction-mode

    **EXPERIMENTAL**

    :param mode:
    modezPage.setSPCTransactionModer  Nr  r  r  r  r   s       r   set_spc_transaction_moder  @  s4      &F\\^F6N.H >Dr  c              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Extensions for Custom Handlers API:
    https://html.spec.whatwg.org/multipage/system-state.html#rph-automation

    **EXPERIMENTAL**

    :param mode:
    r  zPage.setRPHRegistrationModer  Nr  r  s       r   set_rph_registration_moder  T  s4      &F\\^F6N/H >Dr  c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)z
    Generates a report for testing.

    **EXPERIMENTAL**

    :param message: Message to be displayed in the report.
    :param group: *(Optional)* Specifies the endpoint group to deliver the report to.
    r  NgroupzPage.generateTestReportr  r;  )r  r  r  r  r   s        r   generate_test_reportr  h  s>      &FF9w+H >Dr[  c               #     K   ddi} | }yw)zt
    Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.

    **EXPERIMENTAL**
    r  zPage.waitForDebuggerNr   r  s     r   wait_for_debuggerr    s      	(H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)a  
    Intercept file chooser requests and transfer control to protocol clients.
    When file chooser interception is enabled, native file chooser dialog is not shown.
    Instead, a protocol event ``Page.fileChooserOpened`` is emitted.

    :param enabled:
    r  z"Page.setInterceptFileChooserDialogr  Nr;  r  s       r   !set_intercept_file_chooser_dialogr!    s/      &FF96H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)al  
    Enable/disable prerendering manually.

    This command is a short-term solution for https://crbug.com/1440085.
    See https://docs.google.com/document/d/12HVmFxYj5Jc-eJr5OmWsa2bqTJsbgGLKI6ZIyx0_wpA
    for more details.

    TODO(https://crbug.com/1440085): Remove this once Puppeteer supports tab targets.

    **EXPERIMENTAL**

    :param is_allowed:
    	isAllowedzPage.setPrerenderingAllowedr  Nr;  )
is_allowedr  r  r   s       r   set_prerendering_allowedr%    s/       &F$F;/H >Dr  zPage.domContentEventFiredc                  *    e Zd ZU ded<   edd       Zy)DomContentEventFirednetwork.MonotonicTimer  c                T     | t         j                  j                  |d               S Nr  )r  r   MonotonicTimer   r   s     r   r   zDomContentEventFired.from_json  (    ++55d;6GH
 	
r   N)r   r   r'   r'  r*   r+   r,   rU   r.   r   r   r   r   r'  r'         %$
 
r   r'  zPage.fileChooserOpenedc                  B    e Zd ZU dZded<   ded<   ded<   ed
d       Zy	)FileChooserOpenedzE
    Emitted only when ``page.interceptFileChooser`` is enabled.
    r   r   r(   r  z"typing.Optional[dom.BackendNodeId]backend_node_idc                     | t         j                  |d         t        |d         d|v r't        j                  j                  |d               S d       S )Nr   r  backendNodeId)r   r  r2  )r   r   r(   r	   BackendNodeIdr   s     r   r   zFileChooserOpened.from_json  s_    &&tI7T&\"RaeiRiC--77_8MN
 	
 pt
 	
r   N)r   r   r'   r1  r*   r+   r,   r-   rU   r.   r   r   r   r   r1  r1    s,     
I77
 
r   r1  zPage.frameAttachedc                  B    e Zd ZU dZded<   ded<   ded<   ed	d       Zy)
FrameAttachedz;
    Fired when frame has been attached to its parent.
    r   r   parent_frame_idz#typing.Optional[runtime.StackTrace]stackc                     | t         j                  |d         t         j                  |d         d|v r't        j                  j                  |d               S d       S )Nr   parentFrameIdr:  )r   r9  r:  )r   r   r   
StackTracer   s     r   r   zFrameAttached.from_json  sc    &&tI7#--d?.CDAHD'$$..tG}=
 	
 W[
 	
r   N)r   r   r'   r8  r6  r   r   r   r8  r8    s-     ..
 
r   r8  z$Page.frameClearedScheduledNavigationc                  .    e Zd ZU dZded<   edd       Zy)FrameClearedScheduledNavigationz@
    Fired when frame no longer has a scheduled navigation.
    r   r   c                @     | t         j                  |d               S Nr   )r   r   r   r   s     r   r   z)FrameClearedScheduledNavigation.from_json  !    &&tI7
 	
r   N)r   r   r'   r?  r6  r   r   r   r?  r?    s!     
 
r   r?  zPage.frameDetachedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	FrameDetachedz=
    Fired when frame has been detached from its parent.
    r   r   r(   r  c                Z     | t         j                  |d         t        |d               S )Nr   r  )r   r  r   r   r(   r   s     r   r   zFrameDetached.from_json	  s-    &&tI7tH~&
 	
r   N)r   r   r'   rE  r6  r   r   r   rE  rE    s&     K
 
r   rE  zPage.frameNavigatedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	FrameNavigatedzh
    Fired once navigation of the frame has completed. Frame is now associated with the new loader.
    rZ  r  r  r}  c                n     | t         j                  |d         t        j                  |d               S )Nr  r  )r  r}  )rZ  r   r  r   s     r   r   zFrameNavigated.from_json  s1    //$w-0 **4<8
 	
r   N)r   r   r'   rI  r6  r   r   r   rI  rI    s&     L
 
r   rI  zPage.documentOpenedc                  .    e Zd ZU dZded<   edd       Zy)DocumentOpenedzH
    **EXPERIMENTAL**

    Fired when opening document to write to.
    rZ  r  c                @     | t         j                  |d               S )Nr  )r  )rZ  r   r   s     r   r   zDocumentOpened.from_json.  s    //$w-0
 	
r   N)r   r   r'   rL  r6  r   r   r   rL  rL  #  s      L
 
r   rL  zPage.frameResizedc                  "    e Zd ZdZedd       Zy)FrameResizedz
    **EXPERIMENTAL**


    c                     |        S r   r   r   s     r   r   zFrameResized.from_json?       
 	
r   N)r   r   r'   rO  r*   r+   r,   r-   r.   r   r   r   r   rO  rO  5  s     
 
r   rO  zPage.frameRequestedNavigationc                  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)FrameRequestedNavigationz
    **EXPERIMENTAL**

    Fired when a renderer-initiated navigation is requested.
    Navigation may still be cancelled after the event is issued.
    r   r   r*  r  r(   r^  r<  dispositionc           	          | t         j                  |d         t        j                  |d         t        |d         t        j                  |d               S )Nr   r  r^  rU  )r   r  r^  rU  )r   r   r*  r(   r<  r   s     r   r   z"FrameRequestedNavigation.from_jsonX  sR    &&tI7)33DNCDK 3==d=>QR	
 	
r   N)r   r   r'   rT  r6  r   r   r   rT  rT  F  s2     ""	H,,
 
r   rT  zPage.frameScheduledNavigationc                  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)FrameScheduledNavigationz<
    Fired when frame schedules a potential navigation.
    r   r   r  delayr*  r  r(   r^  c           	          | t         j                  |d         t        |d         t        j                  |d         t	        |d               S )Nr   rY  r  r^  )r   rY  r  r^  )r   r   r  r*  r(   r   s     r   r   z"FrameScheduledNavigation.from_jsonr  sK    &&tI7W&)33DNCDK 	
 	
r   N)r   r   r'   rX  r6  r   r   r   rX  rX  b  s3      L""	H
 
r   rX  zPage.frameStartedLoadingc                  .    e Zd ZU dZded<   edd       Zy)FrameStartedLoadingzE
    **EXPERIMENTAL**

    Fired when frame has started loading.
    r   r   c                @     | t         j                  |d               S rA  rB  r   s     r   r   zFrameStartedLoading.from_json  rC  r   N)r   r   r'   r\  r6  r   r   r   r\  r\  |  !     
 
r   r\  zPage.frameStoppedLoadingc                  .    e Zd ZU dZded<   edd       Zy)FrameStoppedLoadingzE
    **EXPERIMENTAL**

    Fired when frame has stopped loading.
    r   r   c                @     | t         j                  |d               S rA  rB  r   s     r   r   zFrameStoppedLoading.from_json  rC  r   N)r   r   r'   r`  r6  r   r   r   r`  r`    r^  r   r`  zPage.downloadWillBeginc                  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	)DownloadWillBeginz
    **EXPERIMENTAL**

    Fired when page is about to start a download.
    Deprecated. Use Browser.downloadWillBegin instead.
    r   r   r(   guidr^  suggested_filenamec           	          | t         j                  |d         t        |d         t        |d         t        |d               S )Nr   rd  r^  suggestedFilename)r   rd  r^  re  rG  r   s     r   r   zDownloadWillBegin.from_json  sG    &&tI7T&\"DK "4(;#<=	
 	
r   N)r   r   r'   rc  r6  r   r   r   rc  rc    s1     
I	H
 
r   rc  zPage.downloadProgressc                  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	)DownloadProgressz
    **EXPERIMENTAL**

    Fired when download makes progress. Last call has ``done`` == true.
    Deprecated. Use Browser.downloadProgress instead.
    r(   rd  r  total_bytesreceived_bytesr
  c           	     z     | t        |d         t        |d         t        |d         t        |d               S )Nrd  
totalBytesreceivedBytesr
  )rd  rj  rk  r
  )r(   r  r   s     r   r   zDownloadProgress.from_json  sA    T&\"d<01 o!67d7m$	
 	
r   N)r   r   r'   ri  r6  r   r   r   ri  ri    s1     IJ
 
r   ri  zPage.interstitialHiddenc                  "    e Zd ZdZedd       Zy)InterstitialHiddenz1
    Fired when interstitial page was hidden
    c                     |        S r   r   r   s     r   r   zInterstitialHidden.from_json  rQ  r   N)r   r   r'   rp  rR  r   r   r   rp  rp        
 
 
r   rp  zPage.interstitialShownc                  "    e Zd ZdZedd       Zy)InterstitialShownz0
    Fired when interstitial page was shown
    c                     |        S r   r   r   s     r   r   zInterstitialShown.from_json  rQ  r   N)r   r   r'   rt  rR  r   r   r   rt  rt    rr  r   rt  zPage.javascriptDialogClosedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	JavascriptDialogClosedzs
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been
    closed.
    r  r  r(   
user_inputc                F     | t        |d         t        |d               S )Nr  	userInput)r  rx  )r  r(   r   s     r   r   z JavascriptDialogClosed.from_json  s(    X'4,-
 	
r   N)r   r   r'   rw  r6  r   r   r   rw  rw    s%    
 LO
 
r   rw  zPage.javascriptDialogOpeningc                  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)JavascriptDialogOpeningzt
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to
    open.
    r(   r^  r  r  r}  r  has_browser_handlerrg  default_promptc           
          | t        |d         t        |d         t        j                  |d         t        |d         d|v rt        |d               S d       S )Nr^  r  r  hasBrowserHandlerdefaultPrompt)r^  r  r}  r}  r~  )r(   r  r   r  r   s     r   r   z!JavascriptDialogOpening.from_json  sl    DK Y(&&tF|4 $T*=%> ?9HD9P3tO45
 	

 W[
 	
r   N)r   r   r'   r|  r6  r   r   r   r|  r|  
  s9    
 
HL ((
 
r   r|  zPage.lifecycleEventc                  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)LifecycleEventzY
    Fired for top level page lifecycle events such as navigation, load, paint, etc.
    r   r   r\  r]  r(   rh  r(  r  c           	          | t         j                  |d         t        j                  j                  |d         t	        |d         t        j
                  j                  |d               S )Nr   rn  rh  r  )r   r]  rh  r  )r   r   r   rz  r(   r,  r   s     r   r   zLifecycleEvent.from_json6  s_    &&tI7&&00j1ABT&\"++55d;6GH	
 	
r   N)r   r   r'   r  r6  r   r   r   r  r  )  s2     
I$$
 
r   r  zPage.backForwardCacheNotUsedc                  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)BackForwardCacheNotUsedaU  
    **EXPERIMENTAL**

    Fired for failed bfcache history navigations if BackForwardCache feature is enabled. Do
    not assume any ordering with the Page.frameNavigated event. This event is fired only for
    main-frame history navigation where the document changes (non-same-document navigations),
    when bfcache navigation fails.
    r\  r]  r   r   r  not_restored_explanationsz;typing.Optional[BackForwardCacheNotRestoredExplanationTree]not_restored_explanations_treec           
         | t         j                  j                  |d         t        j                  |d         |d   D cg c]  }t        j                  |       c}d|v rt
        j                  |d               S d       S c c}w )Nrn  r   notRestoredExplanationsnotRestoredExplanationsTree)r]  r   r  r  )r   rz  r   r   r  r  rS   s      r   r   z!BackForwardCacheNotUsed.from_jsonT  s    &&00j1AB&&tI7dh  jC  eD  'E_`'M'W'WXY'Z  'E If  jn  In+U+_+_`d  fC  aD  ,E	
 	
 tx	
 	
 'Es   BN)r   r   r'   r  r6  r   r   r   r  r  @  s3      RR$__
 
r   r  zPage.loadEventFiredc                  *    e Zd ZU ded<   edd       Zy)LoadEventFiredr(  r  c                T     | t         j                  j                  |d               S r*  r+  r   s     r   r   zLoadEventFired.from_jsonc  r-  r   N)r   r   r'   r  r.  r   r   r   r  r  ^  r/  r   r  zPage.navigatedWithinDocumentc                  8    e Zd ZU dZded<   ded<   edd       Zy)	NavigatedWithinDocumentz
    **EXPERIMENTAL**

    Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.
    r   r   r(   r^  c                Z     | t         j                  |d         t        |d               S )Nr   r^  )r   r^  rG  r   s     r   r   z!NavigatedWithinDocument.from_jsonw  s-    &&tI7DK 
 	
r   N)r   r   r'   r  r6  r   r   r   r  r  j  s&     	H
 
r   r  zPage.screencastFramec                  B    e Zd ZU dZded<   ded<   ded<   ed
d       Zy	)ScreencastFramez[
    **EXPERIMENTAL**

    Compressed image data requested by the ``startScreencast``.
    r(   r%  r  metadatar  r  c                t     | t        |d         t        j                  |d         t        |d               S )Nr%  r  r  )r%  r  r  )r(   r  r   r  r   s     r   r   zScreencastFrame.from_json  s;    T&\",66tJ7GH4,-
 	
r   N)r   r   r'   r  r6  r   r   r   r  r    s+     I%%O
 
r   r  z Page.screencastVisibilityChangedc                  .    e Zd ZU dZded<   edd       Zy)ScreencastVisibilityChangedzk
    **EXPERIMENTAL**

    Fired when the page with currently enabled screencast was shown or hidden .
    r  visiblec                ,     | t        |d               S )Nr  )r  )r  r   s     r   r   z%ScreencastVisibilityChanged.from_json  s    i)
 	
r   N)r   r   r'   r  r6  r   r   r   r  r    s      M
 
r   r  zPage.windowOpenc                  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
)
WindowOpenzq
    Fired when a new window is going to be opened, via window.open(), link click, form submission,
    etc.
    r(   r^  window_nameztyping.List[str]window_featuresr  user_gesturec           
          | t        |d         t        |d         |d   D cg c]  }t        |       c}t        |d               S c c}w )Nr^  
windowNamewindowFeaturesuserGesture)r^  r  r  r  rk  rS   s      r   r   zWindowOpen.from_json  sS    DK D./-12B-CDSVDd=12	
 	
 Es   AN)r   r   r'   r  r6  r   r   r   r  r    s2    
 
H%%
 
r   r  zPage.compilationCacheProducedc                  8    e Zd ZU dZded<   ded<   edd       Zy)CompilationCacheProducedz
    **EXPERIMENTAL**

    Issued for every compilation cache generated. Is only available
    if Page.setGenerateCompilationCache is enabled.
    r(   r^  r%  c                F     | t        |d         t        |d               S )Nr^  r%  )r^  r%  r  r   s     r   r   z"CompilationCacheProduced.from_json  s'    DK T&\"
 	
r   N)r   r   r'   r  r6  r   r   r   r  r    s%     
H
I
 
r   r  )r  r(   r'   <typing.Generator[T_JSON_DICT, T_JSON_DICT, ScriptIdentifier])NNN)
r  r(   r  rg  r  r  r  r  r'   r  )r'   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])NNNNNN)r&  rg  r   r&  r!  typing.Optional[Viewport]r'  r  r(  r  r)  r  r'   /typing.Generator[T_JSON_DICT, T_JSON_DICT, str]r   )r&  rg  r'   r  )NN)r   r   r  rg  r7  r  r'   zFtyping.Generator[T_JSON_DICT, T_JSON_DICT, runtime.ExecutionContextId])r<  r(   r^  r(   r'   r  )rH  rg  r'   ztyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.List[AppManifestError], typing.Optional[str], typing.Optional[AppManifestParsedProperties], WebAppManifest]])r'   zLtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[InstallabilityError]])r'   z@typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Optional[str]])r'   zdtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], typing.Optional[str]]])r   r   r'   zGtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Optional[AdScriptId]])r'   z5typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameTree])r'   ztyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[LayoutViewport, VisualViewport, dom.Rect, LayoutViewport, VisualViewport, dom.Rect]])r'   z[typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[int, typing.List[NavigationEntry]]])r   r   r^  r(   r'   zCtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, bool]])r'   z=typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameResourceTree])rq  r  rs  rg  r'   r  )NNNN)r^  r(   rv  rg  r  ztyping.Optional[TransitionType]r   re  ry  ztyping.Optional[ReferrerPolicy]r'   zztyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[FrameId, typing.Optional[network.LoaderId], typing.Optional[str]]])r}  r  r'   r  )NNNNNNNNNNNNNNNNN)$r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rg  r  rg  r  rg  r  r  r  rg  r  r  r  r  r'   z_typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.Optional[io.StreamHandle]]])r  r  r  rg  r'   r  )r  r  r'   r  )r  r  r'   r  )r   r   r^  r(   r  r(   r  r  r  r  r'   zMtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[debugger.SearchMatch]])r  r  r'   r  )r   r   r'   zVtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[PermissionsPolicyFeatureState]])r   r   r'   zDtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[OriginTrial]])NNNNNNNN)r  r  r  r  r  r  r  r  r  r  r  r&  r  r&  r  r&  r  r&  r  r  r  z,typing.Optional[emulation.ScreenOrientation]r  r  r'   r  )r  r  r  r  r  r  r'   r  )r   r  r  z0typing.Optional[typing.List[ScriptFontFamilies]]r'   r  )r  r%  r'   r  )r   r   r  r(   r'   r  )r  r(   r  rg  r'   r  )r  r  r  r  r  r  r'   r  )r  r  r  rg  r'   r  )NNNNN)r&  rg  r   r&  r  r&  r   r&  r  r&  r'   r  )r
  r(   r'   r  )r  z#typing.List[CompilationCacheParams]r'   r  )r^  r(   r%  r(   r'   r  )r  r  r'   r  )r  r(   r  rg  r'   r  )r$  r  r'   r  )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r   r(   r   Enumr2   r?   rI   rW   rc   ro   ry   r   r   r   r  r  r(  r4  r;  rK  rT  rZ  r|  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r%  r*  r<  rH  rL  rT  rg  rm  rs  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r*  r,  r.  r0  r2  r8  r=  r@  rB  rI  rM  rP  rT  rW  rZ  rc  rg  ri  rm  ro  rt  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r%  r'  r1  r8  r?  rE  rI  rL  rO  rT  rX  r\  r`  rc  ri  rp  rt  rw  r|  r  r  r  r  r  r  r  r  r   r   r   <module>r     sk   # * !        8c 8$))  
 
 
 
 
. 
 
 
4		 "TYY  tyy `tyy `F499 " 
 
 
& 
 
 
0TYY 4		 "	$)) 	  
  
  
F 
 
 
4 
 
 
. Y
 Y
 Y
x 2
 2
 2
j 
 
 
< 
 
 
2As ATYY 4 $
 $
 $
N /
 /
 /
d " 
 
 
D 
 
 
& 
 
 
D 4
 4
 4
n $
 $
 $
N 5
 5
 5
p 
 
 
0 
 
 
4TYY $$))  
 
 
* 
 
 
0TYY * 
 
 
4 
 
 
* !
 !
 !
H 
 
 
< 
 
 
 
 
 
& 
 
 
( 
 
 
* 
 
 
0 )
 )
 )
X 
 
 
& E
 E
 E
Ptyy "TYY N		 NbDII   
 
 
B 
 
 
D 
 
 
4::	C:. ,0:>15	::(: #8: /	:
 
D:> )-(,*..29=48%%%%% (% ,	%
 "7% 2% 
7%R )-%	6.		 ,07;LL(L  5L 
N	L6 
8, -1!)! 
x!HTG,VV	NV*
26& 
K<:" -1) 
8. *.;?-1;?((&( 9( +	(
 9( 
B(V	7$ ,07;26(,.2/3-104.2/3,004046:.259;?#W(W4W 0W &	W
 ,W -W +W .W ,W -W *W .W .W 4W ,W  3!W" $9#W$ 
g%Wv /3;?+$8 
8,$	7&$	7"	7. 15*. G G G  G .	 G
 ( G 
U GF	7&	7"PP	]P*DD	KD4 )--1.2+/+/7;KO.2;;; #; 	;
 &; +; ,; ); );  5; I; ,; 
8;|  
8	6 IM#E 
8.	7& 
8, /3+ 
80 ,0,0+/() ) 
8	6	7& /3+ 
80 )-(,*.+/04!%!%! (! )	!
 .! 
8!H		7*	4	70 
8.		7(	7, '+# 
8.		7&	72 ()

 
  *
 %&

 
  '
( !"

 
  #
( 34

 
  5
 !"

 
  #
  "#

 
  $
  "#

 
  $
   !

 
  "
 ,-

 
  .
4 ,-

 
  .
0 '(

 
  )
  '(

 
  )
  %&

 
  '
4 $%

 
  &
4 &'


 

  (

 %&


 

  '

 *+

 
  ,
$ +,

 
  -
: "#

 
  $
* +,

 
  -
8 "#

 
  $
 +,

 
  -
& #$

 
  %
, /0

 
  1
  

 
   
0 ,-

 
  .
r   