
    Egq|                       d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ  G d	 d
e          Z G d dej                  Ze G d d                      Ze G d d                      Z G d dej                  Ze G d d                      Ze G d d                      Z G d dej                  Ze G d d                      Ze G d d                      Ze G d d                      Ze G d d                       Ze G d! d"                      Zdod'Zdpd,Zdqd.Z	 drdsd2Z	 drdtd5Z 	 drdud6Z!dvd8Z"	 drdwd;Z#dxd<Z$dyd=Z%dxd>Z&dyd?Z'dxd@Z(dydAZ)dxdBZ*dydCZ+dzdEZ,d{dHZ-d|dLZ.d}dOZ/d~dQZ0ddSZ1	 drddXZ2ddYZ3ddZZ4dd[Z5d}d\Z6 ed]          e G d^ d_                                  Z7 ed`          e G da db                                  Z8 edc          e G dd de                                  Z9 edf          e G dg dh                                  Z: edi          e G dj dk                                  Z; edl          e G dm dn                                  Z<dS )    )annotations   )event_classT_JSON_DICT)	dataclassN)browser)network)pagec                  >     e Zd ZddZedd            Z fdZ xZS )	SerializedStorageKeyreturnstrc                    | S N selfs    d/var/www/sysmax/venv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v112/storage.pyto_jsonzSerializedStorageKey.to_json   s        jsonc                     | |          S r   r   clsr   s     r   	from_jsonzSerializedStorageKey.from_json       s4yyr   c                j    d                     t                                                                S )NzSerializedStorageKey({}))formatsuper__repr__)r   	__class__s    r   r    zSerializedStorageKey.__repr__   s'    )001A1A1C1CDDDr   )r   r   )r   r   r   r   )__name__
__module____qualname__r   classmethodr   r    __classcell__)r!   s   @r   r   r      su               [E E E E E E E E 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d
ZdZdZdZdZd Zed             ZdS )StorageTypez)
    Enum of possible storage types.
    appcachecookiesfile_systems	indexeddblocal_storageshader_cachewebsqlservice_workerscache_storageinterest_groupsshared_storageallotherc                    | j         S r   valuer   s    r   r   zStorageType.to_json/   
    zr   c                     | |          S r   r   r   s     r   r   zStorageType.from_json2   r   r   N)r"   r#   r$   __doc__APPCACHECOOKIESFILE_SYSTEMS	INDEXEDDBLOCAL_STORAGESHADER_CACHEWEBSQLSERVICE_WORKERSCACHE_STORAGEINTEREST_GROUPSSHARED_STORAGEALL_OTHERr   r%   r   r   r   r   r(   r(      s          HG!LI#M!LF'O#M'O%NDE     [  r   r(   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	UsageForTypez#
    Usage for a storage type.
    r(   storage_typefloatusagec                n    t                      }| j                                        |d<   | j        |d<   |S )NstorageTyperM   )dictrK   r   rM   r   r   s     r   r   zUsageForType.to_jsonB   s4    vv"/7799]
Wr   c                ~     | t                               |d                   t          |d                             S )NrO   rM   )rK   rM   )r(   r   rL   r   s     r   r   zUsageForType.from_jsonH   s@    s$..tM/BCCW&&
 
 
 	
r   Nr"   r#   r$   r;   __annotations__r   r%   r   r   r   r   rJ   rJ   7   sc            LLL   
 
 [
 
 
r   rJ   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	TrustTokenszq
    Pair of issuer origin and number of available (signed, but not used) Trust
    Tokens from that issuer.
    r   issuer_originrL   countc                J    t                      }| j        |d<   | j        |d<   |S )NissuerOriginrX   )rP   rW   rX   rQ   s     r   r   zTrustTokens.to_jsonZ   s(    vv#1^
Wr   c                h     | t          |d                   t          |d                             S )NrZ   rX   )rW   rX   )r   rL   r   s     r   r   zTrustTokens.from_json`   s:    sd>233W&&
 
 
 	
r   NrS   r   r   r   rV   rV   P   sa           LLL   
 
 [
 
 
r   rV   c                  F    e Zd ZdZdZdZdZdZdZdZ	d Z
ed	             Zd
S )InterestGroupAccessTypez.
    Enum of interest group access types.
    joinleaveupdateloadedbidwinc                    | j         S r   r7   r   s    r   r   zInterestGroupAccessType.to_jsons   r9   r   c                     | |          S r   r   r   s     r   r   z!InterestGroupAccessType.from_jsonv   r   r   N)r"   r#   r$   r;   JOINLEAVEUPDATELOADEDBIDWINr   r%   r   r   r   r   r]   r]   h   sh          DEFF
C
C     [  r   r]   c                  H    e Zd ZU dZded<   dZded<   d Zed             ZdS )	InterestGroupAdz:
    Ad advertising element inside an interest group.
    r   
render_urlNtyping.Optional[str]metadatac                X    t                      }| j        |d<   | j        
| j        |d<   |S )N	renderUrlrp   )rP   rn   rp   rQ   s     r   r   zInterestGroupAd.to_json   s0    vv O[=$#}Dr   c                t     | t          |d                   d|v rt          |d                   nd           S )Nrr   rp   )rn   rp   r   r   s     r   r   zInterestGroupAd.from_json   sJ    s4,--.8D.@.@Sj)***d
 
 
 	
r   )	r"   r#   r$   r;   rT   rp   r   r%   r   r   r   r   rm   rm   {   sf           OOO%)H))))   
 
 [
 
 
r   rm   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ded<   dZded<   dZded<   dZ	ded<   d Z
ed             ZdS )InterestGroupDetailsz0
    The full details of an interest group.
    r   owner_originnamenetwork.TimeSinceEpochexpiration_timejoining_originztyping.List[str]trusted_bidding_signals_keysztyping.List[InterestGroupAd]adsad_componentsNro   bidding_urlbidding_wasm_helper_url
update_urltrusted_bidding_signals_urluser_bidding_signalsc                   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j        |d<   d | j        D             |d<   d | j        D             |d<   d	 | j        D             |d
<   | j	        
| j	        |d<   | j
        
| j
        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )NownerOriginrx   expirationTimejoiningOriginc                    g | ]}|S r   r   .0is     r   
<listcomp>z0InterestGroupDetails.to_json.<locals>.<listcomp>   s    ,Z,Z,Z1Q,Z,Z,Zr   trustedBiddingSignalsKeysc                6    g | ]}|                                 S r   r   r   s     r   r   z0InterestGroupDetails.to_json.<locals>.<listcomp>   s     555qqyy{{555r   r}   c                6    g | ]}|                                 S r   r   r   s     r   r   z0InterestGroupDetails.to_json.<locals>.<listcomp>   s     HHH		HHHr   adComponents
biddingUrlbiddingWasmHelperUrl	updateUrltrustedBiddingSignalsUrluserBiddingSignals)rP   rw   rx   rz   r   r{   r|   r}   r~   r   r   r   r   r   rQ   s     r   r   zInterestGroupDetails.to_json   s   vv"/]yV!%!5!=!=!?!? $ 3_,Z,Z8Y,Z,Z,Z()55DH555UHHT5GHHH^'!%!1D'3+/+GD'(?& $D+7/3/OD+,$0)-)BD%&r   c                B    | t          |d                   t          |d                   t          j                            |d                   t          |d                   d |d         D             d |d         D             d	 |d
         D             d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd           S )Nr   rx   r   r   c                ,    g | ]}t          |          S r   rt   r   s     r   r   z2InterestGroupDetails.from_json.<locals>.<listcomp>   s    )\)\)\Q#a&&)\)\)\r   r   c                B    g | ]}t                               |          S r   rm   r   r   s     r   r   z2InterestGroupDetails.from_json.<locals>.<listcomp>   s&    CCC!**1--CCCr   r}   c                B    g | ]}t                               |          S r   r   r   s     r   r   z2InterestGroupDetails.from_json.<locals>.<listcomp>   s&    VVVA?44Q77VVVr   r   r   r   r   r   r   )rw   rx   rz   r{   r|   r}   r~   r   r   r   r   r   )r   r	   TimeSinceEpochr   r   s     r   r   zInterestGroupDetails.from_json   sJ   sT-011T&\""#2<<TBR=STTtO455)\)\$?Z:[)\)\)\CCtE{CCCVVnAUVVV3?43G3GD.///TI_cgIgIgC-C(D$E$E$Emq1<1D1Ds4,---$QkosQsQsD1K,L(M(M(My}DX\`D`D`T*>%?!@!@!@fj
 
 
 	
r   )r"   r#   r$   r;   rT   r   r   r   r   r   r   r%   r   r   r   r   rv   rv      s           III++++2222%%%%////(,K,,,,488888'+J++++8<<<<<155555  * 
 
 [
 
 
r   rv   c                  n    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZd Zed             ZdS )SharedStorageAccessTypez.
    Enum of shared storage access types.
    documentAddModuledocumentSelectURLdocumentRundocumentSetdocumentAppenddocumentDeletedocumentClear
workletSetworkletAppendworkletDeleteworkletClear
workletGetworkletKeysworkletEntriesworkletLengthworkletRemainingBudgetc                    | j         S r   r7   r   s    r   r   zSharedStorageAccessType.to_json   r9   r   c                     | |          S r   r   r   s     r   r   z!SharedStorageAccessType.from_json   r   r   N)r"   r#   r$   r;   DOCUMENT_ADD_MODULEDOCUMENT_SELECT_URLDOCUMENT_RUNDOCUMENT_SETDOCUMENT_APPENDDOCUMENT_DELETEDOCUMENT_CLEARWORKLET_SETWORKLET_APPENDWORKLET_DELETEWORKLET_CLEARWORKLET_GETWORKLET_KEYSWORKLET_ENTRIESWORKLET_LENGTHWORKLET_REMAINING_BUDGETr   r%   r   r   r   r   r   r      s          .- L L&O&O$NK$N$N"MK L&O$N7     [  r   r   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )SharedStorageEntryzK
    Struct for a single key-value pair in an origin's shared storage.
    r   keyr8   c                J    t                      }| j        |d<   | j        |d<   |S )Nr   r8   )rP   r   r8   rQ   s     r   r   zSharedStorageEntry.to_json   s&    vvhU
Wr   c                h     | t          |d                   t          |d                             S )Nr   r8   )r   r8   rt   r   s     r   r   zSharedStorageEntry.from_json  s9    sDK  d7m$$
 
 
 	
r   NrS   r   r   r   r   r      s^           HHHJJJ   
 
 [
 
 
r   r   c                  N    e Zd ZU dZded<   ded<   ded<   d Zed	             Zd
S )SharedStorageMetadataz1
    Details for an origin's shared storage.
    ry   creation_timeintlengthrL   remaining_budgetc                    t                      }| j                                        |d<   | j        |d<   | j        |d<   |S )NcreationTimer   remainingBudget)rP   r   r   r   r   rQ   s     r   r   zSharedStorageMetadata.to_json  sB    vv#199;;^X"&"7r   c                     | t           j                            |d                   t          |d                   t	          |d                             S )Nr   r   r   )r   r   r   )r	   r   r   r   rL   r   s     r   r   zSharedStorageMetadata.from_json  sT    s!0::4;OPPtH~&&"4(9#:;;
 
 
 	
r   NrS   r   r   r   r   r     sm           *)))KKK   
 
 [
 
 
r   r   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )SharedStorageReportingMetadatazU
    Pair of reporting metadata details for a candidate URL for ``selectURL()``.
    r   
event_typereporting_urlc                J    t                      }| j        |d<   | j        |d<   |S )N	eventTypereportingUrl)rP   r   r   rQ   s     r   r   z&SharedStorageReportingMetadata.to_json/  s)    vv O[#1^r   c                h     | t          |d                   t          |d                             S )Nr   r   )r   r   rt   r   s     r   r   z(SharedStorageReportingMetadata.from_json5  s;    s4,--d>233
 
 
 	
r   NrS   r   r   r   r   r   &  sa           OOO   
 
 [
 
 
r   r   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	SharedStorageUrlWithMetadataz>
    Bundles a candidate URL with its reporting metadata.
    r   urlz+typing.List[SharedStorageReportingMetadata]reporting_metadatac                ^    t                      }| j        |d<   d | j        D             |d<   |S )Nr   c                6    g | ]}|                                 S r   r   r   s     r   r   z8SharedStorageUrlWithMetadata.to_json.<locals>.<listcomp>K  s     $R$R$RQQYY[[$R$R$Rr   reportingMetadata)rP   r   r   rQ   s     r   r   z$SharedStorageUrlWithMetadata.to_jsonH  s7    vvhU$R$R$:Q$R$R$R !r   c                b     | t          |d                   d |d         D                       S )Nr   c                B    g | ]}t                               |          S r   )r   r   r   s     r   r   z:SharedStorageUrlWithMetadata.from_json.<locals>.<listcomp>R  s(    oooPQ > H H K Kooor   r   )r   r   rt   r   s     r   r   z&SharedStorageUrlWithMetadata.from_jsonN  sB    sDK  ooUYZmUnooo
 
 
 	
r   NrS   r   r   r   r   r   =  sd           HHH DCCC   
 
 [
 
 
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dS )SharedStorageAccessParamsz
    Bundles the parameters for shared storage access events whose
    presence/absence can vary according to SharedStorageAccessType.
    Nro   script_source_urloperation_nameserialized_dataz:typing.Optional[typing.List[SharedStorageUrlWithMetadata]]urls_with_metadatar   r8   typing.Optional[bool]ignore_if_presentc                $   t                      }| j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        d | j        D             |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )	NscriptSourceUrloperationNameserializedDatac                6    g | ]}|                                 S r   r   r   s     r   r   z5SharedStorageAccessParams.to_json.<locals>.<listcomp>  s     'U'U'U		'U'U'Ur   urlsWithMetadatar   r8   ignoreIfPresent)rP   r   r   r   r   r   r8   r   rQ   s     r   r   z!SharedStorageAccessParams.to_json  s    vv!-&*&<D"#*$($7D!+%)%9D!"".'U'UT=T'U'U'UD#$8(DK:! JDM!-&*&<D"#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d |d         D             nd d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd 	          S )
Nr   r   r   r   c                B    g | ]}t                               |          S r   )r   r   r   s     r   r   z7SharedStorageAccessParams.from_json.<locals>.<listcomp>  s'    llla < F Fq I Illlr   r   r8   r   )r   r   r   r   r   r8   r   )r   boolr   s     r   r   z#SharedStorageAccessParams.from_json  s   s>OSW>W>Wc$'8"9:::]a9HD9P9P3tO4555VZ;Kt;S;SC%5 6777Y] qC  GK  qK  qKllSWXjSkllll  QU$)TMMDK   t(/4#d7m$$$T?PTX?X?Xd4(9#:;;;^b
 
 
 	
r   )r"   r#   r$   r;   r   rT   r   r   r   r   r8   r   r   r%   r   r   r   r   r   r   V  s           /32222
 ,0N////
 -1O0000 VZYYYY !%C$$$$ #'E&&&&
 043333  $ 	
 	
 [	
 	
 	
r   r   frame_idpage.FrameIdr   @typing.Generator[T_JSON_DICT, T_JSON_DICT, SerializedStorageKey]c              #     K   t                      }|                                 |d<   d|d}|V }t                              |d                   S )zV
    Returns a storage key given a frame id.

    :param frame_id:
    :returns: 
    frameIdzStorage.getStorageKeyForFramemethodparams
storageKey)rP   r   r   r   )r   r   cmd_dictr   s       r   get_storage_key_for_framer     s]       &&F ((**F91 H >>D))$|*<===r   originr   storage_types0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )z
    Clears storage for origin.

    :param origin: Security origin.
    :param storage_types: Comma separated list of StorageType to clear.
    r   storageTypeszStorage.clearDataForOriginr   NrP   )r   r   r   r   r   s        r   clear_data_for_originr    sF       &&FF8*F>. H >>DDDr   storage_keyc              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )z
    Clears storage for storage key.

    :param storage_key: Storage key.
    :param storage_types: Comma separated list of StorageType to clear.
    r   r  zStorage.clearDataForStorageKeyr   Nr  )r  r   r   r   r   s        r   clear_data_for_storage_keyr    sF       &&F&F<*F>2 H >>DDDr   browser_context_id)typing.Optional[browser.BrowserContextID]Gtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[network.Cookie]]c              #     K   t                      }| |                                 |d<   d|d}|V }d |d         D             S )z
    Returns all browser cookies.

    :param browser_context_id: *(Optional)* Browser context to use when called on the browser endpoint.
    :returns: Array of cookie objects.
    NbrowserContextIdzStorage.getCookiesr   c                L    g | ]!}t           j                            |          "S r   )r	   Cookier   r   s     r   r   zget_cookies.<locals>.<listcomp>  s(    AAAAGN$$Q''AAAr   r*   rP   r   r  r   r   r   s       r   get_cookiesr    sc       &&F%%7%?%?%A%A!"& H >>DAAiAAAAr   r*    typing.List[network.CookieParam]c              #     K   t                      }d | D             |d<   ||                                |d<   d|d}|V }dS )z
    Sets given cookies.

    :param cookies: Cookies to be set.
    :param browser_context_id: *(Optional)* Browser context to use when called on the browser endpoint.
    c                6    g | ]}|                                 S r   r   r   s     r   r   zset_cookies.<locals>.<listcomp>  s     666666r   r*   Nr  zStorage.setCookiesr   r  )r*   r  r   r   r   s        r   set_cookiesr    sg       &&F66g666F9%%7%?%?%A%A!"& H >>DDDr   c              #  j   K   t                      }| |                                 |d<   d|d}|V }dS )z
    Clears cookies.

    :param browser_context_id: *(Optional)* Browser context to use when called on the browser endpoint.
    Nr  zStorage.clearCookiesr   r  r  s       r   clear_cookiesr    sO       &&F%%7%?%?%A%A!"( H >>DDDr   gtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[float, float, bool, typing.List[UsageForType]]]c              #     K   t                      }| |d<   d|d}|V }t          |d                   t          |d                   t          |d                   d |d         D             fS )	a|  
    Returns usage and quota in bytes.

    :param origin: Security origin.
    :returns: A tuple with the following items:

        0. **usage** - Storage usage (bytes).
        1. **quota** - Storage quota (bytes).
        2. **overrideActive** - Whether or not the origin has an active storage quota override
        3. **usageBreakdown** - Storage usage per type (bytes).
    r   zStorage.getUsageAndQuotar   rM   quotaoverrideActivec                B    g | ]}t                               |          S r   )rJ   r   r   s     r   r   z'get_usage_and_quota.<locals>.<listcomp>2  s&    CCCq			"	"CCCr   usageBreakdown)rP   rL   r   r   r   r   r   s       r   get_usage_and_quotar    s       &&FF8, H >>Dd7md7mT"#$$CCD1A,BCCC	 r   
quota_sizetyping.Optional[float]c              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )aV  
    Override quota for the specified origin

    **EXPERIMENTAL**

    :param origin: Security origin.
    :param quota_size: *(Optional)* The quota size (in bytes) to override the original quota with. If this is called multiple times, the overridden quota will be equal to the quotaSize provided in the final call. If this is called without specifying a quotaSize, the quota will be reset to the default value for the specified origin. If this is called multiple times with different origins, the override will be maintained for each origin until it is disabled (called without a quotaSize).
    r   N	quotaSizezStorage.overrideQuotaForOriginr   r  )r   r   r   r   r   s        r   override_quota_for_originr$  6  sL       &&FF8({2 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Registers origin to be notified when an update occurs to its cache storage list.

    :param origin: Security origin.
    r   z"Storage.trackCacheStorageForOriginr   Nr  r  s       r   track_cache_storage_for_originr&  M  s<       &&FF86 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Registers storage key to be notified when an update occurs to its cache storage list.

    :param storage_key: Storage key.
    r   z&Storage.trackCacheStorageForStorageKeyr   Nr  r  r   r   r   s       r   #track_cache_storage_for_storage_keyr)  ^  s<       &&F&F<: H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zv
    Registers origin to be notified when an update occurs to its IndexedDB.

    :param origin: Security origin.
    r   zStorage.trackIndexedDBForOriginr   Nr  r  s       r   track_indexed_db_for_originr+  o  s<       &&FF83 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z|
    Registers storage key to be notified when an update occurs to its IndexedDB.

    :param storage_key: Storage key.
    r   z#Storage.trackIndexedDBForStorageKeyr   Nr  r(  s       r    track_indexed_db_for_storage_keyr-    s<       &&F&F<7 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zq
    Unregisters origin from receiving notifications for cache storage.

    :param origin: Security origin.
    r   z$Storage.untrackCacheStorageForOriginr   Nr  r  s       r    untrack_cache_storage_for_originr/    s<       &&FF88 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zw
    Unregisters storage key from receiving notifications for cache storage.

    :param storage_key: Storage key.
    r   z(Storage.untrackCacheStorageForStorageKeyr   Nr  r(  s       r   %untrack_cache_storage_for_storage_keyr1    s<       &&F&F<< H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zm
    Unregisters origin from receiving notifications for IndexedDB.

    :param origin: Security origin.
    r   z!Storage.untrackIndexedDBForOriginr   Nr  r  s       r   untrack_indexed_db_for_originr3    s<       &&FF85 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zs
    Unregisters storage key from receiving notifications for IndexedDB.

    :param storage_key: Storage key.
    r   z%Storage.untrackIndexedDBForStorageKeyr   Nr  r(  s       r   "untrack_indexed_db_for_storage_keyr5    s<       &&F&F<9 H >>DDDr   Dtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[TrustTokens]]c               #  :   K   ddi} | V }d |d         D             S )z
    Returns the number of stored Trust Tokens per issuer for the
    current browsing context.

    **EXPERIMENTAL**

    :returns: 
    r   zStorage.getTrustTokensc                B    g | ]}t                               |          S r   )rV   r   r   s     r   r   z$get_trust_tokens.<locals>.<listcomp>  s&    ===K!!!$$===r   tokensr   )r   r   s     r   get_trust_tokensr:    s8       	*H >>D==d8n====r   rW   0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool]c              #  h   K   t                      }| |d<   d|d}|V }t          |d                   S )a	  
    Removes all Trust Tokens issued by the provided issuerOrigin.
    Leaves other stored data, including the issuer's Redemption Records, intact.

    **EXPERIMENTAL**

    :param issuer_origin:
    :returns: True if any tokens were deleted, false otherwise.
    rZ   zStorage.clearTrustTokensr   didDeleteTokens)rP   r   )rW   r   r   r   s       r   clear_trust_tokensr>    sL       &&F*F>, H >>D&'(((r   rw   rx   @typing.Generator[T_JSON_DICT, T_JSON_DICT, InterestGroupDetails]c              #     K   t                      }| |d<   ||d<   d|d}|V }t                              |d                   S )z
    Gets details for a named interest group.

    **EXPERIMENTAL**

    :param owner_origin:
    :param name:
    :returns: 
    r   rx   zStorage.getInterestGroupDetailsr   details)rP   rv   r   )rw   rx   r   r   r   s        r   get_interest_group_detailsrB    sY       &&F(F=F6N3 H >>D))$y/:::r   enabler   c              #  B   K   t                      }| |d<   d|d}|V }dS )zm
    Enables/Disables issuing of interestGroupAccessed events.

    **EXPERIMENTAL**

    :param enable:
    rC  z Storage.setInterestGroupTrackingr   Nr  rC  r   r   r   s       r   set_interest_group_trackingrF    <       &&FF84 H >>DDDr   Atyping.Generator[T_JSON_DICT, T_JSON_DICT, SharedStorageMetadata]c              #  ~   K   t                      }| |d<   d|d}|V }t                              |d                   S )zv
    Gets metadata for an origin's shared storage.

    **EXPERIMENTAL**

    :param owner_origin:
    :returns: 
    r   z Storage.getSharedStorageMetadatar   rp   )rP   r   r   rw   r   r   r   s       r   get_shared_storage_metadatarK  &  sQ       &&F(F=4 H >>D **4
+;<<<r   Ktyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[SharedStorageEntry]]c              #  b   K   t                      }| |d<   d|d}|V }d |d         D             S )z~
    Gets the entries in an given origin's shared storage.

    **EXPERIMENTAL**

    :param owner_origin:
    :returns: 
    r   zStorage.getSharedStorageEntriesr   c                B    g | ]}t                               |          S r   )r   r   r   s     r   r   z.get_shared_storage_entries.<locals>.<listcomp>M  s'    EEE((++EEEr   entriesr  rJ  s       r   get_shared_storage_entriesrP  ;  sP       &&F(F=3 H >>DEET)_EEEEr   r   r8   r   r   c              #  d   K   t                      }| |d<   ||d<   ||d<   |||d<   d|d}|V }dS )a?  
    Sets entry with ``key`` and ``value`` for a given origin's shared storage.

    **EXPERIMENTAL**

    :param owner_origin:
    :param key:
    :param value:
    :param ignore_if_present: *(Optional)* If ```ignoreIfPresent```` is included and true, then only sets the entry if ````key``` doesn't already exist.
    r   r   r8   Nr   zStorage.setSharedStorageEntryr   r  )rw   r   r8   r   r   r   r   s          r   set_shared_storage_entryrR  P  s_        &&F(F=F5MF7O$$5 !1 H >>DDDr   c              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )z
    Deletes entry for ``key`` (if it exists) for a given origin's shared storage.

    **EXPERIMENTAL**

    :param owner_origin:
    :param key:
    r   r   z Storage.deleteSharedStorageEntryr   Nr  )rw   r   r   r   r   s        r   delete_shared_storage_entryrT  m  sE       &&F(F=F5M4 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zq
    Clears all entries for a given origin's shared storage.

    **EXPERIMENTAL**

    :param owner_origin:
    r   z!Storage.clearSharedStorageEntriesr   Nr  rJ  s       r   clear_shared_storage_entriesrV    s<       &&F(F=5 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Resets the budget for ``ownerOrigin`` by clearing all budget withdrawals.

    **EXPERIMENTAL**

    :param owner_origin:
    r   z Storage.resetSharedStorageBudgetr   Nr  rJ  s       r   reset_shared_storage_budgetrX    s<       &&F(F=4 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zm
    Enables/disables issuing of sharedStorageAccessed events.

    **EXPERIMENTAL**

    :param enable:
    rC  z Storage.setSharedStorageTrackingr   Nr  rE  s       r   set_shared_storage_trackingrZ    rG  r   z"Storage.cacheStorageContentUpdatedc                  J    e Zd ZU dZded<   ded<   ded<   edd	            Zd
S )CacheStorageContentUpdatedz0
    A cache's contents have been modified.
    r   r   r  
cache_namer   r   r   c                     | t          |d                   t          |d                   t          |d                             S )Nr   r   	cacheName)r   r  r]  rt   r   s     r   r   z$CacheStorageContentUpdated.from_json  sJ    stH~&&D.//4,--
 
 
 	
r   N)r   r   r   r\  r"   r#   r$   r;   rT   r%   r   r   r   r   r\  r\    s^           KKKOOO
 
 
 [
 
 
r   r\  zStorage.cacheStorageListUpdatedc                  @    e Zd ZU dZded<   ded<   ed
d            Zd	S )CacheStorageListUpdatedz)
    A cache has been added/deleted.
    r   r   r  r   r   r   c                h     | t          |d                   t          |d                             S Nr   r   )r   r  rt   r   s     r   r   z!CacheStorageListUpdated.from_json  :    stH~&&D.//
 
 
 	
r   N)r   r   r   rb  r`  r   r   r   rb  rb    U           KKK
 
 
 [
 
 
r   rb  zStorage.indexedDBContentUpdatedc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd
            ZdS )IndexedDBContentUpdatedz@
    The origin's IndexedDB object store has been modified.
    r   r   r  database_nameobject_store_namer   r   r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr   r   databaseNameobjectStoreName)r   r  ri  rj  rt   r   s     r   r   z!IndexedDBContentUpdated.from_json  s[    stH~&&D.//d>233!$'8"9::	
 
 
 	
r   N)r   r   r   rh  r`  r   r   r   rh  rh    sm           KKK
 
 
 [
 
 
r   rh  zStorage.indexedDBListUpdatedc                  @    e Zd ZU dZded<   ded<   ed
d            Zd	S )IndexedDBListUpdatedzA
    The origin's IndexedDB database list has been modified.
    r   r   r  r   r   r   c                h     | t          |d                   t          |d                             S rd  rt   r   s     r   r   zIndexedDBListUpdated.from_json	  re  r   N)r   r   r   ro  r`  r   r   r   ro  ro    rf  r   ro  zStorage.interestGroupAccessedc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )InterestGroupAccessedzI
    One of the interest groups was accessed by the associated page.
    ry   access_timer]   type_r   rw   rx   r   r   r   c           	          | t           j                            |d                   t                              |d                   t	          |d                   t	          |d                             S )N
accessTimetyper   rx   )rs  rt  rw   rx   )r	   r   r   r]   r   r   s     r   r   zInterestGroupAccessed.from_json  sh    s.88l9KLL)33DLAAT-011T&\""	
 
 
 	
r   N)r   r   r   rr  r`  r   r   r   rr  rr    sm           ('''""""III
 
 
 [
 
 
r   rr  zStorage.sharedStorageAccessedc                  ^    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   edd            ZdS )SharedStorageAccessedzv
    Shared storage was accessed by the associated page.
    The following parameters are included in all events.
    ry   rs  r   rt  r   main_frame_idr   rw   r   r   r   r   r   c           
     L    | t           j                            |d                   t                              |d                   t          j                            |d                   t          |d                   t                              |d                             S )Nrv  rw  mainFrameIdr   r   )rs  rt  rz  rw   r   )r	   r   r   r   r
   FrameIdr   r   r   s     r   r   zSharedStorageAccessed.from_json9  s    s.88l9KLL)33DLAA,00m1DEET-011,66tH~FF
 
 
 	
r   N)r   r   r   ry  r`  r   r   r   ry  ry  &  s~          
 ('''"""" &%%%
 
 
 [
 
 
r   ry  )r   r   r   r   )r   r   r   r   r   r   )r  r   r   r   r   r   r   )r  r	  r   r
  )r*   r  r  r	  r   r   )r  r	  r   r   )r   r   r   r  )r   r   r   r!  r   r   )r   r   r   r   )r  r   r   r   )r   r6  )rW   r   r   r;  )rw   r   rx   r   r   r?  )rC  r   r   r   )rw   r   r   rH  )rw   r   r   rL  )
rw   r   r   r   r8   r   r   r   r   r   )rw   r   r   r   r   r   )rw   r   r   r   )=
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   Enumr(   rJ   rV   r]   rm   rv   r   r   r   r   r   r   r   r  r  r  r  r  r  r$  r&  r)  r+  r-  r/  r1  r3  r5  r:  r>  rB  rF  rK  rP  rR  rT  rV  rX  rZ  r\  rb  rh  ro  rr  ry  r   r   r   <module>r     sJ   # " " " " " * * * * * * * * ! ! ! ! ! !                    	E 	E 	E 	E 	E3 	E 	E 	E    $)   4 
 
 
 
 
 
 
 
0 
 
 
 
 
 
 
 
.    di   & 
 
 
 
 
 
 
 
. @
 @
 @
 @
 @
 @
 @
 @
F    di   : 
 
 
 
 
 
 
 
, 
 
 
 
 
 
 
 
4 
 
 
 
 
 
 
 
, 
 
 
 
 
 
 
 
0 I
 I
 I
 I
 I
 I
 I
 I
X> > > >&   (   * IMB B B B B, IM    , IM    $   > .2    .   "   "   "   "   "   "   "   "> > > > ) ) ) ),; ; ; ;0   &= = = =*F F F F2 48	    :   ,   &   &   & 122

 
 
 
 
 
 
  32
( .//

 
 
 
 
 
 
  0/
" .//

 
 
 
 
 
 
  0/
. +,,

 
 
 
 
 
 
  -,
" ,--

 
 
 
 
 
 
  .-
& ,--

 
 
 
 
 
 
  .-
 
 
r   